diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 921e78f596..a68f4a9de2 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -25,11 +25,11 @@ object ProjectVersions { const val launcherVersion = "2.2.0" - const val rlVersion = "1.7.24" + const val rlVersion = "1.7.25" - const val openosrsVersion = "4.10.0" + const val openosrsVersion = "4.12.0" - const val rsversion = 199 + const val rsversion = 200 const val cacheversion = 165 const val lombokVersion = "1.18.20" diff --git a/cache/cache.gradle.kts b/cache/cache.gradle.kts index 9061346bcc..686be529e8 100644 --- a/cache/cache.gradle.kts +++ b/cache/cache.gradle.kts @@ -38,14 +38,14 @@ dependencies { compileOnly(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) - implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") - implementation(group = "com.google.guava", name = "guava", version = "30.0-jre") + implementation(group = "com.google.code.gson", name = "gson", version = "2.8.5") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") implementation(group = "commons-cli", name = "commons-cli", version = "1.4") implementation(group = "io.netty", name = "netty-buffer", version = "4.1.54.Final") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.0") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.1") implementation(group = "org.antlr", name = "antlr4-runtime", version = "4.8-1") - implementation(group = "org.apache.commons", name = "commons-compress", version = "1.20") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") + implementation(group = "org.apache.commons", name = "commons-compress", version = "1.21") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") testAnnotationProcessor(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index 57c0ad772a..0da4c139ef 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -40,15 +40,15 @@ dependencies { implementation(project(":runelite-api")) implementation(project(":runescape-api")) implementation(project(":cache")) - implementation(group = "org.jetbrains", name = "annotations", version = "20.1.0") + implementation(group = "org.jetbrains", name = "annotations", version = "22.0.0") implementation(group = "org.ow2.asm", name = "asm", version = "9.0") implementation(group = "org.ow2.asm", name = "asm-util", version = "9.0") implementation(group = "net.runelite", name = "fernflower", version = "07082019") implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") - runtimeOnly(group = "org.slf4j", name = "slf4j-simple", version = "1.7.12") + runtimeOnly(group = "org.slf4j", name = "slf4j-simple", version = "1.7.32") testImplementation(deobjars) testImplementation(group = "junit", name = "junit", version = "4.12") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a0f7639f7d..1acc777d74 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/http-api/http-api.gradle.kts b/http-api/http-api.gradle.kts index e3ce785847..436fa78f13 100644 --- a/http-api/http-api.gradle.kts +++ b/http-api/http-api.gradle.kts @@ -34,14 +34,14 @@ dependencies { implementation(project(":runelite-api")) implementation(group = "com.google.code.gson", name = "gson", version = "2.8.5") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "3.7.0") - implementation(group = "org.apache.commons", name = "commons-csv", version = "1.4") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.1") + implementation(group = "org.apache.commons", name = "commons-csv", version = "1.9.0") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") - testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.9.0") + testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.9.1") testImplementation(group = "junit", name = "junit", version = "4.12") - testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.12") + testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.32") } tasks { diff --git a/http-service/src/main/java/net/runelite/http/service/SpringSchedulingConfigurer.java b/http-service/src/main/java/net/runelite/http/service/SpringSchedulingConfigurer.java new file mode 100644 index 0000000000..6af0895619 --- /dev/null +++ b/http-service/src/main/java/net/runelite/http/service/SpringSchedulingConfigurer.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.http.service; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; + +@Configuration +public class SpringSchedulingConfigurer implements SchedulingConfigurer +{ + @Override + public void configureTasks(ScheduledTaskRegistrar taskRegistrar) + { + // this is from ScheduledTaskRegistrar.scheduleTasks() but modified to give the scheduler thread a + // recognizable name + ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor( + new ThreadFactoryBuilder() + .setNameFormat("scheduler-%d") + .build() + ); + TaskScheduler scheduler = new ConcurrentTaskScheduler(scheduledExecutorService); + taskRegistrar.setTaskScheduler(scheduler); + } +} \ No newline at end of file diff --git a/injector/injector.gradle.kts b/injector/injector.gradle.kts index 7b2943edfb..66484a6950 100644 --- a/injector/injector.gradle.kts +++ b/injector/injector.gradle.kts @@ -24,11 +24,11 @@ dependencies { implementation(project(":runescape-client")) implementation(project(":runelite-mixins")) - implementation(group = "org.ow2.asm", name = "asm", version = "8.0.1") - implementation(group = "org.ow2.asm", name = "asm-util", version = "8.0.1") - implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") - implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.1") + implementation(group = "org.ow2.asm", name = "asm", version = "9.0") + implementation(group = "org.ow2.asm", name = "asm-util", version = "9.0") + implementation(group = "org.jetbrains", name = "annotations", version = "22.0.0") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") + implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.4") } tasks.register("inject") { diff --git a/injector/src/main/java/com/openosrs/injector/Injector.java b/injector/src/main/java/com/openosrs/injector/Injector.java index 1a99787dde..9c2903f7e0 100644 --- a/injector/src/main/java/com/openosrs/injector/Injector.java +++ b/injector/src/main/java/com/openosrs/injector/Injector.java @@ -18,9 +18,11 @@ import com.openosrs.injector.injectors.RSApiInjector; import com.openosrs.injector.injectors.raw.AddPlayerToMenu; import com.openosrs.injector.injectors.raw.ClearColorBuffer; import com.openosrs.injector.injectors.raw.DrawMenu; +import com.openosrs.injector.injectors.raw.GraphicsObject; import com.openosrs.injector.injectors.raw.Occluder; import com.openosrs.injector.injectors.raw.RasterizerAlpha; import com.openosrs.injector.injectors.raw.RenderDraw; +import com.openosrs.injector.injectors.raw.RuneliteObject; import com.openosrs.injector.injectors.raw.ScriptVM; import com.openosrs.injector.rsapi.RSApi; import com.openosrs.injector.transformers.InjectTransformer; @@ -109,6 +111,8 @@ public class Injector extends InjectData implements InjectTaskHandler inject(new CreateAnnotations(this)); + inject(new RuneliteObject(this)); + inject(new InterfaceInjector(this)); inject(new RasterizerAlpha(this)); @@ -138,6 +142,8 @@ public class Injector extends InjectData implements InjectTaskHandler inject(new AddPlayerToMenu(this)); + inject(new GraphicsObject(this)); + validate(new InjectorValidator(this)); transform(new SourceChanger(this)); diff --git a/injector/src/main/java/com/openosrs/injector/injection/InjectData.java b/injector/src/main/java/com/openosrs/injector/injection/InjectData.java index 378bc42d38..ea1af6a0a4 100644 --- a/injector/src/main/java/com/openosrs/injector/injection/InjectData.java +++ b/injector/src/main/java/com/openosrs/injector/injection/InjectData.java @@ -7,7 +7,6 @@ */ package com.openosrs.injector.injection; -import com.google.common.collect.ImmutableMap; import com.openosrs.injector.InjectUtil; import com.openosrs.injector.injectors.Injector; import com.openosrs.injector.rsapi.RSApi; @@ -45,7 +44,7 @@ public abstract class InjectData /** * Deobfuscated ClassFiles -> Vanilla ClassFiles */ - public Map toVanilla; + public final Map toVanilla = new HashMap<>(); /** * Strings -> Deobfuscated ClassFiles @@ -53,17 +52,15 @@ public abstract class InjectData * - Obfuscated name * - RSApi implementing name */ - private final Map toDeob = new HashMap<>(); + public final Map toDeob = new HashMap<>(); public abstract void runChildInjector(Injector injector); public void initToVanilla() { - ImmutableMap.Builder toVanillaB = ImmutableMap.builder(); - for (final ClassFile deobClass : deobfuscated) { - if (deobClass.getName().startsWith("net/runelite/")) + if (deobClass.getName().startsWith("net/runelite/") || deobClass.getName().startsWith("netscape")) { continue; } @@ -73,13 +70,14 @@ public abstract class InjectData { toDeob.put(obName, deobClass); - // Can't be null final ClassFile obClass = this.vanilla.findClass(obName); - toVanillaB.put(deobClass, obClass); + + if (obClass != null) + { + toVanilla.put(deobClass, obClass); + } } } - - this.toVanilla = toVanillaB.build(); } /** diff --git a/injector/src/main/java/com/openosrs/injector/injectors/raw/GraphicsObject.java b/injector/src/main/java/com/openosrs/injector/injectors/raw/GraphicsObject.java new file mode 100644 index 0000000000..7b3e74d14c --- /dev/null +++ b/injector/src/main/java/com/openosrs/injector/injectors/raw/GraphicsObject.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2021, Owain van Brakel + * All rights reserved. + * + * This code is licensed under GPL3, see the complete license in + * the LICENSE file in the root directory of this submodule. + */ +package com.openosrs.injector.injectors.raw; + +import com.openosrs.injector.injection.InjectData; +import com.openosrs.injector.injectors.AbstractInjector; +import net.runelite.asm.ClassFile; +import net.runelite.asm.Method; +import net.runelite.asm.attributes.Code; +import net.runelite.asm.attributes.code.Instructions; +import net.runelite.asm.attributes.code.instructions.ALoad; +import net.runelite.asm.attributes.code.instructions.InvokeSpecial; +import net.runelite.asm.attributes.code.instructions.VReturn; +import net.runelite.asm.signature.Signature; + +public class GraphicsObject extends AbstractInjector +{ + public GraphicsObject(InjectData inject) + { + super(inject); + } + + public void inject() + { + final ClassFile graphicsObjectVanilla = inject.toVanilla( + inject.getDeobfuscated() + .findClass("GraphicsObject") + ); + + final ClassFile renderableVanilla = inject.toVanilla( + inject.getDeobfuscated() + .findClass("Renderable") + ); + + graphicsObjectVanilla.clearFinal(); + + Method initGraphicsObject = new Method(graphicsObjectVanilla, "", new Signature("()V")); + initGraphicsObject.setPublic(); + + final Code code = new Code(initGraphicsObject); + code.setMaxStack(1); + initGraphicsObject.setCode(code); + graphicsObjectVanilla.addMethod(initGraphicsObject); + + Instructions ins = code.getInstructions(); + + ins.addInstruction(new ALoad(ins, 0)); + ins.addInstruction(new InvokeSpecial(ins, new net.runelite.asm.pool.Method(renderableVanilla.getPoolClass(), "", new Signature("()V")))); + ins.addInstruction(new VReturn(ins)); + } +} diff --git a/injector/src/main/java/com/openosrs/injector/injectors/raw/RuneliteObject.java b/injector/src/main/java/com/openosrs/injector/injectors/raw/RuneliteObject.java new file mode 100644 index 0000000000..0cfeba8cd2 --- /dev/null +++ b/injector/src/main/java/com/openosrs/injector/injectors/raw/RuneliteObject.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2021, Owain van Brakel + * All rights reserved. + * + * This code is licensed under GPL3, see the complete license in + * the LICENSE file in the root directory of this submodule. + */ +package com.openosrs.injector.injectors.raw; + +import com.openosrs.injector.injection.InjectData; +import com.openosrs.injector.injectors.AbstractInjector; +import java.util.List; +import net.runelite.asm.ClassFile; +import net.runelite.asm.Method; +import net.runelite.asm.attributes.Code; +import net.runelite.asm.attributes.code.Instruction; +import net.runelite.asm.attributes.code.InstructionType; +import net.runelite.asm.attributes.code.Instructions; +import net.runelite.asm.attributes.code.instructions.ALoad; +import net.runelite.asm.attributes.code.instructions.Dup; +import net.runelite.asm.attributes.code.instructions.InvokeSpecial; +import net.runelite.asm.attributes.code.instructions.New; +import net.runelite.asm.attributes.code.instructions.Return; +import net.runelite.asm.attributes.code.instructions.VReturn; +import net.runelite.asm.signature.Signature; +import org.objectweb.asm.Opcodes; + +public class RuneliteObject extends AbstractInjector +{ + private static final String RUNELITE_OBJECT = "RuneLiteObject"; + + public RuneliteObject(InjectData inject) + { + super(inject); + } + + public void inject() + { + ClassFile runeliteObjectVanilla = inject.vanilla.findClass(RUNELITE_OBJECT); + + final ClassFile graphicsObjectVanilla = inject.toVanilla( + inject.getDeobfuscated() + .findClass("GraphicsObject") + ); + + graphicsObjectVanilla.clearFinal(); + + final ClassFile clientVanilla = inject.toVanilla( + inject.getDeobfuscated() + .findClass("Client") + ); + + final ClassFile runeLiteObjectDeob = inject.getDeobfuscated() + .findClass(RUNELITE_OBJECT); + + if (runeliteObjectVanilla == null) + { + runeliteObjectVanilla = new ClassFile(inject.vanilla); + runeliteObjectVanilla.setName(RUNELITE_OBJECT); + runeliteObjectVanilla.setParentClass(graphicsObjectVanilla.getPoolClass()); + runeliteObjectVanilla.setAccess(Opcodes.ACC_PUBLIC); + runeliteObjectVanilla.setVersion(Opcodes.V1_8); + inject.vanilla.addClass(runeliteObjectVanilla); + + inject.toVanilla.put(runeLiteObjectDeob, runeliteObjectVanilla); + } + + { + Method initRuneliteObject = new Method(runeliteObjectVanilla, "", new Signature("()V")); + initRuneliteObject.setPublic(); + + final Code code = new Code(initRuneliteObject); + code.setMaxStack(1); + initRuneliteObject.setCode(code); + runeliteObjectVanilla.addMethod(initRuneliteObject); + + final Instructions instructions = code.getInstructions(); + final List ins = instructions.getInstructions(); + + ins.add(new ALoad(instructions, 0)); + ins.add(new InvokeSpecial(instructions, new net.runelite.asm.pool.Method(graphicsObjectVanilla.getPoolClass(), "", new Signature("()V")))); + ins.add(new VReturn(instructions)); + } + + { + Method copy = new Method(clientVanilla, "createRuneLiteObject", new Signature("()Lnet/runelite/api/RuneLiteObject;")); + copy.setPublic(); + + final Code code = new Code(copy); + code.setMaxStack(2); + copy.setCode(code); + clientVanilla.addMethod(copy); + + final Instructions instructions = code.getInstructions(); + final List ins = instructions.getInstructions(); + + ins.add(new New(instructions, runeliteObjectVanilla.getPoolClass())); + ins.add(new Dup(instructions)); + ins.add(new InvokeSpecial(instructions, new net.runelite.asm.pool.Method(runeliteObjectVanilla.getPoolClass(), "", new Signature("()V")))); + ins.add(new Return(instructions, InstructionType.ARETURN)); + } + } +} diff --git a/runelite-api/runelite-api.gradle.kts b/runelite-api/runelite-api.gradle.kts index 615c7fe92c..56b6cd4122 100644 --- a/runelite-api/runelite-api.gradle.kts +++ b/runelite-api/runelite-api.gradle.kts @@ -31,9 +31,9 @@ dependencies { compileOnly(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) implementation(group = "com.google.code.findbugs", name = "jsr305", version = "3.0.2") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") - implementation(group = "org.apache.commons", name = "commons-text", version = "1.2") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") + implementation(group = "org.apache.commons", name = "commons-text", version = "1.9") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") testImplementation(group = "junit", name = "junit", version = "4.12") } \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/AnimationID.java b/runelite-api/src/main/java/net/runelite/api/AnimationID.java index fc8303ac04..0d4350fbcf 100644 --- a/runelite-api/src/main/java/net/runelite/api/AnimationID.java +++ b/runelite-api/src/main/java/net/runelite/api/AnimationID.java @@ -179,7 +179,7 @@ public final class AnimationID public static final int MAGIC_ENCHANTING_BOLTS = 4462; public static final int BURYING_BONES = 827; public static final int USING_GILDED_ALTAR = 3705; - public static final int LOOKING_INTO = 832; + public static final int LOOKING_INTO = 832; // Generic animation used for filling water vessels, Shades of Mort'ton, etc. public static final int DIG = 830; public static final int DEMONIC_GORILLA_MAGIC_ATTACK = 7225; public static final int DEMONIC_GORILLA_MELEE_ATTACK = 7226; diff --git a/runelite-api/src/main/java/net/runelite/api/ChatMessageType.java b/runelite-api/src/main/java/net/runelite/api/ChatMessageType.java index 9863de16d2..998e70de6a 100644 --- a/runelite-api/src/main/java/net/runelite/api/ChatMessageType.java +++ b/runelite-api/src/main/java/net/runelite/api/ChatMessageType.java @@ -176,6 +176,9 @@ public enum ChatMessageType * Clan wars challenge for clans rather than FCs */ CLAN_CLAN_WARS_CHALLENGE(110), + + CLAN_GIM_FORM_GROUP(111), + CLAN_GIM_GROUP_WITH(112), /** * An unknown message type. */ diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 013ee79a05..f40bf4207a 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -2292,4 +2292,22 @@ public interface Client extends GameEngine */ @Nullable ClanSettings getGuestClanSettings(); + + /** + * Get clan channel by id. + * @param clanId the clan id + * @return + * @see net.runelite.api.clan.ClanID + */ + @Nullable + ClanChannel getClanChannel(int clanId); + + /** + * Get clan settings by id + * @param clanId the clan id + * @return + * @see net.runelite.api.clan.ClanID + */ + @Nullable + ClanSettings getClanSettings(int clanId); } diff --git a/runelite-api/src/main/java/net/runelite/api/GraphicID.java b/runelite-api/src/main/java/net/runelite/api/GraphicID.java index b65e16b8d1..0f4cadc42c 100644 --- a/runelite-api/src/main/java/net/runelite/api/GraphicID.java +++ b/runelite-api/src/main/java/net/runelite/api/GraphicID.java @@ -25,7 +25,7 @@ */ package net.runelite.api; -public class GraphicID +public final class GraphicID { public static final int WINE_MAKE = 47; public static final int SPLASH = 85; diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index d364d73f48..61b3d8aa9e 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -12151,5 +12151,51 @@ public final class ItemID public static final int COMBAT_POTION2_26152 = 26152; public static final int COMBAT_POTION1_26153 = 26153; public static final int MOUNT_KARUULM_DIARY = 26154; + public static final int GROUP_IRON_HELM = 26156; + public static final int GROUP_IRON_PLATEBODY = 26158; + public static final int GROUP_IRON_PLATEBODY_26160 = 26160; + public static final int GROUP_IRON_PLATEBODY_26162 = 26162; + public static final int GROUP_IRON_PLATEBODY_26164 = 26164; + public static final int GROUP_IRON_PLATELEGS = 26166; + public static final int GROUP_IRON_BRACERS = 26168; + public static final int HARDCORE_GROUP_IRON_HELM = 26170; + public static final int HARDCORE_GROUP_IRON_PLATEBODY = 26172; + public static final int HARDCORE_GROUP_IRON_PLATEBODY_26174 = 26174; + public static final int HARDCORE_GROUP_IRON_PLATEBODY_26176 = 26176; + public static final int HARDCORE_GROUP_IRON_PLATEBODY_26178 = 26178; + public static final int HARDCORE_GROUP_IRON_PLATELEGS = 26180; + public static final int HARDCORE_GROUP_IRON_BRACERS = 26182; + public static final int BLUE_ICON_26184 = 26184; + public static final int BLUE_ICON_26185 = 26185; + public static final int BLUE_ICON_26186 = 26186; + public static final int BLUE_ICON_26187 = 26187; + public static final int BLUE_ICON_26188 = 26188; + public static final int BLUE_ICON_26189 = 26189; + public static final int BLUE_ICON_26190 = 26190; + public static final int BLUE_ICON_26191 = 26191; + public static final int BLUE_ICON_26192 = 26192; + public static final int BLUE_ICON_26193 = 26193; + public static final int BLUE_ICON_26194 = 26194; + public static final int BLUE_ICON_26195 = 26195; + public static final int BLUE_ICON_26196 = 26196; + public static final int BLUE_ICON_26197 = 26197; + public static final int BLUE_ICON_26198 = 26198; + public static final int BLUE_ICON_26199 = 26199; + public static final int RED_ICON_26200 = 26200; + public static final int RED_ICON_26201 = 26201; + public static final int RED_ICON_26202 = 26202; + public static final int RED_ICON_26203 = 26203; + public static final int RED_ICON_26204 = 26204; + public static final int RED_ICON_26205 = 26205; + public static final int RED_ICON_26206 = 26206; + public static final int RED_ICON_26207 = 26207; + public static final int RED_ICON_26208 = 26208; + public static final int RED_ICON_26209 = 26209; + public static final int RED_ICON_26210 = 26210; + public static final int RED_ICON_26211 = 26211; + public static final int RED_ICON_26212 = 26212; + public static final int RED_ICON_26213 = 26213; + public static final int RED_ICON_26214 = 26214; + public static final int RED_ICON_26215 = 26215; /* This file is automatically generated. Do not edit. */ } \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/Node.java b/runelite-api/src/main/java/net/runelite/api/Node.java index 56d2755e74..bd1cf8c7cb 100644 --- a/runelite-api/src/main/java/net/runelite/api/Node.java +++ b/runelite-api/src/main/java/net/runelite/api/Node.java @@ -43,6 +43,11 @@ public interface Node */ Node getPrevious(); + /** + * Unlink. + */ + void unlink(); + /** * Gets the hash value of the node. * diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index 2a8f641a2b..d07ffdbd55 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -9470,5 +9470,12 @@ public final class NpcID public static final int GUARD_11209 = 11209; public static final int GUARD_11210 = 11210; public static final int PRIFDDINAS_GUARD_11211 = 11211; + public static final int D3AD1I_F15HER = 11225; + public static final int BOAR31337KILLER = 11226; + public static final int ENRAGED_BOAR = 11227; + public static final int R0CK_5MASHER = 11228; + public static final int REGENT = 11229; + public static final int GROUP_STORAGE_TUTOR = 11230; + public static final int GROUP_IRON_TUTOR = 11231; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index 91d761c002..38526fdf70 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -13794,5 +13794,20 @@ public final class NullItemID public static final int NULL_26145 = 26145; public static final int NULL_26148 = 26148; public static final int NULL_26155 = 26155; + public static final int NULL_26157 = 26157; + public static final int NULL_26159 = 26159; + public static final int NULL_26161 = 26161; + public static final int NULL_26163 = 26163; + public static final int NULL_26165 = 26165; + public static final int NULL_26167 = 26167; + public static final int NULL_26169 = 26169; + public static final int NULL_26171 = 26171; + public static final int NULL_26173 = 26173; + public static final int NULL_26175 = 26175; + public static final int NULL_26177 = 26177; + public static final int NULL_26179 = 26179; + public static final int NULL_26181 = 26181; + public static final int NULL_26183 = 26183; + public static final int NULL_26216 = 26216; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index e51c148478..ec9c7a14a2 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -20991,5 +20991,9 @@ public final class NullObjectID public static final int NULL_42802 = 42802; public static final int NULL_42804 = 42804; public static final int NULL_42816 = 42816; + public static final int NULL_42829 = 42829; + public static final int NULL_42830 = 42830; + public static final int NULL_42835 = 42835; + public static final int NULL_42836 = 42836; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index e72ebf15b3..cbc57ec6fb 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -21812,5 +21812,21 @@ public final class ObjectID public static final int BANNER_42814 = 42814; public static final int BANNER_42815 = 42815; public static final int ROCKS_42817 = 42817; + public static final int LIGHT_42818 = 42818; + public static final int PORTAL_42819 = 42819; + public static final int PORTAL_42820 = 42820; + public static final int PLANTS = 42821; + public static final int STATUE_42822 = 42822; + public static final int STATUE_42823 = 42823; + public static final int FURNACE_42824 = 42824; + public static final int ANVIL_42825 = 42825; + public static final int ROWBOAT_42826 = 42826; + public static final int ARMOUR_CRATE = 42827; + public static final int HARDCORE_ARMOUR_CRATE = 42828; + public static final int OAK_42831 = 42831; + public static final int TREE_42832 = 42832; + public static final int ROCKS_42833 = 42833; + public static final int CHEST_42834 = 42834; + public static final int BANK_BOOTH_42837 = 42837; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ParamID.java b/runelite-api/src/main/java/net/runelite/api/ParamID.java index 9be05d76ef..50d2bdf71f 100644 --- a/runelite-api/src/main/java/net/runelite/api/ParamID.java +++ b/runelite-api/src/main/java/net/runelite/api/ParamID.java @@ -27,7 +27,7 @@ package net.runelite.api; /** * @see ParamHolder */ -public class ParamID +public final class ParamID { /** * @see SettingID diff --git a/runelite-api/src/main/java/net/runelite/api/Perspective.java b/runelite-api/src/main/java/net/runelite/api/Perspective.java index 89d1fade1c..2ddd236fd5 100644 --- a/runelite-api/src/main/java/net/runelite/api/Perspective.java +++ b/runelite-api/src/main/java/net/runelite/api/Perspective.java @@ -123,24 +123,25 @@ public class Perspective y -= client.getCameraY(); z -= client.getCameraZ(); - int cameraPitch = client.getCameraPitch(); - int cameraYaw = client.getCameraYaw(); + final int cameraPitch = client.getCameraPitch(); + final int cameraYaw = client.getCameraYaw(); - int pitchSin = SINE[cameraPitch]; - int pitchCos = COSINE[cameraPitch]; - int yawSin = SINE[cameraYaw]; - int yawCos = COSINE[cameraYaw]; + final int pitchSin = SINE[cameraPitch]; + final int pitchCos = COSINE[cameraPitch]; + final int yawSin = SINE[cameraYaw]; + final int yawCos = COSINE[cameraYaw]; - int var8 = yawCos * x + y * yawSin >> 16; - y = yawCos * y - yawSin * x >> 16; - x = var8; - var8 = pitchCos * z - y * pitchSin >> 16; - y = z * pitchSin + y * pitchCos >> 16; + final int + x1 = x * yawCos + y * yawSin >> 16, + y1 = y * yawCos - x * yawSin >> 16, + y2 = z * pitchCos - y1 * pitchSin >> 16, + z1 = y1 * pitchCos + z * pitchSin >> 16; - if (y >= 50) + if (z1 >= 50) { - int pointX = client.getViewportWidth() / 2 + x * client.getScale() / y; - int pointY = client.getViewportHeight() / 2 + var8 * client.getScale() / y; + final int scale = client.getScale(); + final int pointX = client.getViewportWidth() / 2 + x1 * scale / z1; + final int pointY = client.getViewportHeight() / 2 + y2 * scale / z1; return new Point( pointX + client.getViewportXOffset(), pointY + client.getViewportYOffset()); @@ -151,9 +152,88 @@ public class Perspective } /** - * Translates a model's vertices into 2d space + * Translates a model's vertices into 2d space. There is a separate implementation for GPU since GPU + * uses a slightly more precise projection that can cause features like model outlines being noticeably + * off otherwise. */ public static void modelToCanvas(Client client, int end, int x3dCenter, int y3dCenter, int z3dCenter, int rotate, int[] x3d, int[] y3d, int[] z3d, int[] x2d, int[] y2d) + { + if (client.isGpu()) + { + modelToCanvasGpu(client, end, x3dCenter, y3dCenter, z3dCenter, rotate, x3d, y3d, z3d, x2d, y2d); + } + else + { + modelToCanvasCpu(client, end, x3dCenter, y3dCenter, z3dCenter, rotate, x3d, y3d, z3d, x2d, y2d); + } + } + + private static void modelToCanvasGpu(Client client, int end, int x3dCenter, int y3dCenter, int z3dCenter, int rotate, int[] x3d, int[] y3d, int[] z3d, int[] x2d, int[] y2d) + { + final int + cameraPitch = client.getCameraPitch(), + cameraYaw = client.getCameraYaw(); + final float + pitchSin = SINE[cameraPitch] / 65536.0f, + pitchCos = COSINE[cameraPitch] / 65536.0f, + yawSin = SINE[cameraYaw] / 65536.0f, + yawCos = COSINE[cameraYaw] / 65536.0f, + rotateSin = SINE[rotate] / 65536.0f, + rotateCos = COSINE[rotate] / 65536.0f, + + cx = x3dCenter - client.getCameraX(), + cy = y3dCenter - client.getCameraY(), + cz = z3dCenter - client.getCameraZ(), + + viewportXMiddle = client.getViewportWidth() / 2f, + viewportYMiddle = client.getViewportHeight() / 2f, + viewportXOffset = client.getViewportXOffset(), + viewportYOffset = client.getViewportYOffset(), + + zoom3d = client.getScale(); + + for (int i = 0; i < end; i++) + { + float x = x3d[i]; + float y = y3d[i]; + float z = z3d[i]; + + if (rotate != 0) + { + float x0 = x; + x = x0 * rotateCos + y * rotateSin; + y = y * rotateCos - x0 * rotateSin; + } + + x += cx; + y += cy; + z += cz; + + final float + x1 = x * yawCos + y * yawSin, + y1 = y * yawCos - x * yawSin, + y2 = z * pitchCos - y1 * pitchSin, + z1 = y1 * pitchCos + z * pitchSin; + + int viewX, viewY; + + if (z1 < 50) + { + viewX = Integer.MIN_VALUE; + viewY = Integer.MIN_VALUE; + } + else + { + viewX = Math.round((viewportXMiddle + x1 * zoom3d / z1) + viewportXOffset); + viewY = Math.round((viewportYMiddle + y2 * zoom3d / z1) + viewportYOffset); + } + + x2d[i] = viewX; + y2d[i] = viewY; + } + } + + private static void modelToCanvasCpu(Client client, int end, int x3dCenter, int y3dCenter, int z3dCenter, int rotate, int[] x3d, int[] y3d, int[] z3d, int[] x2d, int[] y2d) { final int cameraPitch = client.getCameraPitch(), diff --git a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java index a507b06925..ef1ddb2843 100644 --- a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java +++ b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java @@ -29,7 +29,7 @@ package net.runelite.api; *

* Note: This class is not complete and may be missing mapped IDs. */ -public class ProjectileID +public final class ProjectileID { public static final int CANNONBALL = 53; public static final int GRANITE_CANNONBALL = 1443; diff --git a/runelite-api/src/main/java/net/runelite/api/Scene.java b/runelite-api/src/main/java/net/runelite/api/Scene.java index b7f5103c4c..e40fedf690 100644 --- a/runelite-api/src/main/java/net/runelite/api/Scene.java +++ b/runelite-api/src/main/java/net/runelite/api/Scene.java @@ -71,6 +71,56 @@ public interface Scene */ void removeGameObject(GameObject gameObject); + /** + * Remove a game object from the scene + * @param plane + * @param x + * @param y + */ + void removeGameObject(int plane, int x, int y); + + /** + * Remove a game object from the scene + * @param wallObject + */ + void removeWallObject(WallObject wallObject); + + /** + * Remove a wall object from the scene + * @param plane + * @param x + * @param y + */ + void removeWallObject(int plane, int x, int y); + + /** + * Remove a decorative object from the scene + * @param decorativeObject + */ + void removeDecorativeObject(DecorativeObject decorativeObject); + + /** + * Remove a decorative object from the scene + * @param plane + * @param x + * @param y + */ + void removeDecorativeObject(int plane, int x, int y); + + /** + * Remove a ground object from the scene + * @param groundObject + */ + void removeGroundObject(GroundObject groundObject); + + /** + * Remove a ground object from the scene + * @param plane + * @param x + * @param y + */ + void removeGroundObject(int plane, int x, int y); + void generateHouses(); void setRoofRemovalMode(int flags); diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java index 0ba345626d..14507b3119 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -257,7 +257,7 @@ public final class ScriptID /** * Builds the widget for making an offer in Grand Exchange */ - @ScriptArguments(integer = 15) + @ScriptArguments(integer = 16) public static final int GE_OFFERS_SETUP_BUILD = 779; /** @@ -411,4 +411,18 @@ public final class ScriptID @ScriptArguments(integer = 6) public static final int COLLECTION_DRAW_LIST = 2730; + + /** + * Draws the active notification in increasing sizes (increasing horizontally first, then vertically) to show a + * starting animation. + */ + @ScriptArguments(integer = 3) + public static final int NOTIFICATION_START = 3346; + + /** + * Draws the active notification in full size for a specified number of client ticks. In essence, delayed between + * the open and close animations. + */ + @ScriptArguments(integer = 1) + public static final int NOTIFICATION_DELAY = 3347; } \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/SettingID.java b/runelite-api/src/main/java/net/runelite/api/SettingID.java index 2d471d16f2..bac3bd9be4 100644 --- a/runelite-api/src/main/java/net/runelite/api/SettingID.java +++ b/runelite-api/src/main/java/net/runelite/api/SettingID.java @@ -27,7 +27,7 @@ package net.runelite.api; /** * @see ParamID#SETTING_ID */ -public class SettingID +public final class SettingID { public static final int CAMERA_ZOOM = 14; diff --git a/runelite-api/src/main/java/net/runelite/api/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/SpriteID.java index e96c34a546..6748c0263d 100644 --- a/runelite-api/src/main/java/net/runelite/api/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/SpriteID.java @@ -1209,17 +1209,52 @@ public final class SpriteID public static final int KOUREND_FAVOUR_LOVAKENGJ_ICON = 1244; public static final int KOUREND_FAVOUR_PISCARILIUS_ICON = 1245; public static final int KOUREND_FAVOUR_SHAYZIEN_ICON = 1246; - /* Unmapped: 1247~1296 */ + public static final int SPELL_BASIC_REANIMATION = 1247; + public static final int SPELL_ADEPT_REANIMATION = 1248; + public static final int SPELL_EXPERT_REANIMATION = 1249; + public static final int SPELL_MASTER_REANIMATION = 1250; + /* Unmapped: 1251 */ + public static final int SPELL_ARCEUUS_LIBRARY_TELEPORT = 1252; + public static final int SPELL_DRAYNOR_MANOR_TELEPORT = 1253; + public static final int SPELL_SALVE_GRAVEYARD_TELEPORT = 1254; + /* Unmapped: 1255 */ + public static final int SPELL_MIND_ALTAR_TELEPORT = 1256; + public static final int SPELL_RESPAWN_TELEPORT = 1257; + /* Unmapped 1258 */ + public static final int SPELL_FENKENSTRAINS_CASTLE_TELEPORT = 1259; + public static final int SPELL_WEST_ARDOUGNE_TELEPORT = 1260; + public static final int SPELL_HARMONY_ISLAND_TELEPORT = 1261; + public static final int SPELL_BARROWS_TELEPORT = 1262; + public static final int SPELL_APE_ATOLL_TELEPORT = 1263; + public static final int SPELL_CEMETERY_TELEPORT = 1264; + /* Unmapped: 1265 */ + public static final int SPELL_RESURRECT_CROPS = 1266; + public static final int SPELL_GHOSTLY_GRASP = 1267; + public static final int SPELL_SKELETAL_GRASP = 1268; + public static final int SPELL_UNDEAD_GRASP = 1269; + public static final int SPELL_RESURRECT_LESSER_GHOST = 1270; + /* Unmapped: 1271~1296 */ public static final int QUESTS_PAGE_ICON_PURPLE_KOUREND = 1297; public static final int UNUSED_TAB_QUESTS_GREEN_ACHIEVEMENT_DIARIES = 1298; public static final int TAB_QUESTS_GREEN_ACHIEVEMENT_DIARIES = 1299; - /* Unmapped: 1300~1305 */ + /* Unmapped: 1300~1301 */ + public static final int SPELL_INFERIOR_DEMONBANE = 1302; + public static final int SPELL_SUPERIOR_DEMONBANE = 1303; + public static final int SPELL_DARK_DEMONBANE = 1304; + public static final int SPELL_MARK_OF_DARKNESS = 1305; public static final int SPELL_WARD_OF_ARCEUUS = 1306; - /* Unmapped: 1307~1309 */ + public static final int SPELL_LESSER_CORRUPTION = 1307; + public static final int SPELL_GREATER_CORRUPTION = 1308; + /* Unmapped: 1309 */ public static final int SPELL_DEATH_CHARGE = 1310; - /* Unmapped: 1311~1314 */ + public static final int SPELL_DEMONIC_OFFERING = 1311; + public static final int SPELL_SINISTER_OFFERING = 1312; + /* Unmapped: 1313~1314 */ public static final int SPELL_SHADOW_VEIL = 1315; - /* Unmapped: 1316~1324 */ + public static final int SPELL_DARK_LURE = 1316; + public static final int SPELL_VILE_VIGOUR = 1317; + public static final int SPELL_DEGRIME = 1318; + /* Unmapped: 1319~1324 */ public static final int SPELL_WARD_OF_ARCEUUS_DISABLED = 1325; /* Unmapped: 1326 */ public static final int SPELL_GREATER_CORRUPTION_DISABLED = 1327; @@ -1300,10 +1335,10 @@ public final class SpriteID public static final int UNKNOWN_WHITE_REFRESH_ARROWS = 1412; public static final int TAB_QUESTS_PURPLE_KOUREND_UNUSED = 1413; public static final int TAB_QUESTS_PURPLE_KOUREND = 1414; - public static final int UNKNOWN_GREEN_BAR = 1415; - public static final int UNKNOWN_BLUE_BAR = 1416; - public static final int UNKNOWN_YELLOW_BAR = 1417; - public static final int UNKNOWN_RED_BAR = 1418; + public static final int HEALTHBAR_COX_GREEN = 1415; + public static final int HEALTHBAR_COX_BLUE = 1416; + public static final int HEALTHBAR_COX_YELLOW = 1417; + public static final int HEALTHBAR_COX_RED = 1418; /* Unmapped: 1419 */ public static final int PRAYER_RIGOUR = 1420; public static final int PRAYER_AUGURY = 1421; @@ -1530,9 +1565,69 @@ public final class SpriteID public static final int HEALTHBAR_DEFAULT_BACK_140PX = 2189; public static final int HEALTHBAR_DEFAULT_FRONT_160PX = 2190; public static final int HEALTHBAR_DEFAULT_BACK_160PX = 2191; + /* Unmapped: 2192~2306 */ public static final int TAB_CLAN_CHAT = 2307; + /* Unmapped: 2308~2419 */ public static final int WIKI_DESELECTED = 2420; public static final int WIKI_SELECTED = 2421; + /* Unmapped: 2422~2430 */ + public static final int HEALTHBAR_DEFAULT_FRONT_40PX = 2431; + public static final int HEALTHBAR_DEFAULT_BACK_40PX = 2432; + public static final int HEALTHBAR_CYAN_FRONT_30PX = 2433; + public static final int HEALTHBAR_CYAN_BACK_30PX = 2434; + public static final int HEALTHBAR_CYAN_FRONT_40PX = 2435; + public static final int HEALTHBAR_CYAN_BACK_40PX = 2436; + public static final int HEALTHBAR_CYAN_FRONT_50PX = 2437; + public static final int HEALTHBAR_CYAN_BACK_50PX = 2438; + public static final int HEALTHBAR_CYAN_FRONT_60PX = 2439; + public static final int HEALTHBAR_CYAN_BACK_60PX = 2440; + public static final int HEALTHBAR_CYAN_FRONT_80PX = 2441; + public static final int HEALTHBAR_CYAN_BACK_80PX = 2442; + public static final int HEALTHBAR_CYAN_FRONT_100PX = 2443; + public static final int HEALTHBAR_CYAN_BACK_100PX = 2444; + public static final int HEALTHBAR_CYAN_FRONT_120PX = 2445; + public static final int HEALTHBAR_CYAN_BACK_120PX = 2446; + public static final int HEALTHBAR_CYAN_FRONT_140PX = 2447; + public static final int HEALTHBAR_CYAN_BACK_140PX = 2448; + public static final int HEALTHBAR_CYAN_FRONT_160PX = 2449; + public static final int HEALTHBAR_CYAN_BACK_160PX = 2450; + public static final int HEALTHBAR_ORANGE_FRONT_30PX = 2451; + public static final int HEALTHBAR_ORANGE_BACK_30PX = 2452; + public static final int HEALTHBAR_ORANGE_FRONT_40PX = 2453; + public static final int HEALTHBAR_ORANGE_BACK_40PX = 2454; + public static final int HEALTHBAR_ORANGE_FRONT_50PX = 2455; + public static final int HEALTHBAR_ORANGE_BACK_50PX = 2456; + public static final int HEALTHBAR_ORANGE_FRONT_60PX = 2457; + public static final int HEALTHBAR_ORANGE_BACK_60PX = 2458; + public static final int HEALTHBAR_ORANGE_FRONT_80PX = 2459; + public static final int HEALTHBAR_ORANGE_BACK_80PX = 2460; + public static final int HEALTHBAR_ORANGE_FRONT_100PX = 2461; + public static final int HEALTHBAR_ORANGE_BACK_100PX = 2462; + public static final int HEALTHBAR_ORANGE_FRONT_120PX = 2463; + public static final int HEALTHBAR_ORANGE_BACK_120PX = 2464; + public static final int HEALTHBAR_ORANGE_FRONT_140PX = 2465; + public static final int HEALTHBAR_ORANGE_BACK_140PX = 2466; + public static final int HEALTHBAR_ORANGE_FRONT_160PX = 2467; + public static final int HEALTHBAR_ORANGE_BACK_160PX = 2468; + public static final int HEALTHBAR_YELLOW_FRONT_30PX = 2469; + public static final int HEALTHBAR_YELLOW_BACK_30PX = 2470; + public static final int HEALTHBAR_YELLOW_FRONT_40PX = 2471; + public static final int HEALTHBAR_YELLOW_BACK_40PX = 2472; + public static final int HEALTHBAR_YELLOW_FRONT_50PX = 2473; + public static final int HEALTHBAR_YELLOW_BACK_50PX = 2474; + public static final int HEALTHBAR_YELLOW_FRONT_60PX = 2475; + public static final int HEALTHBAR_YELLOW_BACK_60PX = 2476; + public static final int HEALTHBAR_YELLOW_FRONT_80PX = 2477; + public static final int HEALTHBAR_YELLOW_BACK_80PX = 2478; + public static final int HEALTHBAR_YELLOW_FRONT_100PX = 2479; + public static final int HEALTHBAR_YELLOW_BACK_100PX = 2480; + public static final int HEALTHBAR_YELLOW_FRONT_120PX = 2481; + public static final int HEALTHBAR_YELLOW_BACK_120PX = 2482; + public static final int HEALTHBAR_YELLOW_FRONT_140PX = 2483; + public static final int HEALTHBAR_YELLOW_BACK_140PX = 2484; + public static final int HEALTHBAR_YELLOW_FRONT_160PX = 2485; + public static final int HEALTHBAR_YELLOW_BACK_160PX = 2486; + /* Unmapped: 2487~2824 */ public static final int FRIENDS_CHAT_RANK_SMILEY_FRIEND = 2825; public static final int FRIENDS_CHAT_RANK_CROWN_JAGEX_MODERATOR = 2826; public static final int FRIENDS_CHAT_RANK_KEY_CHANNEL_OWNER = 2827; @@ -1546,8 +1641,22 @@ public final class SpriteID public static final int SETTINGS_SLIDER_HANDLE_BLUE = 2858; public static final int SETTINGS_SLIDER_HANDLE_RED = 2859; public static final int SETTINGS_SLIDER_HANDLE_GREEN = 2860; - /* Unmapped: 2861~2980 */ + /* Unmapped: 2861~2966 */ + public static final int HEALTHBAR_BLUE_FRONT_50PX = 2967; + public static final int HEALTHBAR_BLUE_BACK_50PX = 2968; + /* Unmapped: 2968~2970 */ + public static final int HEALTHBAR_DEFAULT_FRONT_70PX = 2971; + public static final int HEALTHBAR_DEFAULT_BACK_70PX = 2972; + public static final int HEALTHBAR_CYAN_FRONT_70PX = 2973; + public static final int HEALTHBAR_CYAN_BACK_70PX = 2974; + public static final int HEALTHBAR_ORANGE_FRONT_70PX = 2975; + public static final int HEALTHBAR_ORANGE_BACK_70PX = 2976; + public static final int HEALTHBAR_YELLOW_FRONT_70PX = 2977; + public static final int HEALTHBAR_YELLOW_BACK_70PX = 2978; + /* Unmapped: 2979, 2980 */ public static final int SPELL_RESURRECT_SUPERIOR_SKELETON = 2981; - /* Unmapped: 2982~2986 */ + /* Unmapped: 2982~2983 */ + public static final int SPELL_RESURRECT_GREATER_ZOMBIE = 2984; + /* Unmapped: 2985~2986 */ public static final int SPELL_RESURRECT_SUPERIOR_SKELETON_DISABLED = 2987; } diff --git a/runelite-api/src/main/java/net/runelite/api/StructID.java b/runelite-api/src/main/java/net/runelite/api/StructID.java index e1dab81026..54b61c4b02 100644 --- a/runelite-api/src/main/java/net/runelite/api/StructID.java +++ b/runelite-api/src/main/java/net/runelite/api/StructID.java @@ -29,7 +29,7 @@ package net.runelite.api; * @see StructComposition * @see Client#getStructComposition(int) */ -public class StructID +public final class StructID { public static final int SETTINGS_MUSIC_VOLUME = 2753; public static final int SETTINGS_EFFECT_VOLUME = 2754; diff --git a/runelite-api/src/main/java/net/runelite/api/VarClientStr.java b/runelite-api/src/main/java/net/runelite/api/VarClientStr.java index 3c6c4bd528..e8749b1eb2 100644 --- a/runelite-api/src/main/java/net/runelite/api/VarClientStr.java +++ b/runelite-api/src/main/java/net/runelite/api/VarClientStr.java @@ -42,7 +42,9 @@ public enum VarClientStr CHATBOX_TYPED_TEXT(335), INPUT_TEXT(359), PRIVATE_MESSAGE_TARGET(360), - RECENT_FRIENDS_CHAT(362); + RECENT_FRIENDS_CHAT(362), + NOTIFICATION_TOP_TEXT(387), + NOTIFICATION_BOTTOM_TEXT(388); private final int index; } diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index bf7ffe4ef4..625fd94780 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -633,7 +633,17 @@ public enum Varbits * * @see The OSRS Wiki's Minimap page */ - PVP_SPEC_ORB(8121); + PVP_SPEC_ORB(8121), + + /** + * Collection Log notification settings whenever a new item is added + * + * 0 = no notification + * 1 = chat notification only + * 2 = popup notification only + * 3 = chat and popup + */ + COLLECTION_LOG_NOTIFICATION(11959); /** * The raw varbit ID. diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java b/runelite-api/src/main/java/net/runelite/api/clan/ClanID.java similarity index 83% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java rename to runelite-api/src/main/java/net/runelite/api/clan/ClanID.java index 675fcb51db..5b0c59b37a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataBonus.java +++ b/runelite-api/src/main/java/net/runelite/api/clan/ClanID.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Adam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,13 +22,16 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.api.clan; -import lombok.Getter; - -@Getter -public class SkillDataBonus +public final class ClanID { - private String name; - private float value; -} \ No newline at end of file + /** + * The primary clan. + */ + public static final int CLAN = 0; + /** + * The group ironman clan. + */ + public static final int GROUP_IRONMAN = 1; +} diff --git a/runelite-api/src/main/java/net/runelite/api/coords/LocalPoint.java b/runelite-api/src/main/java/net/runelite/api/coords/LocalPoint.java index acc562dc44..a6d6ee9b99 100644 --- a/runelite-api/src/main/java/net/runelite/api/coords/LocalPoint.java +++ b/runelite-api/src/main/java/net/runelite/api/coords/LocalPoint.java @@ -115,8 +115,8 @@ public class LocalPoint public static LocalPoint fromScene(int x, int y) { return new LocalPoint( - (x << Perspective.LOCAL_COORD_BITS) + (1 << Perspective.LOCAL_COORD_BITS - 1) - 1, - (y << Perspective.LOCAL_COORD_BITS) + (1 << Perspective.LOCAL_COORD_BITS - 1) - 1 + (x << Perspective.LOCAL_COORD_BITS) + (1 << Perspective.LOCAL_COORD_BITS - 1), + (y << Perspective.LOCAL_COORD_BITS) + (1 << Perspective.LOCAL_COORD_BITS - 1) ); } diff --git a/runelite-api/src/main/java/net/runelite/api/coords/WorldArea.java b/runelite-api/src/main/java/net/runelite/api/coords/WorldArea.java index 3e34427459..e0ae129a44 100644 --- a/runelite-api/src/main/java/net/runelite/api/coords/WorldArea.java +++ b/runelite-api/src/main/java/net/runelite/api/coords/WorldArea.java @@ -160,6 +160,26 @@ public class WorldArea return distanceTo2D(new WorldArea(other, 1, 1)); } + /** + * Checks whether a tile is contained within the area and in the same plane. + * + * @return {@code true} if the tile is contained within the bounds of this area, {@code false} otherwise. + */ + public boolean contains(WorldPoint worldPoint) + { + return distanceTo(worldPoint) == 0; + } + + /** + * Checks whether a tile is contained within the area while ignoring the plane. + * + * @return {@code true} if the tile is contained within the bounds of this area regardless of plane, {@code false} otherwise. + */ + public boolean contains2D(WorldPoint worldPoint) + { + return distanceTo2D(worldPoint) == 0; + } + /** * Checks whether this area is within melee distance of another. *

diff --git a/runelite-api/src/main/java/net/runelite/api/coords/WorldPoint.java b/runelite-api/src/main/java/net/runelite/api/coords/WorldPoint.java index 6fdcd6c487..d24174feab 100644 --- a/runelite-api/src/main/java/net/runelite/api/coords/WorldPoint.java +++ b/runelite-api/src/main/java/net/runelite/api/coords/WorldPoint.java @@ -45,6 +45,14 @@ import net.runelite.api.Tile; @Value public class WorldPoint { + private static final int[] REGION_MIRRORS = { + // Prifddinas + 12894, 8755, + 12895, 8756, + 13150, 9011, + 13151, 9012 + }; + /** * X-axis coordinate. */ @@ -524,4 +532,65 @@ public class WorldPoint } return distance; } + + /** + * Translate a coordinate either between overworld and real, or real and overworld + * + * @param worldPoint + * @param toOverworld whether to convert to overworld coordinates, or to real coordinates + * @return + */ + public static WorldPoint getMirrorPoint(WorldPoint worldPoint, boolean toOverworld) + { + int region = worldPoint.getRegionID(); + for (int i = 0; i < REGION_MIRRORS.length; i += 2) + { + int real = REGION_MIRRORS[i]; + int overworld = REGION_MIRRORS[i + 1]; + + // Test against what we are converting from + if (region == (toOverworld ? real : overworld)) + { + return fromRegion(toOverworld ? overworld : real, + worldPoint.getRegionX(), worldPoint.getRegionY(), worldPoint.getPlane()); + } + } + return worldPoint; + } + + /** + * Checks whether this tile is located within any of the given areas. + * + * @param worldAreas areas to check within + * @return {@code true} if any area contains this point, {@code false} otherwise. + */ + public boolean isInArea(WorldArea... worldAreas) + { + for (WorldArea area : worldAreas) + { + if (area.contains(this)) + { + return true; + } + } + return false; + } + + /** + * Checks whether this tile is located within any of the given areas, disregarding any plane differences. + * + * @param worldAreas areas to check within + * @return {@code true} if any area contains this point, {@code false} otherwise. + */ + public boolean isInArea2D(WorldArea... worldAreas) + { + for (WorldArea area : worldAreas) + { + if (area.contains2D(this)) + { + return true; + } + } + return false; + } } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java b/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java index b6e4588c0c..e721be6eab 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, HSJ + * Copyright (c) 2018, Matthew Steglinski * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,5 +33,5 @@ import net.runelite.api.Actor; @Value public class ActorDeath { - Actor actor; + private final Actor actor; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java b/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java index 5cbc26a97b..fe3acab950 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java @@ -1,7 +1,31 @@ +/* + * Copyright (c) 2016-2017, Abel Briggs + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ package net.runelite.api.events; -import net.runelite.api.Actor; import lombok.Data; +import net.runelite.api.Actor; /** * An event where the {@link Actor} has changed animations. diff --git a/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java b/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java index 4114cb22ca..e0f4c1fe28 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java +++ b/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java @@ -33,7 +33,6 @@ public class AreaSoundEffectPlayed { @Nullable private final Actor source; - private int soundId; private int sceneX; private int sceneY; diff --git a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java index fccf5a98d8..91ddf32ed2 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java @@ -24,11 +24,11 @@ */ package net.runelite.api.events; -import net.runelite.api.ChatMessageType; -import net.runelite.api.MessageNode; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import net.runelite.api.ChatMessageType; +import net.runelite.api.MessageNode; /** * An event where a new chat message is received. diff --git a/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java b/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java index fe524a7e76..d0dfae5ff2 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java +++ b/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java @@ -47,9 +47,9 @@ public class CommandExecuted /** * The name of the command entered. */ - String command; + private String command; /** * The command arguments that have been entered. */ - String[] arguments; + private String[] arguments; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java index a18683d7b4..661711e566 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.DecorativeObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where the {@link DecorativeObject} attached to a {@link Tile} diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java index 94c06488c7..77152ec9c6 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.DecorativeObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where the {@link DecorativeObject} attached to a {@link Tile} diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java index fe8d17862f..b89806418e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.DecorativeObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where a {@link DecorativeObject} is attached to a {@link Tile}. diff --git a/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java b/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java index 07a98b0eb4..67cbeea22d 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java @@ -30,6 +30,6 @@ import net.runelite.api.Skill; @Value public class FakeXpDrop { - Skill skill; - int xp; + private final Skill skill; + private final int xp; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatChanged.java b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatChanged.java index 271eb83e49..0bab986a4d 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatChanged.java @@ -35,5 +35,5 @@ public class FriendsChatChanged /** * Whether or not the client is now in a friends chat. */ - boolean joined; + private boolean joined; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberJoined.java b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberJoined.java index e5a0cdb8a0..cab17bd556 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberJoined.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberJoined.java @@ -33,5 +33,5 @@ public class FriendsChatMemberJoined /** * The member that joined */ - FriendsChatMember member; + private FriendsChatMember member; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberLeft.java b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberLeft.java index 0970b762c8..a5ed698988 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberLeft.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FriendsChatMemberLeft.java @@ -33,5 +33,5 @@ public class FriendsChatMemberLeft /** * The member that left */ - FriendsChatMember member; + private FriendsChatMember member; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java index 5d2e9fad1a..ed4280918a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.GameObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where a {@link GameObject} on a {@link Tile} is removed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java index dc9fdbdd24..a8b09298a5 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java @@ -37,9 +37,9 @@ public class GameObjectSpawned /** * The affected tile. */ - Tile tile; + private Tile tile; /** * The newly spawned game object. */ - GameObject gameObject; + private GameObject gameObject; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java index 2a0b61fc40..f62ee5547e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.GameState; import lombok.Data; +import net.runelite.api.GameState; /** * An event where the clients game state has changed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java index 88e4aa1fac..8a7ff3ffc0 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java @@ -24,20 +24,21 @@ */ package net.runelite.api.events; -import net.runelite.api.GrandExchangeOffer; import lombok.Data; +import net.runelite.api.GrandExchangeOffer; +import net.runelite.api.GrandExchangeOfferState; /** - * An event where a {GrandExchangeOffer} has been updated with + * An event where a {@link GrandExchangeOffer} has been updated with * new information. *

* When the client initially logs in, this event is called for all grand - * exchange slots with the {GrandExchangeOfferState#EMPTY} state, + * exchange slots with the {@link GrandExchangeOfferState#EMPTY} state, * regardless of whether any slots have offers. Once the exchange is * initialized, the client then updates any offers with items as it * receives information from the server. *

- * See {GrandExchangeOfferState} for potential states an offer + * See {@link GrandExchangeOfferState} for potential states an offer * can change into. */ @Data diff --git a/runelite-api/src/main/java/net/runelite/api/events/GraphicChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GraphicChanged.java index 775487c6d0..9a50a5671c 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GraphicChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GraphicChanged.java @@ -1,3 +1,27 @@ +/* + * Copyright (c) 2018, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ package net.runelite.api.events; import lombok.Data; diff --git a/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java b/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java index 280cc77624..5af54e0660 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.GraphicsObject; import lombok.Value; +import net.runelite.api.GraphicsObject; /** * An event where a new {@link GraphicsObject} has been created. @@ -36,5 +36,5 @@ public class GraphicsObjectCreated /** * The newly created graphics object. */ - GraphicsObject graphicsObject; + private final GraphicsObject graphicsObject; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java index 8fa97ae503..093948306b 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.GroundObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where the {@link GroundObject} on a {@link Tile} has been changed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java index 54bb6dfbe0..b77d1bf579 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.GroundObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where a {@link GroundObject} on a {@link Tile} has been removed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java index af1f15ab6f..1e3d6597ff 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.GroundObject; import net.runelite.api.Tile; -import lombok.Data; /** * An event where a {@link GroundObject} is added to a {@link Tile}. diff --git a/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java b/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java index f96a0f08d7..705667ae32 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java +++ b/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.Actor; import net.runelite.api.Hitsplat; -import lombok.Data; /** * An event called when a {@link Hitsplat} is processed on an {@link Actor}. diff --git a/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java b/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java index ef1da8baca..fdfe0d1272 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java @@ -1,7 +1,31 @@ +/* + * Copyright (c) 2018, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ package net.runelite.api.events; -import net.runelite.api.Actor; import lombok.Value; +import net.runelite.api.Actor; /** * An event called when the actor an actor is interacting with changes @@ -9,10 +33,10 @@ import lombok.Value; @Value public class InteractingChanged { - Actor source; + private final Actor source; /** * Target actor, may be null */ - Actor target; + private final Actor target; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java index 5a5ddef151..f2ff89a679 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.ItemContainer; import lombok.Value; +import net.runelite.api.ItemContainer; /** * An event called whenever the stack size of an {@link net.runelite.api.Item} @@ -44,10 +44,10 @@ public class ItemContainerChanged /** * The modified container's ID. */ - int containerId; + private final int containerId; /** * The modified item container. */ - ItemContainer itemContainer; + private final ItemContainer itemContainer; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java index 22082bfedc..3b25a15439 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java @@ -25,9 +25,8 @@ package net.runelite.api.events; import lombok.Value; -import net.runelite.api.TileItem; import net.runelite.api.Tile; -import lombok.Value; +import net.runelite.api.TileItem; /** * Called when an item pile despawns from the ground. When the client loads a new scene, @@ -36,6 +35,6 @@ import lombok.Value; @Value public class ItemDespawned { - Tile tile; - TileItem item; + private final Tile tile; + private final TileItem item; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java index 7971da5f12..e95b2f83eb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java @@ -25,9 +25,8 @@ package net.runelite.api.events; import lombok.Value; -import net.runelite.api.TileItem; import net.runelite.api.Tile; -import lombok.Value; +import net.runelite.api.TileItem; /** * Called when the quantity of an item pile changes. @@ -35,8 +34,8 @@ import lombok.Value; @Value public class ItemQuantityChanged { - TileItem item; - Tile tile; - int oldQuantity; - int newQuantity; + private final TileItem item; + private final Tile tile; + private final int oldQuantity; + private final int newQuantity; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java index af3c034abc..e7726fc111 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java @@ -25,9 +25,8 @@ package net.runelite.api.events; import lombok.Value; -import net.runelite.api.TileItem; import net.runelite.api.Tile; -import lombok.Value; +import net.runelite.api.TileItem; /** * Called when an item pile spawns on the ground. When the client loads a new scene, @@ -36,6 +35,6 @@ import lombok.Value; @Value public class ItemSpawned { - Tile tile; - TileItem item; + private final Tile tile; + private final TileItem item; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java b/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java index 18b106ec9f..501a1b7931 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.Nameable; import lombok.Value; +import net.runelite.api.Nameable; /** * An event where a {@link Nameable} has had their name changed. @@ -36,5 +36,5 @@ public class NameableNameChanged /** * The nameable that changed names. */ - Nameable nameable; + private final Nameable nameable; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcChanged.java b/runelite-api/src/main/java/net/runelite/api/events/NpcChanged.java index f01da68ae2..7abdb731dd 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcChanged.java @@ -37,11 +37,10 @@ public class NpcChanged /** * The NPC of which the composition changed. */ - NPC npc; - + private final NPC npc; /** * The old composition of the NPC */ - NPCComposition old; -} \ No newline at end of file + private final NPCComposition old; +} diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java index 9d2fed4200..0f6399fa4a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Value; import net.runelite.api.Actor; import net.runelite.api.NPC; -import lombok.Value; /** * An event where an {@link NPC} has despawned. @@ -37,7 +37,7 @@ public class NpcDespawned /** * The despawned NPC. */ - NPC npc; + private final NPC npc; public Actor getActor() { diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java index aab89fffb8..2101bdd4fb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Value; import net.runelite.api.Actor; import net.runelite.api.NPC; -import lombok.Value; /** * An event where an {@link NPC} has spawned. @@ -37,7 +37,7 @@ public class NpcSpawned /** * The spawned NPC. */ - NPC npc; + private final NPC npc; public Actor getActor() { diff --git a/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java b/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java index 9e77178776..a366eb297a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java @@ -1,12 +1,39 @@ +/* + * Copyright (c) 2018, Magic fTail + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ package net.runelite.api.events; -import net.runelite.api.Actor; import lombok.Value; +import net.runelite.api.Actor; +/** + * Event fired when an actors overhead text is changed. + */ @Value public class OverheadTextChanged { - Actor actor; + private final Actor actor; - String overheadText; + private final String overheadText; } \ No newline at end of file diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java index ed5f2a9057..9e38311069 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Value; import net.runelite.api.Actor; import net.runelite.api.Player; -import lombok.Value; /** * An event where a {@link Player} has despawned. @@ -39,7 +39,7 @@ public class PlayerDespawned /** * The despawned player. */ - Player player; + private final Player player; public Actor getActor() { diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java index 73e1932285..f730a0b652 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Value; import net.runelite.api.Actor; import net.runelite.api.Player; -import lombok.Value; /** * An event where a {@link Player} has spawned. @@ -37,7 +37,7 @@ public class PlayerSpawned /** * The spawned player. */ - Player player; + private final Player player; public Actor getActor() { diff --git a/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java b/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java index c8896ff945..01085f05bb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.HealthBar; import lombok.Data; +import net.runelite.api.HealthBar; @Data public class PostHealthBar diff --git a/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java b/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java index 70d73d7026..6d9a1c281f 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.Projectile; import net.runelite.api.coords.LocalPoint; -import lombok.Data; /** * An event called whenever a {@link Projectile} has moved towards a point. diff --git a/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java b/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java index 3d109ef982..a4bed3e95f 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java +++ b/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java @@ -37,4 +37,4 @@ public class RemovedFriend * The removed friend or ignore entry */ private final Nameable nameable; -} \ No newline at end of file +} diff --git a/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java b/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java index 716f7bbe90..d13b03ea8a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java @@ -24,8 +24,8 @@ */ package net.runelite.api.events; -import net.runelite.api.Script; import lombok.Data; +import net.runelite.api.Script; /** * A callback from a runelite_callback opcode in a cs2 diff --git a/runelite-api/src/main/java/net/runelite/api/events/ScriptPostFired.java b/runelite-api/src/main/java/net/runelite/api/events/ScriptPostFired.java index 55338bd87a..1337dcead1 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ScriptPostFired.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ScriptPostFired.java @@ -35,5 +35,5 @@ public class ScriptPostFired /** * The script id of the invoked script */ - int scriptId; + private final int scriptId; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java b/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java index f8e9549281..c509303784 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java @@ -24,22 +24,22 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; import net.runelite.api.ScriptEvent; /** * An event that is fired before the designated script is ran */ -@Value +@Data public class ScriptPreFired { /** * The script id of the invoked script */ - int scriptId; + private final int scriptId; /** * The input of the script invoke, this will be null unless it is the root script */ - ScriptEvent scriptEvent; + private ScriptEvent scriptEvent; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java b/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java index 7c111d1d8d..06002f717a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java +++ b/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java @@ -33,10 +33,8 @@ public class SoundEffectPlayed { @Nullable private final Actor source; - private int soundId; private int delay; - private int npcid; private boolean consumed; diff --git a/runelite-api/src/main/java/net/runelite/api/events/StatChanged.java b/runelite-api/src/main/java/net/runelite/api/events/StatChanged.java index 809636f446..b5fd373731 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/StatChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/StatChanged.java @@ -33,8 +33,8 @@ import net.runelite.api.Skill; @Value public class StatChanged { - Skill skill; - int xp; - int level; - int boostedLevel; + private final Skill skill; + private final int xp; + private final int level; + private final int boostedLevel; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java index 521e8a62ae..911befbf27 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java @@ -28,11 +28,10 @@ package net.runelite.api.events; import lombok.Value; /** - * An event where a client int var has changed. * @see net.runelite.api.VarClientInt */ @Value public class VarClientIntChanged { - int index; + private int index; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java index 2fff4da47e..5a68f5f3f9 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java @@ -28,11 +28,10 @@ package net.runelite.api.events; import lombok.Value; /** - * An event where a client var string has changed. * @see net.runelite.api.VarClientStr */ @Value public class VarClientStrChanged { - int index; + private int index; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/VolumeChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VolumeChanged.java index 30e87b9c79..8af4ee481b 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VolumeChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VolumeChanged.java @@ -37,5 +37,5 @@ public class VolumeChanged AREA } - Type type; -} \ No newline at end of file + private final Type type; +} diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java index bea7686602..9d20cf3b11 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.Tile; import net.runelite.api.WallObject; -import lombok.Data; /** * An event where the {@link WallObject} of a {@link Tile} has been changed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java index 6ac609a46f..b6a6a69b96 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.Tile; import net.runelite.api.WallObject; -import lombok.Data; /** * An event where a {@link WallObject} on a {@link Tile} has been removed. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java index dc22e07f7d..0a2feaa1d3 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java @@ -24,9 +24,9 @@ */ package net.runelite.api.events; +import lombok.Data; import net.runelite.api.Tile; import net.runelite.api.WallObject; -import lombok.Data; /** * An event where a {@link WallObject} is added to a {@link Tile}. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WorldChanged.java b/runelite-api/src/main/java/net/runelite/api/events/WorldChanged.java index 3b641e27e6..408114af1e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WorldChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WorldChanged.java @@ -36,4 +36,4 @@ import net.runelite.api.Client; */ public class WorldChanged { -} \ No newline at end of file +} diff --git a/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java b/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java index c45f4cf1ae..f7cc8e243f 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java @@ -1,37 +1,37 @@ -/* - * Copyright (c) 2018, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.api.events; - -import net.runelite.api.World; -import lombok.Value; - -/** - * Event when the world list is loaded for the world switcher - */ -@Value -public class WorldListLoad -{ - World[] worlds; -} +/* + * Copyright (c) 2018, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api.events; + +import lombok.Value; +import net.runelite.api.World; + +/** + * Event when the world list is loaded for the world switcher + */ +@Value +public class WorldListLoad +{ + private final World[] worlds; +} diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/ItemQuantityMode.java b/runelite-api/src/main/java/net/runelite/api/widgets/ItemQuantityMode.java index 501da0671f..7992558284 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/ItemQuantityMode.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/ItemQuantityMode.java @@ -28,7 +28,7 @@ package net.runelite.api.widgets; /** * Utility class mapping Widget ItemQuantityMode values */ -public class ItemQuantityMode +public final class ItemQuantityMode { /** * Never show item quantity number diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java index 587ecc3281..ac0ff04412 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java @@ -31,7 +31,7 @@ package net.runelite.api.widgets; * * @see Widget#getClickMask() */ -public class WidgetConfig +public final class WidgetConfig { /** * Enables displaying a ninth option on a menu. diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 9219be40ce..62c5052bd0 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -34,7 +34,7 @@ package net.runelite.api.widgets; * For a more direct group-child widget mapping, use the * {@link WidgetInfo} enum class. */ -public class WidgetID +public final class WidgetID { public static final int FAIRY_RING_PANEL_GROUP_ID = 381; public static final int FAIRY_RING_GROUP_ID = 398; @@ -182,6 +182,8 @@ public class WidgetID public static final int TEMPOROSS_GROUP_ID = 437; public static final int CLAN_GROUP_ID = 701; public static final int CLAN_GUEST_GROUP_ID = 702; + public static final int GRAVESTONE_GROUP_ID = 672; + public static final int POH_TREASURE_CHEST_INVENTORY_GROUP_ID = 674; static class WorldMap { @@ -290,20 +292,18 @@ public class WidgetID static final int ITEM_COUNT_TOP = 5; static final int ITEM_COUNT_BAR = 6; static final int ITEM_COUNT_BOTTOM = 7; - static final int CONTENT_CONTAINER = 9; - static final int TAB_CONTAINER = 10; - static final int ITEM_CONTAINER = 12; - static final int SCROLLBAR = 13; - static final int UNNOTED_BUTTON = 21; - static final int NOTED_BUTTON = 23; - static final int SEARCH_BUTTON_BACKGROUND = 39; - static final int DEPOSIT_INVENTORY = 41; - static final int DEPOSIT_EQUIPMENT = 43; - static final int INCINERATOR = 45; - static final int INCINERATOR_CONFIRM = 46; - static final int EQUIPMENT_CONTENT_CONTAINER = 68; - static final int SETTINGS_BUTTON = 111; - static final int EQUIPMENT_BUTTON = 112; + static final int CONTENT_CONTAINER = 10; + static final int TAB_CONTAINER = 11; + static final int ITEM_CONTAINER = 13; + static final int SCROLLBAR = 14; + static final int SEARCH_BUTTON_BACKGROUND = 40; + static final int DEPOSIT_INVENTORY = 42; + static final int DEPOSIT_EQUIPMENT = 44; + static final int INCINERATOR = 46; + static final int INCINERATOR_CONFIRM = 47; + static final int EQUIPMENT_CONTENT_CONTAINER = 69; + static final int SETTINGS_BUTTON = 112; + static final int EQUIPMENT_BUTTON = 113; } static class GrandExchange diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index c30aa6a517..e9e05c8a10 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -578,9 +578,6 @@ public enum WidgetInfo PEST_CONTROL_EXCHANGE_WINDOW(WidgetID.PEST_CONTROL_EXCHANGE_WINDOW_GROUP_ID, 0), PEST_CONTROL_EXCHANGE_WINDOW_POINTS(WidgetID.PEST_CONTROL_EXCHANGE_WINDOW_GROUP_ID, WidgetID.PestControlExchangeWindow.POINTS), - BANK_UNNOTED_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.UNNOTED_BUTTON), - BANK_NOTED_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.NOTED_BUTTON), - GRAND_EXCHANGE_HISTORY_BUTTON(WidgetID.GRAND_EXCHANGE_GROUP_ID, WidgetID.GrandExchange.HISTORY_BUTTON), GRAND_EXCHANGE_BACK_BUTTON(WidgetID.GRAND_EXCHANGE_GROUP_ID, WidgetID.GrandExchange.BACK_BUTTON), GRAND_EXCHANGE_OFFER1(WidgetID.GRAND_EXCHANGE_GROUP_ID, WidgetID.GrandExchange.OFFER1), @@ -928,6 +925,8 @@ public enum WidgetInfo GAUNTLET_MAP(WidgetID.GAUNTLET_MAP_GROUP_ID, WidgetID.GauntletMap.CONTAINER), SHOP_ITEMS_CONTAINER(WidgetID.SHOP_GROUP_ID, WidgetID.Shop.ITEMS_CONTAINER), + + POH_TREASURE_CHEST_INVENTORY_CONTAINER(WidgetID.POH_TREASURE_CHEST_INVENTORY_GROUP_ID, 0), ; private final int groupId; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModalMode.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModalMode.java index 9c875fa3fd..7f0b179bbc 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModalMode.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModalMode.java @@ -24,7 +24,7 @@ */ package net.runelite.api.widgets; -public class WidgetModalMode +public final class WidgetModalMode { public static final int MODAL_NOCLICKTHROUGH = 0; public static final int NON_MODAL = 1; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java index ff68eef617..a04c0cfdab 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetModelType.java @@ -24,7 +24,7 @@ */ package net.runelite.api.widgets; -public class WidgetModelType +public final class WidgetModelType { public static final int NULL = 0; public static final int MODEL = 1; diff --git a/runelite-api/src/test/java/net/runelite/api/coords/WorldPointTest.java b/runelite-api/src/test/java/net/runelite/api/coords/WorldPointTest.java new file mode 100644 index 0000000000..397da68ca0 --- /dev/null +++ b/runelite-api/src/test/java/net/runelite/api/coords/WorldPointTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2021 Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api.coords; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import org.junit.Test; + +public class WorldPointTest +{ + @Test + public void getGetMirrorPoint() + { + WorldPoint point, converted; + + // Zalcano's entrance portal + point = new WorldPoint(3282, 6058, 0); + converted = WorldPoint.getMirrorPoint(point, true); + assertNotEquals(point, converted); + + // Elven Crystal Chest, which is upstairs + point = new WorldPoint(3273, 6082, 2); + converted = WorldPoint.getMirrorPoint(point, true); + assertNotEquals(point, converted); + + // Around the area of the Elite coordinate clue + point = new WorldPoint(2185, 3280, 0); + // To overworld + converted = WorldPoint.getMirrorPoint(point, true); + assertEquals(point, converted); + // To real + converted = WorldPoint.getMirrorPoint(point, false); + assertNotEquals(point, converted); + + // Brugsen Bursen, Grand Exchange + point = new WorldPoint(3165, 3477, 0); + converted = WorldPoint.getMirrorPoint(point, false); + assertEquals(point, converted); + } +} diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index e49a905f86..529319f29f 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -44,7 +44,7 @@ description = "RuneLite Client" dependencies { annotationProcessor(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) - annotationProcessor(group = "org.pf4j", name = "pf4j", version = "3.5.0") + annotationProcessor(group = "org.pf4j", name = "pf4j", version = "3.6.0") api(project(":runelite-api")) @@ -56,23 +56,24 @@ dependencies { implementation(project(":runelite-jshell")) implementation(group = "ch.qos.logback", name = "logback-classic", version = "1.2.3") implementation(group = "com.google.code.gson", name = "gson", version = "2.8.5") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") - implementation(group = "com.google.inject", name = "guice", version = "4.1.0", classifier = "no_aop") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") + implementation(group = "com.google.inject", name = "guice", version = "5.0.1") implementation(group = "com.h2database", name = "h2", version = "1.4.200") - implementation(group = "com.jakewharton.rxrelay3", name = "rxrelay", version = "3.0.0") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "3.7.0") - implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.10") + implementation(group = "com.jakewharton.rxrelay3", name = "rxrelay", version = "3.0.1") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.1") + implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.1.1") + implementation(group = "org.jgroups", name = "jgroups", version = "5.1.9.Final") implementation(group = "net.java.dev.jna", name = "jna", version = "5.9.0") - implementation(group = "org.jgroups", name = "jgroups", version = "5.0.4.Final") implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.9.0") implementation(group = "net.runelite", name = "discord", version = "1.4") - implementation(group = "net.runelite.pushingpixels", name = "substance", version = "8.0.02") - implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.1") - implementation(group = "org.apache.commons", name = "commons-text", version = "1.2") + implementation(group = "org.pushing-pixels", name = "radiance-substance", version = "4.0.0") + implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.4") + implementation(group = "org.madlonkay", name = "desktopsupport", version = "0.6.0") + implementation(group = "org.apache.commons", name = "commons-text", version = "1.9") implementation(group = "commons-io", name = "commons-io", version = "2.8.0") - implementation(group = "org.jetbrains", name = "annotations", version = "20.1.0") + implementation(group = "org.jetbrains", name = "annotations", version = "22.0.0") implementation(group = "com.github.zafarkhaja", name = "java-semver", version = "0.9.0") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") implementation(group = "org.pf4j", name = "pf4j", version = "3.6.0") { exclude(group = "org.slf4j") } @@ -105,8 +106,8 @@ dependencies { testImplementation(group = "junit", name = "junit", version = "4.12") testImplementation(group = "org.mockito", name = "mockito-core", version = "3.1.0") testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.1.0") - testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "3.7.0") - testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.9.1") + testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") } fun formatDate(date: Date?) = with(date ?: Date()) { diff --git a/runelite-client/src/main/java/com/openosrs/client/graphics/ModelOutlineRenderer.java b/runelite-client/src/main/java/com/openosrs/client/graphics/ModelOutlineRenderer.java deleted file mode 100644 index 6e366ef7ad..0000000000 --- a/runelite-client/src/main/java/com/openosrs/client/graphics/ModelOutlineRenderer.java +++ /dev/null @@ -1,1138 +0,0 @@ -/* - * Copyright (c) 2018, Woox - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package com.openosrs.client.graphics; - -import com.google.inject.Inject; -import com.google.inject.Singleton; -import java.awt.Color; -import java.awt.image.BufferedImage; -import java.awt.image.DataBufferInt; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.Value; -import net.runelite.api.Client; -import net.runelite.api.DecorativeObject; -import net.runelite.api.GameObject; -import net.runelite.api.GroundObject; -import net.runelite.api.ItemLayer; -import net.runelite.api.MainBufferProvider; -import net.runelite.api.Model; -import net.runelite.api.NPC; -import net.runelite.api.NPCComposition; -import net.runelite.api.Perspective; -import net.runelite.api.Player; -import net.runelite.api.Renderable; -import net.runelite.api.TileObject; -import net.runelite.api.WallObject; -import net.runelite.api.coords.LocalPoint; -import net.runelite.client.task.Schedule; -import net.runelite.client.task.Scheduler; - -@Deprecated(forRemoval = true, since = "4.9.2") -@Singleton -public class ModelOutlineRenderer -{ - /* - * This class doesn't really "need" static variables, but they are - * static for performance reasons. Arrays are kept outside methods - * to avoid frequent big allocations. Arrays should mostly be seen - * as ArrayLists. The size of them is increased whenever they need - * to become bigger. - */ - - private final Client client; - - private boolean isReset; - private boolean usedSinceLastCheck; - - // Dimensions of the underlying image - private int imageWidth; - private int imageHeight; - - // Boundaries for the current rasterization - private int clipX1; - private int clipY1; - private int clipX2; - private int clipY2; - - // Pixel points that would be rendered to - private int[] visited; - private int currentVisitedNumber = 0; - - // Transformed vertex positions - private int[] projectedVerticesX; - private int[] projectedVerticesY; - private boolean[] projectedVerticesRenderable; - - // An array of pixel points to raster onto the image. These are checked against - // clip boundaries and the visited array to prevent drawing on top of the model - // and outside the scene area. They are grouped per distance to the closest pixel - // drawn on the model. - private int[][] outlinePixels; - private int[] outlinePixelsLengths; // outlinePixelsLength[i] is the used length of outlinePixels[i] - private int outlineArrayWidth; - - // A list of pixel distances ordered from shortest to longest distance for - // each outline width. These are calculated once upon first usage and then - // stored here to prevent reevaluation. - private List> precomputedDistancePriorities; - - @Inject - private ModelOutlineRenderer(Client client, Scheduler scheduler) - { - this.client = client; - scheduler.registerObject(this); - - reset(); - } - - @Schedule(period = 5, unit = ChronoUnit.SECONDS) - public void checkUsage() - { - if (!isReset && !usedSinceLastCheck) - { - // Reset memory allocated when the rasterizer becomes inactive - reset(); - } - usedSinceLastCheck = false; - } - - /** - * Reset memory used by the rasterizer - */ - private void reset() - { - visited = new int[0]; - projectedVerticesX = new int[0]; - projectedVerticesY = new int[0]; - projectedVerticesRenderable = new boolean[0]; - outlinePixels = new int[0][]; - outlinePixelsLengths = new int[0]; - precomputedDistancePriorities = new ArrayList<>(0); - isReset = true; - } - - /** - * Calculate the next power of two of a value - * - * @param value The value to find the next power of two of - * @return Returns the next power of two - */ - private static int nextPowerOfTwo(int value) - { - value--; - value |= value >> 1; - value |= value >> 2; - value |= value >> 4; - value |= value >> 8; - value |= value >> 16; - value++; - return value; - } - - /** - * Determine if a triangle goes counter clockwise - * - * @return Returns true if the triangle goes counter clockwise and should be culled, otherwise false - */ - private static boolean cullFace(int x1, int y1, int x2, int y2, int x3, int y3) - { - return - (y2 - y1) * (x3 - x2) - - (x2 - x1) * (y3 - y2) < 0; - } - - /** - * Gets the list of pixel distances ordered by distance from closest pixel for a specific outline width. - * - * @param outlineWidth The outline width - * @return Returns the list of pixel distances - */ - private List getPriorityList(int outlineWidth) - { - while (precomputedDistancePriorities.size() <= outlineWidth) - { - precomputedDistancePriorities.add(null); - } - - // Grab the cached outline width if we have one - if (precomputedDistancePriorities.get(outlineWidth) != null) - { - return precomputedDistancePriorities.get(outlineWidth); - } - - List ps = new ArrayList<>(); - for (int x = 0; x <= outlineWidth; x++) - { - for (int y = 0; y <= outlineWidth; y++) - { - if (x == 0 && y == 0) - { - continue; - } - - double dist = Math.sqrt(x * x + y * y); - if (dist > outlineWidth) - { - continue; - } - - int outerAlpha = outlineWidth == 1 ? 255 // For preventing division by 0 - : (int) (255 * (dist - 1) / (outlineWidth - 1)); - ps.add(new PixelDistanceAlpha(outerAlpha, x + y * outlineArrayWidth)); - } - } - ps.sort(Comparator.comparingDouble(PixelDistanceAlpha::getOuterAlpha)); - precomputedDistancePriorities.set(outlineWidth, ps); - - return ps; - } - - /** - * Checks that the size of outlinePixels is big enough to hold a specific - * amount of elements. This is used to reduce the amount of if checks needed - * when adding elements to outlinePixels. - * - * @param distArrayPos The position in the array - * @param additionalMinimumSize The additional minimum size required - */ - private void ensureMinimumOutlineQueueSize(int distArrayPos, int additionalMinimumSize) - { - int minimumSize = outlinePixelsLengths[distArrayPos] + additionalMinimumSize; - while (outlinePixels[distArrayPos].length < minimumSize) - { - int[] newArr = new int[nextPowerOfTwo(minimumSize)]; - System.arraycopy(outlinePixels[distArrayPos], 0, newArr, 0, - outlinePixels[distArrayPos].length); - outlinePixels[distArrayPos] = newArr; - } - } - - /** - * Resets the visited flag for a specific amount of pixels - * - * @param pixelAmount The amount of pixels to reset - */ - private void resetVisited(int pixelAmount) - { - // The visited array is essentially a boolean array, but by - // making it an int array and checking if visited[i] == currentVisitedNumber - // and changing currentVisitedNumber for every new outline, we can essentially - // reset the whole array without having to iterate over every element - - if (visited.length < pixelAmount) - { - visited = new int[nextPowerOfTwo(pixelAmount)]; - currentVisitedNumber = 0; - } - - currentVisitedNumber++; - } - - /** - * Resets the pixels that are queued for outlining - * - * @param outlineWidth The width of the outline to reset pixels for - */ - private void resetOutline(int outlineWidth) - { - outlineArrayWidth = outlineWidth + 2; - - int arraySizes = outlineArrayWidth * outlineArrayWidth; - if (outlinePixels.length < arraySizes) - { - outlinePixels = new int[arraySizes][]; - outlinePixelsLengths = new int[arraySizes]; - for (int i = 0; i < arraySizes; i++) - { - outlinePixels[i] = new int[4]; - } - } - else - { - for (int i = 0; i < arraySizes; i++) - { - outlinePixelsLengths[i] = 0; - } - } - } - - /** - * Simulates a horizontal line rasterization and adds the pixels to the left - * and to the right to the outline queue if they are within the clip area. - * - * @param pixelPos The pixel position in the line where x == 0 - * @param x1 The starting x position - * @param x2 The ending x position - */ - private void simulateHorizontalLineRasterizationForOutline(int pixelPos, int x1, int x2) - { - if (x2 > clipX2) - { - x2 = clipX2; - } - if (x1 < clipX1) - { - x1 = clipX1; - } - if (x1 >= x2) - { - return; - } - - // Queue the pixel positions to the left and to the right of the line - ensureMinimumOutlineQueueSize(1, 2); - if (x2 < clipX2) - { - outlinePixels[1][outlinePixelsLengths[1]++] = pixelPos + x2; - } - if (x1 > clipX1) - { - outlinePixels[1][outlinePixelsLengths[1]++] = pixelPos + x1 - 1; - } - - // Divide by 4 to account for loop unrolling - int xDist = x2 - x1 >> 2; - pixelPos += x1; - - // This loop could run over 100m times per second without loop unrolling in some cases, - // so unrolling it can give a noticeable performance boost. - while (xDist-- > 0) - { - visited[pixelPos++] = currentVisitedNumber; - visited[pixelPos++] = currentVisitedNumber; - visited[pixelPos++] = currentVisitedNumber; - visited[pixelPos++] = currentVisitedNumber; - } - - // Draw up to 3 more pixels if there were any left - xDist = (x2 - x1) & 3; - while (xDist-- > 0) - { - visited[pixelPos++] = currentVisitedNumber; - } - } - - /** - * Queues the pixel positions above and below two horizontal lines, excluding those - * where the x positions of the lines intersect. - * - * @param pixelPos The pixel position at x == 0 of the second line - * @param x1 The starting x position of the first line - * @param x2 The ending x position of the first line - * @param x3 The starting x position of the second line - * @param x4 The ending x position of the second line - */ - private void outlineAroundHorizontalLine(int pixelPos, int x1, int x2, int x3, int x4) - { - if (x1 < clipX1) - { - x1 = clipX1; - } - if (x2 < clipX1) - { - x2 = clipX1; - } - if (x3 < clipX1) - { - x3 = clipX1; - } - if (x4 < clipX1) - { - x4 = clipX1; - } - - if (x1 > clipX2) - { - x1 = clipX2; - } - if (x2 > clipX2) - { - x2 = clipX2; - } - if (x3 > clipX2) - { - x3 = clipX2; - } - if (x4 > clipX2) - { - x4 = clipX2; - } - - if (x1 < x3) - { - ensureMinimumOutlineQueueSize(outlineArrayWidth, x3 - x1); - for (int x = x1; x < x3; x++) - { - outlinePixels[outlineArrayWidth][outlinePixelsLengths[outlineArrayWidth]++] = pixelPos - imageWidth + x; - } - } - else - { - ensureMinimumOutlineQueueSize(outlineArrayWidth, x1 - x3); - for (int x = x3; x < x1; x++) - { - outlinePixels[outlineArrayWidth][outlinePixelsLengths[outlineArrayWidth]++] = pixelPos + x; - } - } - - if (x2 < x4) - { - ensureMinimumOutlineQueueSize(outlineArrayWidth, x4 - x2); - for (int x = x2; x < x4; x++) - { - outlinePixels[outlineArrayWidth][outlinePixelsLengths[outlineArrayWidth]++] = pixelPos + x; - } - } - else - { - ensureMinimumOutlineQueueSize(outlineArrayWidth, x2 - x4); - for (int x = x4; x < x2; x++) - { - outlinePixels[outlineArrayWidth][outlinePixelsLengths[outlineArrayWidth]++] = pixelPos - imageWidth + x; - } - } - } - - /** - * Simulates rasterization of a triangle and adds every pixel outside the triangle - * to the outline queue. - * - * @param x1 The x position of the first vertex in the triangle - * @param y1 The y position of the first vertex in the triangle - * @param x2 The x position of the second vertex in the triangle - * @param y2 The y position of the second vertex in the triangle - * @param x3 The x position of the third vertex in the triangle - * @param y3 The y position of the third vertex in the triangle - */ - private void simulateTriangleRasterizationForOutline(int x1, int y1, int x2, int y2, int x3, int y3) - { - // Swap vertices so y1 <= y2 <= y3 using bubble sort - if (y1 > y2) - { - int yp = y1; - int xp = x1; - y1 = y2; - y2 = yp; - x1 = x2; - x2 = xp; - } - if (y2 > y3) - { - int yp = y2; - int xp = x2; - y2 = y3; - y3 = yp; - x2 = x3; - x3 = xp; - } - if (y1 > y2) - { - int yp = y1; - int xp = x1; - y1 = y2; - y2 = yp; - x1 = x2; - x2 = xp; - } - - if (y1 > clipY2) - { - // All points are outside clip boundaries - return; - } - - int slope1 = 0; - if (y1 != y2) - { - slope1 = (x2 - x1 << 14) / (y2 - y1); - } - - int slope2 = 0; - if (y3 != y2) - { - slope2 = (x3 - x2 << 14) / (y3 - y2); - } - - int slope3 = 0; - if (y1 != y3) - { - slope3 = (x1 - x3 << 14) / (y1 - y3); - } - - if (y2 > clipY2) - { - y2 = clipY2; - } - if (y3 > clipY2) - { - y3 = clipY2; - } - if (y1 == y3 || y3 < 0) - { - return; - } - - x1 <<= 14; - x2 <<= 14; - x3 = x1; - - if (y1 < 0) - { - x3 -= y1 * slope3; - x1 -= y1 * slope1; - y1 = 0; - } - if (y2 < 0) - { - x2 -= slope2 * y2; - y2 = 0; - } - - int pixelPos = y1 * imageWidth; - int currX1; - int currX2; - if (y1 != y2 && slope3 < slope1 || y1 == y2 && slope3 > slope2) - { - int height1 = y2 - y1; - int height2 = y3 - y2; - - int prevX1; - int prevX2; - if (height1 <= 0) - { - prevX1 = x3 >> 14; - prevX2 = x2 >> 14; - } - else - { - prevX1 = x3 >> 14; - prevX2 = x1 >> 14; - } - - outlineAroundHorizontalLine(pixelPos, prevX1, prevX2, prevX2, prevX2); - - while (height1-- > 0) - { - currX1 = x3 >> 14; - currX2 = x1 >> 14; - outlineAroundHorizontalLine(pixelPos, currX1, currX2, prevX1, prevX2); - simulateHorizontalLineRasterizationForOutline(pixelPos, currX1, currX2); - x3 += slope3; - x1 += slope1; - pixelPos += imageWidth; - prevX1 = currX1; - prevX2 = currX2; - } - - while (height2-- > 0) - { - currX1 = x3 >> 14; - currX2 = x2 >> 14; - outlineAroundHorizontalLine(pixelPos, currX1, currX2, prevX1, prevX2); - simulateHorizontalLineRasterizationForOutline(pixelPos, currX1, currX2); - x3 += slope3; - x2 += slope2; - pixelPos += imageWidth; - prevX1 = currX1; - prevX2 = currX2; - } - - outlineAroundHorizontalLine(pixelPos, prevX1, prevX1, prevX1, prevX2); - } - else - { - int height1 = y2 - y1; - int height2 = y3 - y2; - - int prevX1; - int prevX2; - if (height1 <= 0) - { - prevX1 = x2 >> 14; - prevX2 = x3 >> 14; - } - else - { - prevX1 = x1 >> 14; - prevX2 = x3 >> 14; - } - - outlineAroundHorizontalLine(pixelPos, prevX1, prevX2, prevX2, prevX2); - - while (height1-- > 0) - { - currX1 = x1 >> 14; - currX2 = x3 >> 14; - outlineAroundHorizontalLine(pixelPos, currX1, currX2, prevX1, prevX2); - simulateHorizontalLineRasterizationForOutline(pixelPos, currX1, currX2); - x1 += slope1; - x3 += slope3; - pixelPos += imageWidth; - prevX1 = currX1; - prevX2 = currX2; - } - - while (height2-- > 0) - { - currX1 = x2 >> 14; - currX2 = x3 >> 14; - outlineAroundHorizontalLine(pixelPos, currX1, currX2, prevX1, prevX2); - simulateHorizontalLineRasterizationForOutline(pixelPos, currX1, currX2); - x3 += slope3; - x2 += slope2; - pixelPos += imageWidth; - prevX1 = currX1; - prevX2 = currX2; - } - - outlineAroundHorizontalLine(pixelPos, prevX1, prevX1, prevX1, prevX2); - } - } - - /** - * Translates the vertices 3D points to the screen canvas 2D points - * - * @param localX The local x position of the vertices - * @param localY The local y position of the vertices - * @param localZ The local z position of the vertices - * @param vertexOrientation The orientation of the vertices - * @return Returns true if any of them are inside the clip area, otherwise false - */ - private boolean projectVertices(Model model, final int localX, final int localY, final int localZ, final int vertexOrientation) - { - final int cameraX = client.getCameraX(); - final int cameraY = client.getCameraY(); - final int cameraZ = client.getCameraZ(); - final int cameraYaw = client.getCameraYaw(); - final int cameraPitch = client.getCameraPitch(); - final int scale = client.getScale(); - final int orientationSin = Perspective.SINE[vertexOrientation]; - final int orientationCos = Perspective.COSINE[vertexOrientation]; - final int pitchSin = Perspective.SINE[cameraPitch]; - final int pitchCos = Perspective.COSINE[cameraPitch]; - final int yawSin = Perspective.SINE[cameraYaw]; - final int yawCos = Perspective.COSINE[cameraYaw]; - final int vertexCount = model.getVerticesCount(); - final int[] verticesX = model.getVerticesX(); - final int[] verticesY = model.getVerticesY(); - final int[] verticesZ = model.getVerticesZ(); - - boolean anyVisible = false; - - // Make sure the arrays are big enough - while (projectedVerticesX.length < vertexCount) - { - int newSize = nextPowerOfTwo(vertexCount); - projectedVerticesX = new int[newSize]; - projectedVerticesY = new int[newSize]; - projectedVerticesRenderable = new boolean[newSize]; - } - - for (int i = 0; i < vertexCount; i++) - { - int vx = verticesX[i]; - int vy = verticesZ[i]; - int vz = verticesY[i]; - int vh; // Value holder - - // Rotate based on orientation - vh = vx * orientationCos + vy * orientationSin >> 16; - vy = vy * orientationCos - vx * orientationSin >> 16; - vx = vh; - - // Translate to local coords - vx += localX; - vy += localY; - vz += localZ; - - // Translate to camera - vx -= cameraX; - vy -= cameraY; - vz -= cameraZ; - - // Transform to canvas - vh = vx * yawCos + vy * yawSin >> 16; - vy = vy * yawCos - vx * yawSin >> 16; - vx = vh; - vh = vz * pitchCos - vy * pitchSin >> 16; - vz = vz * pitchSin + vy * pitchCos >> 16; - vy = vh; - - if (vz >= 50) - { - projectedVerticesX[i] = (clipX1 + clipX2) / 2 + vx * scale / vz; - projectedVerticesY[i] = (clipY1 + clipY2) / 2 + vy * scale / vz; - - projectedVerticesRenderable[i] = true; - anyVisible |= - projectedVerticesX[i] >= clipX1 && projectedVerticesX[i] < clipX2 && - projectedVerticesY[i] >= clipY1 && projectedVerticesY[i] < clipY2; - } - else - { - projectedVerticesRenderable[i] = false; - } - } - - return anyVisible; - } - - /** - * Simulate rendering of the model and puts every pixel of the wireframe of - * the non-culled and non-transparent faces into the outline pixel queue. - */ - private void simulateModelRasterizationForOutline(Model model) - { - final int triangleCount = model.getTrianglesCount(); - final int[] indices1 = model.getTrianglesX(); - final int[] indices2 = model.getTrianglesY(); - final int[] indices3 = model.getTrianglesZ(); - final byte[] triangleTransparencies = model.getTriangleTransparencies(); - - for (int i = 0; i < triangleCount; i++) - { - if (projectedVerticesRenderable[indices1[i]] && - projectedVerticesRenderable[indices2[i]] && - projectedVerticesRenderable[indices3[i]] && - // 254 and 255 counts as fully transparent - (triangleTransparencies == null || (triangleTransparencies[i] & 255) < 254)) - { - final int index1 = indices1[i]; - final int index2 = indices2[i]; - final int index3 = indices3[i]; - final int v1x = projectedVerticesX[index1]; - final int v1y = projectedVerticesY[index1]; - final int v2x = projectedVerticesX[index2]; - final int v2y = projectedVerticesY[index2]; - final int v3x = projectedVerticesX[index3]; - final int v3y = projectedVerticesY[index3]; - - if (!cullFace(v1x, v1y, v2x, v2y, v3x, v3y)) - { - simulateTriangleRasterizationForOutline( - v1x, v1y, v2x, v2y, v3x, v3y); - } - } - } - } - - /** - * Draws an outline of the pixels in the outline queue to an image - * - * @param image The image to draw the outline to - * @param outlineWidth The width of the outline - * @param innerColor The color of the pixels of the outline closest to the model - * @param outerColor The color of the pixels of the outline furthest away from the model - */ - private void renderOutline(BufferedImage image, int outlineWidth, Color innerColor, Color outerColor) - { - int[] imageData = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); - List ps = getPriorityList(outlineWidth); - - for (PixelDistanceAlpha p : ps) - { - int color; - int alpha; - if (outlineWidth == 1) - { - color = - ((innerColor.getRed() + outerColor.getRed()) << 15) | - ((innerColor.getGreen() + outerColor.getGreen() << 7)) | - ((innerColor.getBlue() + outerColor.getBlue() >> 1)); - alpha = (innerColor.getAlpha() + outerColor.getAlpha()) >> 1; - } - else - { - int outerAlpha = p.getOuterAlpha(); - int innerAlpha = 255 - outerAlpha; - int innerAlphaFraction = (innerAlpha * innerColor.getAlpha()) / 255; - int outerAlphaFraction = (outerAlpha * outerColor.getAlpha()) / 255; - alpha = innerAlphaFraction + outerAlphaFraction; - if (alpha != 0) - { - color = - ((innerColor.getRed() * innerAlphaFraction + - outerColor.getRed() * outerAlphaFraction) / alpha << 16) | - ((innerColor.getGreen() * innerAlphaFraction + - outerColor.getGreen() * outerAlphaFraction) / alpha << 8) | - ((innerColor.getBlue() * innerAlphaFraction + - outerColor.getBlue() * outerAlphaFraction) / alpha); - } - else - { - color = 0; - } - } - - final int distArrayPos = p.getDistArrayPos(); - final int nextDistArrayPosY = distArrayPos + outlineArrayWidth; - final int nextDistArrayPosX = distArrayPos + 1; - ensureMinimumOutlineQueueSize(nextDistArrayPosX, outlinePixelsLengths[distArrayPos] * 2); - ensureMinimumOutlineQueueSize(nextDistArrayPosY, outlinePixelsLengths[distArrayPos] * 2); - - // The following 3 branches do the same thing, but when the requirements are simple, - // there are less checks needed which can give a performance boost. - if (alpha == 255) - { - if (outlineWidth == 1) - { - for (int i2 = 0; i2 < outlinePixelsLengths[distArrayPos]; i2++) - { - int pixelPos = outlinePixels[distArrayPos][i2]; - int x = pixelPos % imageWidth; - int y = pixelPos / imageWidth; - if (x < clipX1 || x >= clipX2 || - y < clipY1 || y >= clipY2 || - visited[pixelPos] == currentVisitedNumber) - { - continue; - } - - imageData[pixelPos] = color; - } - } - else - { - for (int i2 = 0; i2 < outlinePixelsLengths[distArrayPos]; i2++) - { - int pixelPos = outlinePixels[distArrayPos][i2]; - int x = pixelPos % imageWidth; - int y = pixelPos / imageWidth; - if (x < clipX1 || x >= clipX2 || - y < clipY1 || y >= clipY2 || - visited[pixelPos] == currentVisitedNumber) - { - continue; - } - visited[pixelPos] = currentVisitedNumber; - - imageData[pixelPos] = color; - - if (pixelPos % imageWidth != 0) - { - outlinePixels[nextDistArrayPosX][outlinePixelsLengths[nextDistArrayPosX]++] = pixelPos - 1; - } - if ((pixelPos + 1) % imageWidth != 0) - { - outlinePixels[nextDistArrayPosX][outlinePixelsLengths[nextDistArrayPosX]++] = pixelPos + 1; - } - outlinePixels[nextDistArrayPosY][outlinePixelsLengths[nextDistArrayPosY]++] = pixelPos - imageWidth; - outlinePixels[nextDistArrayPosY][outlinePixelsLengths[nextDistArrayPosY]++] = pixelPos + imageWidth; - } - } - } - else - { - for (int i2 = 0; i2 < outlinePixelsLengths[distArrayPos]; i2++) - { - int pixelPos = outlinePixels[distArrayPos][i2]; - int x = pixelPos % imageWidth; - int y = pixelPos / imageWidth; - if (x < clipX1 || x >= clipX2 || - y < clipY1 || y >= clipY2 || - visited[pixelPos] == currentVisitedNumber) - { - continue; - } - visited[pixelPos] = currentVisitedNumber; - - imageData[pixelPos] = - ((((color & 0xFF0000) * alpha + (imageData[pixelPos] & 0xFF0000) * (255 - alpha)) / 255) & 0xFF0000) + - ((((color & 0xFF00) * alpha + (imageData[pixelPos] & 0xFF00) * (255 - alpha)) / 255) & 0xFF00) + - ((((color & 0xFF) * alpha + (imageData[pixelPos] & 0xFF) * (255 - alpha)) / 255) & 0xFF); - - if (pixelPos % imageWidth != 0) - { - outlinePixels[nextDistArrayPosX][outlinePixelsLengths[nextDistArrayPosX]++] = pixelPos - 1; - } - if ((pixelPos + 1) % imageWidth != 0) - { - outlinePixels[nextDistArrayPosX][outlinePixelsLengths[nextDistArrayPosX]++] = pixelPos + 1; - } - outlinePixels[nextDistArrayPosY][outlinePixelsLengths[nextDistArrayPosY]++] = pixelPos - imageWidth; - outlinePixels[nextDistArrayPosY][outlinePixelsLengths[nextDistArrayPosY]++] = pixelPos + imageWidth; - } - } - } - } - - /** - * Draws an outline around a model to an image - * - * @param localX The local x position of the model - * @param localY The local y position of the model - * @param localZ The local z position of the model - * @param orientation The orientation of the model - * @param outlineWidth The width of the outline - * @param innerColor The color of the pixels of the outline closest to the model - * @param outerColor The color of the pixels of the outline furthest away from the model - */ - private void drawModelOutline(Model model, int localX, int localY, int localZ, int orientation, int outlineWidth, Color innerColor, Color outerColor) - { - if (outlineWidth <= 0) - { - return; - } - - isReset = false; - usedSinceLastCheck = true; - - MainBufferProvider bufferProvider = (MainBufferProvider) client.getBufferProvider(); - BufferedImage image = (BufferedImage) bufferProvider.getImage(); - - clipX1 = client.getViewportXOffset(); - clipY1 = client.getViewportYOffset(); - clipX2 = client.getViewportWidth() + clipX1; - clipY2 = client.getViewportHeight() + clipY1; - imageWidth = image.getWidth(); - imageHeight = image.getHeight(); - final int pixelAmount = imageWidth * imageHeight; - - resetVisited(pixelAmount); - resetOutline(outlineWidth); - - if (!projectVertices(model, - localX, localY, localZ, orientation)) - { - // No vertex of the model is visible on the screen, so we can - // assume there are no parts of the model to outline. - return; - } - - simulateModelRasterizationForOutline(model); - - renderOutline(image, outlineWidth, innerColor, outerColor); - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(NPC npc, int outlineWidth, Color color) - { - drawOutline(npc, outlineWidth, color, color); - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(NPC npc, int outlineWidth, Color innerColor, Color outerColor) - { - int size = 1; - NPCComposition composition = npc.getTransformedComposition(); - if (composition != null) - { - size = composition.getSize(); - } - - LocalPoint lp = npc.getLocalLocation(); - if (lp != null) - { - // NPCs z position are calculated based on the tile height of the northeastern tile - final int northEastX = lp.getX() + Perspective.LOCAL_TILE_SIZE * (size - 1) / 2; - final int northEastY = lp.getY() + Perspective.LOCAL_TILE_SIZE * (size - 1) / 2; - final LocalPoint northEastLp = new LocalPoint(northEastX, northEastY); - - drawModelOutline(npc.getModel(), lp.getX(), lp.getY(), - Perspective.getTileHeight(client, northEastLp, client.getPlane()), - npc.getCurrentOrientation(), outlineWidth, innerColor, outerColor); - } - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(Player player, int outlineWidth, Color color) - { - drawOutline(player, outlineWidth, color, color); - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(Player player, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = player.getLocalLocation(); - if (lp != null) - { - drawModelOutline(player.getModel(), lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, client.getPlane()), - player.getCurrentOrientation(), outlineWidth, innerColor, outerColor); - } - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(GameObject gameObject, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = gameObject.getLocalLocation(); - if (lp != null) - { - Renderable renderable = gameObject.getRenderable(); - if (renderable == null) - { - return; - } - - drawModelOutline(renderable instanceof Model ? (Model) renderable : renderable.getModel(), lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, gameObject.getPlane()), - gameObject.getModelOrientation(), outlineWidth, innerColor, outerColor); - } - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(GroundObject groundObject, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = groundObject.getLocalLocation(); - if (lp != null) - { - drawModelOutline(groundObject.getModel(), lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, client.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - } - - private void drawOutline(ItemLayer tileItemPile, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = tileItemPile.getLocalLocation(); - if (lp != null) - { - Model model = tileItemPile.getModelBottom(); - if (model != null) - { - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, tileItemPile.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - - model = tileItemPile.getModelMiddle(); - if (model != null) - { - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, tileItemPile.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - - model = tileItemPile.getModelTop(); - if (model != null) - { - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, tileItemPile.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - } - } - - private void drawOutline(DecorativeObject decorativeObject, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = decorativeObject.getLocalLocation(); - if (lp != null) - { - Renderable renderable1 = decorativeObject.getRenderable(); - if (renderable1 != null) - { - Model model = renderable1 instanceof Model ? (Model) renderable1 : renderable1.getModel(); - if (model != null) - { - drawModelOutline(model, - lp.getX() + decorativeObject.getXOffset(), - lp.getY() + decorativeObject.getYOffset(), - Perspective.getTileHeight(client, lp, decorativeObject.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - } - - Renderable renderable2 = decorativeObject.getRenderable2(); - if (renderable2 != null) - { - Model model = renderable2 instanceof Model ? (Model) renderable2 : renderable2.getModel(); - if (model != null) - { - // Offset is not used for the second model - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, decorativeObject.getPlane()), - 0, outlineWidth, innerColor, outerColor); - } - } - } - } - - private void drawOutline(WallObject wallObject, int outlineWidth, Color innerColor, Color outerColor) - { - LocalPoint lp = wallObject.getLocalLocation(); - if (lp != null) - { - Model model = wallObject.getModelA(); - if (model != null) - { - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, wallObject.getPlane()), - wallObject.getOrientationA(), outlineWidth, innerColor, outerColor); - } - - model = wallObject.getModelB(); - if (model != null) - { - drawModelOutline(model, lp.getX(), lp.getY(), - Perspective.getTileHeight(client, lp, wallObject.getPlane()), - wallObject.getOrientationB(), outlineWidth, innerColor, outerColor); - } - } - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(TileObject tileObject, int outlineWidth, Color color) - { - drawOutline(tileObject, outlineWidth, color, color); - } - - @Deprecated(forRemoval = true, since = "4.9.2") - public void drawOutline(TileObject tileObject, - int outlineWidth, Color innerColor, Color outerColor) - { - if (tileObject instanceof GameObject) - { - drawOutline((GameObject) tileObject, outlineWidth, innerColor, outerColor); - } - else if (tileObject instanceof GroundObject) - { - drawOutline((GroundObject) tileObject, outlineWidth, innerColor, outerColor); - } - else if (tileObject instanceof ItemLayer) - { - drawOutline((ItemLayer) tileObject, outlineWidth, innerColor, outerColor); - } - else if (tileObject instanceof DecorativeObject) - { - drawOutline((DecorativeObject) tileObject, outlineWidth, innerColor, outerColor); - } - else if (tileObject instanceof WallObject) - { - drawOutline((WallObject) tileObject, outlineWidth, innerColor, outerColor); - } - } - - @Value - @RequiredArgsConstructor - static class PixelDistanceAlpha - { - int outerAlpha; - int distArrayPos; - } -} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index ef7de6c3b9..05a9f07ef4 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -354,7 +354,7 @@ public class RuneLite oprsExternalPluginManager.setOutdated(isOutdated); // Update external plugins - oprsExternalPluginManager.update(); //TODO: Re-enable after fixing actions for new repo + oprsExternalPluginManager.update(); // Load the plugins, but does not start them yet. // This will initialize configuration diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java index 17502740ed..9012aa8227 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java @@ -435,11 +435,15 @@ public class ChatMessageManager { cacheColor(new ChatColor(ChatColorType.NORMAL, chatColorConfig.opaqueServerMessage(), false), ChatMessageType.GAMEMESSAGE); + cacheColor(new ChatColor(ChatColorType.NORMAL, chatColorConfig.opaqueServerMessage(), false), + ChatMessageType.ENGINE); } if (chatColorConfig.opaqueServerMessageHighlight() != null) { cacheColor(new ChatColor(ChatColorType.HIGHLIGHT, chatColorConfig.opaqueServerMessageHighlight(), false), ChatMessageType.GAMEMESSAGE); + cacheColor(new ChatColor(ChatColorType.HIGHLIGHT, chatColorConfig.opaqueServerMessageHighlight(), false), + ChatMessageType.ENGINE); } if (chatColorConfig.opaqueGameMessage() != null) { @@ -613,11 +617,15 @@ public class ChatMessageManager { cacheColor(new ChatColor(ChatColorType.NORMAL, chatColorConfig.transparentServerMessage(), true), ChatMessageType.GAMEMESSAGE); + cacheColor(new ChatColor(ChatColorType.NORMAL, chatColorConfig.transparentServerMessage(), true), + ChatMessageType.ENGINE); } if (chatColorConfig.transparentServerMessageHighlight() != null) { cacheColor(new ChatColor(ChatColorType.HIGHLIGHT, chatColorConfig.transparentServerMessageHighlight(), true), ChatMessageType.GAMEMESSAGE); + cacheColor(new ChatColor(ChatColorType.HIGHLIGHT, chatColorConfig.transparentServerMessageHighlight(), true), + ChatMessageType.ENGINE); } if (chatColorConfig.transparentGameMessage() != null) { diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneScapeProfileType.java b/runelite-client/src/main/java/net/runelite/client/config/RuneScapeProfileType.java index 8eba74cd4d..f219bf420e 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneScapeProfileType.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneScapeProfileType.java @@ -38,7 +38,8 @@ public enum RuneScapeProfileType BETA(client -> client.getWorldType().contains(WorldType.NOSAVE_MODE)), DEADMAN(client -> client.getWorldType().contains(WorldType.DEADMAN)), TRAILBLAZER_LEAGUE, - DEADMAN_REBORN(client -> client.getWorldType().contains(WorldType.SEASONAL)) + DEADMAN_REBORN, + SHATTERED_RELICS_LEAGUE(client -> client.getWorldType().contains(WorldType.SEASONAL)), ; private final Predicate test; diff --git a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java index 2bf8b26d53..1b13fdae2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java +++ b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java @@ -100,7 +100,7 @@ public enum AgilityShortcut COAL_TRUCKS_LOG_BALANCE(20, "Log Balance", new WorldPoint(2598, 3475, 0), LOG_BALANCE_23274), GRAND_EXCHANGE_UNDERWALL_TUNNEL(21, "Underwall Tunnel", new WorldPoint(3139, 3515, 0), UNDERWALL_TUNNEL_16529, UNDERWALL_TUNNEL_16530), BRIMHAVEN_DUNGEON_PIPE(22, "Pipe Squeeze", new WorldPoint(2654, 9569, 0), PIPE_21728), - OBSERVATORY_SCALE_CLIFF(23, "Grapple Rocks", new WorldPoint(2447, 3155, 0), NULL_31849), + OBSERVATORY_SCALE_CLIFF(23, "Grapple Rocks", new WorldPoint(2447, 3155, 0), NULL_31849, NULL_31852), EAGLES_PEAK_ROCK_CLIMB(25, "Rock Climb", new WorldPoint(2320, 3499, 0), ROCKS_19849), FALADOR_UNDERWALL_TUNNEL(26, "Underwall Tunnel", new WorldPoint(2947, 3313, 0), UNDERWALL_TUNNEL, UNDERWALL_TUNNEL_16528), KOUREND_CATACOMBS_PILLAR_JUMP_NORTH(28, "Pillar Jump", new WorldPoint(1613, 10071, 0)), diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 648bff902a..3f112d6cc7 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -53,12 +53,8 @@ import net.runelite.api.GameState; import net.runelite.api.ItemComposition; import static net.runelite.api.ItemID.*; import net.runelite.api.SpritePixels; -import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.PostItemComposition; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.RuneLiteConfig; -import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.util.AsyncBufferedImage; import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemPrice; @@ -93,7 +89,6 @@ public class ItemManager private Map itemPrices = Collections.emptyMap(); private Map itemStats = Collections.emptyMap(); private final LoadingCache itemImages; - private final LoadingCache itemCompositions; private final LoadingCache itemOutlines; // Worn items with weight reducing property have a different worn and inventory ItemID @@ -173,7 +168,7 @@ public class ItemManager @Inject public ItemManager(Client client, ScheduledExecutorService scheduledExecutorService, ClientThread clientThread, - OkHttpClient okHttpClient, EventBus eventBus, RuneLiteConfig runeLiteConfig) + OkHttpClient okHttpClient, RuneLiteConfig runeLiteConfig) { this.client = client; this.clientThread = clientThread; @@ -195,18 +190,6 @@ public class ItemManager } }); - itemCompositions = CacheBuilder.newBuilder() - .maximumSize(1024L) - .expireAfterAccess(1, TimeUnit.HOURS) - .build(new CacheLoader() - { - @Override - public ItemComposition load(Integer key) throws Exception - { - return client.getItemComposition(key); - } - }); - itemOutlines = CacheBuilder.newBuilder() .maximumSize(128L) .expireAfterAccess(1, TimeUnit.HOURS) @@ -218,8 +201,6 @@ public class ItemManager return loadItemOutline(key.itemId, key.itemQuantity, key.outlineColor); } }); - - eventBus.register(this); } private void loadPrices() @@ -263,31 +244,6 @@ public class ItemManager } } - - @Subscribe - public void onGameStateChanged(final GameStateChanged event) - { - if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN) - { - itemCompositions.invalidateAll(); - } - } - - @Subscribe - public void onPostItemComposition(PostItemComposition event) - { - itemCompositions.put(event.getItemComposition().getId(), event.getItemComposition()); - } - - /** - * Invalidates internal item manager item composition cache (but not client item composition cache) - * @see Client#getItemCompositionCache() - */ - public void invalidateItemCompositionCache() - { - itemCompositions.invalidateAll(); - } - /** * Look up an item's price * @@ -432,8 +388,7 @@ public class ItemManager @Nonnull public ItemComposition getItemComposition(int itemId) { - assert client.isClientThread() : "getItemComposition must be called on client thread"; - return itemCompositions.getUnchecked(itemId); + return client.getItemDefinition(itemId); } /** diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalBasePluginLoader.java b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalBasePluginLoader.java new file mode 100644 index 0000000000..ce062bd49e --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalBasePluginLoader.java @@ -0,0 +1,24 @@ +package net.runelite.client.plugins; + +import java.nio.file.Path; +import lombok.extern.slf4j.Slf4j; +import org.pf4j.BasePluginLoader; +import org.pf4j.PluginClassLoader; +import org.pf4j.PluginClasspath; +import org.pf4j.PluginDescriptor; +import org.pf4j.PluginManager; + +@Slf4j +class OPRSExternalBasePluginLoader extends BasePluginLoader +{ + OPRSExternalBasePluginLoader(PluginManager pluginManager, PluginClasspath pluginClasspath) + { + super(pluginManager, pluginClasspath); + } + + @Override + protected PluginClassLoader createPluginClassLoader(Path pluginPath, PluginDescriptor pluginDescriptor) + { + return new OPRSExternalClassLoader(pluginManager, pluginDescriptor, getClass().getClassLoader()); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalClassLoader.java b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalClassLoader.java new file mode 100644 index 0000000000..a0cf9d0c47 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalClassLoader.java @@ -0,0 +1,142 @@ +package net.runelite.client.plugins; + +import java.lang.invoke.MethodHandles; +import java.util.List; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import net.runelite.client.util.ReflectUtil; +import org.pf4j.ClassLoadingStrategy; +import org.pf4j.PluginClassLoader; +import org.pf4j.PluginDependency; +import org.pf4j.PluginDescriptor; +import org.pf4j.PluginManager; + +@Slf4j +class OPRSExternalClassLoader extends PluginClassLoader implements ReflectUtil.PrivateLookupableClassLoader +{ + private static final String JAVA_PACKAGE_PREFIX = "java."; + private static final String PLUGIN_PACKAGE_PREFIX = "org.pf4j."; + + @Getter + @Setter + private MethodHandles.Lookup lookup; + + private final PluginManager pluginManager; + private final PluginDescriptor pluginDescriptor; + private final ClassLoadingStrategy classLoadingStrategy; + + OPRSExternalClassLoader(PluginManager pluginManager, PluginDescriptor pluginDescriptor, ClassLoader parent) + { + super(pluginManager, pluginDescriptor, parent); + + this.pluginManager = pluginManager; + this.pluginDescriptor = pluginDescriptor; + this.classLoadingStrategy = ClassLoadingStrategy.PDA; + + ReflectUtil.installLookupHelper(this); + } + + @Override + public Class defineClass0(String name, byte[] b, int off, int len) throws ClassFormatError + { + return super.defineClass(name, b, off, len); + } + + @Override + protected Class loadClassFromDependencies(String className) + { + log.trace("Search in dependencies for class '{}'", className); + + List dependencies = pluginDescriptor.getDependencies(); + for (PluginDependency dependency : dependencies) + { + ClassLoader classLoader = pluginManager.getPluginClassLoader(dependency.getPluginId()); + + // If the dependency is marked as optional, its class loader might not be available. + if (classLoader == null && dependency.isOptional()) + { + continue; + } + + try + { + if (classLoader != null) + { + return classLoader.loadClass(className); + } + } + catch (ClassNotFoundException e) + { + // try next dependency + } + } + + return null; + } + + @Override + public Class loadClass(String className) throws ClassNotFoundException + { + synchronized (getClassLoadingLock(className)) + { + // first check whether it's a system class, delegate to the system loader + if (className.startsWith(JAVA_PACKAGE_PREFIX)) + { + return findSystemClass(className); + } + + // if the class is part of the plugin engine use parent class loader + if (className.startsWith(PLUGIN_PACKAGE_PREFIX) && !className.startsWith("org.pf4j.demo")) + { +// log.trace("Delegate the loading of PF4J class '{}' to parent", className); + return getParent().loadClass(className); + } + + log.trace("Received request to load class '{}'", className); + + // second check whether it's already been loaded + Class loadedClass = findLoadedClass(className); + if (loadedClass != null) + { + log.trace("Found loaded class '{}'", className); + return loadedClass; + } + + for (ClassLoadingStrategy.Source classLoadingSource : this.classLoadingStrategy.getSources()) + { + Class c = null; + try + { + switch (classLoadingSource) + { + case APPLICATION: + c = super.loadClass(className); + break; + case PLUGIN: + c = findClass(className); + break; + case DEPENDENCIES: + c = loadClassFromDependencies(className); + break; + } + } + catch (ClassNotFoundException ignored) + { + } + + if (c != null) + { + log.trace("Found class '{}' in {} classpath", className, classLoadingSource); + return c; + } + else + { + log.trace("Couldn't find class '{}' in {} classpath", className, classLoadingSource); + } + } + + throw new ClassNotFoundException(className); + } + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalJarPluginLoader.java b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalJarPluginLoader.java new file mode 100644 index 0000000000..78cf086a8f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalJarPluginLoader.java @@ -0,0 +1,26 @@ +package net.runelite.client.plugins; + +import java.nio.file.Path; +import lombok.extern.slf4j.Slf4j; +import org.pf4j.JarPluginLoader; +import org.pf4j.PluginClassLoader; +import org.pf4j.PluginDescriptor; +import org.pf4j.PluginManager; + +@Slf4j +class OPRSExternalJarPluginLoader extends JarPluginLoader +{ + public OPRSExternalJarPluginLoader(PluginManager pluginManager) + { + super(pluginManager); + } + + @Override + public ClassLoader loadPlugin(Path pluginPath, PluginDescriptor pluginDescriptor) + { + PluginClassLoader pluginClassLoader = new OPRSExternalClassLoader(pluginManager, pluginDescriptor, getClass().getClassLoader()); + pluginClassLoader.addFile(pluginPath.toFile()); + + return pluginClassLoader; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPf4jPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPf4jPluginManager.java index 4c6ec404fe..9476dda610 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPf4jPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPf4jPluginManager.java @@ -17,13 +17,11 @@ import java.util.Set; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import lombok.extern.slf4j.Slf4j; -import org.pf4j.BasePluginLoader; import org.pf4j.CompoundPluginLoader; import org.pf4j.CompoundPluginRepository; import org.pf4j.DefaultPluginManager; import org.pf4j.DependencyResolver; import org.pf4j.DevelopmentPluginRepository; -import org.pf4j.JarPluginLoader; import org.pf4j.JarPluginRepository; import org.pf4j.ManifestPluginDescriptorFinder; import org.pf4j.PluginAlreadyLoadedException; @@ -105,8 +103,8 @@ class OPRSExternalPf4jPluginManager extends DefaultPluginManager protected PluginLoader createPluginLoader() { return new CompoundPluginLoader() - .add(new BasePluginLoader(this, new OPRSExternalPluginClasspath()), this::isDevelopment) - .add(new JarPluginLoader(this), this::isNotDevelopment); + .add(new OPRSExternalBasePluginLoader(this, new OPRSExternalPluginClasspath()), this::isDevelopment) + .add(new OPRSExternalJarPluginLoader(this), this::isNotDevelopment); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPluginManager.java index e03672694f..5959e03b01 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/OPRSExternalPluginManager.java @@ -1203,4 +1203,4 @@ public class OPRSExternalPluginManager { return URLEncoder.encode(s, StandardCharsets.UTF_8); } -} +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java index 2ae6cd40d7..7e2003efb4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java @@ -39,7 +39,13 @@ import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.Module; import java.io.IOException; +import java.lang.invoke.CallSite; +import java.lang.invoke.LambdaMetafactory; +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -69,9 +75,12 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.PluginChanged; import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionOpen; +import net.runelite.client.task.Schedule; +import net.runelite.client.task.ScheduledMethod; import net.runelite.client.task.Scheduler; import net.runelite.client.ui.SplashScreen; import net.runelite.client.util.GameEventManager; +import net.runelite.client.util.ReflectUtil; @Singleton @Slf4j @@ -651,14 +660,59 @@ public class PluginManager private void schedule(Plugin plugin) { - // note to devs: this method will almost certainly merge conflict in the future, just apply the changes in the scheduler instead - scheduler.registerObject(plugin); + for (Method method : plugin.getClass().getMethods()) + { + Schedule schedule = method.getAnnotation(Schedule.class); + + if (schedule == null) + { + continue; + } + + Runnable runnable = null; + try + { + final Class clazz = method.getDeclaringClass(); + final MethodHandles.Lookup caller = ReflectUtil.privateLookupIn(clazz); + final MethodType subscription = MethodType.methodType(method.getReturnType(), method.getParameterTypes()); + final MethodHandle target = caller.findVirtual(clazz, method.getName(), subscription); + final CallSite site = LambdaMetafactory.metafactory( + caller, + "run", + MethodType.methodType(Runnable.class, clazz), + subscription, + target, + subscription); + + final MethodHandle factory = site.getTarget(); + runnable = (Runnable) factory.bindTo(plugin).invokeExact(); + } + catch (Throwable e) + { + log.warn("Unable to create lambda for method {}", method, e); + } + + ScheduledMethod scheduledMethod = new ScheduledMethod(schedule, method, plugin, runnable); + log.debug("Scheduled task {}", scheduledMethod); + + scheduler.addScheduledMethod(scheduledMethod); + } } private void unschedule(Plugin plugin) { - // note to devs: this method will almost certainly merge conflict in the future, just apply the changes in the scheduler instead - scheduler.unregisterObject(plugin); + List methods = new ArrayList<>(scheduler.getScheduledMethods()); + + for (ScheduledMethod method : methods) + { + if (method.getObject() != plugin) + { + continue; + } + + log.debug("Removing scheduled task {}", method); + scheduler.removeScheduledMethod(method); + } } /** @@ -734,4 +788,4 @@ public class PluginManager }) .collect(Collectors.toList()); } -} +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java index a39953492c..ef608a2be5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java @@ -27,12 +27,29 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; import net.runelite.api.Client; -import net.runelite.api.Favour; +import net.runelite.api.Varbits; @RequiredArgsConstructor @Getter public class FavourRequirement implements Requirement { + /** + * An enumeration of Kourend house favour the player can earn. + */ + @RequiredArgsConstructor + @Getter + public enum Favour + { + ARCEUUS("Arceuus", Varbits.KOUREND_FAVOR_ARCEUUS), + HOSIDIUS("Hosidius", Varbits.KOUREND_FAVOR_HOSIDIUS), + LOVAKENGJ("Lovakengj", Varbits.KOUREND_FAVOR_LOVAKENGJ), + PISCARILIUS("Piscarilius", Varbits.KOUREND_FAVOR_PISCARILIUS), + SHAYZIEN("Shayzien", Varbits.KOUREND_FAVOR_SHAYZIEN); + + private final String name; + private final Varbits varbit; + } + private final Favour house; private final int percent; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KaramjaDiaryRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KaramjaDiaryRequirement.java index db04602d53..f549ee5bce 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KaramjaDiaryRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KaramjaDiaryRequirement.java @@ -109,7 +109,7 @@ public class KaramjaDiaryRequirement extends GenericDiaryRequirement new SkillRequirement(Skill.THIEVING, 50), new SkillRequirement(Skill.MINING, 52), new QuestRequirement(Quest.LEGENDS_QUEST)); - add("Use the crossbow short cut south of the volcano.", + add("Use the crossbow shortcut south of the volcano.", new SkillRequirement(Skill.AGILITY, 53), new SkillRequirement(Skill.RANGED, 42), new SkillRequirement(Skill.STRENGTH, 21)); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KourendDiaryRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KourendDiaryRequirement.java index 2cde458c8e..6a44468381 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KourendDiaryRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/diaries/KourendDiaryRequirement.java @@ -24,13 +24,12 @@ */ package net.runelite.client.plugins.achievementdiary.diaries; -import net.runelite.api.Favour; import net.runelite.api.Quest; import net.runelite.api.Skill; -import net.runelite.client.plugins.achievementdiary.GenericDiaryRequirement; -import net.runelite.client.plugins.achievementdiary.SkillRequirement; -import net.runelite.client.plugins.achievementdiary.QuestRequirement; import net.runelite.client.plugins.achievementdiary.FavourRequirement; +import net.runelite.client.plugins.achievementdiary.GenericDiaryRequirement; +import net.runelite.client.plugins.achievementdiary.QuestRequirement; +import net.runelite.client.plugins.achievementdiary.SkillRequirement; public class KourendDiaryRequirement extends GenericDiaryRequirement { @@ -41,7 +40,7 @@ public class KourendDiaryRequirement extends GenericDiaryRequirement new SkillRequirement(Skill.MINING, 15)); add("Steal from a Hosidius Food Stall.", new SkillRequirement(Skill.THIEVING, 25), - new FavourRequirement(Favour.HOSIDIUS, 15)); + new FavourRequirement(FavourRequirement.Favour.HOSIDIUS, 15)); add("Browse the Warrens General Store.", new QuestRequirement(Quest.THE_QUEEN_OF_THIEVES, true)); add("Enter your Player Owned House from Hosidius.", @@ -65,11 +64,11 @@ public class KourendDiaryRequirement extends GenericDiaryRequirement add("Enter the Farming Guild.", new SkillRequirement(Skill.FARMING, 45)); add("Switch to the Necromancy Spellbook at Tyss.", - new FavourRequirement(Favour.ARCEUUS, 60)); + new FavourRequirement(FavourRequirement.Favour.ARCEUUS, 60)); add("Repair a Piscarilius crane.", new SkillRequirement(Skill.CRAFTING, 30)); add("Deliver some intelligence to Captain Ginea.", - new FavourRequirement(Favour.SHAYZIEN, 40)); + new FavourRequirement(FavourRequirement.Favour.SHAYZIEN, 40)); add("Catch a Bluegill on Molch Island.", new SkillRequirement(Skill.FISHING, 43), new SkillRequirement(Skill.HUNTER, 35)); @@ -86,23 +85,23 @@ public class KourendDiaryRequirement extends GenericDiaryRequirement //HARD add("Enter the Woodcutting Guild.", new SkillRequirement(Skill.WOODCUTTING, 60), - new FavourRequirement(Favour.HOSIDIUS, 75)); + new FavourRequirement(FavourRequirement.Favour.HOSIDIUS, 75)); add("Smelt an Adamantite bar in The Forsaken Tower.", new SkillRequirement(Skill.SMITHING, 70), new QuestRequirement(Quest.THE_FORSAKEN_TOWER, true)); add("Kill a Lizardman Shaman in Molch.", - new FavourRequirement(Favour.SHAYZIEN, 100)); + new FavourRequirement(FavourRequirement.Favour.SHAYZIEN, 100)); add("Mine some Lovakite.", new SkillRequirement(Skill.MINING, 65), - new FavourRequirement(Favour.LOVAKENGJ, 30)); + new FavourRequirement(FavourRequirement.Favour.LOVAKENGJ, 30)); add("Plant some Logavano seeds at the Tithe Farm.", new SkillRequirement(Skill.FARMING, 74), - new FavourRequirement(Favour.HOSIDIUS, 100)); + new FavourRequirement(FavourRequirement.Favour.HOSIDIUS, 100)); add("Teleport to Xeric's Heart using Xeric's Talisman.", new QuestRequirement(Quest.ARCHITECTURAL_ALLIANCE)); add("Deliver an artefact to Captain Khaled.", new SkillRequirement(Skill.THIEVING, 49), - new FavourRequirement(Favour.PISCARILIUS, 75)); + new FavourRequirement(FavourRequirement.Favour.PISCARILIUS, 75)); add("Kill a Wyrm in the Karuulm Slayer Dungeon.", new SkillRequirement(Skill.SLAYER, 62)); add("Cast Monster Examine on a Troll south of Mount Quidamortem.", @@ -114,21 +113,21 @@ public class KourendDiaryRequirement extends GenericDiaryRequirement new SkillRequirement(Skill.RUNECRAFT, 77), new SkillRequirement(Skill.MINING, 38), new SkillRequirement(Skill.CRAFTING, 38), - new FavourRequirement(Favour.ARCEUUS, 100)); + new FavourRequirement(FavourRequirement.Favour.ARCEUUS, 100)); add("Chop some Redwood logs.", new SkillRequirement(Skill.WOODCUTTING, 90), - new FavourRequirement(Favour.HOSIDIUS, 75)); + new FavourRequirement(FavourRequirement.Favour.HOSIDIUS, 75)); add("Catch an Anglerfish and cook it whilst in Great Kourend.", new SkillRequirement(Skill.FISHING, 82), new SkillRequirement(Skill.COOKING, 84), - new FavourRequirement(Favour.PISCARILIUS, 100)); + new FavourRequirement(FavourRequirement.Favour.PISCARILIUS, 100)); add("Kill a Hydra in the Karuulm Slayer Dungeon.", new SkillRequirement(Skill.SLAYER, 95)); add("Create an Ape Atoll teleport tablet.", new SkillRequirement(Skill.MAGIC, 90), new SkillRequirement(Skill.MINING, 38), new SkillRequirement(Skill.CRAFTING, 38), - new FavourRequirement(Favour.ARCEUUS, 100)); + new FavourRequirement(FavourRequirement.Favour.ARCEUUS, 100)); add("Create your own Battlestaff from scratch within the Farming Guild.", new SkillRequirement(Skill.FARMING, 85), new SkillRequirement(Skill.FLETCHING, 40)); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java index 69e553da75..b2a4c7df36 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonOverlay.java @@ -39,11 +39,10 @@ import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayPriority; import net.runelite.client.ui.overlay.OverlayUtil; import net.runelite.client.ui.overlay.components.TextComponent; +import static net.runelite.client.plugins.cannon.CannonPlugin.MAX_OVERLAY_DISTANCE; class CannonOverlay extends Overlay { - private static final int MAX_DISTANCE = 2500; - private final Client client; private final CannonConfig config; private final CannonPlugin plugin; @@ -76,7 +75,7 @@ class CannonOverlay extends Overlay LocalPoint localLocation = client.getLocalPlayer().getLocalLocation(); - if (localLocation.distanceTo(cannonPoint) <= MAX_DISTANCE) + if (localLocation.distanceTo(cannonPoint) <= MAX_OVERLAY_DISTANCE) { Point cannonLoc = Perspective.getCanvasTextLocation(client, graphics, diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index 535a50b19a..bb825bb037 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -41,17 +41,21 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; +import net.runelite.api.MenuAction; +import net.runelite.api.ObjectID; import static net.runelite.api.ObjectID.CANNON_BASE; import net.runelite.api.Player; import net.runelite.api.Projectile; import static net.runelite.api.ProjectileID.CANNONBALL; import static net.runelite.api.ProjectileID.GRANITE_CANNONBALL; +import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; +import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.ProjectileMoved; import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; @@ -72,11 +76,14 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxManager; public class CannonPlugin extends Plugin { private static final Pattern NUMBER_PATTERN = Pattern.compile("([0-9]+)"); + static final int MAX_OVERLAY_DISTANCE = 4100; static final int MAX_CBALLS = 30; private CannonCounter counter; private boolean skipProjectileCheckThisTick; private boolean cannonBallNotificationSent; + private WorldPoint clickedCannonLocation; + private boolean firstCannonLoad; @Getter private int cballsLeft; @@ -257,6 +264,39 @@ public class CannonPlugin extends Plugin } } } + + @Subscribe + public void onMenuOptionClicked(MenuOptionClicked event) + { + if (cannonPosition != null || event.getId() != ObjectID.DWARF_MULTICANNON) + { + return; + } + + // Check if cannonballs are being used on the cannon + if (event.getMenuAction() == MenuAction.ITEM_USE_ON_GAME_OBJECT) + { + final int idx = event.getSelectedItemIndex(); + final ItemContainer items = client.getItemContainer(InventoryID.INVENTORY); + if (items == null) + { + return; + } + final Item item = items.getItem(idx); + if (item == null || (item.getId() != ItemID.CANNONBALL && item.getId() != ItemID.GRANITE_CANNONBALL)) + { + return; + } + } + // Check for the Fire option being selected on the cannon. + else if (event.getMenuAction() != MenuAction.GAME_OBJECT_FIRST_OPTION) + { + return; + } + + // Store the click location as a WorldPoint to avoid issues with scene loads + clickedCannonLocation = WorldPoint.fromScene(client, event.getParam0(), event.getParam1(), client.getPlane()); + } @Subscribe public void onProjectileMoved(ProjectileMoved event) @@ -302,6 +342,7 @@ public class CannonPlugin extends Plugin cannonPlaced = true; addCounter(); cballsLeft = 0; + firstCannonLoad = true; final ItemContainer inventory = client.getItemContainer(InventoryID.INVENTORY); if (inventory != null) @@ -320,18 +361,45 @@ public class CannonPlugin extends Plugin } } } - - if (event.getMessage().contains("You pick up the cannon") + else if (event.getMessage().contains("You pick up the cannon") || event.getMessage().contains("Your cannon has decayed. Speak to Nulodion to get a new one!") || event.getMessage().contains("Your cannon has been destroyed!")) { cannonPlaced = false; cballsLeft = 0; removeCounter(); + cannonPosition = null; } - - if (event.getMessage().startsWith("You load the cannon with")) + else if (event.getMessage().startsWith("You load the cannon with")) { + // Set the cannon's position and object if the player's animation was interrupted during setup + if (cannonPosition == null && clickedCannonLocation != null) + { + // There is a window of 1 tick where the player can add the furnace, click on another cannon, and then + // the initial cannon load message arrives. This can cause the client to confuse the other cannon with + // the player's, so ignore that first message when deciding the cannon's location. + if (firstCannonLoad) + { + firstCannonLoad = false; + } + else + { + LocalPoint lp = LocalPoint.fromWorld(client, clickedCannonLocation); + if (lp != null) + { + GameObject[] objects = client.getScene().getTiles()[client.getPlane()][lp.getSceneX()][lp.getSceneY()].getGameObjects(); + if (objects.length > 0 && client.getLocalPlayer().getWorldLocation().distanceTo(objects[0].getWorldLocation()) <= 2) + { + cannonPlaced = true; + cannonWorld = client.getWorld(); + cannon = objects[0]; + cannonPosition = cannon.getWorldLocation(); + } + } + } + clickedCannonLocation = null; + } + Matcher m = NUMBER_PATTERN.matcher(event.getMessage()); if (m.find()) { @@ -368,8 +436,7 @@ public class CannonPlugin extends Plugin cannonBallNotificationSent = false; } - - if (event.getMessage().contains("Your cannon is out of ammo!")) + else if (event.getMessage().contains("Your cannon is out of ammo!")) { skipProjectileCheckThisTick = true; @@ -383,8 +450,7 @@ public class CannonPlugin extends Plugin notifier.notify("Your cannon is out of ammo!"); } } - - if (event.getMessage().startsWith("Your cannon contains")) + else if (event.getMessage().startsWith("Your cannon contains")) { Matcher m = NUMBER_PATTERN.matcher(event.getMessage()); if (m.find()) @@ -392,14 +458,17 @@ public class CannonPlugin extends Plugin cballsLeft = Integer.parseInt(m.group()); } } - - if (event.getMessage().startsWith("You unload your cannon and receive Cannonball") + else if (event.getMessage().startsWith("You unload your cannon and receive Cannonball") || event.getMessage().startsWith("You unload your cannon and receive Granite cannonball")) { skipProjectileCheckThisTick = true; cballsLeft = 0; } + else if (event.getMessage().equals("This isn't your cannon!") || event.getMessage().equals("This is not your cannon.")) + { + clickedCannonLocation = null; + } } @Subscribe diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpotOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpotOverlay.java index b7774855b5..b58c4969aa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpotOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpotOverlay.java @@ -43,11 +43,10 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayUtil; +import static net.runelite.client.plugins.cannon.CannonPlugin.MAX_OVERLAY_DISTANCE; class CannonSpotOverlay extends Overlay { - private static final int MAX_DISTANCE = 2350; - private final Client client; private final CannonPlugin plugin; private final CannonConfig config; @@ -87,7 +86,7 @@ class CannonSpotOverlay extends Overlay LocalPoint spotPoint = LocalPoint.fromWorld(client, spot); LocalPoint localLocation = client.getLocalPlayer().getLocalLocation(); - if (spotPoint != null && localLocation.distanceTo(spotPoint) <= MAX_DISTANCE) + if (spotPoint != null && localLocation.distanceTo(spotPoint) <= MAX_OVERLAY_DISTANCE) { renderCannonSpot(graphics, client, spotPoint, itemManager.getImage(CANNONBALL), Color.RED); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 50753d5bc4..6a27de84ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -43,7 +43,7 @@ enum CannonSpots BLUE_DRAGON(new WorldPoint(1933, 8973, 1)), BRINE_RAT(new WorldPoint(2707, 10132, 0)), CAVE_HORROR(new WorldPoint(3785, 9460, 0)), - DAGGANOTH(new WorldPoint(2524, 10020, 0)), + DAGGANOTH(new WorldPoint(2524, 10020, 0), new WorldPoint(2478, 10443, 0), new WorldPoint(2420, 10425, 0)), DARK_BEAST(new WorldPoint(1992, 4655, 0)), DARK_WARRIOR(new WorldPoint(3030, 3632, 0)), DUST_DEVIL(new WorldPoint(3218, 9366, 0)), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 9168c8f150..ee1e8e2fa5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -2008,6 +2008,7 @@ public class ChatCommandsPlugin extends Plugin case "cgaunt": case "cgauntlet": case "the corrupted gauntlet": + case "cg": return "Corrupted Gauntlet"; // The Nightmare diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index 81aa28c38e..bcc207325b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -142,13 +142,6 @@ public class ClueScrollPlugin extends Plugin private static final Color HIGHLIGHT_BORDER_COLOR = Color.ORANGE; private static final Color HIGHLIGHT_HOVER_BORDER_COLOR = HIGHLIGHT_BORDER_COLOR.darker(); private static final Color HIGHLIGHT_FILL_COLOR = new Color(0, 255, 0, 20); - private static final int[] REGION_MIRRORS = { - // Prifddinas - 12894, 8755, - 12895, 8756, - 13150, 9011, - 13151, 9012 - }; private static final String CLUE_TAG_NAME = "clue"; @Getter @@ -323,11 +316,22 @@ public class ClueScrollPlugin extends Plugin { return; } - if (event.getMenuOption().equals("Read")) + + final boolean itemClicked = event.getMenuAction() == MenuAction.ITEM_FIRST_OPTION + || event.getMenuAction() == MenuAction.ITEM_SECOND_OPTION + || event.getMenuAction() == MenuAction.ITEM_THIRD_OPTION + || event.getMenuAction() == MenuAction.ITEM_FOURTH_OPTION + || event.getMenuAction() == MenuAction.ITEM_FIFTH_OPTION; + final boolean isXMarksTheSpotOrb = event.getId() == ItemID.MYSTERIOUS_ORB_23069; + + if (itemClicked && (isXMarksTheSpotOrb || event.getMenuOption().equals("Read"))) { final ItemComposition itemComposition = itemManager.getItemComposition(event.getId()); - if (itemComposition != null && (itemComposition.getName().startsWith("Clue scroll") || itemComposition.getName().startsWith("Challenge scroll"))) + if (isXMarksTheSpotOrb + || itemComposition.getName().startsWith("Clue scroll") + || itemComposition.getName().startsWith("Challenge scroll") + || itemComposition.getName().startsWith("Treasure scroll")) { clueItemId = itemComposition.getId(); updateClue(MapClue.forItemId(clueItemId)); @@ -850,7 +854,7 @@ public class ClueScrollPlugin extends Plugin WorldPoint coordinate = coordinatesToWorldPoint(degX, minX, degY, minY); // Convert from overworld to real - WorldPoint mirrorPoint = getMirrorPoint(coordinate, false); + WorldPoint mirrorPoint = WorldPoint.getMirrorPoint(coordinate, false); // Use mirror point as mirrorLocation if there is one return new CoordinateClue(text, coordinate, coordinate == mirrorPoint ? null : mirrorPoint); } @@ -1132,31 +1136,6 @@ public class ClueScrollPlugin extends Plugin ); } - /** - * Translate a coordinate either between overworld and real, or real and overworld - * - * @param worldPoint - * @param toOverworld whether to convert to overworld coordinates, or to real coordinates - * @return - */ - public static WorldPoint getMirrorPoint(WorldPoint worldPoint, boolean toOverworld) - { - int region = worldPoint.getRegionID(); - for (int i = 0; i < REGION_MIRRORS.length; i += 2) - { - int real = REGION_MIRRORS[i]; - int overworld = REGION_MIRRORS[i + 1]; - - // Test against what we are converting from - if (region == (toOverworld ? real : overworld)) - { - return WorldPoint.fromRegion(toOverworld ? overworld : real, - worldPoint.getRegionX(), worldPoint.getRegionY(), worldPoint.getPlane()); - } - } - return worldPoint; - } - private boolean testClueTag(int itemId) { ClueScroll c = clue; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CipherClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CipherClue.java index a8aff43840..e9fc62186f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CipherClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CipherClue.java @@ -58,17 +58,29 @@ public class CipherClue extends ClueScroll implements TextClueScroll, NpcClueScr new CipherClue("GBJSZ RVFFO", "Fairy Queen", new WorldPoint(2347, 4435, 0), "Fairy Resistance Hideout"), new CipherClue("QSPGFTTPS HSBDLMFCPOF", "Professor Gracklebone", new WorldPoint(1625, 3802, 0), "Ground floor of Arceuus Library", "How many round tables can be found on this floor of the library?", "9"), new CipherClue("IWPPLQTP", "Gunnjorn", new WorldPoint(2541, 3548, 0), "Barbarian Outpost Agility course"), - new CipherClue("BSOPME MZETQPS", "Arnold Lydspor", new WorldPoint(2329, 3689, 0), "Piscatoris Fishing Colony general store/bank") + new CipherClue("BSOPME MZETQPS", "Arnold Lydspor", new WorldPoint(2329, 3689, 0), "Piscatoris Fishing Colony general store/bank"), + new CipherClue("ESBZOPS QJH QFO", new WorldPoint(3077, 3260, 0), "Inside of Martin the Master Gardener's pig pen in Draynor Village.") ); - private String text; - private String npc; - private WorldPoint location; - private String area; + private final String text; @Nullable - private String question; + private final String npc; + private final WorldPoint location; + private final String area; @Nullable - private String answer; + private final String question; + @Nullable + private final String answer; + + private CipherClue(String text, WorldPoint location, String area) + { + this.text = "The cipher reveals where to dig next: " + text; + this.npc = null; + this.location = location; + this.area = area; + this.question = null; + this.answer = null; + } private CipherClue(String text, String npc, WorldPoint location, String area) { @@ -89,11 +101,16 @@ public class CipherClue extends ClueScroll implements TextClueScroll, NpcClueScr public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin) { panelComponent.getChildren().add(TitleComponent.builder().text("Cipher Clue").build()); - panelComponent.getChildren().add(LineComponent.builder().left("NPC:").build()); - panelComponent.getChildren().add(LineComponent.builder() - .left(getNpc()) - .leftColor(TITLED_CONTENT_COLOR) - .build()); + + final String clueNpc = getNpc(); + if (clueNpc != null) + { + panelComponent.getChildren().add(LineComponent.builder().left("NPC:").build()); + panelComponent.getChildren().add(LineComponent.builder() + .left(clueNpc) + .leftColor(TITLED_CONTENT_COLOR) + .build()); + } panelComponent.getChildren().add(LineComponent.builder().left("Location:").build()); panelComponent.getChildren().add(LineComponent.builder() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index 0e8ce89b34..7c4b03c4c8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -325,7 +325,8 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Search the crates in the fruit store just east of the Hosidius town centre.", CRATES_27533, new WorldPoint(1799, 3613, 0), "Search the crates in the back room of the Hosidius fruit store."), new CrypticClue("A graceful man of many colours, his crates must be full of many delights.", "Hill Giant", CRATE_42067, new WorldPoint(1506, 3590, 2), "Kill any Hill Giant for a medium key. Then search the crate on the top floor of Osten's clothing shop in Shayzien."), new CrypticClue("Search the basket of apples in an orchard, south of the unknown grave surrounded by white roses.", APPLE_BASKET, new WorldPoint(1718, 3626, 0), "Search the middle apple basket in the apple orchard north of Hosidius."), - new CrypticClue("Dig in the lair of red wings, within the temple of the Sun and Moon.", new WorldPoint(1820, 9935, 0), "Forthos Dungeon. In the center of the red dragons.") + new CrypticClue("Dig in the lair of red wings, within the temple of the Sun and Moon.", new WorldPoint(1820, 9935, 0), "Forthos Dungeon. In the center of the red dragons."), + new CrypticClue("Within the town of Lumbridge lives a man named Bob. He walks out of his door and takes 1 step east, 7 steps north, 5 steps west and 1 step south. Once he arrives, he digs a hole and buries his treasure.", new WorldPoint(3230, 3209, 0), "Just west of the bush outside Bob's axe shop in Lumbridge.") ); private final String text; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java index 24ab3264bf..aa2e397f99 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java @@ -307,7 +307,7 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat } // Convert from real to overworld - final WorldPoint localWorld = ClueScrollPlugin.getMirrorPoint(plugin.getClient().getLocalPlayer().getWorldLocation(), true); + final WorldPoint localWorld = WorldPoint.getMirrorPoint(plugin.getClient().getLocalPlayer().getWorldLocation(), true); if (localWorld == null) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java index 06334ab0ff..fcc6153f89 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java @@ -89,7 +89,9 @@ public class MapClue extends ClueScroll implements ObjectClueScroll new MapClue(CLUE_SCROLL_ELITE_19783, new WorldPoint(2202, 3062, 0), "Zul-Andra. Fairy ring BJS"), new MapClue(CLUE_SCROLL_ELITE_19784, new WorldPoint(1815, 3852, 0), "At the Soul Altar, north-east of the Arceuus essence mine."), new MapClue(CLUE_SCROLL_ELITE_19785, new WorldPoint(3538, 3208, 0), "East of Burgh de Rott."), - new MapClue(CLUE_SCROLL_ELITE_19786, new WorldPoint(2703, 2716, 0), CRATE_6616, "The crate in south-western Ape Atoll") + new MapClue(CLUE_SCROLL_ELITE_19786, new WorldPoint(2703, 2716, 0), CRATE_6616, "The crate in south-western Ape Atoll"), + new MapClue(TREASURE_SCROLL_23068, new WorldPoint(3203, 3213, 0), "Behind Lumbridge Castle, just outside the kitchen door"), + new MapClue(MYSTERIOUS_ORB_23069, new WorldPoint(3108, 3262, 0), "South-west of the wheat field east of Draynor Village.") ); private final int itemId; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index 83339d9d3e..0fa33cf1f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -115,6 +115,7 @@ import net.runelite.client.ui.FontManager; import net.runelite.client.ui.PluginPanel; import net.runelite.client.ui.components.ColorJButton; import net.runelite.client.ui.components.ComboBoxListRenderer; +import net.runelite.client.ui.components.ToggleButton; import net.runelite.client.ui.components.colorpicker.ColorPickerManager; import net.runelite.client.ui.components.colorpicker.RuneliteColorPicker; import net.runelite.client.util.ColorUtil; @@ -487,8 +488,8 @@ class ConfigPanel extends PluginPanel if (cid.getType() == boolean.class) { - JCheckBox checkbox = new JCheckBox(); - checkbox.setBackground(ColorScheme.LIGHT_GRAY_COLOR); + JCheckBox checkbox = new ToggleButton(); + checkbox.setPreferredSize(new Dimension(26, 25)); checkbox.setSelected(Boolean.parseBoolean(configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName()))); checkbox.addActionListener(ae -> changeConfiguration(checkbox, cd, cid)); @@ -864,8 +865,8 @@ class ConfigPanel extends PluginPanel { String option = String.valueOf(obj).toLowerCase().replace("_", " "); - JCheckBox checkbox = new JCheckBox(option); - checkbox.setBackground(ColorScheme.LIGHT_GRAY_COLOR); + JCheckBox checkbox = new ToggleButton(option); + checkbox.setBackground(ColorScheme.DARK_GRAY_COLOR); checkbox.setSelected(enumSet.contains(obj)); jcheckboxes.add(checkbox); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginToggleButton.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginToggleButton.java index 350eae2c3b..ccdae93a7f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginToggleButton.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginToggleButton.java @@ -26,41 +26,18 @@ package net.runelite.client.plugins.config; import java.awt.Dimension; -import java.awt.image.BufferedImage; import java.util.List; -import javax.swing.ImageIcon; -import javax.swing.JToggleButton; -import net.runelite.client.ui.ColorScheme; -import net.runelite.client.util.ImageUtil; -import net.runelite.client.util.SwingUtil; +import net.runelite.client.ui.components.ToggleButton; -class PluginToggleButton extends JToggleButton +class PluginToggleButton extends ToggleButton { - private static final ImageIcon ON_SWITCHER; - private static final ImageIcon OFF_SWITCHER; - - static - { - BufferedImage onSwitcher = ImageUtil.loadImageResource(ConfigPanel.class, "switcher_on.png"); - ON_SWITCHER = new ImageIcon(ImageUtil.recolorImage(onSwitcher, ColorScheme.BRAND_BLUE)); - OFF_SWITCHER = new ImageIcon(ImageUtil.flipImage( - ImageUtil.luminanceScale( - ImageUtil.grayscaleImage(onSwitcher), - 0.61f - ), - true, - false - )); - } - private String conflictString = ""; public PluginToggleButton() { - super(OFF_SWITCHER); - setSelectedIcon(ON_SWITCHER); - SwingUtil.removeButtonDecorations(this); - setPreferredSize(new Dimension(25, 0)); + super(); + setPreferredSize(new Dimension(26, 25)); + addItemListener(l -> updateTooltip()); updateTooltip(); } @@ -74,13 +51,13 @@ class PluginToggleButton extends JToggleButton { if (conflicts != null && !conflicts.isEmpty()) { - StringBuilder sb = new StringBuilder("
Conflicts with "); + StringBuilder sb = new StringBuilder("
Plugin conflicts: "); for (int i = 0; i < conflicts.size() - 2; i++) { sb.append(conflicts.get(i)); sb.append(", "); } - if (conflicts.size() > 2) + if (conflicts.size() >= 2) { sb.append(conflicts.get(conflicts.size() - 2)); sb.append(" and "); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index bda2548479..8bcbd77d2f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -254,7 +254,8 @@ public class ExaminePlugin extends Plugin || WidgetID.SEED_VAULT_INVENTORY_GROUP_ID == widgetGroup || WidgetID.SEED_BOX_GROUP_ID == widgetGroup || WidgetID.PLAYER_TRADE_SCREEN_GROUP_ID == widgetGroup - || WidgetID.PLAYER_TRADE_INVENTORY_GROUP_ID == widgetGroup) + || WidgetID.PLAYER_TRADE_INVENTORY_GROUP_ID == widgetGroup + || WidgetID.POH_TREASURE_CHEST_INVENTORY_GROUP_ID == widgetGroup) { Widget widgetItem = widget.getChild(actionParam); if (widgetItem != null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 93d0046a9f..536527b205 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -66,7 +66,6 @@ import net.runelite.api.BufferProvider; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Model; -import net.runelite.api.NodeCache; import net.runelite.api.Perspective; import net.runelite.api.Renderable; import net.runelite.api.Scene; @@ -329,6 +328,24 @@ public class GpuPlugin extends Plugin implements DrawCallbacks invokeOnMainThread(() -> { + try + { + // Get and display the device and driver used by the GPU plugin + GLDrawable dummyDrawable = GLDrawableFactory.getFactory(GLProfile.getDefault()) + .createDummyDrawable(GLProfile.getDefaultDevice(), true, new GLCapabilities(GLProfile.getDefault()), null); + dummyDrawable.setRealized(true); + GLContext versionContext = dummyDrawable.createContext(null); + versionContext.makeCurrent(); + GL versionGL = versionContext.getGL(); + log.info("Using device: {}", versionGL.glGetString(GL.GL_RENDERER)); + log.info("Using driver: {}", versionGL.glGetString(GL.GL_VERSION)); + versionContext.destroy(); + } + catch (Exception ex) + { + log.warn("error checking device and driver version", ex); + } + GLProfile glProfile = GLProfile.get(GLProfile.GL4); GLCapabilities glCaps = new GLCapabilities(glProfile); @@ -407,12 +424,6 @@ public class GpuPlugin extends Plugin implements DrawCallbacks textureArrayId = -1; - // increase size of model cache for dynamic objects since we are extending scene size - NodeCache cachedModels2 = client.getCachedModels2(); - cachedModels2.setCapacity(256); - cachedModels2.setRemainingCapacity(256); - cachedModels2.reset(); - if (client.getGameState() == GameState.LOGGED_IN) { invokeOnMainThread(this::uploadScene); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index a8dd17da60..6075b23e11 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -183,7 +183,6 @@ public class GrandExchangePlugin extends Plugin private RuneLiteConfig runeLiteConfig; private Widget grandExchangeText; - private Widget grandExchangeItem; private String grandExchangeExamine; @Inject @@ -319,7 +318,6 @@ public class GrandExchangePlugin extends Plugin mouseManager.unregisterMouseListener(inputListener); keyManager.unregisterKeyListener(inputListener); grandExchangeText = null; - grandExchangeItem = null; lastUsername = machineUuid = null; tradeSeq = 0; } @@ -597,14 +595,11 @@ public class GrandExchangePlugin extends Plugin { // Grand exchange was opened. case WidgetID.GRAND_EXCHANGE_GROUP_ID: - Widget grandExchangeOffer = client.getWidget(WidgetInfo.GRAND_EXCHANGE_OFFER_CONTAINER); grandExchangeText = client.getWidget(WidgetInfo.GRAND_EXCHANGE_OFFER_TEXT); - grandExchangeItem = grandExchangeOffer.getChild(OFFER_CONTAINER_ITEM); break; // Grand exchange was closed (if it was open before). case WidgetID.INVENTORY_GROUP_ID: grandExchangeText = null; - grandExchangeItem = null; break; } } @@ -825,7 +820,17 @@ public class GrandExchangePlugin extends Plugin private void rebuildGeText() { - if (grandExchangeText == null || grandExchangeItem == null || grandExchangeItem.isHidden()) + if (grandExchangeText == null) + { + return; + } + Widget grandExchangeOffer = client.getWidget(WidgetInfo.GRAND_EXCHANGE_OFFER_CONTAINER); + if (grandExchangeOffer == null) + { + return; + } + Widget grandExchangeItem = grandExchangeOffer.getChild(OFFER_CONTAINER_ITEM); + if (grandExchangeItem == null || grandExchangeItem.isHidden()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java index c577f72f35..0882225d68 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java @@ -98,4 +98,14 @@ public interface GroundMarkerConfig extends Config { return 2; } + + @ConfigItem( + keyName = "fillOpacity", + name = "Fill Opacity", + description = "Opacity of the tile fill color" + ) + default int fillOpacity() + { + return 50; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerOverlay.java index 266e89c9b5..ffe39109c8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerOverlay.java @@ -114,7 +114,7 @@ public class GroundMarkerOverlay extends Overlay Polygon poly = Perspective.getCanvasTilePoly(client, lp); if (poly != null) { - OverlayUtil.renderPolygon(graphics, poly, color, borderStroke); + OverlayUtil.renderPolygon(graphics, poly, color, new Color(0, 0, 0, config.fillOpacity()), borderStroke); } if (!Strings.isNullOrEmpty(label)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 5d3147be7b..25ae9a55b3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -114,7 +114,7 @@ public class HiscorePanel extends PluginPanel ); private static final HiscoreEndpoint[] ENDPOINTS = { - HiscoreEndpoint.NORMAL, HiscoreEndpoint.IRONMAN, HiscoreEndpoint.HARDCORE_IRONMAN, HiscoreEndpoint.ULTIMATE_IRONMAN, HiscoreEndpoint.DEADMAN, HiscoreEndpoint.TOURNAMENT + HiscoreEndpoint.NORMAL, HiscoreEndpoint.IRONMAN, HiscoreEndpoint.HARDCORE_IRONMAN, HiscoreEndpoint.ULTIMATE_IRONMAN, HiscoreEndpoint.DEADMAN, HiscoreEndpoint.LEAGUE }; private final HiscorePlugin plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java index bfc455b405..987ecedabb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java @@ -292,6 +292,7 @@ public class IdleNotifierPlugin extends Plugin case PISCARILIUS_CRANE_REPAIR: case HOME_MAKE_TABLET: case SAND_COLLECTION: + case LOOKING_INTO: resetTimers(); lastAnimation = animation; lastAnimating = Instant.now(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/HealthbarOverride.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/HealthbarOverride.java index c0e844939a..bd888d7d73 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/HealthbarOverride.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/HealthbarOverride.java @@ -34,23 +34,103 @@ import net.runelite.client.game.SpriteOverride; @RequiredArgsConstructor enum HealthbarOverride implements SpriteOverride { - BACK_30PX(HEALTHBAR_DEFAULT_BACK_30PX, "back_30px.png"), - BACK_50PX(HEALTHBAR_DEFAULT_BACK_50PX, "back_30px.png"), - BACK_60PX(HEALTHBAR_DEFAULT_BACK_60PX, "back_30px.png"), - BACK_80PX(HEALTHBAR_DEFAULT_BACK_80PX, "back_90px.png"), - BACK_100PX(HEALTHBAR_DEFAULT_BACK_100PX, "back_90px.png"), - BACK_120PX(HEALTHBAR_DEFAULT_BACK_120PX, "back_90px.png"), - BACK_140PX(HEALTHBAR_DEFAULT_BACK_140PX, "back_90px.png"), - BACK_160PX(HEALTHBAR_DEFAULT_BACK_160PX, "back_90px.png"), + // Reusing the 40px image for the 30px bars is intentional, + // as a 30px HD bar is way too small and looks very wrong + DEFAULT_FRONT_30PX(HEALTHBAR_DEFAULT_FRONT_30PX, "default_front_40px.png"), + DEFAULT_FRONT_40PX(HEALTHBAR_DEFAULT_FRONT_40PX, "default_front_40px.png"), + DEFAULT_FRONT_50PX(HEALTHBAR_DEFAULT_FRONT_50PX, "default_front_50px.png"), + DEFAULT_FRONT_60PX(HEALTHBAR_DEFAULT_FRONT_60PX, "default_front_60px.png"), + DEFAULT_FRONT_70PX(HEALTHBAR_DEFAULT_FRONT_70PX, "default_front_70px.png"), + DEFAULT_FRONT_80PX(HEALTHBAR_DEFAULT_FRONT_80PX, "default_front_80px.png"), + DEFAULT_FRONT_100PX(HEALTHBAR_DEFAULT_FRONT_100PX, "default_front_100px.png"), + DEFAULT_FRONT_120PX(HEALTHBAR_DEFAULT_FRONT_120PX, "default_front_120px.png"), + DEFAULT_FRONT_140PX(HEALTHBAR_DEFAULT_FRONT_140PX, "default_front_140px.png"), + DEFAULT_FRONT_160PX(HEALTHBAR_DEFAULT_FRONT_160PX, "default_front_160px.png"), - FRONT_30PX(HEALTHBAR_DEFAULT_FRONT_30PX, "front_30px.png"), - FRONT_50PX(HEALTHBAR_DEFAULT_FRONT_50PX, "front_30px.png"), - FRONT_60PX(HEALTHBAR_DEFAULT_FRONT_60PX, "front_30px.png"), - FRONT_80PX(HEALTHBAR_DEFAULT_FRONT_80PX, "front_90px.png"), - FRONT_100PX(HEALTHBAR_DEFAULT_FRONT_100PX, "front_90px.png"), - FRONT_120PX(HEALTHBAR_DEFAULT_FRONT_120PX, "front_90px.png"), - FRONT_140PX(HEALTHBAR_DEFAULT_FRONT_140PX, "front_90px.png"), - FRONT_160PX(HEALTHBAR_DEFAULT_FRONT_160PX, "front_90px.png"); + DEFAULT_BACK_30PX(HEALTHBAR_DEFAULT_BACK_30PX, "default_back_40px.png"), + DEFAULT_BACK_40PX(HEALTHBAR_DEFAULT_BACK_40PX, "default_back_40px.png"), + DEFAULT_BACK_50PX(HEALTHBAR_DEFAULT_BACK_50PX, "default_back_50px.png"), + DEFAULT_BACK_60PX(HEALTHBAR_DEFAULT_BACK_60PX, "default_back_60px.png"), + DEFAULT_BACK_70PX(HEALTHBAR_DEFAULT_BACK_70PX, "default_back_70px.png"), + DEFAULT_BACK_80PX(HEALTHBAR_DEFAULT_BACK_80PX, "default_back_80px.png"), + DEFAULT_BACK_100PX(HEALTHBAR_DEFAULT_BACK_100PX, "default_back_100px.png"), + DEFAULT_BACK_120PX(HEALTHBAR_DEFAULT_BACK_120PX, "default_back_120px.png"), + DEFAULT_BACK_140PX(HEALTHBAR_DEFAULT_BACK_140PX, "default_back_140px.png"), + DEFAULT_BACK_160PX(HEALTHBAR_DEFAULT_BACK_160PX, "default_back_160px.png"), + + CYAN_FRONT_30PX(HEALTHBAR_CYAN_FRONT_30PX, "cyan_front_40px.png"), + CYAN_FRONT_40PX(HEALTHBAR_CYAN_FRONT_40PX, "cyan_front_40px.png"), + CYAN_FRONT_50PX(HEALTHBAR_CYAN_FRONT_50PX, "cyan_front_50px.png"), + CYAN_FRONT_60PX(HEALTHBAR_CYAN_FRONT_60PX, "cyan_front_60px.png"), + CYAN_FRONT_70PX(HEALTHBAR_CYAN_FRONT_70PX, "cyan_front_70px.png"), + CYAN_FRONT_80PX(HEALTHBAR_CYAN_FRONT_80PX, "cyan_front_80px.png"), + CYAN_FRONT_100PX(HEALTHBAR_CYAN_FRONT_100PX, "cyan_front_100px.png"), + CYAN_FRONT_120PX(HEALTHBAR_CYAN_FRONT_120PX, "cyan_front_120px.png"), + CYAN_FRONT_140PX(HEALTHBAR_CYAN_FRONT_140PX, "cyan_front_140px.png"), + CYAN_FRONT_160PX(HEALTHBAR_CYAN_FRONT_160PX, "cyan_front_160px.png"), + + CYAN_BACK_30PX(HEALTHBAR_CYAN_BACK_30PX, "cyan_back_40px.png"), + CYAN_BACK_40PX(HEALTHBAR_CYAN_BACK_40PX, "cyan_back_40px.png"), + CYAN_BACK_50PX(HEALTHBAR_CYAN_BACK_50PX, "cyan_back_50px.png"), + CYAN_BACK_60PX(HEALTHBAR_CYAN_BACK_60PX, "cyan_back_60px.png"), + CYAN_BACK_70PX(HEALTHBAR_CYAN_BACK_70PX, "cyan_back_70px.png"), + CYAN_BACK_80PX(HEALTHBAR_CYAN_BACK_80PX, "cyan_back_80px.png"), + CYAN_BACK_100PX(HEALTHBAR_CYAN_BACK_100PX, "cyan_back_100px.png"), + CYAN_BACK_120PX(HEALTHBAR_CYAN_BACK_120PX, "cyan_back_120px.png"), + CYAN_BACK_140PX(HEALTHBAR_CYAN_BACK_140PX, "cyan_back_140px.png"), + CYAN_BACK_160PX(HEALTHBAR_CYAN_BACK_160PX, "cyan_back_160px.png"), + + ORANGE_FRONT_30PX(HEALTHBAR_ORANGE_FRONT_30PX, "orange_front_40px.png"), + ORANGE_FRONT_40PX(HEALTHBAR_ORANGE_FRONT_40PX, "orange_front_40px.png"), + ORANGE_FRONT_50PX(HEALTHBAR_ORANGE_FRONT_50PX, "orange_front_50px.png"), + ORANGE_FRONT_60PX(HEALTHBAR_ORANGE_FRONT_60PX, "orange_front_60px.png"), + ORANGE_FRONT_70PX(HEALTHBAR_ORANGE_FRONT_70PX, "orange_front_70px.png"), + ORANGE_FRONT_80PX(HEALTHBAR_ORANGE_FRONT_80PX, "orange_front_80px.png"), + ORANGE_FRONT_100PX(HEALTHBAR_ORANGE_FRONT_100PX, "orange_front_100px.png"), + ORANGE_FRONT_120PX(HEALTHBAR_ORANGE_FRONT_120PX, "orange_front_120px.png"), + ORANGE_FRONT_140PX(HEALTHBAR_ORANGE_FRONT_140PX, "orange_front_140px.png"), + ORANGE_FRONT_160PX(HEALTHBAR_ORANGE_FRONT_160PX, "orange_front_160px.png"), + + ORANGE_BACK_30PX(HEALTHBAR_ORANGE_BACK_30PX, "orange_back_40px.png"), + ORANGE_BACK_40PX(HEALTHBAR_ORANGE_BACK_40PX, "orange_back_40px.png"), + ORANGE_BACK_50PX(HEALTHBAR_ORANGE_BACK_50PX, "orange_back_50px.png"), + ORANGE_BACK_60PX(HEALTHBAR_ORANGE_BACK_60PX, "orange_back_60px.png"), + ORANGE_BACK_70PX(HEALTHBAR_ORANGE_BACK_70PX, "orange_back_70px.png"), + ORANGE_BACK_80PX(HEALTHBAR_ORANGE_BACK_80PX, "orange_back_80px.png"), + ORANGE_BACK_100PX(HEALTHBAR_ORANGE_BACK_100PX, "orange_back_100px.png"), + ORANGE_BACK_120PX(HEALTHBAR_ORANGE_BACK_120PX, "orange_back_120px.png"), + ORANGE_BACK_140PX(HEALTHBAR_ORANGE_BACK_140PX, "orange_back_140px.png"), + ORANGE_BACK_160PX(HEALTHBAR_ORANGE_BACK_160PX, "orange_back_160px.png"), + + YELLOW_FRONT_30PX(HEALTHBAR_YELLOW_FRONT_30PX, "yellow_front_40px.png"), + YELLOW_FRONT_40PX(HEALTHBAR_YELLOW_FRONT_40PX, "yellow_front_40px.png"), + YELLOW_FRONT_50PX(HEALTHBAR_YELLOW_FRONT_50PX, "yellow_front_50px.png"), + YELLOW_FRONT_60PX(HEALTHBAR_YELLOW_FRONT_60PX, "yellow_front_60px.png"), + YELLOW_FRONT_70PX(HEALTHBAR_YELLOW_FRONT_70PX, "yellow_front_70px.png"), + YELLOW_FRONT_80PX(HEALTHBAR_YELLOW_FRONT_80PX, "yellow_front_80px.png"), + YELLOW_FRONT_100PX(HEALTHBAR_YELLOW_FRONT_100PX, "yellow_front_100px.png"), + YELLOW_FRONT_120PX(HEALTHBAR_YELLOW_FRONT_120PX, "yellow_front_120px.png"), + YELLOW_FRONT_140PX(HEALTHBAR_YELLOW_FRONT_140PX, "yellow_front_140px.png"), + YELLOW_FRONT_160PX(HEALTHBAR_YELLOW_FRONT_160PX, "yellow_front_160px.png"), + + YELLOW_BACK_30PX(HEALTHBAR_YELLOW_BACK_30PX, "yellow_back_40px.png"), + YELLOW_BACK_40PX(HEALTHBAR_YELLOW_BACK_40PX, "yellow_back_40px.png"), + YELLOW_BACK_50PX(HEALTHBAR_YELLOW_BACK_50PX, "yellow_back_50px.png"), + YELLOW_BACK_60PX(HEALTHBAR_YELLOW_BACK_60PX, "yellow_back_60px.png"), + YELLOW_BACK_70PX(HEALTHBAR_YELLOW_BACK_70PX, "yellow_back_70px.png"), + YELLOW_BACK_80PX(HEALTHBAR_YELLOW_BACK_80PX, "yellow_back_80px.png"), + YELLOW_BACK_100PX(HEALTHBAR_YELLOW_BACK_100PX, "yellow_back_100px.png"), + YELLOW_BACK_120PX(HEALTHBAR_YELLOW_BACK_120PX, "yellow_back_120px.png"), + YELLOW_BACK_140PX(HEALTHBAR_YELLOW_BACK_140PX, "yellow_back_140px.png"), + YELLOW_BACK_160PX(HEALTHBAR_YELLOW_BACK_160PX, "yellow_back_160px.png"), + + BLUE_FRONT_50PX(HEALTHBAR_BLUE_FRONT_50PX, "blue_front_50px.png"), + BLUE_BACK_50PX(HEALTHBAR_BLUE_BACK_50PX, "blue_back_50px.png"), + + COX_GREEN(HEALTHBAR_COX_GREEN, "cox_green.png"), + COX_BLUE(HEALTHBAR_COX_BLUE, "cox_blue.png"), + COX_YELLOW(HEALTHBAR_COX_YELLOW, "cox_yellow.png"), + COX_RED(HEALTHBAR_COX_RED, "cox_red.png"); @Getter private final int spriteId; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java index 4b9e471fab..5714ff9f8a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java @@ -32,6 +32,7 @@ import java.awt.Image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import javax.inject.Inject; +import static net.runelite.api.widgets.WidgetID.GRAVESTONE_GROUP_ID; import net.runelite.api.widgets.WidgetItem; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.WidgetItemOverlay; @@ -53,6 +54,7 @@ public class InventoryTagsOverlay extends WidgetItemOverlay this.config = config; showOnEquipment(); showOnInventory(); + showOnInterfaces(GRAVESTONE_GROUP_ID); fillCache = CacheBuilder.newBuilder() .concurrencyLevel(1) .maximumSize(32) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index c9a7d4ecd2..def7c13238 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -89,6 +89,7 @@ public class ItemChargePlugin extends Plugin "You can smelt ([0-9]+|one) more pieces? of iron ore before a ring melts\\."); private static final String RING_OF_FORGING_USED_TEXT = "You retrieve a bar of iron."; private static final String RING_OF_FORGING_BREAK_TEXT = "Your Ring of Forging has melted."; + private static final String RING_OF_FORGING_VARROCK_PLATEBODY = "The Varrock platebody enabled you to smelt your next ore simultaneously."; private static final Pattern AMULET_OF_CHEMISTRY_CHECK_PATTERN = Pattern.compile( "Your amulet of chemistry has (\\d) charges? left\\." ); @@ -317,8 +318,9 @@ public class ItemChargePlugin extends Plugin } updateRingOfForgingCharges(charges); } - else if (message.equals(RING_OF_FORGING_USED_TEXT)) + else if (message.equals(RING_OF_FORGING_USED_TEXT) || message.equals(RING_OF_FORGING_VARROCK_PLATEBODY)) { + final ItemContainer inventory = client.getItemContainer(InventoryID.INVENTORY); final ItemContainer equipment = client.getItemContainer(InventoryID.EQUIPMENT); // Determine if the player smelted with a Ring of Forging equipped. @@ -327,7 +329,7 @@ public class ItemChargePlugin extends Plugin return; } - if (equipment.contains(ItemID.RING_OF_FORGING)) + if (equipment.contains(ItemID.RING_OF_FORGING) && (message.equals(RING_OF_FORGING_USED_TEXT) || inventory.count(ItemID.IRON_ORE) > 1)) { int charges = Ints.constrainToRange(getItemCharges(ItemChargeConfig.KEY_RING_OF_FORGING) - 1, 0, MAX_RING_OF_FORGING_CHARGES); updateRingOfForgingCharges(charges); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java index 887ed04199..ea33e614f8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java @@ -54,6 +54,7 @@ class ItemPricesOverlay extends Overlay private static final int EXPLORERS_RING_ITEM_WIDGETID = WidgetInfo.EXPLORERS_RING_ALCH_INVENTORY.getPackedId(); private static final int SEED_VAULT_ITEM_WIDGETID = WidgetInfo.SEED_VAULT_ITEM_CONTAINER.getPackedId(); private static final int SEED_VAULT_INVENTORY_ITEM_WIDGETID = WidgetInfo.SEED_VAULT_INVENTORY_ITEMS_CONTAINER.getPackedId(); + private static final int POH_TREASURE_CHEST_INVENTORY_ITEM_WIDGETID = WidgetInfo.POH_TREASURE_CHEST_INVENTORY_CONTAINER.getPackedId(); private final Client client; private final ItemPricesConfig config; @@ -118,6 +119,7 @@ class ItemPricesOverlay extends Overlay return null; } case WidgetID.INVENTORY_GROUP_ID: + case WidgetID.POH_TREASURE_CHEST_INVENTORY_GROUP_ID: if (config.hideInventory() && !(config.showWhileAlching() && isAlching)) { return null; @@ -155,7 +157,8 @@ class ItemPricesOverlay extends Overlay if (widgetId == INVENTORY_ITEM_WIDGETID || widgetId == BANK_INVENTORY_ITEM_WIDGETID || widgetId == EXPLORERS_RING_ITEM_WIDGETID || - widgetId == SEED_VAULT_INVENTORY_ITEM_WIDGETID) + widgetId == SEED_VAULT_INVENTORY_ITEM_WIDGETID || + widgetId == POH_TREASURE_CHEST_INVENTORY_ITEM_WIDGETID) { container = client.getItemContainer(InventoryID.INVENTORY); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index f1951c162e..9d1ebc4acb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -468,7 +468,6 @@ public class MenuEntrySwapperPlugin extends Plugin private void resetItemCompositionCache() { - itemManager.invalidateItemCompositionCache(); client.getItemCompositionCache().reset(); } @@ -591,18 +590,21 @@ public class MenuEntrySwapperPlugin extends Plugin // widget ticking and prior to our client tick event. This is because drag start // is what builds the context menu row which is what the eventual click will use + final int widgetGroupId = WidgetInfo.TO_GROUP(menuEntryAdded.getActionParam1()); + + final boolean isDepositBoxPlayerInventory = widgetGroupId == WidgetID.DEPOSIT_BOX_GROUP_ID; + final boolean isChambersOfXericStorageUnitPlayerInventory = widgetGroupId == WidgetID.CHAMBERS_OF_XERIC_STORAGE_UNIT_INVENTORY_GROUP_ID; // Swap to shift-click deposit behavior // Deposit- op 1 is the current withdraw amount 1/5/10/x for deposit box interface and chambers of xeric storage unit. // Deposit- op 2 is the current withdraw amount 1/5/10/x for bank interface if (shiftModifier() && config.bankDepositShiftClick() != ShiftDepositMode.OFF && menuEntryAdded.getType() == MenuAction.CC_OP.getId() - && (menuEntryAdded.getIdentifier() == 2 || menuEntryAdded.getIdentifier() == 1) + && menuEntryAdded.getIdentifier() == (isDepositBoxPlayerInventory || isChambersOfXericStorageUnitPlayerInventory ? 1 : 2) && (menuEntryAdded.getOption().startsWith("Deposit-") || menuEntryAdded.getOption().startsWith("Store") || menuEntryAdded.getOption().startsWith("Donate"))) { ShiftDepositMode shiftDepositMode = config.bankDepositShiftClick(); - final int widgetGroupId = WidgetInfo.TO_GROUP(menuEntryAdded.getParam1()); - final int opId = widgetGroupId == WidgetID.DEPOSIT_BOX_GROUP_ID ? shiftDepositMode.getIdentifierDepositBox() - : widgetGroupId == WidgetID.CHAMBERS_OF_XERIC_STORAGE_UNIT_INVENTORY_GROUP_ID ? shiftDepositMode.getIdentifierChambersStorageUnit() + final int opId = isDepositBoxPlayerInventory ? shiftDepositMode.getIdentifierDepositBox() + : isChambersOfXericStorageUnitPlayerInventory ? shiftDepositMode.getIdentifierChambersStorageUnit() : shiftDepositMode.getIdentifier(); final int actionId = opId >= 6 ? MenuAction.CC_OP_LOW_PRIORITY.getId() : MenuAction.CC_OP.getId(); bankModeSwap(actionId, opId); @@ -615,7 +617,6 @@ public class MenuEntrySwapperPlugin extends Plugin && menuEntryAdded.getOption().startsWith("Withdraw")) { ShiftWithdrawMode shiftWithdrawMode = config.bankWithdrawShiftClick(); - final int widgetGroupId = WidgetInfo.TO_GROUP(menuEntryAdded.getParam1()); final int actionId, opId; if (widgetGroupId == WidgetID.CHAMBERS_OF_XERIC_STORAGE_UNIT_PRIVATE_GROUP_ID || widgetGroupId == WidgetID.CHAMBERS_OF_XERIC_STORAGE_UNIT_SHARED_GROUP_ID) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ShiftDepositMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ShiftDepositMode.java index add9d4afe8..6c7deb9149 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ShiftDepositMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ShiftDepositMode.java @@ -36,7 +36,7 @@ public enum ShiftDepositMode DEPOSIT_10("Deposit-10", 5, 4, 3), DEPOSIT_X("Deposit-X", 6, 6, 5), DEPOSIT_ALL("Deposit-All", 8, 5, 4), - EXTRA_OP("Eat/Wield/Etc.", 9, 0, 0), + EXTRA_OP("Eat/Wield/Etc.", 9, 9, 0), OFF("Off", 0, 0, 0); private final String name; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java index cf4830ebd7..148876e631 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java @@ -248,7 +248,7 @@ public class NpcAggroAreaPlugin extends Plugin private static boolean isInWilderness(WorldPoint location) { - return WILDERNESS_ABOVE_GROUND.distanceTo2D(location) == 0 || WILDERNESS_UNDERGROUND.distanceTo2D(location) == 0; + return location.isInArea2D(WILDERNESS_ABOVE_GROUND, WILDERNESS_UNDERGROUND); } private boolean isNpcMatch(NPC npc) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java index 1dd5c53174..f7498f7af3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java @@ -181,11 +181,23 @@ public interface ScreenshotConfig extends Config return false; } + @ConfigItem( + keyName = "clanDeath", + name = "Screenshot Clan Deaths", + description = "Configures whether or not screenshots are automatically taken when clan members die.", + position = 12, + section = whatSection + ) + default boolean screenshotClanDeath() + { + return false; + } + @ConfigItem( keyName = "duels", name = "Screenshot Duels", description = "Configures whether or not screenshots are automatically taken of the duel end screen.", - position = 12, + position = 13, section = whatSection ) default boolean screenshotDuels() @@ -197,7 +209,7 @@ public interface ScreenshotConfig extends Config keyName = "valuableDrop", name = "Screenshot Valuable drops", description = "Configures whether or not screenshots are automatically taken when you receive a valuable drop.", - position = 13, + position = 14, section = whatSection ) default boolean screenshotValuableDrop() @@ -209,7 +221,7 @@ public interface ScreenshotConfig extends Config keyName = "valuableDropThreshold", name = "Valuable Threshold", description = "The minimum value to save screenshots of valuable drops.", - position = 14, + position = 15, section = whatSection ) default int valuableDropThreshold() @@ -221,7 +233,7 @@ public interface ScreenshotConfig extends Config keyName = "untradeableDrop", name = "Screenshot Untradeable drops", description = "Configures whether or not screenshots are automatically taken when you receive an untradeable drop.", - position = 15, + position = 16, section = whatSection ) default boolean screenshotUntradeableDrop() @@ -233,7 +245,7 @@ public interface ScreenshotConfig extends Config keyName = "ccKick", name = "Screenshot Kicks from FC", description = "Take a screenshot when you kick a user from a friends chat.", - position = 16, + position = 17, section = whatSection ) default boolean screenshotKick() @@ -245,7 +257,7 @@ public interface ScreenshotConfig extends Config keyName = "baHighGamble", name = "Screenshot BA high gambles", description = "Take a screenshot of your reward from a high gamble at Barbarian Assault.", - position = 17, + position = 18, section = whatSection ) default boolean screenshotHighGamble() @@ -257,7 +269,7 @@ public interface ScreenshotConfig extends Config keyName = "collectionLogEntries", name = "Screenshot collection log entries", description = "Take a screenshot when completing an entry in the collection log", - position = 18, + position = 19, section = whatSection ) default boolean screenshotCollectionLogEntries() @@ -269,7 +281,7 @@ public interface ScreenshotConfig extends Config keyName = "hotkey", name = "Screenshot hotkey", description = "When you press this key a screenshot will be taken", - position = 19 + position = 20 ) default Keybind hotkey() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index f7c8c9e440..c64e7c06b9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -51,11 +51,15 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.Point; +import net.runelite.api.ScriptID; import net.runelite.api.SpriteID; +import net.runelite.api.VarClientStr; +import net.runelite.api.Varbits; import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptCallbackEvent; +import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; @@ -148,6 +152,7 @@ public class ScreenshotPlugin extends Plugin private Integer killCountNumber; private boolean shouldTakeScreenshot; + private boolean notificationStarted; @Inject private ScreenshotConfig config; @@ -239,6 +244,7 @@ public class ScreenshotPlugin extends Plugin clientToolbar.removeNavigation(titleBarButton); keyManager.unregisterKeyListener(hotkeyListener); kickPlayerName = null; + notificationStarted = false; } @Subscribe @@ -302,7 +308,10 @@ public class ScreenshotPlugin extends Plugin { takeScreenshot("Death", SD_DEATHS); } - else if (player != client.getLocalPlayer() && (player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath() && player.getCanvasTilePoly() != null) + else if (player != client.getLocalPlayer() + && player.getCanvasTilePoly() != null + && (((player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath()) + || (player.isClanMember() && config.screenshotClanDeath()))) { takeScreenshot("Death " + player.getName(), SD_DEATHS); } @@ -479,7 +488,7 @@ public class ScreenshotPlugin extends Plugin } } - if (config.screenshotCollectionLogEntries() && chatMessage.startsWith(COLLECTION_LOG_TEXT)) + if (config.screenshotCollectionLogEntries() && chatMessage.startsWith(COLLECTION_LOG_TEXT) && client.getVar(Varbits.COLLECTION_LOG_NOTIFICATION) == 1) { String entry = Text.removeTags(chatMessage).substring(COLLECTION_LOG_TEXT.length()); String fileName = "Collection log (" + entry + ")"; @@ -622,6 +631,32 @@ public class ScreenshotPlugin extends Plugin takeScreenshot(fileName, screenshotSubDir); } + @Subscribe + public void onScriptPreFired(ScriptPreFired scriptPreFired) + { + switch (scriptPreFired.getScriptId()) + { + case ScriptID.NOTIFICATION_START: + notificationStarted = true; + break; + case ScriptID.NOTIFICATION_DELAY: + if (!notificationStarted) + { + return; + } + String topText = client.getVar(VarClientStr.NOTIFICATION_TOP_TEXT); + String bottomText = client.getVar(VarClientStr.NOTIFICATION_BOTTOM_TEXT); + if (topText.equalsIgnoreCase("Collection log") && config.screenshotCollectionLogEntries()) + { + String entry = Text.removeTags(bottomText).substring("New item:".length()); + String fileName = "Collection log (" + entry + ")"; + takeScreenshot(fileName, SD_COLLECTION_LOG); + } + notificationStarted = false; + break; + } + } + private void manualScreenshot() { takeScreenshot("", null); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java index e102988f50..8c27d8a509 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CalculatorType.java @@ -24,32 +24,36 @@ */ package net.runelite.client.plugins.skillcalculator; +import javax.annotation.Nullable; import lombok.AllArgsConstructor; import lombok.Getter; import net.runelite.api.Skill; +import net.runelite.client.plugins.skillcalculator.skills.*; @AllArgsConstructor @Getter enum CalculatorType { - MINING(Skill.MINING, "skill_mining.json"), - AGILITY(Skill.AGILITY, "skill_agility.json"), - SMITHING(Skill.SMITHING, "skill_smithing.json"), - HERBLORE(Skill.HERBLORE, "skill_herblore.json"), - FISHING(Skill.FISHING, "skill_fishing.json"), - THIEVING(Skill.THIEVING, "skill_thieving.json"), - COOKING(Skill.COOKING, "skill_cooking.json"), - PRAYER(Skill.PRAYER, "skill_prayer.json"), - CRAFTING(Skill.CRAFTING, "skill_crafting.json"), - FIREMAKING(Skill.FIREMAKING, "skill_firemaking.json"), - MAGIC(Skill.MAGIC, "skill_magic.json"), - FLETCHING(Skill.FLETCHING, "skill_fletching.json"), - WOODCUTTING(Skill.WOODCUTTING, "skill_woodcutting.json"), - RUNECRAFT(Skill.RUNECRAFT, "skill_runecraft.json"), - FARMING(Skill.FARMING, "skill_farming.json"), - CONSTRUCTION(Skill.CONSTRUCTION, "skill_construction.json"), - HUNTER(Skill.HUNTER, "skill_hunter.json"); + MINING(Skill.MINING, MiningBonus.values(), MiningAction.values()), + AGILITY(Skill.AGILITY, null, AgilityAction.values()), + SMITHING(Skill.SMITHING, null, SmithingAction.values()), + HERBLORE(Skill.HERBLORE, null, HerbloreAction.values()), + FISHING(Skill.FISHING, FishingBonus.values(), FishingAction.values()), + THIEVING(Skill.THIEVING, null, ThievingAction.values()), + COOKING(Skill.COOKING, null, CookingAction.values()), + PRAYER(Skill.PRAYER, PrayerBonus.values(), PrayerAction.values()), + CRAFTING(Skill.CRAFTING, null, CraftingAction.values()), + FIREMAKING(Skill.FIREMAKING, FiremakingBonus.values(), FiremakingAction.values()), + MAGIC(Skill.MAGIC, null, MagicAction.values()), + FLETCHING(Skill.FLETCHING, null, FletchingAction.values()), + WOODCUTTING(Skill.WOODCUTTING, WoodcuttingBonus.values(), WoodcuttingAction.values()), + RUNECRAFT(Skill.RUNECRAFT, RunecraftBonus.values(), RunecraftAction.values()), + FARMING(Skill.FARMING, FarmingBonus.values(), FarmingAction.values()), + CONSTRUCTION(Skill.CONSTRUCTION, ConstructionBonus.values(), ConstructionAction.values()), + HUNTER(Skill.HUNTER, null, HunterAction.values()); private final Skill skill; - private final String dataFile; -} \ No newline at end of file + @Nullable + private final SkillBonus[] skillBonuses; + private final SkillAction[] skillActions; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java index bd688d3788..8d9581adde 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java @@ -1,4 +1,4 @@ -/** +/* * Copyright (c) 2018, Kruithne * Copyright (c) 2018, Psikoi * All rights reserved. @@ -48,11 +48,11 @@ import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; +import net.runelite.client.callback.ClientThread; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; -import net.runelite.client.plugins.skillcalculator.beans.SkillData; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataBonus; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataEntry; +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; +import net.runelite.client.plugins.skillcalculator.skills.SkillBonus; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.DynamicGridLayout; import net.runelite.client.ui.FontManager; @@ -66,26 +66,26 @@ class SkillCalculator extends JPanel private final UICalculatorInputArea uiInput; private final Client client; + private final ClientThread clientThread; private final SpriteManager spriteManager; private final ItemManager itemManager; private final List uiActionSlots = new ArrayList<>(); - private final CacheSkillData cacheSkillData = new CacheSkillData(); private final UICombinedActionSlot combinedActionSlot; private final ArrayList combinedActionSlots = new ArrayList<>(); private final List bonusCheckBoxes = new ArrayList<>(); private final IconTextField searchBar = new IconTextField(); - private SkillData skillData; - private Skill currentSkill; + private CalculatorType currentCalculator; private int currentLevel = 1; private int currentXP = Experience.getXpForLevel(currentLevel); private int targetLevel = currentLevel + 1; private int targetXP = Experience.getXpForLevel(targetLevel); - private float xpFactor = 1.0f; + private float xpFactor = 1; - SkillCalculator(Client client, UICalculatorInputArea uiInput, SpriteManager spriteManager, ItemManager itemManager) + SkillCalculator(Client client, ClientThread clientThread, UICalculatorInputArea uiInput, SpriteManager spriteManager, ItemManager itemManager) { this.client = client; + this.clientThread = clientThread; this.uiInput = uiInput; this.spriteManager = spriteManager; this.itemManager = itemManager; @@ -137,15 +137,12 @@ class SkillCalculator extends JPanel currentXP = client.getSkillExperience(calculatorType.getSkill()); currentLevel = Experience.getLevelForXp(currentXP); - if (currentSkill != calculatorType.getSkill()) + if (currentCalculator != calculatorType) { - currentSkill = calculatorType.getSkill(); - - // Load the skill data. - skillData = cacheSkillData.getSkillData(calculatorType.getDataFile()); + currentCalculator = calculatorType; // Reset the XP factor, removing bonuses. - xpFactor = 1.0f; + xpFactor = 1; VarPlayer endGoalVarp = endGoalVarpForSkill(calculatorType.getSkill()); int endGoal = client.getVar(endGoalVarp); @@ -234,19 +231,22 @@ class SkillCalculator extends JPanel private void renderBonusOptions() { - if (skillData.getBonuses() != null) + final SkillBonus[] skillBonuses = currentCalculator.getSkillBonuses(); + if (skillBonuses == null) { - for (SkillDataBonus bonus : skillData.getBonuses()) - { - JPanel checkboxPanel = buildCheckboxPanel(bonus); + return; + } - add(checkboxPanel); - add(Box.createRigidArea(new Dimension(0, 5))); - } + for (SkillBonus bonus : skillBonuses) + { + JPanel checkboxPanel = buildCheckboxPanel(bonus); + + add(checkboxPanel); + add(Box.createRigidArea(new Dimension(0, 5))); } } - private JPanel buildCheckboxPanel(SkillDataBonus bonus) + private JPanel buildCheckboxPanel(SkillBonus bonus) { JPanel uiOption = new JPanel(new BorderLayout()); JLabel uiLabel = new JLabel(bonus.getName()); @@ -270,7 +270,7 @@ class SkillCalculator extends JPanel return uiOption; } - private void adjustCheckboxes(JCheckBox target, SkillDataBonus bonus) + private void adjustCheckboxes(JCheckBox target, SkillBonus bonus) { adjustXPBonus(0); bonusCheckBoxes.forEach(otherSelectedCheckbox -> @@ -293,20 +293,20 @@ class SkillCalculator extends JPanel uiActionSlots.clear(); // Create new components for the action slots. - for (SkillDataEntry action : skillData.getActions()) + for (SkillAction action : currentCalculator.getSkillActions()) { JLabel uiIcon = new JLabel(); - if (action.getIcon() != null) + if (action.getIcon() != -1) { itemManager.getImage(action.getIcon()).addTo(uiIcon); } - else if (action.getSprite() != null) + else if (action.getSprite() != -1) { spriteManager.addSpriteTo(uiIcon, action.getSprite(), 0); } - UIActionSlot slot = new UIActionSlot(action, uiIcon); + UIActionSlot slot = new UIActionSlot(action, clientThread, itemManager, uiIcon); uiActionSlots.add(slot); // Keep our own reference. add(slot); // Add component to the panel. @@ -346,7 +346,7 @@ class SkillCalculator extends JPanel { int actionCount = 0; int neededXP = targetXP - currentXP; - SkillDataEntry action = slot.getAction(); + SkillAction action = slot.getAction(); double xp = (action.isIgnoreBonus()) ? action.getXp() : action.getXp() * xpFactor; if (neededXP > 0) @@ -363,9 +363,9 @@ class SkillCalculator extends JPanel updateCombinedAction(); } - private String formatXPActionString(double xp, int actionCount, String expExpression) + private static String formatXPActionString(double xp, int actionCount, String expExpression) { - return XP_FORMAT.format(xp) + expExpression + NumberFormat.getIntegerInstance().format(actionCount) + (actionCount > 1 ? " actions" : " action"); + return XP_FORMAT.format(xp) + expExpression + NumberFormat.getIntegerInstance().format(actionCount) + (actionCount == 1 ? " action" : " actions"); } private void updateInputFields() @@ -389,7 +389,7 @@ class SkillCalculator extends JPanel private void adjustXPBonus(float value) { - xpFactor = 1f + value; + xpFactor = 1 + value; calculate(); } @@ -449,12 +449,12 @@ class SkillCalculator extends JPanel }); } - private boolean slotContainsText(UIActionSlot slot, String text) + private static boolean slotContainsText(UIActionSlot slot, String text) { - return slot.getAction().getName().toLowerCase().contains(text.toLowerCase()); + return slot.getActionName().toLowerCase().contains(text.toLowerCase()); } - private FocusAdapter buildFocusAdapter(Consumer focusLostConsumer) + private static FocusAdapter buildFocusAdapter(Consumer focusLostConsumer) { return new FocusAdapter() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPanel.java index b6abe4577f..82d4f59648 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPanel.java @@ -23,7 +23,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - package net.runelite.client.plugins.skillcalculator; import java.awt.GridBagConstraints; @@ -33,6 +32,7 @@ import javax.swing.ImageIcon; import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import net.runelite.api.Client; +import net.runelite.client.callback.ClientThread; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SpriteManager; @@ -47,7 +47,7 @@ class SkillCalculatorPanel extends PluginPanel private final SkillIconManager iconManager; private final MaterialTabGroup tabGroup; - SkillCalculatorPanel(SkillIconManager iconManager, Client client, SpriteManager spriteManager, ItemManager itemManager) + SkillCalculatorPanel(SkillIconManager iconManager, Client client, ClientThread clientThread, SpriteManager spriteManager, ItemManager itemManager) { super(); getScrollPane().setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); @@ -71,7 +71,7 @@ class SkillCalculatorPanel extends PluginPanel final UICalculatorInputArea uiInput = new UICalculatorInputArea(); uiInput.setBorder(new EmptyBorder(15, 0, 15, 0)); uiInput.setBackground(ColorScheme.DARK_GRAY_COLOR); - uiCalculator = new SkillCalculator(client, uiInput, spriteManager, itemManager); + uiCalculator = new SkillCalculator(client, clientThread, uiInput, spriteManager, itemManager); add(tabGroup, c); c.gridy++; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java index 8999d2ad00..1aab06820f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java @@ -22,12 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - package net.runelite.client.plugins.skillcalculator; import java.awt.image.BufferedImage; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.client.callback.ClientThread; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SpriteManager; @@ -47,6 +47,9 @@ public class SkillCalculatorPlugin extends Plugin @Inject private Client client; + @Inject + private ClientThread clientThread; + @Inject private SkillIconManager skillIconManager; @@ -65,7 +68,7 @@ public class SkillCalculatorPlugin extends Plugin protected void startUp() throws Exception { final BufferedImage icon = ImageUtil.loadImageResource(getClass(), "calc.png"); - final SkillCalculatorPanel uiPanel = new SkillCalculatorPanel(skillIconManager, client, spriteManager, itemManager); + final SkillCalculatorPanel uiPanel = new SkillCalculatorPanel(skillIconManager, client, clientThread, spriteManager, itemManager); uiNavigationButton = NavigationButton.builder() .tooltip("Skill Calculator") diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java index 2051a0ddcd..aa2fd23937 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UIActionSlot.java @@ -23,7 +23,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - package net.runelite.client.plugins.skillcalculator; import java.awt.BorderLayout; @@ -36,13 +35,16 @@ import java.awt.event.MouseListener; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.SwingUtilities; import javax.swing.border.Border; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import net.runelite.client.plugins.skillcalculator.beans.SkillDataEntry; +import net.runelite.client.callback.ClientThread; +import net.runelite.client.game.ItemManager; +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.components.shadowlabel.JShadowedLabel; @@ -64,9 +66,12 @@ class UIActionSlot extends JPanel private static final Dimension ICON_SIZE = new Dimension(32, 32); @Getter(AccessLevel.PACKAGE) - private final SkillDataEntry action; - private final JShadowedLabel uiLabelActions; + private final SkillAction action; + @Getter(AccessLevel.PACKAGE) + private String actionName; + + private final JShadowedLabel uiLabelActions; private final JPanel uiInfo; @Getter(AccessLevel.PACKAGE) @@ -80,9 +85,9 @@ class UIActionSlot extends JPanel @Getter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE) - private double value = 0; + private double value; - UIActionSlot(SkillDataEntry action, JLabel uiIcon) + UIActionSlot(SkillAction action, ClientThread clientThread, ItemManager itemManager, JLabel uiIcon) { this.action = action; @@ -121,7 +126,12 @@ class UIActionSlot extends JPanel uiInfo.setBackground(ColorScheme.DARKER_GRAY_COLOR); uiInfo.setBorder(new EmptyBorder(0, 5, 0, 0)); - JShadowedLabel uiLabelName = new JShadowedLabel(action.getName()); + JShadowedLabel uiLabelName = new JShadowedLabel(); + clientThread.invokeLater(() -> + { + actionName = action.getName(itemManager); + SwingUtilities.invokeLater(() -> uiLabelName.setText(actionName)); + }); uiLabelName.setForeground(Color.WHITE); uiLabelActions = new JShadowedLabel("Unknown"); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UICombinedActionSlot.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UICombinedActionSlot.java index fa1614c91b..46aea10dff 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UICombinedActionSlot.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/UICombinedActionSlot.java @@ -23,7 +23,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - package net.runelite.client.plugins.skillcalculator; import java.awt.BorderLayout; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java new file mode 100644 index 0000000000..3edef73f70 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/AgilityAction.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum AgilityAction implements NamedSkillAction +{ + GNOME_STRONGHOLD_COURSE("Gnome Stronghold", 1, 86.5f, ItemID.SWAMP_TOAD), + SHAYZIEN_BASIC_COURSE("Shayzien Basic Course", 5, 133.2f, ItemID.SHAYZIEN_HELM_1), + DRAYNOR_VILLAGE_ROOFTOP("Draynor Village Rooftop", 10, 120, ItemID.MARK_OF_GRACE), + LEAPING_TROUT("Leaping trout", 15, 5, ItemID.LEAPING_TROUT), + AL_KHARID_ROOFTOP("Al Kharid Rooftop", 20, 180, ItemID.MARK_OF_GRACE), + VARROCK_ROOFTOP("Varrock Rooftop", 30, 238, ItemID.MARK_OF_GRACE), + PENGUIN_AGILITY_COURSE("Penguin Agility Course", 30, 540, ItemID.CLOCKWORK_SUIT), + LEAPING_SALMON("Leaping salmon", 30, 6, ItemID.LEAPING_SALMON), + BARBARIAN_OUTPOST("Barbarian Outpost", 35, 152.5f, ItemID.STEEL_BATTLEAXE), + CANIFIS_ROOFTOP("Canifis Rooftop", 40, 240, ItemID.MARK_OF_GRACE), + LEAPING_STURGEON("Leaping sturgeon", 45, 7, ItemID.LEAPING_STURGEON), + APE_ATOLL_COURSE("Ape Atoll", 48, 580, ItemID.GORILLA_GREEGREE), + SHAYZIEN_ADVANCED_COURSE("Shayzien Advanced Course", 48, 474.3f, ItemID.SHAYZIEN_HELM_5), + FALADOR_ROOFTOP("Falador Rooftop", 50, 440, ItemID.MARK_OF_GRACE), + WILDERNESS_AGILITY_COURSE("Wilderness Agility Course", 52, 571, ItemID.SKULL), + HALLOWED_SEPULCHRE_FLOOR_1("Hallowed Sepulchre Floor 1", 52, 575, ItemID.RING_OF_ENDURANCE), + SEERS_VILLAGE_ROOFTOP("Seers' Village Rooftop", 60, 570, ItemID.MARK_OF_GRACE), + WEREWOLF_AGILITY_COURSE("Werewolf Agility Course", 60, 730, ItemID.STICK), + HALLOWED_SEPULCHRE_FLOOR_2("Hallowed Sepulchre Floor 2", 62, 925, ItemID.RING_OF_ENDURANCE), + POLLNIVNEACH_ROOFTOP("Pollnivneach Rooftop", 70, 890, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_3("Hallowed Sepulchre Floor 3", 72, 1500, ItemID.RING_OF_ENDURANCE), + PRIFDDINAS_AGILITY_COURSE("Prifddinas Agility Course", 75, 1337, ItemID.CRYSTAL_SHARD), + RELLEKKA_ROOFTOP("Rellekka Rooftop", 80, 780, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_4("Hallowed Sepulchre Floor 4", 82, 2700, ItemID.RING_OF_ENDURANCE), + ARDOUGNE_ROOFTOP("Ardougne Rooftop", 90, 793, ItemID.MARK_OF_GRACE), + HALLOWED_SEPULCHRE_FLOOR_5("Hallowed Sepulchre Floor 5", 92, 6000, ItemID.RING_OF_ENDURANCE), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java new file mode 100644 index 0000000000..ed0e0c65b2 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionAction.java @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum ConstructionAction implements NamedSkillAction +{ + EXIT_PORTAL("Exit Portal", 1, 100, ItemID.EXIT_PORTAL), + PLANK("Plank", 1, 29, ItemID.PLANK), + OAK_PLANK("Oak Plank", 1, 60, ItemID.OAK_PLANK), + TEAK_PLANK("Teak Plank", 1, 90, ItemID.TEAK_PLANK), + MAHOGANY_PLANK("Mahogany Plank", 1, 140, ItemID.MAHOGANY_PLANK), + PLANT("Plant", 1, 31, ItemID.PLANT), + FERN_BIG_PLANT("Fern (big plant)", 1, 31, ItemID.FERN_8186), + SHORT_PLANT("Short Plant", 1, 31, ItemID.SHORT_PLANT), + DOCK_LEAF("Dock Leaf", 1, 31, ItemID.DOCK_LEAF), + CRUDE_WOODEN_CHAIR("Crude Wooden Chair", 1, 58, ItemID.CRUDE_WOODEN_CHAIR), + BROWN_RUG("Brown Rug", 2, 30, ItemID.BROWN_RUG), + TORN_CURTAINS("Torn Curtains", 2, 132, ItemID.TORN_CURTAINS), + CLAY_FIREPLACE("Clay Fireplace", 3, 30, ItemID.CLAY_FIREPLACE), + WOODEN_BOOKCASE("Wooden Bookcase", 4, 115, ItemID.WOODEN_BOOKCASE), + FIREPIT("Firepit", 5, 40, ItemID.FIREPIT), + CAT_BLANKET("Cat Blanket", 5, 15, ItemID.CAT_BLANKET), + DECORATIVE_ROCK("Decorative Rock", 5, 100, ItemID.DECORATIVE_ROCK), + TREE("Tree", 5, 31, ItemID.TREE), + SMALL_FERN("Small Fern", 6, 70, ItemID.SMALL_FERN), + THISTLE("Thistle", 6, 70, ItemID.THISTLE), + BUSH("Bush", 6, 70, ItemID.BUSH), + LARGE_LEAF_BUSH("Large Leaf Bush", 6, 70, ItemID.LARGELEAF_PLANT), + WOODEN_SHELVES_1("Wooden Shelves 1", 6, 87, ItemID.WOODEN_SHELVES_1), + PUMP_AND_DRAIN("Pump and Drain", 7, 100, ItemID.PUMP_AND_DRAIN), + BEER_BARREL("Beer Barrel", 7, 87, ItemID.BEER_BARREL), + WOODEN_CHAIR("Wooden Chair", 8, 87, ItemID.WOODEN_CHAIR), + WOODEN_LARDER("Wooden Larder", 9, 228, ItemID.WOODEN_LARDER), + WOOD_DINING_TABLE("Wood Dining Table", 10, 115, ItemID.WOOD_DINING_TABLE), + POND("Pond", 10, 100, ItemID.POND), + NICE_TREE("Nice Tree", 10, 44, ItemID.NICE_TREE), + WOODEN_BENCH("Wooden Bench", 10, 115, ItemID.WOODEN_BENCH), + FIREPIT_WITH_HOOK("Firepit with Hook", 11, 60, ItemID.FIREPIT_WITH_HOOK), + REEDS("Reeds", 12, 100, ItemID.REEDS), + FERN_SMALL_PLANT("Fern (small plant)", 12, 100, ItemID.FERN), + CIDER_BARREL("Cider Barrel", 12, 91, ItemID.CIDER_BARREL), + WOODEN_SHELVES_2("Wooden Shelves 2", 12, 147, ItemID.WOODEN_SHELVES_2), + WOOD_TABLE("Wood Table", 12, 87, ItemID.WOOD_DINING_TABLE), + HUGE_PLANT("Huge Plant", 12, 100, ItemID.HUGE_PLANT), + TALL_PLANT("Tall Plant", 12, 100, ItemID.TALL_PLANT), + RUG("Rug", 13, 60, ItemID.RUG), + ROCKING_CHAIR("Rocking Chair", 14, 87, ItemID.ROCKING_CHAIR), + IMP_STATUE("Imp Statue", 15, 150, ItemID.IMP_STATUE), + OAK_TREE("Oak Tree", 15, 70, ItemID.OAK_TREE), + OAK_DECORATION("Oak Decoration", 16, 120, ItemID.OAK_DECORATION), + FIREPIT_WITH_POT("Firepit with Pot", 17, 80, ItemID.FIREPIT_WITH_POT), + CURTAINS("Curtains", 18, 225, ItemID.CURTAINS), + ASGARNIAN_ALE("Asgarnian Ale", 18, 184, ItemID.ASGARNIAN_ALE), + CAT_BASKET("Cat Basket", 19, 58, ItemID.CAT_BASKET), + OAK_CHAIR("Oak Chair", 19, 120, ItemID.OAK_CHAIR), + WOODEN_BED("Wooden Bed", 20, 117, ItemID.WOODEN_BED), + SHOE_BOX("Shoe Box", 20, 58, ItemID.SHOE_BOX), + SHAVING_STAND("Shaving Stand", 21, 30, ItemID.SHAVING_STAND), + OAK_DINING_TABLE("Oak Dining Table", 22, 240, ItemID.OAK_DINING_TABLE), + OAK_BENCH("Oak Bench", 22, 240, ItemID.OAK_BENCH), + WOODEN_SHELVES_3("Wooden Shelves 3", 23, 147, ItemID.WOODEN_SHELVES_3), + SMALL_OVEN("Small Oven", 24, 80, ItemID.SMALL_OVEN), + OAK_CLOCK("Oak Clock", 25, 142, ItemID.OAK_CLOCK), + GREENMANS_ALE("Greenman's Ale", 26, 184, ItemID.GREENMANS_ALE), + OAK_ARMCHAIR("Oak Armchair", 26, 180, ItemID.OAK_ARMCHAIR), + ROPE_BELL_PULL("Rope Bell-Pull", 26, 64, ItemID.ROPE_BELLPULL), + PUMP_AND_TUB("Pump and Tub", 27, 200, ItemID.PUMP_AND_TUB), + OAK_DRAWERS("Oak Drawers", 27, 120, ItemID.OAK_DRAWERS), + OAK_BOOKCASE("Oak Bookcase", 29, 180, ItemID.OAK_BOOKCASE), + LARGE_OVEN("Large Oven", 29, 100, ItemID.LARGE_OVEN), + OAK_SHAVING_STAND("Oak Shaving Stand", 29, 61, ItemID.OAK_SHAVING_STAND), + WILLOW_TREE("Willow Tree", 30, 100, ItemID.WILLOW_TREE), + OAK_BED("Oak Bed", 30, 210, ItemID.OAK_BED), + LONG_BONE("Long Bone", 30, 4500, ItemID.LONG_BONE), + CURVED_BONE("Curved Bone", 30, 6750, ItemID.CURVED_BONE), + CARVED_OAK_BENCH("Carved Oak Bench", 31, 240, ItemID.CARVED_OAK_BENCH), + CARVED_OAK_TABLE("Carved Oak Table", 31, 360, ItemID.CARVED_OAK_TABLE), + OAK_KITCHEN_TABLE("Oak Kitchen Table", 32, 180, ItemID.TEAK_TABLE), + BOXING_RING("Boxing Ring", 32, 420, ItemID.BOXING_RING), + OAK_LARDER("Oak Larder", 33, 480, ItemID.OAK_LARDER), + CUSHIONED_BASKET("Cushioned Basket", 33, 58, ItemID.CUSHIONED_BASKET), + STONE_FIREPLACE("Stone Fireplace", 33, 40, ItemID.STONE_FIREPLACE), + STEEL_RANGE("Steel Range", 34, 120, ItemID.STEEL_RANGE), + OAK_SHELVES_1("Oak Shelves 1", 34, 240, ItemID.OAK_SHELVES_1), + GLOVE_RACK("Glove Rack", 34, 120, ItemID.GLOVE_RACK), + LARGE_OAK_BED("Large Oak Bed", 34, 330, ItemID.LARGE_OAK_BED), + TEAK_ARMCHAIR("Teak Armchair", 35, 180, ItemID.TEAK_ARMCHAIR), + DRAGON_BITTER("Dragon Bitter", 36, 224, ItemID.DRAGON_BITTER), + TEAK_DECORATION("Teak Decoration", 36, 180, ItemID.TEAK_DECORATION), + BELL_PULL("Bell-Pull", 37, 120, ItemID.BELLPULL), + OAK_DRESSER("Oak Dresser", 37, 121, ItemID.OAK_DRESSER), + TEAK_BENCH("Teak Bench", 38, 360, ItemID.CARVED_TEAK_BENCH), + TEAK_TABLE("Teak Table", 38, 360, ItemID.TEAK_TABLE), + OAK_WARDROBE("Oak Wardrobe", 39, 180, ItemID.OAK_WARDROBE), + TEAK_BED("Teak Bed", 40, 300, ItemID.TEAK_BED), + MAHOGANY_BOOKCASE("Mahogany Bookcase", 40, 420, ItemID.MAHOGANY_BOOKCASE), + OAK_LECTERN("Oak Lectern", 40, 60, ItemID.OAK_LECTERN), + OPULENT_CURTAINS("Opulent Curtains", 40, 315, ItemID.OPULENT_CURTAINS), + FENCING_RING("Fencing Ring", 41, 570, ItemID.FENCING_RING), + GLOBE("Globe", 41, 180, ItemID.GLOBE), + FANCY_RANGE("Fancy Range", 42, 160, ItemID.FANCY_RANGE), + CRYSTAL_BALL("Crystal Ball", 42, 280, ItemID.CRYSTAL_BALL), + ALCHEMICAL_CHART("Alchemical Chart", 43, 30, ItemID.ALCHEMICAL_CHART), + TEAK_LARDER("Teak larder", 43, 750, ItemID.TEAK_LARDER), + WOODEN_TELESCOPE("Wooden Telescope", 44, 121, ItemID.OAK_TELESCOPE), + WEAPONS_RACK("Weapons Rack", 44, 180, ItemID.WEAPONS_RACK), + CARVED_TEAK_BENCH("Carved Teak Bench", 44, 360, ItemID.CARVED_TEAK_BENCH), + OAK_SHELVES_2("Oak Shelves 2", 45, 240, ItemID.OAK_SHELVES_2), + CARVED_TEAK_TABLE("Carved Teak Table", 45, 600, ItemID.CARVED_TEAK_TABLE), + LARGE_TEAK_BED("Large Teak Bed", 45, 480, ItemID.LARGE_TEAK_BED), + MAPLE_TREE("Maple Tree", 45, 122, ItemID.MAPLE_TREE), + TEAK_DRESSER("Teak Dresser", 46, 181, ItemID.TEAK_DRESSER), + SINK("Sink", 47, 300, ItemID.SINK), + EAGLE_LECTERN("Eagle Lectern", 47, 120, ItemID.EAGLE_LECTERN), + DEMON_LECTERN("Demon Lectern", 47, 120, ItemID.DEMON_LECTERN), + MOUNTED_MYTHICAL_CAPE("Mounted Mythical Cape", 47, 370, ItemID.MYTHICAL_CAPE), + CHEFS_DELIGHT("Chef's Delight", 48, 224, ItemID.CHEFS_DELIGHT), + TEAK_PORTAL("Teak Portal", 50, 270, ItemID.TEAK_PORTAL), + MAHOGANY_ARMCHAIR("Mahogany Armchair", 50, 280, ItemID.MAHOGANY_ARMCHAIR), + ORNAMENTAL_GLOBE("Ornamental Globe", 50, 270, ItemID.ORNAMENTAL_GLOBE), + TELEPORT_FOCUS("Teleport Focus", 50, 40, ItemID.TELEPORT_FOCUS), + TEAK_DRAWERS("Teak Drawers", 51, 180, ItemID.TEAK_DRAWERS), + COMBAT_RING("Combat Ring", 51, 630, ItemID.COMBAT_RING), + TEAK_KITCHEN_TABLE("Teak Kitchen Table", 52, 270, ItemID.TEAK_TABLE), + MAHOGANY_BENCH("Mahogany Bench", 52, 560, ItemID.MAHOGANY_BENCH), + MAHOGANY_TABLE("Mahogany Table", 52, 840, ItemID.MAHOGANY_TABLE), + FOUR_POSTER_BED("4-Poster Bed", 53, 450, ItemID._4POSTER), + EXTRA_WEAPONS_RACK("Extra Weapons Rack", 54, 440, ItemID.EXTRA_WEAPONS_RACK), + ELEMENTAL_SPHERE("Elemental Sphere", 54, 580, ItemID.ELEMENTAL_SPHERE), + TEAK_CLOCK("Teak Clock", 55, 202, ItemID.TEAK_CLOCK), + GILDED_DECORATION("Gilded Decoration", 56, 1020, ItemID.GILDED_DECORATION), + FANCY_TEAK_DRESSER("Fancy Teak Dresser", 56, 182, ItemID.FANCY_TEAK_DRESSER), + TEAK_SHELVES_1("Teak Shelves 1", 56, 330, ItemID.TEAK_SHELVES_1), + TEAK_EAGLE_LECTERN("Teak Eagle Lectern", 57, 180, ItemID.TEAK_EAGLE_LECTERN), + TEAK_DEMON_LECTERN("Teak Demon Lectern", 57, 180, ItemID.TEAK_DEMON_LECTERN), + LIMESTONE_ATTACK_STONE("Limestone attack stone", 59, 200, ItemID.ATTACK_STONE), + LUNAR_GLOBE("Lunar Globe", 59, 570, ItemID.LUNAR_GLOBE), + GILDED_FOUR_POSTER_BED("Gilded 4-Poster Bed", 60, 1330, ItemID.GILDED_4POSTER), + POSH_BELL_PULL("Posh Bell-Pull", 60, 420, ItemID.POSH_BELLPULL), + SPICE_RACK("Spice Rack", 60, 374, ItemID.SPICE_RACK), + YEW_TREE("Yew Tree", 60, 141, ItemID.YEW_TREE), + GILDED_BENCH("Gilded Bench", 61, 1760, ItemID.GILDED_BENCH), + TEAK_WARDROBE("Teak Wardrobe", 63, 270, ItemID.TEAK_WARDROBE), + MARBLE_FIREPLACE("Marble Fireplace", 63, 500, ItemID.MARBLE_FIREPLACE), + ASTRONOMICAL_CHART("Astronomical Chart", 63, 45, ItemID.ASTRONOMICAL_CHART), + TEAK_TELESCOPE("Teak Telescope", 64, 181, ItemID.TEAK_TELESCOPE), + MAHOGANY_DRESSER("Mahogany Dresser", 64, 281, ItemID.MAHOGANY_DRESSER), + MAHOGANY_PORTAL("Mahogany Portal", 65, 420, ItemID.MAHOGANY_PORTAL), + GREATER_FOCUS("Greater Focus", 65, 500, ItemID.GREATER_FOCUS), + OPULENT_RUG("Opulent Rug", 65, 360, ItemID.OPULENT_RUG), + TEAK_GARDEN_BENCH("Teak Garden Bench", 66, 540, ItemID.TEAK_GARDEN_BENCH), + CRYSTAL_OF_POWER("Crystal of Power", 66, 890, ItemID.CRYSTAL_OF_POWER), + TEAK_SHELVES_2("Teak Shelves 2", 67, 930, ItemID.TEAK_SHELVES_2), + MAHOGANY_DEMON_LECTERN("Mahogany Demon Lectern", 67, 580, ItemID.TEAK_DEMON_LECTERN), + MAHOGANY_EAGLE_LECTERN("Mahogany Eagle Lectern", 67, 580, ItemID.TEAK_DEMON_LECTERN), + CELESTIAL_GLOBE("Celestial Globe", 68, 570, ItemID.CELESTIAL_GLOBE), + DUNGEON_ENTRANCE("Dungeon Entrance", 70, 500, ItemID.DUNGEON_ENTRANCE), + RANGING_PEDESTALS("Ranging Pedestals", 71, 720, ItemID.RANGING_PEDESTALS), + OPULENT_TABLE("Opulent Table", 72, 3100, ItemID.OPULENT_TABLE), + OAK_DOOR("Oak Door", 74, 600, ItemID.OAK_DOOR), + GILDED_DRESSER("Gilded Dresser", 74, 582, ItemID.GILDED_DRESSER), + MAHOGANY_WARDROBE("Mahogany Wardrobe", 75, 420, ItemID.MAHOGANY_WARDROBE), + MAGIC_TREE("Magic Tree", 75, 223, ItemID.MAGIC_TREE), + ARMILLARY_GLOBE("Armillary Globe", 77, 960, ItemID.GLOBE), + GNOME_BENCH("Gnome Bench", 77, 840, ItemID.GNOME_BENCH), + MARBLE_PORTAL("Marble Portal", 80, 1500, ItemID.MARBLE_PORTAL), + SCRYING_POOL("Scrying Pool", 80, 2000, ItemID.SCRYING_POOL), + BALANCE_BEAM("Balance Beam", 81, 1000, ItemID.BALANCE_BEAM), + INFERNAL_CHART("Infernal Chart", 83, 60, ItemID.INFERNAL_CHART), + MAHOGANY_TELESCOPE("Mahogany Telescope", 84, 281, ItemID.MAHOGANY_TELESCOPE), + GILDED_CLOCK("Gilded Clock", 85, 602, ItemID.GILDED_CLOCK), + SMALL_ORRERY("Small Orrery", 86, 1320, ItemID.SMALL_ORRERY), + GILDED_WARDROBE("Gilded Wardrobe", 87, 720, ItemID.GILDED_WARDROBE), + LARGE_ORRERY("Large Orrery", 95, 1420, ItemID.LARGE_ORRERY), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-api/src/main/java/net/runelite/api/Favour.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java similarity index 71% rename from runelite-api/src/main/java/net/runelite/api/Favour.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java index 38904257b1..d398ea2786 100644 --- a/runelite-api/src/main/java/net/runelite/api/Favour.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ConstructionBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 William + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,24 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.api; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -import lombok.RequiredArgsConstructor; -/** - * An enumeration of Kourend house favour the player can earn. - */ -@RequiredArgsConstructor -@Getter -public enum Favour +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum ConstructionBonus implements SkillBonus { - ARCEUUS("Arceuus", Varbits.KOUREND_FAVOR_ARCEUUS), - HOSIDIUS("Hosidius", Varbits.KOUREND_FAVOR_HOSIDIUS), - LOVAKENGJ("Lovakengj", Varbits.KOUREND_FAVOR_LOVAKENGJ), - PISCARILIUS("Piscarilius", Varbits.KOUREND_FAVOR_PISCARILIUS), - SHAYZIEN("Shayzien", Varbits.KOUREND_FAVOR_SHAYZIEN); + CARPENTERS_OUTFIT("Carpenter's Outfit (+2.5%)", 0.025f), + ; private final String name; - private final Varbits varbit; + private final float value; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java new file mode 100644 index 0000000000..7a6c09cc4c --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CookingAction.java @@ -0,0 +1,163 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum CookingAction implements ItemSkillAction +{ + SINEW(ItemID.SINEW, 1, 3), + SHRIMPS(ItemID.SHRIMPS, 1, 30), + COOKED_CHICKEN(ItemID.COOKED_CHICKEN, 1, 30), + COOKED_MEAT(ItemID.COOKED_MEAT, 1, 30), + COOKED_RABBIT(ItemID.COOKED_RABBIT, 1, 30), + ANCHOVIES(ItemID.ANCHOVIES, 1, 30), + SARDINE(ItemID.SARDINE, 1, 40), + POISON_KARAMBWAN(ItemID.POISON_KARAMBWAN, 1, 80), + UGTHANKI_MEAT(ItemID.UGTHANKI_MEAT, 1, 40), + BREAD(ItemID.BREAD, 1, 40), + HERRING(ItemID.HERRING, 5, 50), + FRUIT_BLAST(ItemID.FRUIT_BLAST, 6, 50), + BAKED_POTATO(ItemID.BAKED_POTATO, 7, 15), + GUPPY(ItemID.GUPPY, 7, 12), + PINEAPPLE_PUNCH(ItemID.PINEAPPLE_PUNCH, 8, 70), + SPICY_SAUCE(ItemID.SPICY_SAUCE, 9, 25), + MACKEREL(ItemID.MACKEREL, 10, 60), + REDBERRY_PIE(ItemID.REDBERRY_PIE, 10, 78), + TOAD_CRUNCHIES(ItemID.TOAD_CRUNCHIES, 10, 100), + CHILLI_CON_CARNE(ItemID.CHILLI_CON_CARNE, 11, 55), + ROAST_BIRD_MEAT(ItemID.ROAST_BIRD_MEAT, 11, 62.5f), + THIN_SNAIL_MEAT(ItemID.THIN_SNAIL_MEAT, 12, 70), + SPICY_CRUNCHIES(ItemID.SPICY_CRUNCHIES, 12, 100), + SCRAMBLED_EGG(ItemID.SCRAMBLED_EGG, 13, 50), + CIDER(ItemID.CIDER, 14, 182), + WORM_CRUNCHIES(ItemID.WORM_CRUNCHIES, 14, 104), + TROUT(ItemID.TROUT, 15, 70), + SPIDER_ON_STICK(ItemID.SPIDER_ON_STICK, 16, 80), + SPIDER_ON_SHAFT(ItemID.SPIDER_ON_SHAFT, 16, 80), + ROAST_RABBIT(ItemID.ROAST_RABBIT, 16, 72.5f), + CHOCCHIP_CRUNCHIES(ItemID.CHOCCHIP_CRUNCHIES, 16, 100), + LEAN_SNAIL_MEAT(ItemID.LEAN_SNAIL_MEAT, 17, 80), + COD(ItemID.COD, 18, 75), + WIZARD_BLIZZARD(ItemID.WIZARD_BLIZZARD, 18, 110), + DWARVEN_STOUT(ItemID.DWARVEN_STOUT, 19, 215), + SHORT_GREEN_GUY(ItemID.SHORT_GREEN_GUY, 20, 120), + MEAT_PIE(ItemID.MEAT_PIE, 20, 110), + PIKE(ItemID.PIKE, 20, 80), + CUP_OF_TEA(ItemID.CUP_OF_TEA, 20, 52), + CAVEFISH(ItemID.CAVEFISH, 20, 23), + ROAST_BEAST_MEAT(ItemID.ROAST_BEAST_MEAT, 21, 82.5f), + COOKED_CRAB_MEAT(ItemID.COOKED_CRAB_MEAT, 21, 100), + POT_OF_CREAM(ItemID.POT_OF_CREAM, 21, 18), + FAT_SNAIL_MEAT(ItemID.FAT_SNAIL_MEAT, 22, 95), + EGG_AND_TOMATO(ItemID.EGG_AND_TOMATO, 23, 50), + ASGARNIAN_ALE(ItemID.ASGARNIAN_ALE, 24, 248), + SALMON(ItemID.SALMON, 25, 90), + STEW(ItemID.STEW, 25, 117), + FRUIT_BATTA(ItemID.FRUIT_BATTA, 25, 150), + TOAD_BATTA(ItemID.TOAD_BATTA, 26, 152), + WORM_BATTA(ItemID.WORM_BATTA, 27, 154), + VEGETABLE_BATTA(ItemID.VEGETABLE_BATTA, 28, 156), + SWEETCORN(ItemID.COOKED_SWEETCORN, 28, 104), + COOKED_SLIMY_EEL(ItemID.COOKED_SLIMY_EEL, 28, 95), + MUD_PIE(ItemID.MUD_PIE, 29, 128), + GREENMANS_ALE(ItemID.GREENMANS_ALE, 29, 281), + CHEESE_AND_TOMATO_BATTA(ItemID.CHEESETOM_BATTA, 29, 158), + TUNA(ItemID.TUNA, 30, 100), + APPLE_PIE(ItemID.APPLE_PIE, 30, 130), + WORM_HOLE(ItemID.WORM_HOLE, 30, 170), + COOKED_KARAMBWAN(ItemID.COOKED_KARAMBWAN, 30, 190), + ROASTED_CHOMPY(ItemID.COOKED_CHOMPY, 30, 100), + FISHCAKE(ItemID.COOKED_FISHCAKE, 31, 100), + DRUNK_DRAGON(ItemID.DRUNK_DRAGON, 32, 160), + CHOC_SATURDAY(ItemID.CHOC_SATURDAY, 33, 170), + TETRA(ItemID.TETRA, 33, 31), + GARDEN_PIE(ItemID.GARDEN_PIE, 34, 138), + WIZARDS_MIND_BOMB(ItemID.WIZARDS_MIND_BOMB, 34, 314), + JUG_OF_WINE(ItemID.JUG_OF_WINE, 35, 200), + PLAIN_PIZZA(ItemID.PLAIN_PIZZA, 35, 143), + RAINBOW_FISH(ItemID.RAINBOW_FISH, 35, 110), + VEG_BALL(ItemID.VEG_BALL, 35, 175), + BLURBERRY_SPECIAL(ItemID.BLURBERRY_SPECIAL, 37, 180), + CAVE_EEL(ItemID.CAVE_EEL, 38, 115), + PAT_OF_BUTTER(ItemID.PAT_OF_BUTTER, 38, 40.5f), + DRAGON_BITTER(ItemID.DRAGON_BITTER, 39, 347), + POTATO_WITH_BUTTER(ItemID.POTATO_WITH_BUTTER, 39, 40), + LOBSTER(ItemID.LOBSTER, 40, 120), + CAKE(ItemID.CAKE, 40, 180), + TANGLED_TOADS_LEGS(ItemID.TANGLED_TOADS_LEGS, 40, 185), + CHILLI_POTATO(ItemID.CHILLI_POTATO, 41, 165.5f), + COOKED_JUBBLY(ItemID.COOKED_JUBBLY, 41, 160), + CHOCOLATE_BOMB(ItemID.CHOCOLATE_BOMB, 42, 190), + FRIED_ONIONS(ItemID.FRIED_ONIONS, 42, 60), + BASS(ItemID.BASS, 43, 130), + MOONLIGHT_MEAD(ItemID.MOONLIGHT_MEAD, 44, 380), + SWORDFISH(ItemID.SWORDFISH, 45, 140), + MEAT_PIZZA(ItemID.MEAT_PIZZA, 45, 169), + FRIED_MUSHROOMS(ItemID.FRIED_MUSHROOMS, 46, 60), + CATFISH(ItemID.CATFISH, 46, 43), + FISH_PIE(ItemID.FISH_PIE, 47, 164), + POTATO_WITH_CHEESE(ItemID.POTATO_WITH_CHEESE, 47, 40), + CHEESE(ItemID.CHEESE, 48, 64), + AXEMANS_FOLLY(ItemID.AXEMANS_FOLLY, 49, 413), + COOKED_OOMLIE_WRAP(ItemID.COOKED_OOMLIE_WRAP, 50, 30), + CHOCOLATE_CAKE(ItemID.CHOCOLATE_CAKE, 50, 210), + EGG_POTATO(ItemID.EGG_POTATO, 51, 195.5f), + BOTANICAL_PIE(ItemID.BOTANICAL_PIE, 52, 180), + LAVA_EEL(ItemID.LAVA_EEL, 53, 30), + CHEFS_DELIGHT(ItemID.CHEFS_DELIGHT, 54, 446), + ANCHOVY_PIZZA(ItemID.ANCHOVY_PIZZA, 55, 182), + MUSHROOM_AND_ONION(ItemID.MUSHROOM__ONION, 57, 120), + UGTHANKI_KEBAB_FRESH(ItemID.UGTHANKI_KEBAB, 58, 80), + PITTA_BREAD(ItemID.PITTA_BREAD, 58, 40), + SLAYERS_RESPITE(ItemID.SLAYERS_RESPITE, 59, 479), + CURRY(ItemID.CURRY, 60, 280), + MUSHROOM_PIE(ItemID.MUSHROOM_PIE, 60, 200), + MONKFISH(ItemID.MONKFISH, 62, 150), + MUSHROOM_POTATO(ItemID.MUSHROOM_POTATO, 64, 270.5f), + PINEAPPLE_PIZZA(ItemID.PINEAPPLE_PIZZA, 65, 188), + WINE_OF_ZAMORAK(ItemID.WINE_OF_ZAMORAK, 65, 200), + TUNA_AND_CORN(ItemID.TUNA_AND_CORN, 67, 204), + TUNA_POTATO(ItemID.TUNA_POTATO, 68, 309.5f), + ADMIRAL_PIE(ItemID.ADMIRAL_PIE, 70, 210), + SACRED_EEL(ItemID.SACRED_EEL, 72, 109), + DRAGONFRUIT_PIE(ItemID.DRAGONFRUIT_PIE, 73, 220), + SHARK(ItemID.SHARK, 80, 210), + SEA_TURTLE(ItemID.SEA_TURTLE, 82, 211.3f), + ANGLERFISH(ItemID.ANGLERFISH, 84, 230), + WILD_PIE(ItemID.WILD_PIE, 85, 240), + DARK_CRAB(ItemID.DARK_CRAB, 90, 215), + MANTA_RAY(ItemID.MANTA_RAY, 91, 216.3f), + SUMMER_PIE(ItemID.SUMMER_PIE, 95, 260), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java new file mode 100644 index 0000000000..c7c8720508 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/CraftingAction.java @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum CraftingAction implements ItemSkillAction +{ + BALL_OF_WOOL(ItemID.BALL_OF_WOOL, 1, 2.5f), + UNFIRED_POT(ItemID.UNFIRED_POT, 1, 6.3f), + POT(ItemID.POT, 1, 6.3f), + LEATHER_GLOVES(ItemID.LEATHER_GLOVES, 1, 13.8f), + OPAL(ItemID.OPAL, 1, 15), + OPAL_RING(ItemID.OPAL_RING, 1, 10), + MOLTEN_GLASS(ItemID.MOLTEN_GLASS, 1, 20), + BEER_GLASS(ItemID.BEER_GLASS, 1, 17.5f), + EMPTY_CANDLE_LANTERN(ItemID.EMPTY_CANDLE_LANTERN, 4, 19), + GOLD_RING(ItemID.GOLD_RING, 5, 15), + BIRD_HOUSE(ItemID.BIRD_HOUSE, 5, 15), + GOLD_NECKLACE(ItemID.GOLD_NECKLACE, 6, 20), + LEATHER_BOOTS(ItemID.LEATHER_BOOTS, 7, 16.3f), + UNFIRED_PIE_DISH(ItemID.UNFIRED_PIE_DISH, 7, 15), + PIE_DISH(ItemID.PIE_DISH, 7, 10), + GOLD_BRACELET(ItemID.GOLD_BRACELET, 7, 25), + UNFIRED_BOWL(ItemID.UNFIRED_BOWL, 8, 18), + BOWL(ItemID.BOWL, 8, 15), + GOLD_AMULET_U(ItemID.GOLD_AMULET_U, 8, 30), + COWL(ItemID.LEATHER_COWL, 9, 18.5f), + CROSSBOW_STRING(ItemID.CROSSBOW_STRING, 10, 15), + BOW_STRING(ItemID.BOW_STRING, 10, 15), + LEATHER_VAMBRACES(ItemID.LEATHER_VAMBRACES, 11, 22), + EMPTY_OIL_LAMP(ItemID.EMPTY_OIL_LAMP, 12, 25), + JADE(ItemID.JADE, 13, 20), + JADE_RING(ItemID.JADE_RING, 13, 32), + LEATHER_BODY(ItemID.LEATHER_BODY, 14, 25), + OAK_BIRD_HOUSE(ItemID.OAK_BIRD_HOUSE, 15, 20), + RED_TOPAZ(ItemID.RED_TOPAZ, 16, 25), + TOPAZ_RING(ItemID.TOPAZ_RING, 16, 35), + HOLY_SYMBOL(ItemID.HOLY_SYMBOL, 16, 50), + OPAL_NECKLACE(ItemID.OPAL_NECKLACE, 16, 35), + UNHOLY_SYMBOL(ItemID.UNHOLY_SYMBOL, 17, 50), + LEATHER_CHAPS(ItemID.LEATHER_CHAPS, 18, 27), + UNFIRED_PLANT_POT(ItemID.UNFIRED_PLANT_POT, 19, 20), + EMPTY_PLANT_POT(ItemID.EMPTY_PLANT_POT, 19, 17.5f), + MAGIC_STRING(ItemID.MAGIC_STRING, 19, 30), + SAPPHIRE(ItemID.SAPPHIRE, 20, 50), + SAPPHIRE_RING(ItemID.SAPPHIRE_RING, 20, 40), + EMPTY_SACK(ItemID.EMPTY_SACK, 21, 38), + SAPPHIRE_NECKLACE(ItemID.SAPPHIRE_NECKLACE, 22, 55), + OPAL_BRACELET(ItemID.OPAL_BRACELET, 22, 45), + SAPPHIRE_BRACELET(ItemID.SAPPHIRE_BRACELET, 23, 60), + TIARA(ItemID.TIARA, 23, 52.5f), + SAPPHIRE_AMULET_U(ItemID.SAPPHIRE_AMULET_U, 24, 65), + UNFIRED_POT_LID(ItemID.UNFIRED_POT_LID, 25, 20), + POT_LID(ItemID.POT_LID, 25, 20), + JADE_NECKLACE(ItemID.JADE_NECKLACE, 25, 54), + WILLOW_BIRD_HOUSE(ItemID.WILLOW_BIRD_HOUSE, 25, 25), + DRIFT_NET(ItemID.SMALL_FISHING_NET_6209, 26, 55), + EMERALD(ItemID.EMERALD, 27, 67.5f), + EMERALD_RING(ItemID.EMERALD_RING, 27, 55), + OPAL_AMULET_U(ItemID.OPAL_AMULET_U, 27, 55), + HARDLEATHER_BODY(ItemID.HARDLEATHER_BODY, 28, 35), + EMERALD_NECKLACE(ItemID.EMERALD_NECKLACE, 29, 60), + JADE_BRACELET(ItemID.JADE_BRACELET, 29, 60), + EMERALD_BRACELET(ItemID.EMERALD_BRACELET, 30, 65), + ROPE(ItemID.ROPE, 30, 25), + EMERALD_AMULET_U(ItemID.EMERALD_AMULET_U, 31, 70), + SPIKY_VAMBRACES(ItemID.SPIKY_VAMBRACES, 32, 6), + TOPAZ_NECKLACE(ItemID.TOPAZ_NECKLACE, 32, 70), + VIAL(ItemID.VIAL, 33, 35), + RUBY(ItemID.RUBY, 34, 85), + RUBY_RING(ItemID.RUBY_RING, 34, 70), + JADE_AMULET_U(ItemID.JADE_AMULET_U, 34, 70), + BROODOO_SHIELD(ItemID.BROODOO_SHIELD, 35, 100), + TEAK_BIRD_HOUSE(ItemID.TEAK_BIRD_HOUSE, 35, 30), + BASKET(ItemID.BASKET, 36, 56), + COIF(ItemID.COIF, 38, 37), + TOPAZ_BRACELET(ItemID.TOPAZ_BRACELET, 38, 75), + RUBY_NECKLACE(ItemID.RUBY_NECKLACE, 40, 75), + HARD_LEATHER_SHIELD(ItemID.HARD_LEATHER_SHIELD, 41, 70), + RUBY_BRACELET(ItemID.RUBY_BRACELET, 42, 80), + FISHBOWL(ItemID.FISHBOWL, 42, 42.5f), + DIAMOND(ItemID.DIAMOND, 43, 107.5f), + DIAMOND_RING(ItemID.DIAMOND_RING, 43, 85), + TOPAZ_AMULET_U(ItemID.TOPAZ_AMULET_U, 45, 80), + SNAKESKIN_BOOTS(ItemID.SNAKESKIN_BOOTS, 45, 30), + MAPLE_BIRD_HOUSE(ItemID.MAPLE_BIRD_HOUSE, 45, 35), + UNPOWERED_ORB(ItemID.UNPOWERED_ORB, 46, 52.5f), + SNAKESKIN_VAMBRACES(ItemID.SNAKESKIN_VAMBRACES, 47, 35), + SNAKESKIN_BANDANA(ItemID.SNAKESKIN_BANDANA, 48, 45), + LANTERN_LENS(ItemID.LANTERN_LENS, 49, 55), + RUBY_AMULET_U(ItemID.RUBY_AMULET_U, 50, 85), + MAHOGANY_BIRD_HOUSE(ItemID.MAHOGANY_BIRD_HOUSE, 50, 40), + SNAKESKIN_CHAPS(ItemID.SNAKESKIN_CHAPS, 51, 50), + SNAKESKIN_BODY(ItemID.SNAKESKIN_BODY, 53, 55), + WATER_BATTLESTAFF(ItemID.WATER_BATTLESTAFF, 54, 100), + DRAGONSTONE(ItemID.DRAGONSTONE, 55, 137.5f), + DRAGONSTONE_RING(ItemID.DRAGONSTONE_RING, 55, 100), + DIAMOND_NECKLACE(ItemID.DIAMOND_NECKLACE, 56, 90), + SNAKESKIN_SHIELD(ItemID.SNAKESKIN_SHIELD, 56, 100), + GREEN_DHIDE_VAMB(ItemID.GREEN_DHIDE_VAMBRACES, 57, 62), + DIAMOND_BRACELET(ItemID.DIAMOND_BRACELET, 58, 95), + EARTH_BATTLESTAFF(ItemID.EARTH_BATTLESTAFF, 58, 112.5f), + GREEN_DHIDE_CHAPS(ItemID.GREEN_DHIDE_CHAPS, 60, 124), + YEW_BIRD_HOUSE(ItemID.YEW_BIRD_HOUSE, 60, 45), + FIRE_BATTLESTAFF(ItemID.FIRE_BATTLESTAFF, 62, 125), + GREEN_DHIDE_SHIELD(ItemID.GREEN_DHIDE_SHIELD, 62, 124), + GREEN_DHIDE_BODY(ItemID.GREEN_DHIDE_BODY, 63, 186), + AIR_BATTLESTAFF(ItemID.AIR_BATTLESTAFF, 66, 137.5f), + BLUE_DHIDE_VAMB(ItemID.BLUE_DHIDE_VAMBRACES, 66, 70), + ONYX_RING(ItemID.ONYX_RING, 67, 115), + ONYX(ItemID.ONYX, 67, 167.5f), + BLUE_DHIDE_CHAPS(ItemID.BLUE_DHIDE_CHAPS, 68, 140), + BLUE_DHIDE_SHIELD(ItemID.BLUE_DHIDE_SHIELD, 69, 140), + DIAMOND_AMULET_U(ItemID.DIAMOND_AMULET_U, 70, 100), + BLUE_DHIDE_BODY(ItemID.BLUE_DHIDE_BODY, 71, 210), + DRAGONSTONE_NECKLACE(ItemID.DRAGON_NECKLACE, 72, 105), + RED_DHIDE_VAMB(ItemID.RED_DHIDE_VAMBRACES, 73, 78), + DRAGONSTONE_BRACELET(ItemID.DRAGONSTONE_BRACELET, 74, 110), + RED_DHIDE_CHAPS(ItemID.RED_DHIDE_CHAPS, 75, 156), + MAGIC_BIRD_HOUSE(ItemID.MAGIC_BIRD_HOUSE, 75, 50), + RED_DHIDE_SHIELD(ItemID.RED_DHIDE_SHIELD, 76, 156), + RED_DHIDE_BODY(ItemID.RED_DHIDE_BODY, 77, 234), + BLACK_DHIDE_VAMB(ItemID.BLACK_DHIDE_VAMBRACES, 79, 86), + DRAGONSTONE_AMULET_U(ItemID.DRAGONSTONE_AMULET_U, 80, 150), + BLACK_DHIDE_CHAPS(ItemID.BLACK_DHIDE_CHAPS, 82, 172), + ONYX_NECKLACE(ItemID.ONYX_NECKLACE, 82, 120), + AMETHYST_BOLT_TIPS(ItemID.AMETHYST_BOLT_TIPS, 83, 4), + BLACK_DHIDE_SHIELD(ItemID.BLACK_DHIDE_SHIELD, 83, 172), + BLACK_DHIDE_BODY(ItemID.BLACK_DHIDE_BODY, 84, 258), + ONYX_BRACELET(ItemID.ONYX_BRACELET, 84, 125), + AMETHYST_ARROWTIPS(ItemID.AMETHYST_ARROWTIPS, 85, 4), + AMETHYST_JAVELIN_HEADS(ItemID.AMETHYST_JAVELIN_HEADS, 87, 12), + LIGHT_ORB(ItemID.LIGHT_ORB, 87, 70), + AMETHYST_DART_TIP(ItemID.AMETHYST_DART_TIP, 89, 7.5f), + ZENYTE(ItemID.ZENYTE, 89, 200), + ZENYTE_RING(ItemID.ZENYTE_RING, 89, 150), + ONYX_AMULET_U(ItemID.ONYX_AMULET_U, 90, 165), + REDWOOD_BIRD_HOUSE(ItemID.REDWOOD_BIRD_HOUSE, 90, 55), + ZENYTE_NECKLACE(ItemID.ZENYTE_NECKLACE, 92, 165), + ZENYTE_BRACELET(ItemID.ZENYTE_BRACELET, 95, 180), + ZENYTE_AMULET_U(ItemID.ZENYTE_AMULET_U, 98, 200), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java new file mode 100644 index 0000000000..6f17dcceb3 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingAction.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FarmingAction implements NamedSkillAction +{ + PLANT("Plant", 1, 31, ItemID.PLANT), + FERN_BIG_PLANT("Fern (big plant)", 1, 31, ItemID.FERN_8186), + SHORT_PLANT("Short Plant", 1, 31, ItemID.SHORT_PLANT), + DOCK_LEAF("Dock Leaf", 1, 31, ItemID.DOCK_LEAF), + SMALL_FERN("Small Fern", 1, 70, ItemID.SMALL_FERN), + THISTLE("Thistle", 1, 70, ItemID.THISTLE), + BUSH("Bush", 1, 70, ItemID.BUSH), + LARGE_LEAF_BUSH("Large Leaf Bush", 1, 70, ItemID.LARGELEAF_PLANT), + HUGE_PLANT("Huge Plant", 1, 100, ItemID.HUGE_PLANT), + TALL_PLANT("Tall Plant", 1, 100, ItemID.TALL_PLANT), + REEDS("Reeds", 1, 100, ItemID.REEDS), + FERN_SMALL_PLANT("Fern (small plant)", 1, 100, ItemID.FERN), + WINTER_SQIRK("Winter Sq'irk", 1, 30, ItemID.WINTER_SQIRK), + SPRING_SQIRK("Spring Sq'irk", 1, 40, ItemID.SPRING_SQIRK), + AUTUMN_SQIRK("Autumn Sq'irk", 1, 50, ItemID.AUTUMN_SQIRK), + SUMMER_SQIRK("Summer Sq'irk", 1, 60, ItemID.SUMMER_SQIRK), + POTATOES("Potatoes", 1, 8, ItemID.POTATO), + ONIONS("Onions", 5, 10, ItemID.ONION), + CABBAGES("Cabbages", 7, 10, ItemID.CABBAGE), + GUAM_LEAF("Guam Leaf", 9, 11, ItemID.GUAM_LEAF), + TOMATOES("Tomatoes", 12, 12.5f, ItemID.TOMATO), + MARRENTILL("Marrentill", 14, 13.5f, ItemID.MARRENTILL), + OAK_TREE("Oak Tree", 15, 481.3f, ItemID.OAK_LOGS), + TARROMIN("Tarromin", 19, 16, ItemID.TARROMIN), + SWEETCORN("Sweetcorn", 20, 17, ItemID.SWEETCORN), + GIANT_SEAWEED("Giant seaweed", 23, 21, ItemID.GIANT_SEAWEED), + HARRALANDER("Harralander", 26, 21.5f, ItemID.HARRALANDER), + LIMPWURT_PLANT("Limpwurt Plant", 26, 40, ItemID.LIMPWURT_ROOT), + APPLE_TREE("Apple Tree", 27, 1221.5f, ItemID.COOKING_APPLE), + GOUTWEED("Goutweed", 29, 105, ItemID.GOUTWEED), + WILLOW_TREE("Willow Tree", 30, 1481.5f, ItemID.WILLOW_LOGS), + STRAWBERRIES("Strawberries", 31, 26, ItemID.STRAWBERRY), + RANARR_WEED("Ranarr Weed", 32, 27, ItemID.RANARR_WEED), + BANANA_TREE("Banana Tree", 33, 1778.5f, ItemID.BANANA), + TEAK_TREE("Teak Tree", 35, 7315, ItemID.TEAK_LOGS), + TOADFLAX("Toadflax", 38, 34, ItemID.TOADFLAX), + ORANGE_TREE("Orange Tree", 39, 2505.7f, ItemID.ORANGE), + CURRY_TREE("Curry Tree", 42, 2946.9f, ItemID.CURRY_LEAF), + IRIT_LEAF("Irit Leaf", 44, 43, ItemID.IRIT_LEAF), + MAPLE_TREE("Maple Tree", 45, 3448.4f, ItemID.MAPLE_LOGS), + WATERMELONS("Watermelons", 47, 49, ItemID.WATERMELON), + AVANTOE("Avantoe", 50, 54.5f, ItemID.AVANTOE), + PINEAPPLE_PLANT("Pineapple Plant", 51, 4662.7f, ItemID.PINEAPPLE), + MAHOGANY_TREE("Mahogany Tree", 55, 15783, ItemID.MAHOGANY_LOGS), + KWUARM("Kwuarm", 56, 69, ItemID.KWUARM), + PAPAYA_TREE("Papaya Tree", 57, 6218.4f, ItemID.PAPAYA_FRUIT), + WHITE_LILY("White lily", 58, 292, ItemID.WHITE_LILY), + YEW_TREE("Yew Tree", 60, 7150.9f, ItemID.YEW_LOGS), + SNAPE_GRASS("Snape grass", 61, 82, ItemID.SNAPE_GRASS), + SNAPDRAGON("Snapdragon", 62, 87.5f, ItemID.SNAPDRAGON), + HESPORI("Hespori", 65, 12662, ItemID.CLAN_WARS_CAPE_12662), + CADANTINE("Cadantine", 67, 106.5f, ItemID.CADANTINE), + PALM_TREE("Palm Tree", 68, 10260.6f, ItemID.COCONUT), + CALQUAT_TREE("Calquat Tree", 72, 12225.5f, ItemID.CALQUAT_FRUIT), + LANTADYME("Lantadyme", 73, 134.5f, ItemID.LANTADYME), + CRYSTAL_TREE("Crystal Tree", 74, 13366, ItemID.CRYSTAL_SHARD), + MAGIC_TREE("Magic Tree", 75, 13913.8f, ItemID.MAGIC_LOGS), + DWARF_WEED("Dwarf Weed", 79, 170.5f, ItemID.DWARF_WEED), + DRAGONFRUIT_TREE("Dragonfruit Tree", 81, 17895, ItemID.DRAGONFRUIT), + SPIRIT_TREE("Spirit Tree", 83, 19501.3f, ItemID.SPIRIT_TREE), + CELASTRUS_TREE("Celastrus Tree", 85, 14334, ItemID.CELASTRUS_BARK), + TORSTOL("Torstol", 85, 199.5f, ItemID.TORSTOL), + REDWOOD_TREE("Redwood Tree", 90, 22680, ItemID.REDWOOD_LOGS), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java similarity index 78% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java index 4c2d36aa68..bef0a0bf2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FarmingBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,13 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -@Getter -public class SkillData +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FarmingBonus implements SkillBonus { - private SkillDataEntry[] actions; - private SkillDataBonus[] bonuses; -} \ No newline at end of file + FARMERS_OUTFIT("Farmer's Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java new file mode 100644 index 0000000000..424fb851a8 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingAction.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FiremakingAction implements ItemSkillAction +{ + LOGS(ItemID.LOGS, 1, 40), + ACHEY_TREE_LOGS(ItemID.ACHEY_TREE_LOGS, 1, 40), + OAK_LOGS(ItemID.OAK_LOGS, 15, 60), + WILLOW_LOGS(ItemID.WILLOW_LOGS, 30, 90), + TEAK_LOGS(ItemID.TEAK_LOGS, 35, 105), + ARCTIC_PINE_LOGS(ItemID.ARCTIC_PINE_LOGS, 42, 125), + MAPLE_LOGS(ItemID.MAPLE_LOGS, 45, 135), + MAHOGANY_LOGS(ItemID.MAHOGANY_LOGS, 50, 157.5f), + YEW_LOGS(ItemID.YEW_LOGS, 60, 202.5f), + BLISTERWOOD_LOGS(ItemID.BLISTERWOOD_LOGS, 62, 96), + MAGIC_LOGS(ItemID.MAGIC_LOGS, 75, 303.8f), + REDWOOD_LOGS(ItemID.REDWOOD_LOGS, 90, 350), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java new file mode 100644 index 0000000000..6f4cd5a720 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FiremakingBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FiremakingBonus implements SkillBonus +{ + PYROMANCER_OUTFIT("Pyromancer Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java new file mode 100644 index 0000000000..7f42218de2 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingAction.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FishingAction implements ItemSkillAction +{ + RAW_SHRIMPS(ItemID.RAW_SHRIMPS, 1, 10), + RAW_SARDINE(ItemID.RAW_SARDINE, 5, 20), + RAW_KARAMBWANJI(ItemID.RAW_KARAMBWANJI, 5, 5), + RAW_GUPPY(ItemID.RAW_GUPPY, 7, 8), + RAW_HERRING(ItemID.RAW_HERRING, 10, 30), + RAW_ANCHOVIES(ItemID.RAW_ANCHOVIES, 15, 40), + RAW_MACKEREL(ItemID.RAW_MACKEREL, 16, 20), + RAW_TROUT(ItemID.RAW_TROUT, 20, 50), + RAW_CAVEFISH(ItemID.RAW_CAVEFISH, 20, 16), + RAW_COD(ItemID.RAW_COD, 23, 45), + RAW_PIKE(ItemID.RAW_PIKE, 25, 60), + RAW_SLIMY_EEL(ItemID.RAW_SLIMY_EEL, 28, 65), + RAW_SALMON(ItemID.RAW_SALMON, 30, 70), + RAW_TETRA(ItemID.RAW_TETRA, 33, 24), + RAW_TUNA(ItemID.RAW_TUNA, 35, 80), + RAW_RAINBOW_FISH(ItemID.RAW_RAINBOW_FISH, 38, 80), + RAW_CAVE_EEL(ItemID.RAW_CAVE_EEL, 38, 80), + RAW_LOBSTER(ItemID.RAW_LOBSTER, 40, 90), + RAW_BASS(ItemID.RAW_BASS, 46, 100), + RAW_CATFISH(ItemID.RAW_CATFISH, 46, 33), + LEAPING_TROUT(ItemID.LEAPING_TROUT, 48, 50), + RAW_SWORDFISH(ItemID.RAW_SWORDFISH, 50, 100), + LEAPING_SALMON(ItemID.LEAPING_SALMON, 58, 70), + RAW_MONKFISH(ItemID.RAW_MONKFISH, 62, 120), + RAW_KARAMBWAN(ItemID.RAW_KARAMBWAN, 65, 50), + LEAPING_STURGEON(ItemID.LEAPING_STURGEON, 70, 80), + RAW_SHARK(ItemID.RAW_SHARK, 76, 110), + RAW_SEA_TURTLE(ItemID.RAW_SEA_TURTLE, 79, 38), + INFERNAL_EEL(ItemID.INFERNAL_EEL, 80, 95), + RAW_MANTA_RAY(ItemID.RAW_MANTA_RAY, 81, 46), + RAW_ANGLERFISH(ItemID.RAW_ANGLERFISH, 82, 120), + MINNOW(ItemID.MINNOW, 82, 26.5f), + RAW_DARK_CRAB(ItemID.RAW_DARK_CRAB, 85, 130), + SACRED_EEL(ItemID.SACRED_EEL, 87, 105), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java new file mode 100644 index 0000000000..422d22968e --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FishingBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum FishingBonus implements SkillBonus +{ + ANGLERS_OUTFIT("Angler's Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java new file mode 100644 index 0000000000..c869ed06a2 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/FletchingAction.java @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum FletchingAction implements ItemSkillAction +{ + ARROW_SHAFT(ItemID.ARROW_SHAFT, 1, 0.33f), + HEADLESS_ARROW(ItemID.HEADLESS_ARROW, 1, 1), + BRONZE_ARROW(ItemID.BRONZE_ARROW, 1, 1.3f), + OGRE_ARROW(ItemID.OGRE_ARROW, 5, 1), + SHORTBOW_U(ItemID.SHORTBOW_U, 5, 5), + SHORTBOW(ItemID.SHORTBOW, 5, 5), + BRONZE_BOLTS(ItemID.BRONZE_BOLTS, 9, 0.5f), + WOODEN_STOCK(ItemID.WOODEN_STOCK, 9, 6), + BRONZE_CROSSBOW_U(ItemID.BRONZE_CROSSBOW_U, 9, 12), + BRONZE_CROSSBOW(ItemID.BRONZE_CROSSBOW, 9, 6), + BRONZE_DART(ItemID.BRONZE_DART, 10, 1.8f), + LONGBOW(ItemID.LONGBOW, 10, 10), + LONGBOW_U(ItemID.LONGBOW_U, 10, 10), + OPAL_BOLTS(ItemID.OPAL_BOLTS, 11, 1.6f), + IRON_ARROW(ItemID.IRON_ARROW, 15, 2.5f), + OAK_SHORTBOW_U(ItemID.OAK_SHORTBOW_U, 20, 16.5f), + OAK_SHORTBOW(ItemID.OAK_SHORTBOW, 20, 16.5f), + IRON_DART(ItemID.IRON_DART, 22, 3.8f), + OAK_STOCK(ItemID.OAK_STOCK, 24, 16), + BLURITE_CROSSBOW_U(ItemID.BLURITE_CROSSBOW_U, 24, 32), + BLURITE_CROSSBOW(ItemID.BLURITE_CROSSBOW, 24, 16), + OAK_LONGBOW_U(ItemID.OAK_LONGBOW_U, 25, 25), + OAK_LONGBOW(ItemID.OAK_LONGBOW, 25, 25), + OAK_SHIELD(ItemID.OAK_SHIELD, 27, 50), + STEEL_ARROW(ItemID.STEEL_ARROW, 30, 5), + KEBBIT_BOLTS(ItemID.KEBBIT_BOLTS, 32, 1), + WILLOW_SHORTBOW_U(ItemID.WILLOW_SHORTBOW_U, 35, 33.3f), + WILLOW_SHORTBOW(ItemID.WILLOW_SHORTBOW, 35, 33.3f), + STEEL_DART(ItemID.STEEL_DART, 37, 7.5f), + IRON_BOLTS(ItemID.IRON_BOLTS, 39, 1.5f), + WILLOW_STOCK(ItemID.WILLOW_STOCK, 39, 22), + IRON_CROSSBOW_U(ItemID.IRON_CROSSBOW_U, 39, 44), + IRON_CROSSBOW(ItemID.IRON_CROSSBOW, 39, 22), + WILLOW_LONGBOW_U(ItemID.WILLOW_LONGBOW_U, 40, 41.5f), + WILLOW_LONGBOW(ItemID.WILLOW_LONGBOW, 40, 41.5f), + BATTLESTAFF(ItemID.BATTLESTAFF, 40, 80), + PEARL_BOLTS(ItemID.PEARL_BOLTS, 41, 3.2f), + WILLOW_SHIELD(ItemID.WILLOW_SHIELD, 42, 83), + LONG_KEBBIT_BOLTS(ItemID.LONG_KEBBIT_BOLTS, 42, 1.3f), + SILVER_BOLTS(ItemID.SILVER_BOLTS, 43, 2.5f), + MITHRIL_ARROW(ItemID.MITHRIL_ARROW, 45, 7.5f), + STEEL_BOLTS(ItemID.STEEL_BOLTS, 46, 3.5f), + TEAK_STOCK(ItemID.TEAK_STOCK, 46, 27), + STEEL_CROSSBOW_U(ItemID.STEEL_CROSSBOW_U, 46, 54), + STEEL_CROSSBOW(ItemID.STEEL_CROSSBOW, 46, 27), + MAPLE_SHORTBOW_U(ItemID.MAPLE_SHORTBOW_U, 50, 50), + MAPLE_SHORTBOW(ItemID.MAPLE_SHORTBOW, 50, 50), + BARBED_BOLTS(ItemID.BARBED_BOLTS, 51, 9.5f), + MITHRIL_DART(ItemID.MITHRIL_DART, 52, 11.2f), + BROAD_ARROWS(ItemID.BROAD_ARROWS, 52, 10), + TOXIC_BLOWPIPE(ItemID.TOXIC_BLOWPIPE, 53, 120), + MITH_CROSSBOW(ItemID.MITHRIL_CROSSBOW, 54, 32), + MAPLE_STOCK(ItemID.MAPLE_STOCK, 54, 32), + MITHRIL_BOLTS(ItemID.MITHRIL_BOLTS, 54, 5), + MITHRIL_CROSSBOW_U(ItemID.MITHRIL_CROSSBOW_U, 54, 64), + MAPLE_LONGBOW_U(ItemID.MAPLE_LONGBOW_U, 55, 58.3f), + BROAD_BOLTS(ItemID.BROAD_BOLTS, 55, 3), + MAPLE_LONGBOW(ItemID.MAPLE_LONGBOW, 55, 58), + SAPPHIRE_BOLTS(ItemID.SAPPHIRE_BOLTS, 56, 4.7f), + MAPLE_SHIELD(ItemID.MAPLE_SHIELD, 57, 116.5f), + EMERALD_BOLTS(ItemID.EMERALD_BOLTS, 58, 5.5f), + ADAMANT_ARROW(ItemID.ADAMANT_ARROW, 60, 10), + ADAMANT_BOLTS(ItemID.ADAMANT_BOLTS, 61, 7), + MAHOGANY_STOCK(ItemID.MAHOGANY_STOCK, 61, 41), + ADAMANT_CROSSBOW_U(ItemID.ADAMANT_CROSSBOW_U, 61, 82), + ADAMANT_CROSSBOW(ItemID.ADAMANT_CROSSBOW, 61, 41), + RUBY_BOLTS(ItemID.RUBY_BOLTS, 63, 6.3f), + DIAMOND_BOLTS(ItemID.DIAMOND_BOLTS, 65, 7), + YEW_SHORTBOW(ItemID.YEW_SHORTBOW, 65, 67.5f), + YEW_SHORTBOW_U(ItemID.YEW_SHORTBOW_U, 65, 67.5f), + ADAMANT_DART(ItemID.ADAMANT_DART, 67, 15), + RUNITE_CROSSBOW_U(ItemID.RUNITE_CROSSBOW_U, 69, 100), + RUNE_CROSSBOW(ItemID.RUNE_CROSSBOW, 69, 50), + YEW_STOCK(ItemID.YEW_STOCK, 69, 50), + RUNITE_BOLTS(ItemID.RUNITE_BOLTS, 69, 10), + YEW_LONGBOW(ItemID.YEW_LONGBOW, 70, 75), + YEW_LONGBOW_U(ItemID.YEW_LONGBOW_U, 70, 75), + DRAGONSTONE_BOLTS(ItemID.DRAGONSTONE_BOLTS, 71, 8.2f), + YEW_SHIELD(ItemID.YEW_SHIELD, 72, 150), + ONYX_BOLTS(ItemID.ONYX_BOLTS, 73, 9.4f), + RUNE_ARROW(ItemID.RUNE_ARROW, 75, 12.5f), + AMETHYST_BROAD_BOLTS(ItemID.AMETHYST_BROAD_BOLTS, 76, 10.6f), + MAGIC_STOCK(ItemID.MAGIC_STOCK, 78, 70), + DRAGON_CROSSBOW_U(ItemID.DRAGON_CROSSBOW_U, 78, 135), + DRAGON_CROSSBOW(ItemID.DRAGON_CROSSBOW, 78, 70), + MAGIC_SHORTBOW(ItemID.MAGIC_SHORTBOW, 80, 83.3f), + MAGIC_SHORTBOW_U(ItemID.MAGIC_SHORTBOW_U, 80, 83.3f), + RUNE_DART(ItemID.RUNE_DART, 81, 18.8f), + AMETHYST_ARROW(ItemID.AMETHYST_ARROW, 82, 13.5f), + DRAGON_BOLTS(ItemID.DRAGON_BOLTS_UNF, 84, 12), + AMETHYST_JAVELIN(ItemID.AMETHYST_JAVELIN, 84, 13.5f), + MAGIC_LONGBOW(ItemID.MAGIC_LONGBOW, 85, 91.5f), + MAGIC_LONGBOW_U(ItemID.MAGIC_LONGBOW_U, 85, 91.5f), + MAGIC_SHIELD(ItemID.MAGIC_SHIELD, 87, 183), + AMETHYST_DART(ItemID.AMETHYST_DART, 90, 21), + DRAGON_ARROW(ItemID.DRAGON_ARROW, 90, 15), + REDWOOD_SHIELD(ItemID.REDWOOD_SHIELD, 92, 216), + DRAGON_DART(ItemID.DRAGON_DART, 95, 25), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java new file mode 100644 index 0000000000..805bea57f0 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HerbloreAction.java @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum HerbloreAction implements ItemSkillAction +{ + ATTACK_POTION_3(ItemID.ATTACK_POTION3, 3, 25), + GUAM_LEAF(ItemID.GUAM_LEAF, 3, 2.5f), + MARRENTILL(ItemID.MARRENTILL, 5, 3.8f), + ANTIPOISON_3(ItemID.ANTIPOISON3, 5, 37.5f), + RELICYMS_BALM_3(ItemID.RELICYMS_BALM3, 8, 40), + TARROMIN(ItemID.TARROMIN, 11, 5), + STRENGTH_POTION_3(ItemID.STRENGTH_POTION3, 12, 50), + SERUM_207_3(ItemID.SERUM_207_3, 15, 50), + GUTHIX_REST_3(ItemID.GUTHIX_REST3, 18, 59), + GUAM_TAR(ItemID.GUAM_TAR, 19, 30), + HARRALANDER(ItemID.HARRALANDER, 20, 6.3f), + COMPOST_POTION_3(ItemID.COMPOST_POTION3, 22, 60), + RESTORE_POTION_3(ItemID.RESTORE_POTION3, 22, 62.5f), + RANARR_WEED(ItemID.RANARR_WEED, 25, 7.5f), + ENERGY_POTION_3(ItemID.ENERGY_POTION3, 26, 67.5f), + TOADFLAX(ItemID.TOADFLAX, 30, 8), + DEFENCE_POTION_3(ItemID.DEFENCE_POTION3, 30, 75), + MARRENTILL_TAR(ItemID.MARRENTILL_TAR, 31, 42.5f), + AGILITY_POTION_3(ItemID.AGILITY_POTION3, 34, 80), + COMBAT_POTION_3(ItemID.COMBAT_POTION3, 36, 84), + PRAYER_POTION_3(ItemID.PRAYER_POTION3, 38, 87.5f), + TARROMIN_TAR(ItemID.TARROMIN_TAR, 39, 55), + IRIT_LEAF(ItemID.IRIT_LEAF, 40, 8.8f), + HARRALANDER_TAR(ItemID.HARRALANDER_TAR, 44, 72.5f), + SUPER_ATTACK_3(ItemID.SUPER_ATTACK3, 45, 100), + SUPERANTIPOISON_3(ItemID.SUPERANTIPOISON3, 48, 106.3f), + AVANTOE(ItemID.AVANTOE, 48, 10), + FISHING_POTION_3(ItemID.FISHING_POTION3, 50, 112.5f), + SUPER_ENERGY_3(ItemID.SUPER_ENERGY3, 52, 117.5f), + HUNTER_POTION_3(ItemID.HUNTER_POTION3, 53, 120), + KWUARM(ItemID.KWUARM, 54, 11.3f), + SUPER_STRENGTH_3(ItemID.SUPER_STRENGTH3, 55, 125), + MAGIC_ESSENCE_POTION_3(ItemID.MAGIC_ESSENCE3, 57, 130), + SNAPDRAGON(ItemID.SNAPDRAGON, 59, 11.8f), + WEAPON_POISON(ItemID.WEAPON_POISON, 60, 137.5f), + SUPER_RESTORE_3(ItemID.SUPER_RESTORE3, 63, 142.5f), + CADANTINE(ItemID.CADANTINE, 65, 12.5f), + SANFEW_SERUM_3(ItemID.SANFEW_SERUM3, 65, 160), + SUPER_DEFENCE_3(ItemID.SUPER_DEFENCE3, 66, 150), + LANTADYME(ItemID.LANTADYME, 67, 13.1f), + ANTIDOTE_PLUS_3(ItemID.ANTIDOTE3, 68, 155), + ANTIFIRE_POTION_3(ItemID.ANTIFIRE_POTION3, 69, 157.5f), + DIVINE_SUPER_ATTACK_POTION_4(ItemID.DIVINE_SUPER_ATTACK_POTION4, 70, 2), + DIVINE_SUPER_DEFENCE_POTION_4(ItemID.DIVINE_SUPER_DEFENCE_POTION4, 70, 2), + DIVINE_SUPER_STRENGTH_POTION_4(ItemID.DIVINE_SUPER_STRENGTH_POTION4, 70, 2), + DWARF_WEED(ItemID.DWARF_WEED, 70, 13.8f), + RANGING_POTION_3(ItemID.RANGING_POTION3, 72, 162.5f), + WEAPON_POISON_PLUS(ItemID.WEAPON_POISON_5937, 73, 165), + DIVINE_RANGING_POTION_4(ItemID.DIVINE_RANGING_POTION4, 74, 2), + TORSTOL(ItemID.TORSTOL, 75, 15), + MAGIC_POTION_3(ItemID.MAGIC_POTION3, 76, 172.5f), + STAMINA_POTION_3(ItemID.STAMINA_POTION3, 77, 76.5f), + STAMINA_POTION_4(ItemID.STAMINA_POTION4, 77, 102), + DIVINE_MAGIC_POTION_4(ItemID.DIVINE_MAGIC_POTION4, 78, 2), + ZAMORAK_BREW_3(ItemID.ZAMORAK_BREW3, 78, 175), + ANTIDOTE_PLUS_PLUS_3(ItemID.ANTIDOTE3_5954, 79, 177.5f), + BASTION_POTION_3(ItemID.BASTION_POTION3, 80, 155), + BATTLEMAGE_POTION_3(ItemID.BATTLEMAGE_POTION3, 80, 155), + SARADOMIN_BREW_3(ItemID.SARADOMIN_BREW3, 81, 180), + WEAPON_POISON_PLUS_PLUS(ItemID.WEAPON_POISON_5940, 82, 190), + EXTENDED_ANTIFIRE_3(ItemID.EXTENDED_ANTIFIRE3, 84, 82.5f), + EXTENDED_ANTIFIRE_4(ItemID.EXTENDED_ANTIFIRE4, 84, 110), + DIVINE_BASTION_POTION_4(ItemID.DIVINE_BASTION_POTION4, 86, 2), + DIVINE_BATTLEMAGE_POTION_4(ItemID.DIVINE_BATTLEMAGE_POTION4, 86, 2), + ANTIVENOM_3(ItemID.ANTIVENOM3, 87, 90), + ANTIVENOM_4(ItemID.ANTIVENOM4, 87, 120), + SUPER_COMBAT_POTION_4(ItemID.SUPER_COMBAT_POTION4, 90, 150), + SUPER_ANTIFIRE_4(ItemID.SUPER_ANTIFIRE_POTION4, 92, 130), + ANTIVENOM_PLUS_4(ItemID.ANTIVENOM4_12913, 94, 125), + DIVINE_SUPER_COMBAT_POTION_4(ItemID.DIVINE_SUPER_COMBAT_POTION4, 97, 2), + EXTENDED_SUPER_ANTIFIRE_3(ItemID.SUPER_ANTIFIRE_POTION3, 98, 120), + EXTENDED_SUPER_ANTIFIRE_4(ItemID.SUPER_ANTIFIRE_POTION4, 98, 160), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java new file mode 100644 index 0000000000..644bcd2598 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/HunterAction.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum HunterAction implements NamedSkillAction +{ + CRIMSON_SWIFT("Crimson Swift", 1, 34, ItemID.CRIMSON_SWIFT), + POLAR_KEBBIT("Polar Kebbit", 1, 30, ItemID.KEBBIT), + COMMON_KEBBIT("Common Kebbit", 3, 36, ItemID.KEBBIT_9954), + GOLDEN_WARBLER("Golden Warbler", 5, 47, ItemID.GOLDEN_WARBLER), + REGULAR_BIRD_HOUSE("Regular Bird House", 5, 280, ItemID.BIRD_HOUSE), + FELDIP_WEASEL("Feldip Weasel", 7, 48, ItemID.KEBBIT_9955), + COPPER_LONGTAIL("Copper Longtail", 9, 61, ItemID.COPPER_LONGTAIL), + CERULEAN_TWITCH("Cerulean Twitch", 11, 64.5f, ItemID.CERULEAN_TWITCH), + DESERT_DEVIL("Desert Devil", 13, 66, ItemID.KEBBIT_9956), + OAK_BIRD_HOUSE("Oak Bird House", 14, 420, ItemID.OAK_BIRD_HOUSE), + RUBY_HARVEST("Ruby Harvest", 15, 24, ItemID.BUTTERFLY), + BABY_IMPLING("Baby Impling", 17, 18, ItemID.BABY_IMPLING_JAR), + TROPICAL_WAGTAIL("Tropical Wagtail", 19, 95, ItemID.TROPICAL_WAGTAIL), + YOUNG_IMPLING("Young Impling", 22, 20, ItemID.YOUNG_IMPLING_JAR), + WILD_KEBBIT("Wild Kebbit", 23, 128, ItemID.KEBBIT), + WILLOW_BIRD_HOUSE("Willow Bird House", 24, 560, ItemID.WILLOW_BIRD_HOUSE), + SAPPHIRE_GLACIALIS("Sapphire Glacialis", 25, 34, ItemID.BUTTERFLY_9971), + FERRET("Ferret", 27, 115, ItemID.FERRET), + WHITE_RABBIT("White Rabbit", 27, 144, ItemID.RABBIT), + GOURMET_IMPLING("Gourmet Impling", 28, 22, ItemID.GOURMET_IMPLING_JAR), + SWAMP_LIZARD("Swamp Lizard", 29, 152, ItemID.SWAMP_LIZARD), + SPINED_LARUPIA("Spined Larupia", 31, 180, ItemID.LARUPIA_HAT), + BARB_TAILED_KEBBIT("Barb-tailed Kebbit", 33, 168, ItemID.KEBBIT_9958), + TEAK_BIRD_HOUSE("Teak Bird House", 34, 700, ItemID.TEAK_BIRD_HOUSE), + SNOWY_KNIGHT("Snowy Knight", 35, 44, ItemID.BUTTERFLY_9972), + EARTH_IMPLING("Earth Impling", 36, 25, ItemID.EARTH_IMPLING_JAR), + PRICKLY_KEBBIT("Prickly Kebbit", 37, 204, ItemID.KEBBIT_9957), + HORNED_GRAAHK("Horned Graahk", 41, 240, ItemID.GRAAHK_HEADDRESS), + ESSENCE_IMPLING("Essence Impling", 42, 27, ItemID.ESSENCE_IMPLING_JAR), + SPOTTED_KEBBIT("Spotted Kebbit", 43, 104, ItemID.KEBBIT_9960), + MAPLE_BIRD_HOUSE("Maple Bird House", 44, 820, ItemID.MAPLE_BIRD_HOUSE), + BLACK_WARLOCK("Black Warlock", 45, 54, ItemID.BUTTERFLY_9973), + ORANGE_SALAMANDER("Orange Salamander", 47, 224, ItemID.ORANGE_SALAMANDER), + RAZOR_BACKED_KEBBIT("Razor-backed Kebbit", 49, 348, ItemID.KEBBIT_9961), + MAHOGANY_BIRD_HOUSE("Mahogany Bird House", 49, 960, ItemID.MAHOGANY_BIRD_HOUSE), + ECLECTIC_IMPLING("Eclectic Impling", 50, 32, ItemID.ECLECTIC_IMPLING_JAR), + SABRE_TOOTHED_KEBBIT("Sabre-toothed Kebbit", 51, 200, ItemID.KEBBIT_9959), + CHINCHOMPA("Chinchompa", 53, 198.3f, ItemID.CHINCHOMPA), + SABRE_TOOTHED_KYATT("Sabre-toothed Kyatt", 55, 300, ItemID.KYATT_HAT), + DARK_KEBBIT("Dark Kebbit", 57, 132, ItemID.KEBBIT_9963), + NATURE_IMPLING("Nature Impling", 58, 34, ItemID.NATURE_IMPLING_JAR), + RED_SALAMANDER("Red Salamander", 59, 272, ItemID.RED_SALAMANDER), + YEW_BIRD_HOUSE("Yew Bird House", 59, 1020, ItemID.YEW_BIRD_HOUSE), + MANIACAL_MONKEY("Maniacal Monkey", 60, 1000, ItemID.MONKEY_19556), + CARNIVOROUS_CHINCHOMPA("Carnivorous Chinchompa", 63, 265, ItemID.RED_CHINCHOMPA), + MAGPIE_IMPLING("Magpie Impling", 65, 44, ItemID.MAGPIE_IMPLING_JAR), + MAGPIE_IMPLING_GIELINOR("Magpie Impling (Gielinor)", 65, 216, ItemID.MAGPIE_IMPLING_JAR), + BLACK_SALAMANDER("Black Salamander", 67, 319.5f, ItemID.BLACK_SALAMANDER), + DASHING_KEBBIT("Dashing Kebbit", 69, 156, ItemID.KEBBIT_9964), + BLACK_CHINCHOMPA("Black Chinchompa", 73, 315, ItemID.BLACK_CHINCHOMPA), + MAGIC_BIRD_HOUSE("Magic Bird House", 74, 1140, ItemID.MAGIC_BIRD_HOUSE), + NINJA_IMPLING("Ninja Impling", 74, 52, ItemID.NINJA_IMPLING_JAR), + NINJA_IMPLING_GIELINOR("Ninja Impling (Gielinor)", 74, 240, ItemID.NINJA_IMPLING_JAR), + CRYSTAL_IMPLING("Crystal Impling", 80, 280, ItemID.CRYSTAL_IMPLING_JAR), + DRAGON_IMPLING("Dragon Impling", 83, 65, ItemID.DRAGON_IMPLING_JAR), + DRAGON_IMPLING_GIELINOR("Dragon Impling (Gielinor)", 83, 300, ItemID.DRAGON_IMPLING_JAR), + REDWOOD_BIRD_HOUSE("Redwood Bird House", 89, 1200, ItemID.REDWOOD_BIRD_HOUSE), + LUCKY_IMPLING("Lucky Impling", 89, 380, ItemID.LUCKY_IMPLING_JAR), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ItemSkillAction.java similarity index 56% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ItemSkillAction.java index 4959390271..61a148749a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/CacheSkillData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ItemSkillAction.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,38 +22,46 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator; +package net.runelite.client.plugins.skillcalculator.skills; -import com.google.gson.Gson; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.Map; -import net.runelite.client.plugins.skillcalculator.beans.SkillData; +import net.runelite.client.game.ItemManager; -class CacheSkillData +/** + * An object representing a single skill action involving an item which grants some xp. + */ +public interface ItemSkillAction extends SkillAction { - private final Map cache = new HashMap<>(); + /** + * Gets the item ID used for this action. + * + * @return The item ID used for this action. + * @see net.runelite.api.ItemID + */ + int getItemId(); - SkillData getSkillData(String dataFile) + /** + * Gets the item icon ID for this skill action. + * + * @return The item icon ID of this skill action. + * @see net.runelite.api.ItemID + * @see #getItemId() + */ + @Override + default int getIcon() { - if (cache.containsKey(dataFile)) - { - return cache.get(dataFile); - } - - try (InputStream skillDataFile = SkillCalculatorPlugin.class.getResourceAsStream(dataFile)) - { - SkillData skillData = new Gson().fromJson(new InputStreamReader(skillDataFile, StandardCharsets.UTF_8), SkillData.class); - - cache.put(dataFile, skillData); - return skillData; - } - catch (IOException e) - { - throw new RuntimeException(e); - } + return getItemId(); } -} \ No newline at end of file + + /** + * Gets the name of this skill action's associated item. + * + * @param itemManager An {@link ItemManager item manager} instance. + * @return The name of this skill action item. + * @see #getItemId() + */ + @Override + default String getName(final ItemManager itemManager) + { + return itemManager.getItemComposition(getItemId()).getName(); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java new file mode 100644 index 0000000000..e907ebb48a --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MagicAction.java @@ -0,0 +1,228 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.SpriteID; +import net.runelite.client.game.ItemManager; + +@AllArgsConstructor +@Getter +public enum MagicAction implements SkillAction +{ + WIND_STRIKE("Wind Strike", 1, 5.5f, SpriteID.SPELL_WIND_STRIKE), + CONFUSE("Confuse", 3, 13, SpriteID.SPELL_CONFUSE), + ENCHANT_OPAL_BOLT("Enchant Opal Bolt", 4, 9, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + WATER_STRIKE("Water Strike", 5, 7.5f, SpriteID.SPELL_WATER_STRIKE), + ARCEUUS_LIBRARY_TELEPORT("Arceuus Library Teleport", 6, 10, SpriteID.SPELL_ARCEUUS_LIBRARY_TELEPORT), + ENCHANT_SAPPHIRE_JEWELLERY("Enchant Sapphire Jewellery", 7, 17.5f, SpriteID.SPELL_LVL_1_ENCHANT), + ENCHANT_SAPPHIRE_BOLT("Enchant Sapphire Bolt", 7, 17.5f, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + EARTH_STRIKE("Earth Strike", 9, 9.5f, SpriteID.SPELL_EARTH_STRIKE), + WEAKEN("Weaken", 11, 21, SpriteID.SPELL_WEAKEN), + FIRE_STRIKE("Fire Strike", 13, 11.5f, SpriteID.SPELL_FIRE_STRIKE), + ENCHANT_JADE_BOLT("Enchant Jade Bolt", 14, 19, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + BONES_TO_BANANAS("Bones To Bananas", 15, 25, SpriteID.SPELL_BONES_TO_BANANAS), + BASIC_REANIMATION("Basic Reanimation", 16, 32, SpriteID.SPELL_BASIC_REANIMATION), + DRAYNOR_MANOR_TELEPORT("Draynor Manor Teleport", 17, 16, SpriteID.SPELL_DRAYNOR_MANOR_TELEPORT), + WIND_BOLT("Wind Bolt", 17, 13.5f, SpriteID.SPELL_WIND_BOLT), + CURSE("Curse", 19, 29, SpriteID.SPELL_CURSE), + BIND("Bind", 20, 30, SpriteID.SPELL_BIND), + LOW_LEVEL_ALCHEMY("Low Level Alchemy", 21, 31, SpriteID.SPELL_LOW_LEVEL_ALCHEMY), + WATER_BOLT("Water Bolt", 23, 16.5f, SpriteID.SPELL_WATER_BOLT), + ENCHANT_PEARL_BOLT("Enchant Pearl Bolt", 24, 29, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + VARROCK_TELEPORT("Varrock Teleport", 25, 35, SpriteID.SPELL_VARROCK_TELEPORT), + ENCHANT_EMERALD_JEWELLERY("Enchant Emerald Jewellery", 27, 37, SpriteID.SPELL_LVL_2_ENCHANT), + ENCHANT_EMERALD_BOLT("Enchant Emerald Bolt", 27, 37, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + MIND_ALTAR_TELEPORT("Mind Altar Teleport", 28, 22, SpriteID.SPELL_MIND_ALTAR_TELEPORT), + ENCHANT_TOPAZ_BOLT("Enchant Topaz Bolt", 29, 33, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + EARTH_BOLT("Earth Bolt", 29, 19.5f, SpriteID.SPELL_EARTH_BOLT), + LUMBRIDGE_TELEPORT("Lumbridge Teleport", 31, 41, SpriteID.SPELL_LUMBRIDGE_TELEPORT), + TELEKINETIC_GRAB("Telekinetic Grab", 33, 43, SpriteID.SPELL_TELEKINETIC_GRAB), + RESPAWN_TELEPORT("Respawn Teleport", 34, 27, SpriteID.SPELL_RESPAWN_TELEPORT), + FIRE_BOLT("Fire Bolt", 35, 22.5f, SpriteID.SPELL_FIRE_BOLT), + GHOSTLY_GRASP("Ghostly Grasp", 35, 22.5f, SpriteID.SPELL_GHOSTLY_GRASP), + FALADOR_TELEPORT("Falador Teleport", 37, 48, SpriteID.SPELL_FALADOR_TELEPORT), + RESURRECT_LESSER_THRALL("Resurrect Lesser Thrall", 38, 55, SpriteID.SPELL_RESURRECT_LESSER_GHOST), + CRUMBLE_UNDEAD("Crumble Undead", 39, 24.5f, SpriteID.SPELL_CRUMBLE_UNDEAD), + SALVE_GRAVEYARD_TELEPORT("Salve Graveyard Teleport", 40, 30, SpriteID.SPELL_SALVE_GRAVEYARD_TELEPORT), + TELEPORT_TO_HOUSE("Teleport To House", 40, 30, SpriteID.SPELL_TELEPORT_TO_HOUSE), + ADEPT_REANIMATION("Adept Reanimation", 41, 80, SpriteID.SPELL_ADEPT_REANIMATION), + WIND_BLAST("Wind Blast", 41, 25.5f, SpriteID.SPELL_WIND_BLAST), + SUPERHEAT_ITEM("Superheat Item", 43, 53, SpriteID.SPELL_SUPERHEAT_ITEM), + INFERIOR_DEMONBANE("Inferior Demonbane", 44, 27, SpriteID.SPELL_INFERIOR_DEMONBANE), + CAMELOT_TELEPORT("Camelot Teleport", 45, 55.5f, SpriteID.SPELL_CAMELOT_TELEPORT), + WATER_BLAST("Water Blast", 47, 28.5f, SpriteID.SPELL_WATER_BLAST), + SHADOW_VEIL("Shadow Veil", 47, 58, SpriteID.SPELL_SHADOW_VEIL), + FENKENSTRAINS_CASTLE_TELEPORT("Fenkenstrain's Castle Teleport", 48, 50, SpriteID.SPELL_FENKENSTRAINS_CASTLE_TELEPORT), + ENCHANT_RUBY_JEWELLERY("Enchant Ruby Jewellery", 49, 59, SpriteID.SPELL_LVL_3_ENCHANT), + ENCHANT_RUBY_BOLT("Enchant Ruby Bolt", 49, 59, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + IBAN_BLAST("Iban Blast", 50, 30, SpriteID.SPELL_IBAN_BLAST), + SMOKE_RUSH("Smoke Rush", 50, 30, SpriteID.SPELL_SMOKE_RUSH), + MAGIC_DART("Magic Dart", 50, 30, SpriteID.SPELL_MAGIC_DART), + SNARE("Snare", 50, 60, SpriteID.SPELL_SNARE), + DARK_LURE("Dark Lure", 50, 60, SpriteID.SPELL_DARK_LURE), + ARDOUGNE_TELEPORT("Ardougne Teleport", 51, 61, SpriteID.SPELL_ARDOUGNE_TELEPORT), + SHADOW_RUSH("Shadow Rush", 52, 31, SpriteID.SPELL_SHADOW_RUSH), + EARTH_BLAST("Earth Blast", 53, 31.5f, SpriteID.SPELL_EARTH_BLAST), + PADDEWWA_TELEPORT("Paddewwa Teleport", 54, 64, SpriteID.SPELL_PADDEWWA_TELEPORT), + HIGH_LEVEL_ALCHEMY("High Level Alchemy", 55, 65, SpriteID.SPELL_HIGH_LEVEL_ALCHEMY), + CHARGE_WATER_ORB("Charge Water Orb", 56, 66, SpriteID.SPELL_CHARGE_WATER_ORB), + BLOOD_RUSH("Blood Rush", 56, 33, SpriteID.SPELL_BLOOD_RUSH), + SKELETAL_GRASP("Skeletal Grasp", 56, 33, SpriteID.SPELL_SKELETAL_GRASP), + ENCHANT_DIAMOND_BOLT("Enchant Diamond Bolt", 57, 67, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + ENCHANT_DIAMOND_JEWELLERY("Enchant Diamond Jewellery", 57, 67, SpriteID.SPELL_LVL_4_ENCHANT), + RESURRECT_SUPERIOR_THRALL("Resurrect Superior Thrall", 57, 70, SpriteID.SPELL_RESURRECT_SUPERIOR_SKELETON), + WATCHTOWER_TELEPORT("Watchtower Teleport", 58, 68, SpriteID.SPELL_WATCHTOWER_TELEPORT), + ICE_RUSH("Ice Rush", 58, 34, SpriteID.SPELL_ICE_RUSH), + FIRE_BLAST("Fire Blast", 59, 34.5f, SpriteID.SPELL_FIRE_BLAST), + MARK_OF_DARKNESS("Mark of Darkness", 59, 70, SpriteID.SPELL_MARK_OF_DARKNESS), + SENNTISTEN_TELEPORT("Senntisten Teleport", 60, 70, SpriteID.SPELL_SENNTISTEN_TELEPORT), + CLAWS_OF_GUTHIX("Claws Of Guthix", 60, 35, SpriteID.SPELL_CLAWS_OF_GUTHIC), + FLAMES_OF_ZAMORAK("Flames Of Zamorak", 60, 35, SpriteID.SPELL_FLAMES_OF_ZAMORAK), + SARADOMIN_STRIKE("Saradomin Strike", 60, 35, SpriteID.SPELL_SARADOMIN_STRIKE), + CHARGE_EARTH_ORB("Charge Earth Orb", 60, 70, SpriteID.SPELL_CHARGE_EARTH_ORB), + BONES_TO_PEACHES("Bones To Peaches", 60, 35.5f, SpriteID.SPELL_BONES_TO_PEACHES), + WEST_ARDOUGNE_TELEPORT("West Ardougne Teleport", 61, 68, SpriteID.SPELL_WEST_ARDOUGNE_TELEPORT), + TROLLHEIM_TELEPORT("Trollheim Teleport", 61, 68, SpriteID.SPELL_TROLLHEIM_TELEPORT), + SMOKE_BURST("Smoke Burst", 62, 36, SpriteID.SPELL_SMOKE_BURST), + WIND_WAVE("Wind Wave", 62, 36, SpriteID.SPELL_WIND_WAVE), + SUPERIOR_DEMONBANE("Superior Demonbane", 62, 36, SpriteID.SPELL_SUPERIOR_DEMONBANE), + CHARGE_FIRE_ORB("Charge Fire Orb", 63, 73, SpriteID.SPELL_CHARGE_FIRE_ORB), + SHADOW_BURST("Shadow Burst", 64, 37, SpriteID.SPELL_SHADOW_BURST), + TELEPORT_APE_ATOLL("Teleport Ape Atoll", 64, 74, SpriteID.SPELL_TELEPORT_TO_APE_ATOLL), + LESSER_CORRUPTION("Lesser Corruption", 64, 75, SpriteID.SPELL_LESSER_CORRUPTION), + BAKE_PIE("Bake Pie", 65, 60, SpriteID.SPELL_BAKE_PIE), + HARMONY_ISLAND_TELEPORT("Harmony Island Teleport", 65, 74, SpriteID.SPELL_HARMONY_ISLAND_TELEPORT), + GEOMANCY("Geomancy", 65, 60, SpriteID.SPELL_GEOMANCY), + WATER_WAVE("Water Wave", 65, 37.5f, SpriteID.SPELL_WATER_WAVE), + CHARGE_AIR_ORB("Charge Air Orb", 66, 76, SpriteID.SPELL_CHARGE_AIR_ORB), + CURE_PLANT("Cure Plant", 66, 60, SpriteID.SPELL_CURE_PLANT), + KHARYRLL_TELEPORT("Kharyrll Teleport", 66, 76, SpriteID.SPELL_KHARYRLL_TELEPORT), + VULNERABILITY("Vulnerability", 66, 76, SpriteID.SPELL_VULNERABILITY), + MONSTER_EXAMINE("Monster Examine", 66, 61, SpriteID.SPELL_MONSTER_EXAMINE), + VILE_VIGOUR("Vile Vigour", 66, 76, SpriteID.SPELL_VILE_VIGOUR), + NPC_CONTACT("Npc Contact", 67, 63, SpriteID.SPELL_NPC_CONTACT), + BLOOD_BURST("Blood Burst", 68, 39, SpriteID.SPELL_BLOOD_BURST), + CURE_OTHER("Cure Other", 68, 65, SpriteID.SPELL_CURE_OTHER), + ENCHANT_DRAGONSTONE_JEWELLERY("Enchant Dragonstone Jewellery", 68, 78, SpriteID.SPELL_LVL_5_ENCHANT), + ENCHANT_DRAGONSTONE_BOLT("Enchant Dragonstone Bolt", 68, 78, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + HUMIDIFY("Humidify", 68, 65, SpriteID.SPELL_HUMIDIFY), + MOONCLAN_TELEPORT("Moonclan Teleport", 69, 66, SpriteID.SPELL_MOONCLAN_TELEPORT), + EARTH_WAVE("Earth Wave", 70, 40, SpriteID.SPELL_EARTH_WAVE), + ICE_BURST("Ice Burst", 70, 40, SpriteID.SPELL_ICE_BURST), + TELE_GROUP_MOONCLAN("Tele Group Moonclan", 70, 67, SpriteID.SPELL_TELE_GROUP_MOONCLAN), + DEGRIME("Degrime", 70, 83, SpriteID.SPELL_DEGRIME), + OURANIA_TELEPORT("Ourania Teleport", 71, 69, SpriteID.SPELL_OURANIA_TELEPORT), + CEMETERY_TELEPORT("Cemetery Teleport", 71, 82, SpriteID.SPELL_CEMETERY_TELEPORT), + CURE_ME("Cure Me", 71, 69, SpriteID.SPELL_CURE_ME), + HUNTER_KIT("Hunter Kit", 71, 70, SpriteID.SPELL_HUNTER_KIT), + EXPERT_REANIMATION("Expert Reanimation", 72, 138, SpriteID.SPELL_EXPERT_REANIMATION), + LASSAR_TELEPORT("Lassar Teleport", 72, 82, SpriteID.SPELL_LASSAR_TELEPORT), + WATERBIRTH_TELEPORT("Waterbirth Teleport", 72, 71, SpriteID.SPELL_WATERBIRTH_TELEPORT), + TELE_GROUP_WATERBIRTH("Tele Group Waterbirth", 73, 72, SpriteID.SPELL_TELE_GROUP_WATERBIRTH), + ENFEEBLE("Enfeeble", 73, 83, SpriteID.SPELL_ENFEEBLE), + WARD_OF_ARCEUUS("Ward of Arceuus", 73, 83, SpriteID.SPELL_WARD_OF_ARCEUUS), + TELEOTHER_LUMBRIDGE("Teleother Lumbridge", 74, 84, SpriteID.SPELL_TELEOTHER_LUMBRIDGE), + SMOKE_BLITZ("Smoke Blitz", 74, 42, SpriteID.SPELL_SMOKE_BLITZ), + CURE_GROUP("Cure Group", 74, 74, SpriteID.SPELL_CURE_GROUP), + STAT_SPY("Stat Spy", 75, 76, SpriteID.SPELL_STAT_SPY), + BARBARIAN_TELEPORT("Barbarian Teleport", 75, 76, SpriteID.SPELL_BARBARIAN_TELEPORT), + FIRE_WAVE("Fire Wave", 75, 42.5f, SpriteID.SPELL_FIRE_WAVE), + TELE_GROUP_BARBARIAN("Tele Group Barbarian", 76, 77, SpriteID.SPELL_TELE_GROUP_ICE_PLATEAU), + SHADOW_BLITZ("Shadow Blitz", 76, 43, SpriteID.SPELL_SHADOW_BLITZ), + SPIN_FLAX("Spin Flax", 76, 75, SpriteID.SPELL_SPIN_FLAX), + RESURRECT_GREATER_THRALL("Resurrect Greater Thrall", 76, 88, SpriteID.SPELL_RESURRECT_GREATER_ZOMBIE), + SUPERGLASS_MAKE("Superglass Make", 77, 78, SpriteID.SPELL_SUPERGLASS_MAKE), + TAN_LEATHER("Tan Leather", 78, 81, SpriteID.SPELL_TAN_LEATHER), + KHAZARD_TELEPORT("Khazard Teleport", 78, 80, SpriteID.SPELL_KHAZARD_TELEPORT), + DAREEYAK_TELEPORT("Dareeyak Teleport", 78, 88, SpriteID.SPELL_DAREEYAK_TELEPORT), + RESURRECT_CROPS("Resurrect Crops", 78, 90, SpriteID.SPELL_RESURRECT_CROPS), + ENTANGLE("Entangle", 79, 89, SpriteID.SPELL_ENTANGLE), + TELE_GROUP_KHAZARD("Tele Group Khazard", 79, 81, SpriteID.SPELL_TELE_GROUP_KHAZARD), + DREAM("Dream", 79, 82, SpriteID.SPELL_DREAM), + UNDEAD_GRASP("Undead Grasp", 79, 46.5f, SpriteID.SPELL_UNDEAD_GRASP), + CHARGE("Charge", 80, 180, SpriteID.SPELL_CHARGE), + BLOOD_BLITZ("Blood Blitz", 80, 45, SpriteID.SPELL_BLOOD_BLITZ), + STUN("Stun", 80, 90, SpriteID.SPELL_STUN), + STRING_JEWELLERY("String Jewellery", 80, 83, SpriteID.SPELL_STRING_JEWELLERY), + DEATH_CHARGE("Death Charge", 80, 90, SpriteID.SPELL_DEATH_CHARGE), + STAT_RESTORE_POT_SHARE("Stat Restore Pot Share", 81, 84, SpriteID.SPELL_STAT_RESTORE_POT_SHARE), + WIND_SURGE("Wind Surge", 81, 44, SpriteID.SPELL_WIND_SURGE), + TELEOTHER_FALADOR("Teleother Falador", 82, 92, SpriteID.SPELL_TELEOTHER_FALADOR), + MAGIC_IMBUE("Magic Imbue", 82, 86, SpriteID.SPELL_MAGIC_IMBUE), + ICE_BLITZ("Ice Blitz", 82, 46, SpriteID.SPELL_ICE_BLITZ), + DARK_DEMONBANE("Dark Demonbane", 82, 43.5f, SpriteID.SPELL_DARK_DEMONBANE), + FERTILE_SOIL("Fertile Soil", 83, 87, SpriteID.SPELL_FERTILE_SOIL), + BARROWS_TELEPORT("Barrows Teleport", 83, 90, SpriteID.SPELL_BARROWS_TELEPORT), + CARRALLANGAR_TELEPORT("Carrallangar Teleport", 84, 82, SpriteID.SPELL_CARRALLANGAR_TELEPORT), + BOOST_POTION_SHARE("Boost Potion Share", 84, 88, SpriteID.SPELL_BOOST_POTION_SHARE), + DEMONIC_OFFERING("Demonic Offering", 84, 175, SpriteID.SPELL_DEMONIC_OFFERING), + WATER_SURGE("Water Surge", 85, 46, SpriteID.SPELL_WATER_SURGE), + FISHING_GUILD_TELEPORT("Fishing Guild Teleport", 85, 89, SpriteID.SPELL_FISHING_GUILD_TELEPORT), + TELE_BLOCK("Tele Block", 85, 80, SpriteID.SPELL_TELE_BLOCK), + TELEPORT_TO_TARGET("Teleport To Target", 85, 45, SpriteID.SPELL_TELEPORT_TO_BOUNTY_TARGET), + GREATER_CORRUPTION("Greater Corruption", 85, 95, SpriteID.SPELL_GREATER_CORRUPTION), + SMOKE_BARRAGE("Smoke Barrage", 86, 48, SpriteID.SPELL_SMOKE_BARRAGE), + TELE_GROUP_FISHING_GUILD("Tele Group Fishing Guild", 86, 90, SpriteID.SPELL_TELE_GROUP_FISHING_GUILD), + PLANK_MAKE("Plank Make", 86, 90, SpriteID.SPELL_PLANK_MAKE), + CATHERBY_TELEPORT("Catherby Teleport", 87, 92, SpriteID.SPELL_CATHERBY_TELEPORT), + ENCHANT_ONYX_JEWELLERY("Enchant Onyx Jewellery", 87, 97, SpriteID.SPELL_LVL_6_ENCHANT), + ENCHANT_ONYX_BOLT("Enchant Onyx Bolt", 87, 97, SpriteID.SPELL_ENCHANT_CROSSBOW_BOLT), + SHADOW_BARRAGE("Shadow Barrage", 88, 48, SpriteID.SPELL_SHADOW_BARRAGE), + TELE_GROUP_CATHERBY("Tele Group Catherby", 88, 93, SpriteID.SPELL_TELE_GROUP_CATHERBY), + ICE_PLATEAU_TELEPORT("Ice Plateau Teleport", 89, 96, SpriteID.SPELL_ICE_PLATEAU_TELEPORT), + RECHARGE_DRAGONSTONE("Recharge Dragonstone", 89, 97.5f, SpriteID.SPELL_RECHARGE_DRAGONSTONE), + ANNAKARL_TELEPORT("Annakarl Teleport", 90, 100, SpriteID.SPELL_ANNAKARL_TELEPORT), + EARTH_SURGE("Earth Surge", 90, 48, SpriteID.SPELL_EARTH_SURGE), + MASTER_REANIMATION("Master Reanimation", 90, 170, SpriteID.SPELL_MASTER_REANIMATION), + TELE_GROUP_ICE_PLATEAU("Tele Group Ice Plateau", 90, 99, SpriteID.SPELL_TELE_GROUP_ICE_PLATEAU), + TELEOTHER_CAMELOT("Teleother Camelot", 90, 100, SpriteID.SPELL_TELEOTHER_CAMELOT), + APE_ATOLL_TELEPORT("Ape Atoll Teleport", 90, 100, SpriteID.SPELL_APE_ATOLL_TELEPORT), + ENERGY_TRANSFER("Energy Transfer", 91, 100, SpriteID.SPELL_ENERGY_TRANSFER), + BLOOD_BARRAGE("Blood Barrage", 92, 51, SpriteID.SPELL_BLOOD_BARRAGE), + HEAL_OTHER("Heal Other", 92, 101, SpriteID.SPELL_HEAL_OTHER), + SINISTER_OFFERING("Sinister Offering", 92, 180, SpriteID.SPELL_SINISTER_OFFERING), + VENGEANCE_OTHER("Vengeance Other", 93, 108, SpriteID.SPELL_VENGEANCE_OTHER), + ENCHANT_ZENYTE_JEWELLERY("Enchant Zenyte Jewellery", 93, 110, SpriteID.SPELL_LVL_7_ENCHANT), + ICE_BARRAGE("Ice Barrage", 94, 52, SpriteID.SPELL_ICE_BARRAGE), + VENGEANCE("Vengeance", 94, 112, SpriteID.SPELL_VENGEANCE), + HEAL_GROUP("Heal Group", 95, 124, SpriteID.SPELL_HEAL_GROUP), + FIRE_SURGE("Fire Surge", 95, 51, SpriteID.SPELL_FIRE_SURGE), + GHORROCK_TELEPORT("Ghorrock Teleport", 96, 106, SpriteID.SPELL_GHORROCK_TELEPORT), + SPELLBOOK_SWAP("Spellbook Swap", 96, 130, SpriteID.SPELL_SPELLBOOK_SWAP), + ; + + private final String name; + private final int level; + private final float xp; + private final int sprite; + + @Override + public String getName(final ItemManager itemManager) + { + return getName(); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java new file mode 100644 index 0000000000..e16b0cd6c2 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningAction.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; +import net.runelite.api.NullItemID; + +@AllArgsConstructor +@Getter +public enum MiningAction implements NamedSkillAction +{ + CLAY("Clay", 1, 5, ItemID.CLAY), + RUNE_ESSENCE("Rune essence", 1, 5, ItemID.RUNE_ESSENCE), + COPPER_ORE("Copper ore", 1, 17.5f, ItemID.COPPER_ORE), + TIN_ORE("Tin ore", 1, 17.5f, ItemID.TIN_ORE), + LIMESTONE("Limestone", 10, 26.5f, ItemID.LIMESTONE), + BARRONITE_SHARDS("Barronite shards", 14, 16, NullItemID.NULL_25683), + BARRONITE_DEPOSIT("Barronite deposit", 14, 32, ItemID.BARRONITE_DEPOSIT), + IRON_ORE("Iron ore", 15, 35, ItemID.IRON_ORE), + SILVER_ORE("Silver ore", 20, 40, ItemID.SILVER_ORE), + PURE_ESSENCE("Pure essence", 30, 5, ItemID.PURE_ESSENCE), + COAL("Coal", 30, 50, ItemID.COAL), + SANDSTONE_1KG("Sandstone (1kg)", 35, 30, ItemID.SANDSTONE_1KG), + SANDSTONE_2KG("Sandstone (2kg)", 35, 40, ItemID.SANDSTONE_2KG), + SANDSTONE_5KG("Sandstone (5kg)", 35, 50, ItemID.SANDSTONE_5KG), + SANDSTONE_10KG("Sandstone (10kg)", 35, 60, ItemID.SANDSTONE_10KG), + DENSE_ESSENCE_BLOCK("Dense essence block", 38, 12, ItemID.DENSE_ESSENCE_BLOCK), + GOLD_ORE("Gold ore", 40, 65, ItemID.GOLD_ORE), + GEM_ROCKS("Gem rocks", 40, 65, ItemID.UNCUT_RED_TOPAZ), + GRANITE_500G("Granite (500g)", 45, 50, ItemID.GRANITE_500G), + GRANITE_2KG("Granite (2kg)", 45, 60, ItemID.GRANITE_2KG), + GRANITE_5KG("Granite (5kg)", 45, 75, ItemID.GRANITE_5KG), + MITHRIL_ORE("Mithril ore", 55, 80, ItemID.MITHRIL_ORE), + SOFT_CLAY("Soft clay", 70, 5, ItemID.SOFT_CLAY), + ADAMANTITE_ORE("Adamantite ore", 70, 95, ItemID.ADAMANTITE_ORE), + RUNITE_ORE("Runite ore", 85, 125, ItemID.RUNITE_ORE), + AMETHYST("Amethyst", 92, 240, ItemID.AMETHYST), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java similarity index 78% rename from runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java rename to runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java index b21188d913..aba67a316d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/beans/SkillDataEntry.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/MiningBonus.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Kruithne + * Copyright (c) 2021, Jordan Atwood * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,17 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.skillcalculator.beans; +package net.runelite.client.plugins.skillcalculator.skills; +import lombok.AllArgsConstructor; import lombok.Getter; -@Getter -public class SkillDataEntry +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum MiningBonus implements SkillBonus { - private String name; - private int level; - private double xp; - private Integer icon; - private Integer sprite; - private boolean ignoreBonus; -} \ No newline at end of file + PROSPECTOR_KIT("Prospector Kit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/NamedSkillAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/NamedSkillAction.java new file mode 100644 index 0000000000..b551474bc9 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/NamedSkillAction.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import net.runelite.client.game.ItemManager; + +/** + * An object representing a single skill action which grants some xp, with an explicitly defined name field. + */ +public interface NamedSkillAction extends SkillAction +{ + /** + * Gets the name of this skill action, usually the item or object created, or the spell cast. + * + * @return The name of this skill action. + */ + String getName(); + + @Override + default String getName(ItemManager itemManager) + { + return getName(); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java new file mode 100644 index 0000000000..ba4c1fa48e --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerAction.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum PrayerAction implements ItemSkillAction +{ + ENSOULED_GOBLIN_HEAD(ItemID.ENSOULED_GOBLIN_HEAD, 1, 130, true), + ENSOULED_MONKEY_HEAD(ItemID.ENSOULED_MONKEY_HEAD, 1, 182, true), + ENSOULED_IMP_HEAD(ItemID.ENSOULED_IMP_HEAD, 1, 286, true), + ENSOULED_MINOTAUR_HEAD(ItemID.ENSOULED_MINOTAUR_HEAD, 1, 364, true), + ENSOULED_SCORPION_HEAD(ItemID.ENSOULED_SCORPION_HEAD, 1, 454, true), + ENSOULED_BEAR_HEAD(ItemID.ENSOULED_BEAR_HEAD, 1, 480, true), + ENSOULED_UNICORN_HEAD(ItemID.ENSOULED_UNICORN_HEAD, 1, 494, true), + ENSOULED_DOG_HEAD(ItemID.ENSOULED_DOG_HEAD, 1, 520, true), + ENSOULED_CHAOS_DRUID_HEAD(ItemID.ENSOULED_CHAOS_DRUID_HEAD, 1, 584, true), + ENSOULED_GIANT_HEAD(ItemID.ENSOULED_GIANT_HEAD, 1, 650, true), + ENSOULED_OGRE_HEAD(ItemID.ENSOULED_OGRE_HEAD, 1, 716, true), + ENSOULED_ELF_HEAD(ItemID.ENSOULED_ELF_HEAD, 1, 754, true), + ENSOULED_TROLL_HEAD(ItemID.ENSOULED_TROLL_HEAD, 1, 780, true), + ENSOULED_HORROR_HEAD(ItemID.ENSOULED_HORROR_HEAD, 1, 832, true), + ENSOULED_KALPHITE_HEAD(ItemID.ENSOULED_KALPHITE_HEAD, 1, 884, true), + ENSOULED_DAGANNOTH_HEAD(ItemID.ENSOULED_DAGANNOTH_HEAD, 1, 936, true), + ENSOULED_BLOODVELD_HEAD(ItemID.ENSOULED_BLOODVELD_HEAD, 1, 1040, true), + ENSOULED_TZHAAR_HEAD(ItemID.ENSOULED_TZHAAR_HEAD, 1, 1104, true), + ENSOULED_DEMON_HEAD(ItemID.ENSOULED_DEMON_HEAD, 1, 1170, true), + ENSOULED_AVIANSIE_HEAD(ItemID.ENSOULED_AVIANSIE_HEAD, 1, 1234, true), + ENSOULED_ABYSSAL_HEAD(ItemID.ENSOULED_ABYSSAL_HEAD, 1, 1300, true), + ENSOULED_DRAGON_HEAD(ItemID.ENSOULED_DRAGON_HEAD, 1, 1560, true), + FIENDISH_ASHES(ItemID.FIENDISH_ASHES, 1, 10, true), + VILE_ASHES(ItemID.VILE_ASHES, 1, 25, true), + MALICIOUS_ASHES(ItemID.MALICIOUS_ASHES, 1, 65, true), + ABYSSAL_ASHES(ItemID.ABYSSAL_ASHES, 1, 85, true), + INFERNAL_ASHES(ItemID.INFERNAL_ASHES, 1, 110, true), + BONES(ItemID.BONES, 1, 4.5f, false), + WOLF_BONES(ItemID.WOLF_BONES, 1, 4.5f, false), + LOAR_REMAINS(ItemID.LOAR_REMAINS, 1, 33, false), + BURNT_BONES(ItemID.BURNT_BONES, 1, 4.5f, false), + MONKEY_BONES(ItemID.MONKEY_BONES, 1, 5, false), + BAT_BONES(ItemID.BAT_BONES, 1, 5.3f, false), + JOGRE_BONES(ItemID.JOGRE_BONES, 1, 15, false), + BIG_BONES(ItemID.BIG_BONES, 1, 15, false), + ZOGRE_BONES(ItemID.ZOGRE_BONES, 1, 22.5f, false), + SHAIKAHAN_BONES(ItemID.SHAIKAHAN_BONES, 1, 25, false), + BABYDRAGON_BONES(ItemID.BABYDRAGON_BONES, 1, 30, false), + PHRIN_REMAINS(ItemID.PHRIN_REMAINS, 1, 46.5f, false), + WYRM_BONES(ItemID.WYRM_BONES, 1, 50, false), + RIYL_REMAINS(ItemID.RIYL_REMAINS, 1, 59.5f, false), + WYVERN_BONES(ItemID.WYVERN_BONES, 1, 72, false), + DRAGON_BONES(ItemID.DRAGON_BONES, 1, 72, false), + DRAKE_BONES(ItemID.DRAKE_BONES, 1, 80, false), + ASYN_REMAINS(ItemID.ASYN_REMAINS, 1, 82.5f, false), + FAYRG_BONES(ItemID.FAYRG_BONES, 1, 84, false), + FIYR_REMAINS(ItemID.FIYR_REMAINS, 1, 84, false), + LAVA_DRAGON_BONES(ItemID.LAVA_DRAGON_BONES, 1, 85, false), + RAURG_BONES(ItemID.RAURG_BONES, 1, 96, false), + HYDRA_BONES(ItemID.HYDRA_BONES, 1, 110, false), + DAGANNOTH_BONES(ItemID.DAGANNOTH_BONES, 1, 125, false), + OURG_BONES(ItemID.OURG_BONES, 1, 140, false), + URIUM_REMAINS(ItemID.URIUM_REMAINS, 1, 120, false), + GUPPY(ItemID.GUPPY, 1, 4, false), + CAVEFISH(ItemID.CAVEFISH, 1, 7, false), + TETRA(ItemID.TETRA, 1, 10, false), + CATFISH(ItemID.CATFISH, 1, 16, false), + SUPERIOR_DRAGON_BONES(ItemID.SUPERIOR_DRAGON_BONES, 70, 150, false), + ; + + private final int itemId; + private final int level; + private final float xp; + private final boolean ignoreBonus; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java new file mode 100644 index 0000000000..bf0f48c537 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/PrayerBonus.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum PrayerBonus implements SkillBonus +{ + LIT_GILDED_ALTAR("Lit Gilded Altar (350%)", 2.5f), + ECTOFUNTUS("Ectofuntus (400%)", 3), + CHAOS_ALTAR("Chaos Altar (700%)", 6), + MORYTANIA_DIARY_3_SHADES("Morytania Diary 3 Shades(150%)", 0.5f), + BONECRUSHER("Bonecrusher (50%)", -0.5f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java new file mode 100644 index 0000000000..b779822207 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftAction.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum RunecraftAction implements ItemSkillAction +{ + AIR_TIARA(ItemID.AIR_TIARA, 1, 25, true), + MIND_TIARA(ItemID.MIND_TIARA, 1, 27.5f, true), + WATER_TIARA(ItemID.WATER_TIARA, 1, 30, true), + EARTH_TIARA(ItemID.EARTH_TIARA, 1, 32.5f, true), + FIRE_TIARA(ItemID.FIRE_TIARA, 1, 35, true), + BODY_TIARA(ItemID.BODY_TIARA, 1, 37.5f, true), + COSMIC_TIARA(ItemID.COSMIC_TIARA, 1, 40, true), + CHAOS_TIARA(ItemID.CHAOS_TIARA, 1, 42.5f, true), + NATURE_TIARA(ItemID.NATURE_TIARA, 1, 45, true), + LAW_TIARA(ItemID.LAW_TIARA, 1, 47.5f, true), + DEATH_TIARA(ItemID.DEATH_TIARA, 1, 50, true), + WRATH_TIARA(ItemID.WRATH_TIARA, 1, 52.5f, true), + AIR_RUNE(ItemID.AIR_RUNE, 1, 5, false), + MIND_RUNE(ItemID.MIND_RUNE, 2, 5.5f, false), + MIND_CORE(ItemID.MIND_CORE, 2, 55, false), + WATER_RUNE(ItemID.WATER_RUNE, 5, 6, false), + MIST_RUNE(ItemID.MIST_RUNE, 6, 8.5f, false), + EARTH_RUNE(ItemID.EARTH_RUNE, 9, 6.5f, false), + DUST_RUNE(ItemID.DUST_RUNE, 10, 9, false), + MUD_RUNE(ItemID.MUD_RUNE, 13, 9.5f, false), + FIRE_RUNE(ItemID.FIRE_RUNE, 14, 7, false), + SMOKE_RUNE(ItemID.SMOKE_RUNE, 15, 9.5f, false), + STEAM_RUNE(ItemID.STEAM_RUNE, 19, 10, false), + BODY_RUNE(ItemID.BODY_RUNE, 20, 7.5f, false), + BODY_CORE(ItemID.BODY_CORE, 20, 75, false), + LAVA_RUNE(ItemID.LAVA_RUNE, 23, 10.5f, false), + COSMIC_RUNE(ItemID.COSMIC_RUNE, 27, 8, false), + CHAOS_RUNE(ItemID.CHAOS_RUNE, 35, 8.5f, false), + CHAOS_CORE(ItemID.CHAOS_CORE, 35, 85, false), + ASTRAL_RUNE(ItemID.ASTRAL_RUNE, 40, 8.7f, false), + NATURE_RUNE(ItemID.NATURE_RUNE, 44, 9, false), + LAW_RUNE(ItemID.LAW_RUNE, 54, 9.5f, false), + DEATH_RUNE(ItemID.DEATH_RUNE, 65, 10, false), + BLOOD_RUNE(ItemID.BLOOD_RUNE, 77, 24.425f, true), + SOUL_RUNE(ItemID.SOUL_RUNE, 90, 30.325f, true), + WRATH_RUNE(ItemID.WRATH_RUNE, 95, 8, false), + ; + + private final int itemId; + private final int level; + private final float xp; + private final boolean ignoreBonus; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java new file mode 100644 index 0000000000..0fa8a7477b --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/RunecraftBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum RunecraftBonus implements SkillBonus +{ + DAEYALT_ESSENCE("Daeyalt essence (+50%)", 0.5f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java new file mode 100644 index 0000000000..f7b739457c --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillAction.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import net.runelite.api.ItemComposition; +import net.runelite.client.game.ItemManager; + +/** + * An object representing a single skill action which grants some xp. + */ +public interface SkillAction +{ + /** + * Gets the name of this skill action, usually the item or object created, or the spell cast. This name may be + * fetched via {@link ItemComposition#getName()} from some defined item ID or explicitly defined. + * + * @param itemManager An {@link ItemManager item manager} instance. + * @return The name of this skill action. + */ + String getName(final ItemManager itemManager); + + /** + * Gets the level required to perform this skill action. + * + * @return The level required to perform this skill action. + */ + int getLevel(); + + /** + * Gets the amount of xp granted for performing this skill action. + * + * @return The amount of xp granted for performing this skill action. + */ + float getXp(); + + /** + * Gets the item icon ID for this skill action, if applicable. + *

+ * Note: Either this method or {@link #getSprite()} will always return {@code -1}, and the other will return some + * value {@code 0} or greater. + * + * @return The item icon ID of this skill action, or {@code -1} if its icon should be represented using a sprite. + * @see net.runelite.api.ItemID + * @see #getSprite() + */ + default int getIcon() + { + return -1; + } + + /** + * Gets the sprite ID for this skill action, if applicable. + *

+ * Note: Either this method or {@link #getIcon()} will always return {@code -1}, and the other will return some + * value {@code 0} or greater. + * + * @return The sprite ID of this skill action, or {@code -1} if its icon should be represented using an item icon. + * @see net.runelite.api.SpriteID + * @see #getIcon() + */ + default int getSprite() + { + return -1; + } + + /** + * Returns {@code true} if this skill action is not boosted by any {@link SkillBonus skill bonuses}, {@code false} + * otherwise. + * + * @return {@code true} if this skill action is unaffected by skill bonuses, {@code false} otherwise. + */ + default boolean isIgnoreBonus() + { + return false; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java new file mode 100644 index 0000000000..cf7d1d8dcf --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SkillBonus.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +/** + * An object representing a skill bonus, such as from a skilling outfit or activity granting boosted xp. + */ +public interface SkillBonus +{ + /** + * Gets the name of this skill bonus. + * + * @return The name of this skill bonus. + */ + String getName(); + + /** + * Gets the multiplier for this skill bonus. When multiplied with the skill action XP value, it yields the amount of + * additional xp granted for that action. (eg. {@code {@link SkillAction#getXp()} * (1 + {@link #getValue()}} yields + * the full amount of xp gained) + * + * @return The skill bonus multiplier. + */ + float getValue(); +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java new file mode 100644 index 0000000000..f4211febb9 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/SmithingAction.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum SmithingAction implements ItemSkillAction +{ + BRONZE_BAR(ItemID.BRONZE_BAR, 1, 6.3f), + BRONZE_AXE(ItemID.BRONZE_AXE, 1, 12.5f), + BRONZE_DAGGER(ItemID.BRONZE_DAGGER, 1, 12.5f), + BRONZE_MACE(ItemID.BRONZE_MACE, 2, 12.5f), + BRONZE_MED_HELM(ItemID.BRONZE_MED_HELM, 3, 12.5f), + BRONZE_BOLTS_UNF(ItemID.BRONZE_BOLTS_UNF, 3, 12.5f), + BRONZE_NAILS(ItemID.BRONZE_NAILS, 4, 12.5f), + BRONZE_SWORD(ItemID.BRONZE_SWORD, 4, 12.5f), + BRONZE_WIRE(ItemID.BRONZE_WIRE, 4, 12.5f), + BRONZE_DART_TIP(ItemID.BRONZE_DART_TIP, 4, 12.5f), + BRONZE_ARROWTIPS(ItemID.BRONZE_ARROWTIPS, 5, 12.5f), + BRONZE_SCIMITAR(ItemID.BRONZE_SCIMITAR, 5, 25), + BRONZE_HASTA(ItemID.BRONZE_HASTA, 5, 25), + BRONZE_SPEAR(ItemID.BRONZE_SPEAR, 5, 25), + BRONZE_JAVELIN_HEADS(ItemID.BRONZE_JAVELIN_HEADS, 6, 12.5f), + BRONZE_LONGSWORD(ItemID.BRONZE_LONGSWORD, 6, 25), + BRONZE_LIMBS(ItemID.BRONZE_LIMBS, 6, 12.5f), + BRONZE_KNIFE(ItemID.BRONZE_KNIFE, 7, 12.5f), + BRONZE_FULL_HELM(ItemID.BRONZE_FULL_HELM, 7, 25), + BRONZE_SQ_SHIELD(ItemID.BRONZE_SQ_SHIELD, 8, 25), + BRONZE_WARHAMMER(ItemID.BRONZE_WARHAMMER, 9, 37.5f), + BRONZE_BATTLEAXE(ItemID.BRONZE_BATTLEAXE, 10, 37.5f), + BRONZE_CHAINBODY(ItemID.BRONZE_CHAINBODY, 11, 37.5f), + BRONZE_KITESHIELD(ItemID.BRONZE_KITESHIELD, 12, 37.5f), + BRONZE_CLAWS(ItemID.BRONZE_CLAWS, 13, 25), + BRONZE_2H_SWORD(ItemID.BRONZE_2H_SWORD, 14, 37.5f), + BARRONITE_DEPOSITS(ItemID.BARRONITE_DEPOSIT, 14, 30), + IRON_BAR(ItemID.IRON_BAR, 15, 12.5f), + IRON_DAGGER(ItemID.IRON_DAGGER, 15, 25), + IRON_AXE(ItemID.IRON_AXE, 16, 25), + BRONZE_PLATELEGS(ItemID.BRONZE_PLATELEGS, 16, 37.5f), + BRONZE_PLATESKIRT(ItemID.BRONZE_PLATESKIRT, 16, 37.5f), + IRON_SPIT(ItemID.IRON_SPIT, 17, 25), + IRON_MACE(ItemID.IRON_MACE, 17, 25), + IRON_BOLTS_UNF(ItemID.IRON_BOLTS_UNF, 18, 25), + BRONZE_PLATEBODY(ItemID.BRONZE_PLATEBODY, 18, 62.5f), + IRON_MED_HELM(ItemID.IRON_MED_HELM, 18, 25), + IRON_NAILS(ItemID.IRON_NAILS, 19, 25), + IRON_DART_TIP(ItemID.IRON_DART_TIP, 19, 25), + IRON_SWORD(ItemID.IRON_SWORD, 19, 25), + SILVER_BAR(ItemID.SILVER_BAR, 20, 13.7f), + IRON_ARROWTIPS(ItemID.IRON_ARROWTIPS, 20, 25), + IRON_SCIMITAR(ItemID.IRON_SCIMITAR, 20, 50), + IRON_HASTA(ItemID.IRON_HASTA, 20, 50), + IRON_SPEAR(ItemID.IRON_SPEAR, 20, 50), + IRON_LONGSWORD(ItemID.IRON_LONGSWORD, 21, 50), + IRON_JAVELIN_HEADS(ItemID.IRON_JAVELIN_HEADS, 21, 25), + IRON_FULL_HELM(ItemID.IRON_FULL_HELM, 22, 50), + IRON_KNIFE(ItemID.IRON_KNIFE, 22, 25), + IRON_LIMBS(ItemID.IRON_LIMBS, 23, 25), + IRON_SQ_SHIELD(ItemID.IRON_SQ_SHIELD, 23, 50), + IRON_WARHAMMER(ItemID.IRON_WARHAMMER, 24, 75), + IRON_BATTLEAXE(ItemID.IRON_BATTLEAXE, 25, 75), + OIL_LANTERN_FRAME(ItemID.OIL_LANTERN_FRAME, 26, 25), + IRON_CHAINBODY(ItemID.IRON_CHAINBODY, 26, 75), + IRON_KITESHIELD(ItemID.IRON_KITESHIELD, 27, 75), + IRON_CLAWS(ItemID.IRON_CLAWS, 28, 50), + IRON_2H_SWORD(ItemID.IRON_2H_SWORD, 29, 75), + STEEL_DAGGER(ItemID.STEEL_DAGGER, 30, 37.5f), + STEEL_BAR(ItemID.STEEL_BAR, 30, 17.5f), + IRON_PLATESKIRT(ItemID.IRON_PLATESKIRT, 31, 75), + IRON_PLATELEGS(ItemID.IRON_PLATELEGS, 31, 75), + STEEL_AXE(ItemID.STEEL_AXE, 31, 37.5f), + STEEL_MACE(ItemID.STEEL_MACE, 32, 37.5f), + IRON_PLATEBODY(ItemID.IRON_PLATEBODY, 33, 125), + STEEL_MED_HELM(ItemID.STEEL_MED_HELM, 33, 37.5f), + STEEL_BOLTS_UNF(ItemID.STEEL_BOLTS_UNF, 33, 37.5f), + STEEL_DART_TIP(ItemID.STEEL_DART_TIP, 34, 37.5f), + STEEL_NAILS(ItemID.STEEL_NAILS, 34, 37.5f), + STEEL_SWORD(ItemID.STEEL_SWORD, 34, 37.5f), + CANNONBALL(ItemID.CANNONBALL, 35, 25.6f), + STEEL_SCIMITAR(ItemID.STEEL_SCIMITAR, 35, 75), + STEEL_ARROWTIPS(ItemID.STEEL_ARROWTIPS, 35, 37.5f), + STEEL_HASTA(ItemID.STEEL_HASTA, 35, 75), + STEEL_SPEAR(ItemID.STEEL_SPEAR, 35, 75), + STEEL_LIMBS(ItemID.STEEL_LIMBS, 36, 37.5f), + STEEL_STUDS(ItemID.STEEL_STUDS, 36, 37.5f), + STEEL_LONGSWORD(ItemID.STEEL_LONGSWORD, 36, 75), + STEEL_JAVELIN_HEADS(ItemID.STEEL_JAVELIN_HEADS, 36, 37.5f), + STEEL_KNIFE(ItemID.STEEL_KNIFE, 37, 37.5f), + STEEL_FULL_HELM(ItemID.STEEL_FULL_HELM, 37, 75), + STEEL_SQ_SHIELD(ItemID.STEEL_SQ_SHIELD, 38, 75), + STEEL_WARHAMMER(ItemID.STEEL_WARHAMMER, 39, 112.5f), + STEEL_BATTLEAXE(ItemID.STEEL_BATTLEAXE, 40, 112.5f), + GOLD_BAR_GOLDSMITH_GAUNTLETS(ItemID.GOLD_BAR, 40, 56.2f), + GOLD_BAR(ItemID.GOLD_BAR, 40, 22.5f), + STEEL_CHAINBODY(ItemID.STEEL_CHAINBODY, 41, 112.5f), + STEEL_KITESHIELD(ItemID.STEEL_KITESHIELD, 42, 112.5f), + STEEL_CLAWS(ItemID.STEEL_CLAWS, 43, 75), + STEEL_2H_SWORD(ItemID.STEEL_2H_SWORD, 44, 112.5f), + STEEL_PLATELEGS(ItemID.STEEL_PLATELEGS, 46, 112.5f), + STEEL_PLATESKIRT(ItemID.STEEL_PLATESKIRT, 46, 112.5f), + STEEL_PLATEBODY(ItemID.STEEL_PLATEBODY, 48, 187.5f), + BULLSEYE_LANTERN_UNF(ItemID.BULLSEYE_LANTERN_UNF, 49, 37), + MITHRIL_DAGGER(ItemID.MITHRIL_DAGGER, 50, 50), + MITHRIL_BAR(ItemID.MITHRIL_BAR, 50, 30), + MITHRIL_AXE(ItemID.MITHRIL_AXE, 51, 50), + MITHRIL_MACE(ItemID.MITHRIL_MACE, 52, 50), + MITHRIL_MED_HELM(ItemID.MITHRIL_MED_HELM, 53, 50), + MITHRIL_BOLTS_UNF(ItemID.MITHRIL_BOLTS_UNF, 53, 50), + MITHRIL_SWORD(ItemID.MITHRIL_SWORD, 54, 50), + MITHRIL_DART_TIP(ItemID.MITHRIL_DART_TIP, 54, 50), + MITHRIL_NAILS(ItemID.MITHRIL_NAILS, 54, 50), + MITHRIL_ARROWTIPS(ItemID.MITHRIL_ARROWTIPS, 55, 50), + MITHRIL_SCIMITAR(ItemID.MITHRIL_SCIMITAR, 55, 100), + MITHRIL_HASTA(ItemID.MITHRIL_HASTA, 55, 100), + MITHRIL_SPEAR(ItemID.MITHRIL_SPEAR, 55, 100), + MITHRIL_LONGSWORD(ItemID.MITHRIL_LONGSWORD, 56, 100), + MITHRIL_JAVELIN_HEADS(ItemID.MITHRIL_JAVELIN_HEADS, 56, 50), + MITHRIL_LIMBS(ItemID.MITHRIL_LIMBS, 56, 50), + MITHRIL_FULL_HELM(ItemID.MITHRIL_FULL_HELM, 57, 100), + MITHRIL_KNIFE(ItemID.MITHRIL_KNIFE, 57, 50), + MITHRIL_SQ_SHIELD(ItemID.MITHRIL_SQ_SHIELD, 58, 100), + MITH_GRAPPLE_TIP(ItemID.MITH_GRAPPLE_TIP, 59, 50), + MITHRIL_WARHAMMER(ItemID.MITHRIL_WARHAMMER, 59, 150), + DRAGON_SQ_SHIELD(ItemID.DRAGON_SQ_SHIELD, 60, 75), + MITHRIL_BATTLEAXE(ItemID.MITHRIL_BATTLEAXE, 60, 150), + MITHRIL_CHAINBODY(ItemID.MITHRIL_CHAINBODY, 61, 150), + MITHRIL_KITESHIELD(ItemID.MITHRIL_KITESHIELD, 62, 150), + MITHRIL_CLAWS(ItemID.MITHRIL_CLAWS, 63, 100), + MITHRIL_2H_SWORD(ItemID.MITHRIL_2H_SWORD, 64, 150), + MITHRIL_PLATESKIRT(ItemID.MITHRIL_PLATESKIRT, 66, 150), + MITHRIL_PLATELEGS(ItemID.MITHRIL_PLATELEGS, 66, 150), + MITHRIL_PLATEBODY(ItemID.MITHRIL_PLATEBODY, 68, 250), + ADAMANT_DAGGER(ItemID.ADAMANT_DAGGER, 70, 62.5f), + ADAMANTITE_BAR(ItemID.ADAMANTITE_BAR, 70, 37.5f), + ADAMANT_AXE(ItemID.ADAMANT_AXE, 71, 62.5f), + ADAMANT_MACE(ItemID.ADAMANT_MACE, 72, 62.5f), + ADAMANT_BOLTS_UNF(ItemID.ADAMANT_BOLTSUNF, 73, 62.5f), + ADAMANT_MED_HELM(ItemID.ADAMANT_MED_HELM, 73, 62.5f), + ADAMANT_DART_TIP(ItemID.ADAMANT_DART_TIP, 74, 62.5f), + ADAMANT_SWORD(ItemID.ADAMANT_SWORD, 74, 62.5f), + ADAMANTITE_NAILS(ItemID.ADAMANTITE_NAILS, 74, 62.5f), + ADAMANT_ARROWTIPS(ItemID.ADAMANT_ARROWTIPS, 75, 62.5f), + ADAMANT_SCIMITAR(ItemID.ADAMANT_SCIMITAR, 75, 125), + ADAMANT_HASTA(ItemID.ADAMANT_HASTA, 75, 125), + ADAMANT_SPEAR(ItemID.ADAMANT_SPEAR, 75, 125), + ADAMANTITE_LIMBS(ItemID.ADAMANTITE_LIMBS, 76, 62.5f), + ADAMANT_LONGSWORD(ItemID.ADAMANT_LONGSWORD, 76, 125), + ADAMANT_JAVELIN_HEADS(ItemID.ADAMANT_JAVELIN_HEADS, 76, 62.5f), + ADAMANT_FULL_HELM(ItemID.ADAMANT_FULL_HELM, 77, 125), + ADAMANT_KNIFE(ItemID.ADAMANT_KNIFE, 77, 62.5f), + ADAMANT_SQ_SHIELD(ItemID.ADAMANT_SQ_SHIELD, 78, 125), + ADAMANT_WARHAMMER(ItemID.ADAMANT_WARHAMMER, 79, 187.5f), + ADAMANT_BATTLEAXE(ItemID.ADAMANT_BATTLEAXE, 80, 187.5f), + ADAMANT_CHAINBODY(ItemID.ADAMANT_CHAINBODY, 81, 187.5f), + ADAMANT_KITESHIELD(ItemID.ADAMANT_KITESHIELD, 82, 187.5f), + ADAMANT_CLAWS(ItemID.ADAMANT_CLAWS, 83, 125), + ADAMANT_2H_SWORD(ItemID.ADAMANT_2H_SWORD, 84, 187.5f), + RUNITE_BAR(ItemID.RUNITE_BAR, 85, 50), + RUNE_DAGGER(ItemID.RUNE_DAGGER, 85, 75), + RUNE_AXE(ItemID.RUNE_AXE, 86, 75), + ADAMANT_PLATESKIRT(ItemID.ADAMANT_PLATESKIRT, 86, 187.5f), + ADAMANT_PLATELEGS(ItemID.ADAMANT_PLATELEGS, 86, 187.5f), + RUNE_MACE(ItemID.RUNE_MACE, 87, 75), + RUNITE_BOLTS_UNF(ItemID.RUNITE_BOLTS_UNF, 88, 75), + RUNE_MED_HELM(ItemID.RUNE_MED_HELM, 88, 75), + ADAMANT_PLATEBODY(ItemID.ADAMANT_PLATEBODY, 88, 312.5f), + RUNE_SWORD(ItemID.RUNE_SWORD, 89, 75), + RUNE_NAILS(ItemID.RUNE_NAILS, 89, 75), + RUNE_DART_TIP(ItemID.RUNE_DART_TIP, 89, 75), + RUNE_ARROWTIPS(ItemID.RUNE_ARROWTIPS, 90, 75), + RUNE_SCIMITAR(ItemID.RUNE_SCIMITAR, 90, 150), + RUNE_HASTA(ItemID.RUNE_HASTA, 90, 150), + RUNE_SPEAR(ItemID.RUNE_SPEAR, 90, 150), + DRAGONFIRE_SHIELD(ItemID.DRAGONFIRE_SHIELD, 90, 2000), + RUNE_LONGSWORD(ItemID.RUNE_LONGSWORD, 91, 150), + RUNE_JAVELIN_HEADS(ItemID.RUNE_JAVELIN_HEADS, 91, 75), + RUNITE_LIMBS(ItemID.RUNITE_LIMBS, 91, 75), + RUNE_KNIFE(ItemID.RUNE_KNIFE, 92, 75), + RUNE_FULL_HELM(ItemID.RUNE_FULL_HELM, 92, 150), + RUNE_SQ_SHIELD(ItemID.RUNE_SQ_SHIELD, 93, 150), + RUNE_WARHAMMER(ItemID.RUNE_WARHAMMER, 94, 225), + RUNE_BATTLEAXE(ItemID.RUNE_BATTLEAXE, 95, 225), + RUNE_CHAINBODY(ItemID.RUNE_CHAINBODY, 96, 225), + RUNE_KITESHIELD(ItemID.RUNE_KITESHIELD, 97, 225), + RUNE_CLAWS(ItemID.RUNE_CLAWS, 98, 150), + RUNE_PLATEBODY(ItemID.RUNE_PLATEBODY, 99, 375), + RUNE_PLATESKIRT(ItemID.RUNE_PLATESKIRT, 99, 225), + RUNE_PLATELEGS(ItemID.RUNE_PLATELEGS, 99, 225), + RUNE_2H_SWORD(ItemID.RUNE_2H_SWORD, 99, 225), + ; + + private final int itemId; + private final int level; + private final float xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java new file mode 100644 index 0000000000..c43a1414a1 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/ThievingAction.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum ThievingAction implements NamedSkillAction +{ + MAN_OR_WOMAN("Man / Woman", 1, 8, ItemID.MAN), + WINTER_SQIRKJUICE("Winter Sq'irkjuice", 1, 350, ItemID.WINTER_SQIRKJUICE), + VEGETABLE_STALL("Vegetable Stall", 2, 10, ItemID.CABBAGE), + CAKE_STALL("Cake Stall", 5, 16, ItemID.CAKE), + TEA_STALL("Tea Stall", 5, 16, ItemID.CUP_OF_TEA_4242), + CRAFTING_STALL("Crafting Stall", 5, 16, ItemID.CHISEL_5601), + MONKEY_FOOD_STALL("Monkey Food Stall", 5, 16, ItemID.BANANA), + FARMER("Farmer", 10, 14.5f, ItemID.FARMER), + FEMALE_HAM_MEMBER("Female H.A.M. Member", 15, 18.5f, ItemID.FEMALE_HAM), + SILK_STALL("Silk Stall", 20, 24, ItemID.SILK), + MALE_HAM_MEMBER("Male H.A.M. Member", 20, 22.5f, ItemID.MALE_HAM), + WINE_STALL("Wine Stall", 22, 27, ItemID.BOTTLE_OF_WINE), + WARRIOR_WOMEN_OR_AL_KHARID_WARRIOR("Warrior Women / Al-Kharid Warrior", 25, 26, ItemID.WARRIOR_WOMAN), + FRUIT_STALL("Fruit Stall", 25, 28, ItemID.STRANGE_FRUIT), + SPRING_SQIRKJUICE("Spring Sq'irkjuice", 25, 1350, ItemID.SPRING_SQIRKJUICE), + SEED_STALL("Seed Stall", 27, 10, ItemID.POTATO_SEED), + NATURE_RUNE_CHEST("Nature Rune Chest", 28, 25, ItemID.NATURE_RUNE), + ROGUE("Rogue", 32, 35.5f, ItemID.ROGUE), + FUR_STALL("Fur Stall", 35, 36, ItemID.GREY_WOLF_FUR), + CAVE_GOBLIN("Cave Goblin", 36, 40, ItemID.CAVE_GOBLIN), + MASTER_FARMER("Master Farmer", 38, 43, ItemID.MASTER_FARMER), + GUARD("Guard", 40, 46.8f, ItemID.GUARD), + FISH_STALL("Fish Stall", 42, 42, ItemID.RAW_SALMON), + BEARDED_POLLNIVNIAN_BANDIT("Bearded Pollnivnian Bandit", 45, 65, ItemID.BANDIT_6782), + FREMENNIK_CITIZEN("Fremennik Citizen", 45, 65, ItemID.FREMENNIK), + AUTUMN_SQIRKJUICE("Autumn Sq'irkjuice", 45, 2350, ItemID.AUTUMN_SQIRKJUICE), + CROSSBOW_STALL("Crossbow Stall", 49, 52, ItemID.CROSSBOW), + SILVER_STALL("Silver Stall", 50, 54, ItemID.SILVER_BAR), + WALL_SAFE("Wall Safe", 50, 70, ItemID.STETHOSCOPE), + DESERT_BANDIT("Desert Bandit", 53, 79.5f, ItemID.BANDIT), + KNIGHT("Knight", 55, 84.3f, ItemID.KNIGHT_OF_ARDOUGNE), + POLLNIVNIAN_BANDIT("Pollnivnian Bandit", 55, 84.3f, ItemID.BANDIT_6781), + STONE_CHEST("Stone Chest", 64, 280, ItemID.XERICIAN_FABRIC), + MAGIC_STALL("Magic Stall", 65, 100, ItemID.AIR_RUNE_6422), + SCIMITAR_STALL("Scimitar Stall", 65, 100, ItemID.STEEL_SCIMITAR), + MENAPHITE_THUG("Menaphite Thug", 65, 137.5f, ItemID.MENAPHITE_THUG), + SPICES_STALL("Spices Stall", 65, 81, ItemID.SPICE), + YANILLE_WATCHMAN("Yanille Watchman", 65, 137.5f, ItemID.WATCHMAN), + SUMMER_SQIRKJUICE("Summer Sq'irkjuice", 65, 3000, ItemID.SUMMER_SQIRKJUICE), + PALADIN("Paladin", 70, 151.8f, ItemID.PALADIN), + GNOME("Gnome", 75, 198.5f, ItemID.GNOME), + GEMS_STALL("Gems Stall", 75, 160, ItemID.SAPPHIRE), + DORGESH_KAAN_RICH_CHEST("Dorgesh-Kaan Rich Chest", 78, 650, ItemID.MINING_HELMET), + HERO("Hero", 80, 275, ItemID.HERO), + VYRE("Vyre", 82, 306.9f, ItemID.VYRE), + ROGUES_CASTLE_CHEST("Wilderness Rogues' Chest", 84, 100, ItemID.DRAGONSTONE), + ELF("Elf", 85, 353, ItemID.ELF), + TZHAAR_HUR("TzHaar-Hur", 90, 103.4f, ItemID.TZHAARHUR), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java new file mode 100644 index 0000000000..8aad519aaa --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingAction.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import net.runelite.api.ItemID; + +@AllArgsConstructor +@Getter +public enum WoodcuttingAction implements NamedSkillAction +{ + LOGS("Logs", 1, 25, ItemID.LOGS), + ACHEY_TREE_LOGS("Achey tree logs", 1, 25, ItemID.ACHEY_TREE_LOGS), + OAK_LOGS("Oak logs", 15, 37.5f, ItemID.OAK_LOGS), + WILLOW_LOGS("Willow logs", 30, 67.5f, ItemID.WILLOW_LOGS), + TEAK_LOGS("Teak logs", 35, 85, ItemID.TEAK_LOGS), + BARK("Bark", 45, 82.5f, ItemID.BARK), + MAPLE_LOGS("Maple logs", 45, 100, ItemID.MAPLE_LOGS), + MAHOGANY_LOGS("Mahogany logs", 50, 125, ItemID.MAHOGANY_LOGS), + ARCTIC_PINE_LOGS("Arctic pine logs", 54, 40, ItemID.ARCTIC_PINE_LOGS), + YEW_LOGS("Yew logs", 60, 175, ItemID.YEW_LOGS), + BLISTERWOOD_LOGS("Blisterwood logs", 62, 76, ItemID.BLISTERWOOD_LOGS), + SULLIUSCEPS("Sulliusceps", 65, 127, ItemID.SULLIUSCEP_CAP), + MAGIC_LOGS("Magic logs", 75, 250, ItemID.MAGIC_LOGS), + REDWOOD_LOGS("Redwood logs", 90, 380, ItemID.REDWOOD_LOGS), + ; + + private final String name; + private final int level; + private final float xp; + private final int icon; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java new file mode 100644 index 0000000000..14ee9a4c21 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/skills/WoodcuttingBonus.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator.skills; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter(onMethod_ = @Override) +public enum WoodcuttingBonus implements SkillBonus +{ + LUMBERJACK_OUTFIT("Lumberjack Outfit (+2.5%)", 0.025f), + ; + + private final String name; + private final float value; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java index ecb90c6dab..0d07857421 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java @@ -34,6 +34,7 @@ import net.runelite.api.Constants; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.coords.LocalPoint; +import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; @@ -108,7 +109,7 @@ public class SkyboxPlugin extends Plugin return; } - Color overrideColor = player.getWorldLocation().getY() < Constants.OVERWORLD_MAX_Y + Color overrideColor = WorldPoint.getMirrorPoint(player.getWorldLocation(), true).getY() < Constants.OVERWORLD_MAX_Y ? config.customOverworldColor() : config.customOtherColor(); if (overrideColor != null) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java index 4a079391a2..f6fb7dc445 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java @@ -55,7 +55,7 @@ enum Task BASILISKS("Basilisks", ItemID.BASILISK), BATS("Bats", ItemID.GIRAL_BAT_2, "Death wing"), BEARS("Bears", ItemID.ENSOULED_BEAR_HEAD), - BIRDS("Birds", ItemID.FEATHER, "Chicken", "Rooster", "Terrorbird", "Seagull", "Vulture"), + BIRDS("Birds", ItemID.FEATHER, "Chicken", "Rooster", "Terrorbird", "Seagull", "Vulture", "Duck"), BLACK_DEMONS("Black demons", ItemID.BLACK_DEMON_MASK), BLACK_DRAGONS("Black dragons", ItemID.BLACK_DRAGON_MASK, "Baby black dragon"), BLACK_KNIGHTS("Black Knights", ItemID.BLACK_FULL_HELM, "Black Knight"), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java index e638b1b713..2011a2e0e6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialWeapon.java @@ -39,7 +39,8 @@ enum SpecialWeapon BANDOS_GODSWORD("Bandos Godsword", new int[]{ItemID.BANDOS_GODSWORD, ItemID.BANDOS_GODSWORD_OR}, true, SpecialCounterConfig::bandosGodswordThreshold), BARRELCHEST_ANCHOR("Barrelchest Anchor", new int[]{ItemID.BARRELCHEST_ANCHOR}, true, (c) -> 0), BONE_DAGGER("Bone Dagger", new int[]{ItemID.BONE_DAGGER, ItemID.BONE_DAGGER_P, ItemID.BONE_DAGGER_P_8876, ItemID.BONE_DAGGER_P_8878}, true, (c) -> 0), - DORGESHUUN_CROSSBOW("Dorgeshuun Crossbow", new int[]{ItemID.DORGESHUUN_CROSSBOW}, true, (c) -> 0); + DORGESHUUN_CROSSBOW("Dorgeshuun Crossbow", new int[]{ItemID.DORGESHUUN_CROSSBOW}, true, (c) -> 0), + BULWARK("Dinh's Bulwark", new int[]{ItemID.DINHS_BULWARK}, false, c -> 0); private final String name; private final int[] itemID; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/BarRenderer.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/BarRenderer.java index 03cc2f326c..84c9c8ab44 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/BarRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/BarRenderer.java @@ -39,15 +39,10 @@ class BarRenderer { private static final Color BACKGROUND = new Color(0, 0, 0, 150); private static final Color OVERHEAL_COLOR = new Color(216, 255, 139, 150); - private static final int OVERHEAL_OFFSET = 2; - private static final int HEAL_OFFSET = 3; - private static final int ICON_AND_COUNTER_OFFSET_X = -4; - private static final int ICON_AND_COUNTER_OFFSET_Y = 25; private static final int SKILL_ICON_HEIGHT = 35; private static final int COUNTER_ICON_HEIGHT = 18; - private static final int OFFSET = 2; private static final int WIDTH = 20; - private static final int PADDING = 1; + private static final int BORDER_SIZE = 1; private final Supplier maxValueSupplier; private final Supplier currentValueSupplier; private final Supplier healSupplier; @@ -80,14 +75,14 @@ class BarRenderer refreshSkills(); graphics.setColor(BACKGROUND); - graphics.drawRect(x, y, WIDTH - PADDING, height - PADDING); + graphics.drawRect(x, y, WIDTH - BORDER_SIZE, height - BORDER_SIZE); graphics.fillRect(x, y, WIDTH, height); graphics.setColor(fill); - graphics.fillRect(x + PADDING, - y + PADDING + (height - filledHeight), - WIDTH - PADDING * OFFSET, - filledHeight - PADDING * OFFSET); + graphics.fillRect(x + BORDER_SIZE, + y + BORDER_SIZE + (height - filledHeight), + WIDTH - BORDER_SIZE * 2, + filledHeight - BORDER_SIZE * 2); if (config.enableRestorationBars()) { @@ -107,7 +102,8 @@ class BarRenderer if (skillIconEnabled) { final Image icon = iconSupplier.get(); - graphics.drawImage(icon, x + ICON_AND_COUNTER_OFFSET_X + PADDING, y + ICON_AND_COUNTER_OFFSET_Y - icon.getWidth(null), null); + final int xDraw = x + (WIDTH / 2) - (icon.getWidth(null) / 2); + graphics.drawImage(icon, xDraw, y, null); } if (config.enableCounter()) @@ -115,12 +111,12 @@ class BarRenderer graphics.setFont(FontManager.getRunescapeSmallFont()); final String counterText = Integer.toString(currentValue); final int widthOfCounter = graphics.getFontMetrics().stringWidth(counterText); - final int centerText = (WIDTH - PADDING) / 2 - (widthOfCounter / 2); + final int centerText = (WIDTH / 2) - (widthOfCounter / 2); final int yOffset = skillIconEnabled ? SKILL_ICON_HEIGHT : COUNTER_ICON_HEIGHT; final TextComponent textComponent = new TextComponent(); textComponent.setText(counterText); - textComponent.setPosition(new Point(x + centerText + PADDING, y + yOffset)); + textComponent.setPosition(new Point(x + centerText, y + yOffset)); textComponent.render(graphics); } } @@ -136,26 +132,26 @@ class BarRenderer } final int filledCurrentHeight = getBarHeight(maxValue, currentValue, height); - int filledHeight = getBarHeight(maxValue, heal, height); + final int filledHealHeight = getBarHeight(maxValue, heal, height); + final int fillY, fillHeight; graphics.setColor(color); - if (filledHeight + filledCurrentHeight > height) + if (filledHealHeight + filledCurrentHeight > height) { - final int overHeal = filledHeight + filledCurrentHeight - height; - filledHeight = filledHeight - overHeal + OVERHEAL_OFFSET; graphics.setColor(OVERHEAL_COLOR); - graphics.fillRect(x + PADDING, - y - filledCurrentHeight + (height - filledHeight) + HEAL_OFFSET, - WIDTH - PADDING * OVERHEAL_OFFSET, - filledHeight - PADDING * OVERHEAL_OFFSET); + fillY = y + BORDER_SIZE; + fillHeight = height - filledCurrentHeight - BORDER_SIZE; } else { - graphics.fillRect(x + PADDING, - y - OVERHEAL_OFFSET - filledCurrentHeight + (height - filledHeight) + HEAL_OFFSET, - WIDTH - PADDING * OVERHEAL_OFFSET, - filledHeight + OVERHEAL_OFFSET - PADDING * OVERHEAL_OFFSET); + fillY = y + BORDER_SIZE + height - (filledCurrentHeight + filledHealHeight); + fillHeight = filledHealHeight; } + + graphics.fillRect(x + BORDER_SIZE, + fillY, + WIDTH - BORDER_SIZE * 2, + fillHeight); } private static int getBarHeight(int base, int current, int size) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java index c406bf0d1f..b08a1d5331 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java @@ -73,7 +73,7 @@ class StatusBarsOverlay extends Overlay private static final int HEIGHT = 252; private static final int RESIZED_BOTTOM_HEIGHT = 272; private static final int IMAGE_SIZE = 17; - private static final int ICON_DIMENSIONS = 26; + private static final Dimension ICON_DIMENSIONS = new Dimension(26, 25); private static final int RESIZED_BOTTOM_OFFSET_Y = 12; private static final int RESIZED_BOTTOM_OFFSET_X = 10; private static final int MAX_SPECIAL_ATTACK_VALUE = 100; @@ -105,7 +105,7 @@ class StatusBarsOverlay extends Overlay this.itemStatService = itemstatservice; this.spriteManager = spriteManager; - prayerIcon = ImageUtil.resizeCanvas(ImageUtil.resizeImage(skillIconManager.getSkillImage(Skill.PRAYER, true), IMAGE_SIZE, IMAGE_SIZE), ICON_DIMENSIONS, ICON_DIMENSIONS); + prayerIcon = ImageUtil.resizeCanvas(ImageUtil.resizeImage(skillIconManager.getSkillImage(Skill.PRAYER, true), IMAGE_SIZE, IMAGE_SIZE), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); initRenderers(); } @@ -251,7 +251,7 @@ class StatusBarsOverlay extends Overlay { height = RESIZED_BOTTOM_HEIGHT; offsetLeftBarX = (location.getX() + RESIZED_BOTTOM_OFFSET_X - offsetLeft.getX()); - offsetLeftBarY = (location.getY() - RESIZED_BOTTOM_OFFSET_Y - offsetRight.getY()); + offsetLeftBarY = (location.getY() - RESIZED_BOTTOM_OFFSET_Y - offsetLeft.getY()); offsetRightBarX = (location.getX() + RESIZED_BOTTOM_OFFSET_X - offsetRight.getX()); offsetRightBarY = (location.getY() - RESIZED_BOTTOM_OFFSET_Y - offsetRight.getY()); } @@ -317,11 +317,11 @@ class StatusBarsOverlay extends Overlay return; } - heartIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS); - heartDisease = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.DISEASE_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS); - heartPoison = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.POISON_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS); - heartVenom = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.VENOM_HEART), ICON_DIMENSIONS, ICON_DIMENSIONS); - energyIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_WALK_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS); - specialIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_SPECIAL_ICON, 0)), ICON_DIMENSIONS, ICON_DIMENSIONS); + heartIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, 0)), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); + heartDisease = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.DISEASE_HEART), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); + heartPoison = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.POISON_HEART), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); + heartVenom = ImageUtil.resizeCanvas(ImageUtil.loadImageResource(AlternateSprites.class, AlternateSprites.VENOM_HEART), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); + energyIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_WALK_ICON, 0)), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); + specialIcon = ImageUtil.resizeCanvas(Objects.requireNonNull(spriteManager.getSprite(SpriteID.MINIMAP_ORB_SPECIAL_ICON, 0)), ICON_DIMENSIONS.width, ICON_DIMENSIONS.height); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/Viewport.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/Viewport.java index 8b32eb6723..e681645e69 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/Viewport.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/Viewport.java @@ -36,7 +36,7 @@ enum Viewport RESIZED_BOX(WidgetInfo.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX, WidgetInfo.RESIZABLE_VIEWPORT_INTERFACE_CONTAINER, new Point(20, -4), new Point(0, -4)), RESIZED_BOTTOM(WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INTERFACE_CONTAINER, - new Point(61, 8), new Point(35, -12)), + new Point(61, -12), new Point(35, -12)), FIXED(WidgetInfo.FIXED_VIEWPORT, WidgetInfo.FIXED_VIEWPORT_INTERFACE_CONTAINER, new Point(20, -4), new Point(0, -4)), FIXED_BANK(WidgetInfo.BANK_CONTAINER, WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER, diff --git a/runelite-client/src/main/java/net/runelite/client/task/Scheduler.java b/runelite-client/src/main/java/net/runelite/client/task/Scheduler.java index 67ba137e63..8ecf6ab665 100644 --- a/runelite-client/src/main/java/net/runelite/client/task/Scheduler.java +++ b/runelite-client/src/main/java/net/runelite/client/task/Scheduler.java @@ -24,16 +24,10 @@ */ package net.runelite.client.task; -import java.lang.invoke.CallSite; -import java.lang.invoke.LambdaMetafactory; -import java.lang.invoke.MethodHandle; -import java.lang.invoke.MethodHandles; -import java.lang.invoke.MethodType; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.time.Duration; import java.time.Instant; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -66,63 +60,6 @@ public class Scheduler return Collections.unmodifiableList(scheduledMethods); } - public void registerObject(Object obj) - { - for (Method method : obj.getClass().getMethods()) - { - Schedule schedule = method.getAnnotation(Schedule.class); - - if (schedule == null) - { - continue; - } - - Runnable runnable = null; - try - { - final Class clazz = method.getDeclaringClass(); - final MethodHandles.Lookup caller = MethodHandles.privateLookupIn(clazz, MethodHandles.lookup()); - final MethodType subscription = MethodType.methodType(method.getReturnType(), method.getParameterTypes()); - final MethodHandle target = caller.findVirtual(clazz, method.getName(), subscription); - final CallSite site = LambdaMetafactory.metafactory( - caller, - "run", - MethodType.methodType(Runnable.class, clazz), - subscription, - target, - subscription); - - final MethodHandle factory = site.getTarget(); - runnable = (Runnable) factory.bindTo(obj).invokeExact(); - } - catch (Throwable e) - { - log.warn("Unable to create lambda for method {}", method, e); - } - - ScheduledMethod scheduledMethod = new ScheduledMethod(schedule, method, obj, runnable); - log.debug("Scheduled task {}", scheduledMethod); - - addScheduledMethod(scheduledMethod); - } - } - - public void unregisterObject(Object obj) - { - List methods = new ArrayList<>(getScheduledMethods()); - - for (ScheduledMethod method : methods) - { - if (method.getObject() != obj) - { - continue; - } - - log.debug("Removing scheduled task {}", method); - removeScheduledMethod(method); - } - } - public void tick() { Instant now = Instant.now(); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 52a236f028..6be985cf67 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -32,6 +32,7 @@ import java.awt.Component; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; +import java.awt.Frame; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -365,6 +366,16 @@ public class ClientUI } }); + frame.addWindowStateListener(l -> + { + if (l.getNewState() == Frame.NORMAL) + { + // Recompute minimum size after a restore. + // Invoking this immediately causes the minimum size to be 8px too small with custom chrome on. + SwingUtilities.invokeLater(frame::revalidateMinimumSize); + } + }); + container = new JPanel(); container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS)); container.add(new ClientPanel(client)); @@ -747,6 +758,7 @@ public class ClientUI /** * Returns current cursor set on game container + * * @return awt cursor */ public Cursor getCurrentCursor() @@ -756,6 +768,7 @@ public class ClientUI /** * Returns current custom cursor or default system cursor if cursor is not set + * * @return awt cursor */ public Cursor getDefaultCursor() @@ -766,6 +779,7 @@ public class ClientUI /** * Changes cursor for client window. Requires ${@link ClientUI#init()} to be called first. * FIXME: This is working properly only on Windows, Linux and Mac are displaying cursor incorrectly + * * @param image cursor image * @param name cursor name */ @@ -784,6 +798,7 @@ public class ClientUI /** * Changes cursor for client window. Requires ${@link ClientUI#init()} to be called first. + * * @param cursor awt cursor */ public void setCursor(final Cursor cursor) @@ -793,6 +808,7 @@ public class ClientUI /** * Resets client window cursor to default one. + * * @see ClientUI#setCursor(BufferedImage, String) */ public void resetCursor() @@ -828,6 +844,7 @@ public class ClientUI /** * Paint UI related overlays to target graphics + * * @param graphics target graphics */ public void paintOverlays(final Graphics2D graphics) @@ -1037,7 +1054,7 @@ public class ClientUI if (config.usernameInTitle() && (client instanceof Client)) { - final Player player = ((Client)client).getLocalPlayer(); + final Player player = ((Client) client).getLocalPlayer(); if (player != null && player.getName() != null) { diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ContainableFrame.java b/runelite-client/src/main/java/net/runelite/client/ui/ContainableFrame.java index 61ead031c5..8e9270da44 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ContainableFrame.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ContainableFrame.java @@ -243,6 +243,17 @@ public class ContainableFrame extends JFrame expandedClientOppositeDirection = false; } + @Override + public void setExtendedState(int state) + { + if (OSType.getOSType() != OSType.MacOS) + { + super.setMaximizedBounds(getWindowAreaBounds()); + } + + super.setExtendedState(state); + } + /** * Due to Java bug JDK-4737788, maximizing an undecorated frame causes it to cover the taskbar. * As a workaround, Substance calls this method when the window is maximized to manually set the diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/ToggleButton.java b/runelite-client/src/main/java/net/runelite/client/ui/components/ToggleButton.java new file mode 100644 index 0000000000..f6a7007d26 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/ToggleButton.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2019 Abex + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package net.runelite.client.ui.components; + +import java.awt.image.BufferedImage; +import javax.swing.ImageIcon; +import javax.swing.JCheckBox; +import net.runelite.client.ui.ColorScheme; +import net.runelite.client.util.ImageUtil; +import net.runelite.client.util.SwingUtil; + +public class ToggleButton extends JCheckBox +{ + private static final ImageIcon ON_SWITCHER; + private static final ImageIcon OFF_SWITCHER; + private static final ImageIcon DISABLED_SWITCHER; + + static + { + BufferedImage onSwitcher = ImageUtil.loadImageResource(ToggleButton.class, "switcher_on.png"); + ON_SWITCHER = new ImageIcon(ImageUtil.recolorImage(onSwitcher, ColorScheme.BRAND_BLUE)); + OFF_SWITCHER = new ImageIcon(ImageUtil.flipImage( + ImageUtil.luminanceScale( + ImageUtil.grayscaleImage(onSwitcher), + 0.61f + ), + true, + false + )); + DISABLED_SWITCHER = new ImageIcon(ImageUtil.flipImage( + ImageUtil.luminanceScale( + ImageUtil.grayscaleImage(onSwitcher), + 0.4f + ), + true, + false + )); + } + + public ToggleButton() + { + super(OFF_SWITCHER); + setSelectedIcon(ON_SWITCHER); + setDisabledIcon(DISABLED_SWITCHER); + SwingUtil.removeButtonDecorations(this); + } + + public ToggleButton(String text) + { + super(text, OFF_SWITCHER, false); + setSelectedIcon(ON_SWITCHER); + setDisabledIcon(DISABLED_SWITCHER); + SwingUtil.removeButtonDecorations(this); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java index 26497ab43d..324b94259a 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java @@ -46,7 +46,6 @@ import net.runelite.client.util.ColorUtil; public class OverlayUtil { private static final int MINIMAP_DOT_RADIUS = 4; - private static final double UNIT = Math.PI / 1024.0d; public static void renderPolygon(Graphics2D graphics, Shape poly, Color color) { @@ -54,12 +53,17 @@ public class OverlayUtil } public static void renderPolygon(Graphics2D graphics, Shape poly, Color color, Stroke borderStroke) + { + renderPolygon(graphics, poly, color, new Color(0, 0, 0, 50), borderStroke); + } + + public static void renderPolygon(Graphics2D graphics, Shape poly, Color color, Color fillColor, Stroke borderStroke) { graphics.setColor(color); final Stroke originalStroke = graphics.getStroke(); graphics.setStroke(borderStroke); graphics.draw(poly); - graphics.setColor(new Color(0, 0, 0, 50)); + graphics.setColor(fillColor); graphics.fill(poly); graphics.setStroke(originalStroke); } @@ -74,12 +78,12 @@ public class OverlayUtil public static void renderMinimapRect(Client client, Graphics2D graphics, Point center, int width, int height, Color color) { - double angle = client.getMapAngle() * UNIT; + double angle = client.getMapAngle() * Perspective.UNIT; graphics.setColor(color); graphics.rotate(angle, center.getX(), center.getY()); - graphics.drawRect(center.getX() - width / 2, center.getY() - height / 2, width, height); - graphics.rotate(-angle , center.getX(), center.getY()); + graphics.drawRect(center.getX() - width / 2, center.getY() - height / 2, width - 1, height - 1); + graphics.rotate(-angle, center.getX(), center.getY()); } public static void renderTextLocation(Graphics2D graphics, Point txtLoc, String text, Color color) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetItemOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetItemOverlay.java index 066c52402a..0233b3856a 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetItemOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetItemOverlay.java @@ -43,6 +43,7 @@ import static net.runelite.api.widgets.WidgetID.GUIDE_PRICES_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.PLAYER_TRADE_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.PLAYER_TRADE_SCREEN_GROUP_ID; +import static net.runelite.api.widgets.WidgetID.POH_TREASURE_CHEST_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SEED_VAULT_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SHOP_INVENTORY_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; @@ -127,7 +128,8 @@ public abstract class WidgetItemOverlay extends Overlay DUEL_INVENTORY_GROUP_ID, DUEL_INVENTORY_OTHER_GROUP_ID, PLAYER_TRADE_SCREEN_GROUP_ID, - PLAYER_TRADE_INVENTORY_GROUP_ID); + PLAYER_TRADE_INVENTORY_GROUP_ID, + POH_TREASURE_CHEST_INVENTORY_GROUP_ID); } protected void showOnBank() diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 9435086d7c..6cdd78248c 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -204,6 +204,20 @@ public class WidgetOverlay extends Overlay this.overlayManager = overlayManager; } + @Override + public Dimension render(Graphics2D graphics) + { + // The xptracker component layer isn't hidden if the counter and process bar are both configured "Off", + // it just has its children hidden. + if (client.getVar(Varbits.EXPERIENCE_TRACKER_COUNTER) == 30 // Off + && client.getVar(Varbits.EXPERIENCE_TRACKER_PROGRESS_BAR) == 0) // Off + { + return null; + } + + return super.render(graphics); + } + /** * Get the overlay position of the xptracker based on the configured location in-game. * diff --git a/runelite-client/src/main/java/net/runelite/client/ui/skin/ObsidianSkin.java b/runelite-client/src/main/java/net/runelite/client/ui/skin/ObsidianSkin.java index 92620713fc..8615d70788 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/skin/ObsidianSkin.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/skin/ObsidianSkin.java @@ -59,7 +59,7 @@ public class ObsidianSkin extends SubstanceSkin ObsidianSkin() { final SubstanceSkin.ColorSchemes schemes = SubstanceSkin - .getColorSchemes(getClass().getResource(NAME + ".colorschemes")); + .getColorSchemes(getClass().getResourceAsStream(NAME + ".colorschemes")); final SubstanceColorScheme activeScheme = schemes.get("RuneLite Active"); final SubstanceColorScheme enabledScheme = schemes.get("RuneLite Enabled"); @@ -119,7 +119,7 @@ public class ObsidianSkin extends SubstanceSkin .get("RuneLite Decorations Watermark"); this.registerDecorationAreaSchemeBundle(decorationsSchemeBundle, decorationsWatermarkScheme, - DecorationAreaType.TOOLBAR, DecorationAreaType.GENERAL, DecorationAreaType.FOOTER); + DecorationAreaType.TOOLBAR, DecorationAreaType.CONTROL_PANE, DecorationAreaType.FOOTER); final SubstanceColorSchemeBundle headerSchemeBundle = new SubstanceColorSchemeBundle(activeScheme, enabledScheme, enabledScheme); @@ -184,7 +184,6 @@ public class ObsidianSkin extends SubstanceSkin } }; - this.watermark = null; this.fillPainter = new FractionBasedFillPainter("RuneLite", new float[]{0.0f, 0.5f, 1.0f}, new ColorSchemeSingleColorQuery[]{ColorSchemeSingleColorQuery.ULTRALIGHT, diff --git a/runelite-client/src/main/java/net/runelite/client/util/OSXUtil.java b/runelite-client/src/main/java/net/runelite/client/util/OSXUtil.java index de099a1646..3a90759ec9 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/OSXUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/util/OSXUtil.java @@ -24,10 +24,9 @@ */ package net.runelite.client.util; -import com.apple.eawt.Application; -import com.apple.eawt.FullScreenUtilities; import javax.swing.JFrame; import lombok.extern.slf4j.Slf4j; +import org.madlonkay.desktopsupport.DesktopSupport; /** * A class with OSX-specific functions to improve integration. @@ -44,7 +43,7 @@ public class OSXUtil { if (OSType.getOSType() == OSType.MacOS) { - FullScreenUtilities.setWindowCanFullScreen(gui, true); + DesktopSupport.getSupport().setWindowCanFullScreen(gui, true); log.debug("Enabled fullscreen on macOS"); } } @@ -54,8 +53,7 @@ public class OSXUtil */ public static void requestUserAttention() { - Application app = Application.getApplication(); - app.requestUserAttention(true); + DesktopSupport.getSupport().requestUserAttention(true); log.debug("Requested user attention on macOS"); } @@ -64,8 +62,7 @@ public class OSXUtil */ public static void requestForeground() { - Application app = Application.getApplication(); - app.requestForeground(true); + DesktopSupport.getSupport().requestForeground(true); log.debug("Forced focus on macOS"); } } diff --git a/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java b/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java index 22e46213e2..11b6bbd479 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java @@ -62,6 +62,7 @@ import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.components.CustomScrollBarUI; import net.runelite.client.ui.components.SliderUI; +import org.pushingpixels.substance.api.SubstanceSlices; import org.pushingpixels.substance.internal.SubstanceSynapse; /** @@ -217,7 +218,7 @@ public class SwingUtil button.setSize(scaledImage.getWidth(), scaledImage.getHeight()); button.setToolTipText(navigationButton.getTooltip()); button.setIcon(new ImageIcon(scaledImage)); - button.putClientProperty(SubstanceSynapse.FLAT_LOOK, Boolean.TRUE); + button.putClientProperty(SubstanceSynapse.BACKGROUND_APPEARANCE_STRATEGY, SubstanceSlices.BackgroundAppearanceStrategy.FLAT); button.setFocusable(false); button.addActionListener(e -> { diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index d5f4d28d83..ca7d271783 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -9752,7 +9752,23 @@ 25224, 25225, 25226, - 25227 + 25227, + 26184, + 26185, + 26186, + 26187, + 26188, + 26189, + 26190, + 26191, + 26192, + 26193, + 26194, + 26195, + 26196, + 26197, + 26198, + 26199 ], "red icon": [ 25228, @@ -9770,7 +9786,23 @@ 25240, 25241, 25242, - 25243 + 25243, + 26200, + 26201, + 26202, + 26203, + 26204, + 26205, + 26206, + 26207, + 26208, + 26209, + 26210, + 26211, + 26212, + 26213, + 26214, + 26215 ], "essence pack": [ 25280, @@ -10144,5 +10176,17 @@ "sigil of the guardian angel": [ 26146, 26147 + ], + "group iron platebody": [ + 26158, + 26160, + 26162, + 26164 + ], + "hardcore group iron platebody": [ + 26172, + 26174, + 26176, + 26178 ] } \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png new file mode 100644 index 0000000000..ccfc09b84a Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png deleted file mode 100644 index e74b1d940b..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/tournament.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_30px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_30px.png deleted file mode 100644 index 89e37c75bd..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_30px.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_90px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_90px.png deleted file mode 100644 index c609c99d4e..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/back_90px.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_back_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_back_50px.png new file mode 100644 index 0000000000..b4eef0a9be Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_back_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_front_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_front_50px.png new file mode 100644 index 0000000000..ce2c009f66 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/blue_front_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_blue.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_blue.png new file mode 100644 index 0000000000..eeb85664f4 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_blue.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_green.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_green.png new file mode 100644 index 0000000000..557df86e6d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_green.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_red.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_red.png new file mode 100644 index 0000000000..7de8f842ef Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_red.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_yellow.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_yellow.png new file mode 100644 index 0000000000..719e1c2b4d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cox_yellow.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_100px.png new file mode 100644 index 0000000000..7c2f99a298 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_120px.png new file mode 100644 index 0000000000..43bcfe8cb7 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_140px.png new file mode 100644 index 0000000000..a01935364a Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_160px.png new file mode 100644 index 0000000000..3091fa2ba3 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_40px.png new file mode 100644 index 0000000000..6e58e0e0ba Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_50px.png new file mode 100644 index 0000000000..f9dc5c4a2e Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_60px.png new file mode 100644 index 0000000000..d9d4a91ec4 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_70px.png new file mode 100644 index 0000000000..5104a6f92c Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_80px.png new file mode 100644 index 0000000000..8a5e1ca767 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_back_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_100px.png new file mode 100644 index 0000000000..d8bc01cd32 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_120px.png new file mode 100644 index 0000000000..a6b3312183 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_140px.png new file mode 100644 index 0000000000..12f77c16c4 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_160px.png new file mode 100644 index 0000000000..3ad9286ec9 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_40px.png new file mode 100644 index 0000000000..0a2691523b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_50px.png new file mode 100644 index 0000000000..afb18fd6e0 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_60px.png new file mode 100644 index 0000000000..62e70d7538 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_70px.png new file mode 100644 index 0000000000..6377980d44 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_80px.png new file mode 100644 index 0000000000..15cacce3f5 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/cyan_front_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_100px.png new file mode 100644 index 0000000000..6ab3df10a9 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_120px.png new file mode 100644 index 0000000000..8805aec8c8 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_140px.png new file mode 100644 index 0000000000..a8baa90767 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_160px.png new file mode 100644 index 0000000000..6bdb36934a Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_40px.png new file mode 100644 index 0000000000..82ad5b694b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_50px.png new file mode 100644 index 0000000000..9fc51542a2 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_60px.png new file mode 100644 index 0000000000..981f42e08b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_70px.png new file mode 100644 index 0000000000..e323ad98d4 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_80px.png new file mode 100644 index 0000000000..132068a357 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_back_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_100px.png new file mode 100644 index 0000000000..557df86e6d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_120px.png new file mode 100644 index 0000000000..ec824bf7e6 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_140px.png new file mode 100644 index 0000000000..1d34ec8318 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_160px.png new file mode 100644 index 0000000000..b8e5d59a52 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_40px.png new file mode 100644 index 0000000000..f60fc0d35f Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_50px.png new file mode 100644 index 0000000000..0b36b4fec0 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_60px.png new file mode 100644 index 0000000000..e2d6530cbb Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_70px.png new file mode 100644 index 0000000000..cc9991e260 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_80px.png new file mode 100644 index 0000000000..3607e7dcb6 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/default_front_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_30px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_30px.png deleted file mode 100644 index 54da07dc63..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_30px.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_90px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_90px.png deleted file mode 100644 index b7cc3e38b7..0000000000 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/front_90px.png and /dev/null differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_100px.png new file mode 100644 index 0000000000..53cbbac832 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_120px.png new file mode 100644 index 0000000000..ff1aaf12f8 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_140px.png new file mode 100644 index 0000000000..abb3496b48 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_160px.png new file mode 100644 index 0000000000..82657f438b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_40px.png new file mode 100644 index 0000000000..1940b5ca33 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_50px.png new file mode 100644 index 0000000000..09521dc84b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_60px.png new file mode 100644 index 0000000000..487698459d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_70px.png new file mode 100644 index 0000000000..e8f68c8268 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_80px.png new file mode 100644 index 0000000000..135258ebe8 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_back_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_100px.png new file mode 100644 index 0000000000..f2291d94e7 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_120px.png new file mode 100644 index 0000000000..546420b403 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_140px.png new file mode 100644 index 0000000000..28e3e77177 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_160px.png new file mode 100644 index 0000000000..1e4840b1a6 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_40px.png new file mode 100644 index 0000000000..04d76f27ca Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_50px.png new file mode 100644 index 0000000000..12c34e4560 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_60px.png new file mode 100644 index 0000000000..aa973b078b Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_70px.png new file mode 100644 index 0000000000..7a0e853881 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_80px.png new file mode 100644 index 0000000000..ac924e04c3 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/orange_front_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_100px.png new file mode 100644 index 0000000000..90ecf591c9 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_120px.png new file mode 100644 index 0000000000..fe4e25ff9f Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_140px.png new file mode 100644 index 0000000000..9d5eb96b6c Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_160px.png new file mode 100644 index 0000000000..ec2afdf392 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_40px.png new file mode 100644 index 0000000000..3515cf7ef1 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_50px.png new file mode 100644 index 0000000000..ea6fd83677 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_60px.png new file mode 100644 index 0000000000..044c0515af Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_70px.png new file mode 100644 index 0000000000..25a145c015 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_80px.png new file mode 100644 index 0000000000..8bac62a14a Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_back_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_100px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_100px.png new file mode 100644 index 0000000000..719e1c2b4d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_100px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_120px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_120px.png new file mode 100644 index 0000000000..84184c5125 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_120px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_140px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_140px.png new file mode 100644 index 0000000000..1f094da40c Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_140px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_160px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_160px.png new file mode 100644 index 0000000000..f92b467a9d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_160px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_40px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_40px.png new file mode 100644 index 0000000000..e8a703a298 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_40px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_50px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_50px.png new file mode 100644 index 0000000000..a3551cffa5 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_50px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_60px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_60px.png new file mode 100644 index 0000000000..9ea3aace6d Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_60px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_70px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_70px.png new file mode 100644 index 0000000000..8362196a31 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_70px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_80px.png b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_80px.png new file mode 100644 index 0000000000..666be5f950 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/plugins/interfacestyles/2010/healthbar/yellow_front_80px.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/back.png b/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/back.png index 76773682c4..f8e721d62f 100644 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/back.png and b/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/back.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/front.png b/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/front.png index d8df9d8bfe..1d583bb5b2 100644 Binary files a/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/front.png and b/runelite-client/src/main/resources/net/runelite/client/plugins/prayer/front.png differ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/roofremoval/overrides.jsonc b/runelite-client/src/main/resources/net/runelite/client/plugins/roofremoval/overrides.jsonc index 656c4ae4dc..a8a0ce152d 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/roofremoval/overrides.jsonc +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/roofremoval/overrides.jsonc @@ -3270,5 +3270,43 @@ "z1": 0, "z2": 0 } + ], + "12597": [ // Varrock West + { + "rx1": 19, + "ry1": 33, + "rx2": 25, + "ry2": 34, + "z1": 0, + "z2": 0 + }, + { + "rx1": 29, + "ry1": 38, + "rx2": 30, + "ry2": 44, + "z1": 0, + "z2": 0 + } + ], + "12341": [ // Barbarian Village + { + "rx1": 22, + "ry1": 35, + "rx2": 27, + "ry2": 38, + "z1": 1, + "z2": 1 + } + ], + "11325": [ // Weiss + { + "rx1": 43, + "ry1": 37, + "rx2": 46, + "ry2": 41, + "z1": 0, + "z2": 0 + } ] } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json deleted file mode 100644 index e26954adde..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_agility.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 2150, - "name": "Gnome Stronghold", - "xp": 86.5 - }, - { - "level": 5, - "icon": 13359, - "name": "Shayzien Basic Course", - "xp": 133.2 - }, - { - "level": 10, - "icon": 11849, - "name": "Draynor Village Rooftop", - "xp": 120 - }, - { - "level":15, - "icon": 11328, - "name": "Leaping trout", - "xp": 5 - }, - { - "level": 20, - "icon": 11849, - "name": "Al Kharid Rooftop", - "xp": 180 - }, - { - "level": 30, - "icon": 11849, - "name": "Varrock Rooftop", - "xp": 238 - }, - { - "level": 30, - "icon": 10595, - "name": "Penguin Agility Course", - "xp": 540 - }, - { - "level":30, - "icon": 11330, - "name": "Leaping salmon", - "xp": 6 - }, - { - "level": 35, - "icon": 1365, - "name": "Barbarian Outpost", - "xp": 152.5 - }, - { - "level": 40, - "icon": 11849, - "name": "Canifis Rooftop", - "xp": 240 - }, - { - "level":45, - "icon": 11332, - "name": "Leaping sturgeon", - "xp": 7 - }, - { - "level": 48, - "icon": 4026, - "name": "Ape Atoll", - "xp": 580 - }, - { - "level": 48, - "icon": 13379, - "name": "Shayzien Advanced Course", - "xp": 474.3 - }, - { - "level": 50, - "icon": 11849, - "name": "Falador Rooftop", - "xp": 440 - }, - { - "level": 52, - "icon": 964, - "name": "Wilderness Agility Course", - "xp": 571 - }, - { - "level": 52, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 1", - "xp": 575 - }, - { - "level": 60, - "icon": 11849, - "name": "Seers' Village Rooftop", - "xp": 570 - }, - { - "level": 60, - "icon": 4179, - "name": "Werewolf Agility Course", - "xp": 730 - }, - { - "level": 62, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 2", - "xp": 925 - }, - { - "level": 70, - "icon": 11849, - "name": "Pollnivneach Rooftop", - "xp": 890 - }, - { - "level": 72, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 3", - "xp": 1500 - }, - { - "level": 75, - "icon": 23962, - "name": "Prifddinas Agility Course", - "xp": 1337 - }, - { - "level": 80, - "icon": 11849, - "name": "Rellekka Rooftop", - "xp": 780 - }, - { - "level": 82, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 4", - "xp": 2700 - }, - { - "level": 90, - "icon": 11849, - "name": "Ardougne Rooftop", - "xp": 793 - }, - { - "level": 92, - "icon": 24736, - "name": "Hallowed Sepulchre Floor 5", - "xp": 6000 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json deleted file mode 100644 index 32897151de..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_construction.json +++ /dev/null @@ -1,1018 +0,0 @@ -{ - "bonuses": [ - { - "name": "Carpenter's Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 8168, - "name": "Exit Portal", - "xp": 100 - }, - { - "level": 1, - "icon": 960, - "name": "Plank", - "xp": 29 - }, - { - "level": 1, - "icon": 8778, - "name": "Oak Plank", - "xp": 60 - }, - { - "level": 1, - "icon": 8780, - "name": "Teak Plank", - "xp": 90 - }, - { - "level": 1, - "icon": 8782, - "name": "Mahogany Plank", - "xp": 140 - }, - { - "level": 1, - "icon": 8180, - "name": "Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8186, - "name": "Fern (big plant)", - "xp": 31 - }, - { - "level": 1, - "icon": 8189, - "name": "Short Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8183, - "name": "Dock Leaf", - "xp": 31 - }, - { - "level": 1, - "icon": 8309, - "name": "Crude Wooden Chair", - "xp": 58 - }, - { - "level": 2, - "icon": 8316, - "name": "Brown Rug", - "xp": 30 - }, - { - "level": 2, - "icon": 8322, - "name": "Torn Curtains", - "xp": 132 - }, - { - "level": 3, - "icon": 8325, - "name": "Clay Fireplace", - "xp": 30 - }, - { - "level": 4, - "icon": 8319, - "name": "Wooden Bookcase", - "xp": 115 - }, - { - "level": 5, - "icon": 8216, - "name": "Firepit", - "xp": 40 - }, - { - "level": 5, - "icon": 8236, - "name": "Cat Blanket", - "xp": 15 - }, - { - "level": 5, - "icon": 8169, - "name": "Decorative Rock", - "xp": 100 - }, - { - "level": 5, - "icon": 8173, - "name": "Tree", - "xp": 31 - }, - { - "level": 6, - "icon": 8181, - "name": "Small Fern", - "xp": 70 - }, - { - "level": 6, - "icon": 8184, - "name": "Thistle", - "xp": 70 - }, - { - "level": 6, - "icon": 8187, - "name": "Bush", - "xp": 70 - }, - { - "level": 6, - "icon": 8190, - "name": "Large Leaf Bush", - "xp": 70 - }, - { - "level": 6, - "icon": 8223, - "name": "Wooden Shelves 1", - "xp": 87 - }, - { - "level": 7, - "icon": 8230, - "name": "Pump and Drain", - "xp": 100 - }, - { - "level": 7, - "icon": 8239, - "name": "Beer Barrel", - "xp": 87 - }, - { - "level": 8, - "icon": 8310, - "name": "Wooden Chair", - "xp": 87 - }, - { - "level": 9, - "icon": 8233, - "name": "Wooden Larder", - "xp": 228 - }, - { - "level": 10, - "icon": 8115, - "name": "Wood Dining Table", - "xp": 115 - }, - { - "level": 10, - "icon": 8170, - "name": "Pond", - "xp": 100 - }, - { - "level": 10, - "icon": 8174, - "name": "Nice Tree", - "xp": 44 - }, - { - "level": 10, - "icon": 8108, - "name": "Wooden Bench", - "xp": 115 - }, - { - "level": 11, - "icon": 8217, - "name": "Firepit with Hook", - "xp": 60 - }, - { - "level": 12, - "icon": 8185, - "name": "Reeds", - "xp": 100 - }, - { - "level": 12, - "icon": 8182, - "name": "Fern (small plant)", - "xp": 100 - }, - { - "level": 12, - "icon": 8240, - "name": "Cider Barrel", - "xp": 91 - }, - { - "level": 12, - "icon": 8224, - "name": "Wooden Shelves 2", - "xp": 147 - }, - { - "level": 12, - "icon": 8115, - "name": "Wood Table", - "xp": 87 - }, - { - "level": 12, - "icon": 8191, - "name": "Huge Plant", - "xp": 100 - }, - { - "level": 12, - "icon": 8188, - "name": "Tall Plant", - "xp": 100 - }, - { - "level": 13, - "icon": 8317, - "name": "Rug", - "xp": 60 - }, - { - "level": 14, - "icon": 8311, - "name": "Rocking Chair", - "xp": 87 - }, - { - "level": 15, - "icon": 8171, - "name": "Imp Statue", - "xp": 150 - }, - { - "level": 15, - "icon": 8175, - "name": "Oak Tree", - "xp": 70 - }, - { - "level": 16, - "icon": 8102, - "name": "Oak Decoration", - "xp": 120 - }, - { - "level": 17, - "icon": 8218, - "name": "Firepit with Pot", - "xp": 80 - }, - { - "level": 18, - "icon": 8323, - "name": "Curtains", - "xp": 225 - }, - { - "level": 18, - "icon": 1905, - "name": "Asgarnian Ale", - "xp": 184 - }, - { - "level": 19, - "icon": 8237, - "name": "Cat Basket", - "xp": 58 - }, - { - "level": 19, - "icon": 8312, - "name": "Oak Chair", - "xp": 120 - }, - { - "level": 20, - "icon": 8031, - "name": "Wooden Bed", - "xp": 117 - }, - { - "level": 20, - "icon": 8038, - "name": "Shoe Box", - "xp": 58 - }, - { - "level": 21, - "icon": 8045, - "name": "Shaving Stand", - "xp": 30 - }, - { - "level": 22, - "icon": 8116, - "name": "Oak Table", - "xp": 240 - }, - { - "level": 22, - "icon": 8109, - "name": "Oak Bench", - "xp": 240 - }, - { - "level": 23, - "icon": 8225, - "name": "Wooden Shelves 3", - "xp": 147 - }, - { - "level": 24, - "icon": 8219, - "name": "Small Oven", - "xp": 80 - }, - { - "level": 25, - "icon": 8052, - "name": "Oak Clock", - "xp": 142 - }, - { - "level": 26, - "icon": 1909, - "name": "Greenman's Ale", - "xp": 184 - }, - { - "level": 26, - "icon": 8313, - "name": "Oak Armchair", - "xp": 180 - }, - { - "level": 26, - "icon": 8099, - "name": "Rope Bell-Pull", - "xp": 64 - }, - { - "level": 27, - "icon": 8231, - "name": "Pump and Tub", - "xp": 200 - }, - { - "level": 27, - "icon": 8039, - "name": "Oak Drawers", - "xp": 120 - }, - { - "level": 29, - "icon": 8320, - "name": "Oak Bookcase", - "xp": 180 - }, - { - "level": 29, - "icon": 8220, - "name": "Large Oven", - "xp": 100 - }, - { - "level": 29, - "icon": 8046, - "name": "Oak Shaving Stand", - "xp": 61 - }, - { - "level": 30, - "icon": 8176, - "name": "Willow Tree", - "xp": 100 - }, - { - "level": 30, - "icon": 8032, - "name": "Oak Bed", - "xp": 210 - }, - { - "level": 30, - "icon": 10976, - "name": "Long Bone", - "xp": 4500 - }, - { - "level": 30, - "icon": 10977, - "name": "Curved Bone", - "xp": 6750 - }, - { - "level": 31, - "icon": 8110, - "name": "Carved Oak Bench", - "xp": 240 - }, - { - "level": 31, - "icon": 8117, - "name": "Carved Oak Table", - "xp": 360 - }, - { - "level": 32, - "icon": 8118, - "name": "Oak Table", - "xp": 180 - }, - { - "level": 32, - "icon": 8023, - "name": "Boxing Ring", - "xp": 420 - }, - { - "level": 33, - "icon": 8234, - "name": "Oak Larder", - "xp": 480 - }, - { - "level": 33, - "icon": 8238, - "name": "Cushioned Basket", - "xp": 58 - }, - { - "level": 33, - "icon": 8326, - "name": "Stone Fireplace", - "xp": 40 - }, - { - "level": 34, - "icon": 8221, - "name": "Steel Range", - "xp": 120 - }, - { - "level": 34, - "icon": 8226, - "name": "Oak Shelves 1", - "xp": 240 - }, - { - "level": 34, - "icon": 8028, - "name": "Glove Rack", - "xp": 120 - }, - { - "level": 34, - "icon": 8033, - "name": "Large Oak Bed", - "xp": 330 - }, - { - "level": 35, - "icon": 8314, - "name": "Teak Armchair", - "xp": 180 - }, - { - "level": 36, - "icon": 1911, - "name": "Dragon Bitter", - "xp": 224 - }, - { - "level": 36, - "icon": 8103, - "name": "Teak Decoration", - "xp": 180 - }, - { - "level": 37, - "icon": 8100, - "name": "Bell-Pull", - "xp": 120 - }, - { - "level": 37, - "icon": 8047, - "name": "Oak Dresser", - "xp": 121 - }, - { - "level": 38, - "icon": 8112, - "name": "Teak Bench", - "xp": 360 - }, - { - "level": 38, - "icon": 8118, - "name": "Teak Table", - "xp": 360 - }, - { - "level": 39, - "icon": 8040, - "name": "Oak Wardrobe", - "xp": 180 - }, - { - "level": 40, - "icon": 8034, - "name": "Teak Bed", - "xp": 300 - }, - { - "level": 40, - "icon": 8321, - "name": "Mahogany Bookcase", - "xp": 420 - }, - { - "level": 40, - "icon": 8334, - "name": "Oak Lectern", - "xp": 60 - }, - { - "level": 40, - "icon": 8324, - "name": "Opulent Curtains", - "xp": 315 - }, - { - "level": 41, - "icon": 8024, - "name": "Fencing Ring", - "xp": 570 - }, - { - "level": 41, - "icon": 8341, - "name": "Globe", - "xp": 180 - }, - { - "level": 42, - "icon": 8222, - "name": "Fancy Range", - "xp": 160 - }, - { - "level": 42, - "icon": 8351, - "name": "Crystal Ball", - "xp": 280 - }, - { - "level": 43, - "icon": 8354, - "name": "Alchemical Chart", - "xp": 30 - }, - { - "level": 43, - "icon": 8235, - "name": "Teak larder", - "xp": 750 - }, - { - "level": 44, - "icon": 8348, - "name": "Wooden Telescope", - "xp": 121 - }, - { - "level": 44, - "icon": 8029, - "name": "Weapons Rack", - "xp": 180 - }, - { - "level": 44, - "icon": 8112, - "name": "Carved Teak Bench", - "xp": 360 - }, - { - "level": 45, - "icon": 8227, - "name": "Oak Shelves 2", - "xp": 240 - }, - { - "level": 45, - "icon": 8119, - "name": "Carved Teak Table", - "xp": 600 - }, - { - "level": 45, - "icon": 8035, - "name": "Large Teak Bed", - "xp": 480 - }, - { - "level": 45, - "icon": 8177, - "name": "Maple Tree", - "xp": 122 - }, - { - "level": 46, - "icon": 8048, - "name": "Teak Dresser", - "xp": 181 - }, - { - "level": 47, - "icon": 8232, - "name": "Sink", - "xp": 300 - }, - { - "level": 47, - "icon": 8335, - "name": "Eagle Lectern", - "xp": 120 - }, - { - "level": 47, - "icon": 8336, - "name": "Demon Lectern", - "xp": 120 - }, - { - "level": 47, - "icon": 21913, - "name": "Mounted Mythical Cape", - "xp": 370 - }, - { - "level": 48, - "icon": 5755, - "name": "Chef's Delight", - "xp": 224 - }, - { - "level": 50, - "icon": 8328, - "name": "Teak Portal", - "xp": 270 - }, - { - "level": 50, - "icon": 8315, - "name": "Mahogany Armchair", - "xp": 280 - }, - { - "level": 50, - "icon": 8342, - "name": "Ornamental Globe", - "xp": 270 - }, - { - "level": 50, - "icon": 8331, - "name": "Teleport Focus", - "xp": 40 - }, - { - "level": 51, - "icon": 8041, - "name": "Teak Drawers", - "xp": 180 - }, - { - "level": 51, - "icon": 8025, - "name": "Combat Ring", - "xp": 630 - }, - { - "level": 52, - "icon": 8118, - "name": "Teak Kitchen Table", - "xp": 270 - }, - { - "level": 52, - "icon": 8113, - "name": "Mahogany Bench", - "xp": 560 - }, - { - "level": 52, - "icon": 8120, - "name": "Mahogany Table", - "xp": 840 - }, - { - "level": 53, - "icon": 8036, - "name": "4-Poster Bed", - "xp": 450 - }, - { - "level": 54, - "icon": 8030, - "name": "Extra Weapons Rack", - "xp": 440 - }, - { - "level": 54, - "icon": 8352, - "name": "Elemental Sphere", - "xp": 580 - }, - { - "level": 55, - "icon": 8053, - "name": "Teak Clock", - "xp": 202 - }, - { - "level": 56, - "icon": 8104, - "name": "Gilded Decoration", - "xp": 1020 - }, - { - "level": 56, - "icon": 8049, - "name": "Fancy Teak Dresser", - "xp": 182 - }, - { - "level": 56, - "icon": 8228, - "name": "Teak Shelves 1", - "xp": 330 - }, - { - "level": 57, - "icon": 8337, - "name": "Teak Eagle Lectern", - "xp": 180 - }, - { - "level": 57, - "icon": 8338, - "name": "Teak Demon Lectern", - "xp": 180 - }, - { - "level": 59, - "icon": 8154, - "name": "Limestone attack stone", - "xp": 200 - }, - { - "level": 59, - "icon": 8343, - "name": "Lunar Globe", - "xp": 570 - }, - { - "level": 60, - "icon": 8037, - "name": "Gilded 4-Poster Bed", - "xp": 1330 - }, - { - "level": 60, - "icon": 8101, - "name": "Posh Bell-Pull", - "xp": 420 - }, - { - "level": 60, - "icon": 24479, - "name": "Spice Rack", - "xp": 374 - }, - { - "level": 60, - "icon": 8178, - "name": "Yew Tree", - "xp": 141 - }, - { - "level": 61, - "icon": 8114, - "name": "Gilded Bench", - "xp": 1760 - }, - { - "level": 63, - "icon": 8042, - "name": "Teak Wardrobe", - "xp": 270 - }, - { - "level": 63, - "icon": 8327, - "name": "Marble Fireplace", - "xp": 500 - }, - { - "level": 63, - "icon": 8355, - "name": "Astronomical Chart", - "xp": 45 - }, - { - "level": 64, - "icon": 8349, - "name": "Teak Telescope", - "xp": 181 - }, - { - "level": 64, - "icon": 8050, - "name": "Mahogany Dresser", - "xp": 281 - }, - { - "level": 65, - "icon": 8329, - "name": "Mahogany Portal", - "xp": 420 - }, - { - "level": 65, - "icon": 8332, - "name": "Greater Focus", - "xp": 500 - }, - { - "level": 65, - "icon": 8318, - "name": "Opulent Rug", - "xp": 360 - }, - { - "level": 66, - "icon": 20649, - "name": "Teak Garden Bench", - "xp": 540 - }, - { - "level": 66, - "icon": 8353, - "name": "Crystal of Power", - "xp": 890 - }, - { - "level": 67, - "icon": 8229, - "name": "Teak Shelves 2", - "xp": 930 - }, - { - "level": 67, - "icon": 8338, - "name": "Mahogany Demon Lectern", - "xp": 580 - }, - { - "level": 67, - "icon": 8338, - "name": "Mahogany Eagle Lectern", - "xp": 580 - }, - { - "level": 68, - "icon": 8344, - "name": "Celestial Globe", - "xp": 570 - }, - { - "level": 70, - "icon": 8172, - "name": "Dungeon Entrance", - "xp": 500 - }, - { - "level": 71, - "icon": 8026, - "name": "Ranging Pedestals", - "xp": 720 - }, - { - "level": 72, - "icon": 8121, - "name": "Opulent Table", - "xp": 3100 - }, - { - "level": 74, - "icon": 8122, - "name": "Oak Door", - "xp": 600 - }, - { - "level": 74, - "icon": 8051, - "name": "Gilded Dresser", - "xp": 582 - }, - { - "level": 75, - "icon": 8043, - "name": "Mahogany Wardrobe", - "xp": 420 - }, - { - "level": 75, - "icon": 8179, - "name": "Magic Tree", - "xp": 223 - }, - { - "level": 77, - "icon": 8341, - "name": "Armillary Globe", - "xp": 960 - }, - { - "level": 77, - "icon": 20650, - "name": "Gnome Bench", - "xp": 840 - }, - { - "level": 80, - "icon": 8330, - "name": "Marble Portal", - "xp": 1500 - }, - { - "level": 80, - "icon": 8333, - "name": "Scrying Pool", - "xp": 2000 - }, - { - "level": 81, - "icon": 8027, - "name": "Balance Beam", - "xp": 1000 - }, - { - "level": 83, - "icon": 8356, - "name": "Infernal Chart", - "xp": 60 - }, - { - "level": 84, - "icon": 8350, - "name": "Mahogany Telescope", - "xp": 281 - }, - { - "level": 85, - "icon": 8054, - "name": "Gilded Clock", - "xp": 602 - }, - { - "level": 86, - "icon": 8346, - "name": "Small Orrery", - "xp": 1320 - }, - { - "level": 87, - "icon": 8044, - "name": "Gilded Wardrobe", - "xp": 720 - }, - { - "level": 95, - "icon": 8347, - "name": "Large Orrery", - "xp": 1420 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json deleted file mode 100644 index 8e86a25a65..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_cooking.json +++ /dev/null @@ -1,742 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 9436, - "name": "Sinew", - "xp": 3 - }, - { - "level": 1, - "icon": 315, - "name": "Shrimps", - "xp": 30 - }, - { - "level": 1, - "icon": 2140, - "name": "Cooked Chicken", - "xp": 30 - }, - { - "level": 1, - "icon": 2142, - "name": "Cooked Meat", - "xp": 30 - }, - { - "level": 1, - "icon": 3228, - "name": "Cooked Rabbit", - "xp": 30 - }, - { - "level": 1, - "icon": 319, - "name": "Anchovies", - "xp": 30 - }, - { - "level": 1, - "icon": 325, - "name": "Sardine", - "xp": 40 - }, - { - "level": 1, - "icon": 3146, - "name": "Poison Karambwan", - "xp": 80 - }, - { - "level": 1, - "icon": 1861, - "name": "Ugthanki Meat", - "xp": 40 - }, - { - "level": 1, - "icon": 2309, - "name": "Bread", - "xp": 40 - }, - { - "level": 5, - "icon": 347, - "name": "Herring", - "xp": 50 - }, - { - "level": 6, - "icon": 2084, - "name": "Fruit Blast", - "xp": 50 - }, - { - "level": 7, - "icon": 6701, - "name": "Baked Potato", - "xp": 15 - }, - { - "level": 7, - "icon": 25654, - "name": "Guppy", - "xp": 12 - }, - { - "level": 8, - "icon": 2048, - "name": "Pineapple Punch", - "xp": 70 - }, - { - "level": 9, - "icon": 7072, - "name": "Spicy Sauce", - "xp": 25 - }, - { - "level": 10, - "icon": 355, - "name": "Mackerel", - "xp": 60 - }, - { - "level": 10, - "icon": 2325, - "name": "Redberry Pie", - "xp": 78 - }, - { - "level": 10, - "icon": 2217, - "name": "Toad Crunchies", - "xp": 100 - }, - { - "level": 11, - "icon": 7062, - "name": "Chilli Con Carne", - "xp": 55 - }, - { - "level": 11, - "icon": 9980, - "name": "Roast Bird Meat", - "xp": 62.5 - }, - { - "level": 12, - "icon": 3369, - "name": "Thin Snail Meat", - "xp": 70 - }, - { - "level": 12, - "icon": 2213, - "name": "Spicy Crunchies", - "xp": 100 - }, - { - "level": 13, - "icon": 7078, - "name": "Scrambled Egg", - "xp": 50 - }, - { - "level": 14, - "icon": 5763, - "name": "Cider", - "xp": 182 - }, - { - "level": 14, - "icon": 2205, - "name": "Worm Crunchies", - "xp": 104 - }, - { - "level": 15, - "icon": 333, - "name": "Trout", - "xp": 70 - }, - { - "level": 16, - "icon": 6293, - "name": "Spider on stick", - "xp": 80 - }, - { - "level": 16, - "icon": 6295, - "name": "Spider on shaft", - "xp": 80 - }, - { - "level": 16, - "icon": 7223, - "name": "Roast Rabbit", - "xp": 72.5 - }, - { - "level": 16, - "icon": 2209, - "name": "Chocchip crunchies", - "xp": 100 - }, - { - "level": 17, - "icon": 3371, - "name": "Lean Snail Meat", - "xp": 80 - }, - { - "level": 18, - "icon": 339, - "name": "Cod", - "xp": 75 - }, - { - "level": 18, - "icon": 2054, - "name": "Wizard Blizzard", - "xp": 110 - }, - { - "level": 19, - "icon": 1913, - "name": "Dwarven Stout", - "xp": 215 - }, - { - "level": 20, - "icon": 2080, - "name": "Short Green Guy", - "xp": 120 - }, - { - "level": 20, - "icon": 2327, - "name": "Meat Pie", - "xp": 110 - }, - { - "level": 20, - "icon": 351, - "name": "Pike", - "xp": 80 - }, - { - "level": 20, - "icon": 712, - "name": "Cup of tea", - "xp": 52 - }, - { - "level": 20, - "icon": 25660, - "name": "Cavefish", - "xp": 23 - }, - { - "level": 21, - "icon": 9988, - "name": "Roast Beast Meat", - "xp": 82.5 - }, - { - "level": 21, - "icon": 7521, - "name": "Cooked Crab Meat", - "xp": 100 - }, - { - "level": 21, - "icon": 2130, - "name": "Pot of cream", - "xp": 18 - }, - { - "level": 22, - "icon": 3373, - "name": "Fat Snail Meat", - "xp": 95 - }, - { - "level": 23, - "icon": 7064, - "name": "Egg And Tomato", - "xp": 50 - }, - { - "level": 24, - "icon": 1905, - "name": "Asgarnian Ale", - "xp": 248 - }, - { - "level": 25, - "icon": 329, - "name": "Salmon", - "xp": 90 - }, - { - "level": 25, - "icon": 2003, - "name": "Stew", - "xp": 117 - }, - { - "level": 25, - "icon": 2277, - "name": "Fruit Batta", - "xp": 150 - }, - { - "level": 26, - "icon": 2255, - "name": "Toad Batta", - "xp": 152 - }, - { - "level": 27, - "icon": 2253, - "name": "Worm Batta", - "xp": 154 - }, - { - "level": 28, - "icon": 2281, - "name": "Vegetable Batta", - "xp": 156 - }, - { - "level": 28, - "icon": 5988, - "name": "Sweetcorn", - "xp": 104 - }, - { - "level": 28, - "icon": 3381, - "name": "Cooked Slimy Eel", - "xp": 95 - }, - { - "level": 29, - "icon": 7170, - "name": "Mud Pie", - "xp": 128 - }, - { - "level": 29, - "icon": 1909, - "name": "Greenman's ale", - "xp": 281 - }, - { - "level": 29, - "icon": 2259, - "name": "Cheese and Tomato Batta", - "xp": 158 - }, - { - "level": 30, - "icon": 361, - "name": "Tuna", - "xp": 100 - }, - { - "level": 30, - "icon": 2323, - "name": "Apple Pie", - "xp": 130 - }, - { - "level": 30, - "icon": 2191, - "name": "Worm Hole", - "xp": 170 - }, - { - "level": 30, - "icon": 3144, - "name": "Cooked Karambwan", - "xp": 190 - }, - { - "level": 30, - "icon": 2878, - "name": "Roasted Chompy", - "xp": 100 - }, - { - "level": 31, - "icon": 7530, - "name": "Fishcake", - "xp": 100 - }, - { - "level": 32, - "icon": 2092, - "name": "Drunk Dragon", - "xp": 160 - }, - { - "level": 33, - "icon": 2074, - "name": "Choc Saturday", - "xp": 170 - }, - { - "level": 33, - "icon": 25666, - "name": "Tetra", - "xp": 31 - }, - { - "level": 34, - "icon": 7178, - "name": "Garden Pie", - "xp": 138 - }, - { - "level": 34, - "icon": 1907, - "name": "Wizard's mind bomb", - "xp": 314 - }, - { - "level": 35, - "icon": 1993, - "name": "Jug Of Wine", - "xp": 200 - }, - { - "level": 35, - "icon": 2289, - "name": "Plain Pizza", - "xp": 143 - }, - { - "level": 35, - "icon": 10136, - "name": "Rainbow Fish", - "xp": 110 - }, - { - "level": 35, - "icon": 2195, - "name": "Veg ball", - "xp": 175 - }, - { - "level": 37, - "icon": 2064, - "name": "Blurberry Special", - "xp": 180 - }, - { - "level": 38, - "icon": 5003, - "name": "Cave Eel", - "xp": 115 - }, - { - "level": 38, - "icon": 6697, - "name": "Pat of butter", - "xp": 40.5 - }, - { - "level": 39, - "icon": 1911, - "name": "Dragon Bitter", - "xp": 347 - }, - { - "level": 39, - "icon": 6703, - "name": "Potato with butter", - "xp": 40 - }, - { - "level": 40, - "icon": 379, - "name": "Lobster", - "xp": 120 - }, - { - "level": 40, - "icon": 1891, - "name": "Cake", - "xp": 180 - }, - { - "level": 40, - "icon": 2187, - "name": "Tangled toad's legs", - "xp": 185 - }, - { - "level": 41, - "icon": 7054, - "name": "Chilli Potato", - "xp": 165.5 - }, - { - "level": 41, - "icon": 7568, - "name": "Cooked Jubbly", - "xp": 160 - }, - { - "level": 42, - "icon": 2185, - "name": "Chocolate Bomb", - "xp": 190 - }, - { - "level": 42, - "icon": 7084, - "name": "Fried Onions", - "xp": 60 - }, - { - "level": 43, - "icon": 365, - "name": "Bass", - "xp": 130 - }, - { - "level": 44, - "icon": 2955, - "name": "Moonlight Mead", - "xp": 380 - }, - { - "level": 45, - "icon": 373, - "name": "Swordfish", - "xp": 140 - }, - { - "level": 45, - "icon": 2293, - "name": "Meat Pizza", - "xp": 169 - }, - { - "level": 46, - "icon": 7082, - "name": "Fried Mushrooms", - "xp": 60 - }, - { - "level": 46, - "icon": 25672, - "name": "Catfish", - "xp": 43 - }, - { - "level": 47, - "icon": 7188, - "name": "Fish Pie", - "xp": 164 - }, - { - "level": 47, - "icon": 6705, - "name": "Potato with cheese", - "xp": 40 - }, - { - "level": 48, - "icon": 1985, - "name": "Cheese", - "xp": 64 - }, - { - "level": 49, - "icon": 5751, - "name": "Axeman's folly", - "xp": 413 - }, - { - "level": 50, - "icon": 2343, - "name": "Cooked Oomlie Wrap", - "xp": 30 - }, - { - "level": 50, - "icon": 1897, - "name": "Chocolate Cake", - "xp": 210 - }, - { - "level": 51, - "icon": 7056, - "name": "Egg Potato", - "xp": 195.5 - }, - { - "level": 52, - "icon": 19662, - "name": "Botanical Pie", - "xp": 180 - }, - { - "level": 53, - "icon": 2149, - "name": "Lava Eel", - "xp": 30 - }, - { - "level": 54, - "icon": 5755, - "name": "Chef's Delight", - "xp": 446 - }, - { - "level": 55, - "icon": 2297, - "name": "Anchovy Pizza", - "xp": 182 - }, - { - "level": 57, - "icon": 7066, - "name": "Mushroom & onion", - "xp": 120 - }, - { - "level": 58, - "icon": 1883, - "name": "Ugthanki Kebab (Fresh)", - "xp": 80 - }, - { - "level": 58, - "icon": 1865, - "name": "Pitta Bread", - "xp": 40 - }, - { - "level": 59, - "icon": 5759, - "name": "Slayer's respite", - "xp": 479 - }, - { - "level": 60, - "icon": 2011, - "name": "Curry", - "xp": 280 - }, - { - "level": 60, - "icon": 21690, - "name": "Mushroom Pie", - "xp": 200 - }, - { - "level": 62, - "icon": 7946, - "name": "Monkfish", - "xp": 150 - }, - { - "level": 64, - "icon": 7058, - "name": "Mushroom Potato", - "xp": 270.5 - }, - { - "level": 65, - "icon": 2301, - "name": "Pineapple Pizza", - "xp": 188 - }, - { - "level": 65, - "icon": 245, - "name": "Wine of Zamorak", - "xp": 200 - }, - { - "level": 67, - "icon": 7068, - "name": "Tuna And Corn", - "xp": 204 - }, - { - "level": 68, - "icon": 7060, - "name": "Tuna Potato", - "xp": 309.5 - }, - { - "level": 70, - "icon": 7198, - "name": "Admiral Pie", - "xp": 210 - }, - { - "level": 72, - "icon": 13339, - "name": "Sacred Eel", - "xp": 109 - }, - { - "level": 73, - "icon": 22795, - "name": "Dragonfruit Pie", - "xp": 220 - }, - { - "level": 80, - "icon": 385, - "name": "Shark", - "xp": 210 - }, - { - "level": 82, - "icon": 397, - "name": "Sea Turtle", - "xp": 211.3 - }, - { - "level": 84, - "icon": 13441, - "name": "Anglerfish", - "xp": 230 - }, - { - "level": 85, - "icon": 7208, - "name": "Wild Pie", - "xp": 240 - }, - { - "level": 90, - "icon": 11936, - "name": "Dark Crab", - "xp": 215 - }, - { - "level": 91, - "icon": 391, - "name": "Manta Ray", - "xp": 216.3 - }, - { - "level": 95, - "icon": 7218, - "name": "Summer Pie", - "xp": 260 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json deleted file mode 100644 index d8e6c6e9d2..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json +++ /dev/null @@ -1,809 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 1759, - "name": "Ball Of Wool", - "xp": 2.5 - }, - { - "level": 1, - "icon": 1787, - "name": "Unfired pot", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1931, - "name": "Pot", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1059, - "name": "Leather Gloves", - "xp": 13.8 - }, - { - "level": 1, - "icon": 1609, - "name": "Opal", - "xp": 15 - }, - { - "level": 1, - "icon": 21081, - "name": "Opal Ring", - "xp": 10 - }, - { - "level": 1, - "icon": 1775, - "name": "Molten Glass", - "xp": 20 - }, - { - "level": 1, - "icon": 1919, - "name": "Beer Glass", - "xp": 17.5 - }, - { - "level": 4, - "icon": 4527, - "name": "Empty Candle Lantern", - "xp": 19 - }, - { - "level": 5, - "icon": 1635, - "name": "Gold Ring", - "xp": 15 - }, - { - "level": 5, - "icon": 21512, - "name": "Bird House", - "xp": 15 - }, - { - "level": 6, - "icon": 1654, - "name": "Gold Necklace", - "xp": 20 - }, - { - "level": 7, - "icon": 1061, - "name": "Leather Boots", - "xp": 16.3 - }, - { - "level": 7, - "icon": 1789, - "name": "Unfired pie dish", - "xp": 15 - }, - { - "level": 7, - "icon": 2313, - "name": "Pie dish", - "xp": 10 - }, - { - "level": 7, - "icon": 11068, - "name": "Gold Bracelet", - "xp": 25 - }, - { - "level": 8, - "icon": 1791, - "name": "Unfired bowl", - "xp": 18 - }, - { - "level": 8, - "icon": 1923, - "name": "Bowl", - "xp": 15 - }, - { - "level": 8, - "icon": 1673, - "name": "Gold Amulet (U)", - "xp": 30 - }, - { - "level": 9, - "icon": 1167, - "name": "Cowl", - "xp": 18.5 - }, - { - "level": 10, - "icon": 9438, - "name": "Crossbow String", - "xp": 15 - }, - { - "level": 10, - "icon": 1777, - "name": "Bow String", - "xp": 15 - }, - { - "level": 11, - "icon": 1063, - "name": "Leather Vambraces", - "xp": 22 - }, - { - "level": 12, - "icon": 4525, - "name": "Empty Oil Lamp", - "xp": 25 - }, - { - "level": 13, - "icon": 1611, - "name": "Jade", - "xp": 20 - }, - { - "level": 13, - "icon": 21084, - "name": "Jade Ring", - "xp": 32 - }, - { - "level": 14, - "icon": 1129, - "name": "Leather Body", - "xp": 25 - }, - { - "level": 15, - "icon": 21515, - "name": "Oak Bird House", - "xp": 20 - }, - { - "level": 16, - "icon": 1613, - "name": "Red Topaz", - "xp": 25 - }, - { - "level": 16, - "icon": 21087, - "name": "Topaz Ring", - "xp": 35 - }, - { - "level": 16, - "icon": 1718, - "name": "Holy Symbol", - "xp": 50 - }, - { - "level": 16, - "icon": 21090, - "name": "Opal Necklace", - "xp": 35 - }, - - { - "level": 17, - "icon": 1724, - "name": "Unholy Symbol", - "xp": 50 - }, - { - "level": 18, - "icon": 1095, - "name": "Leather Chaps", - "xp": 27 - }, - { - "level": 19, - "icon": 5352, - "name": "Unfired plant pot", - "xp": 20 - }, - { - "level": 19, - "icon": 5350, - "name": "Empty plant pot", - "xp": 17.5 - }, - { - "level": 19, - "icon": 6038, - "name": "Magic String", - "xp": 30 - }, - { - "level": 20, - "icon": 1637, - "name": "Sapphire Ring", - "xp": 40 - }, - { - "level": 20, - "icon": 1607, - "name": "Sapphire", - "xp": 50 - }, - { - "level": 21, - "icon": 5418, - "name": "Empty Sack", - "xp": 38 - }, - { - "level": 22, - "icon": 1656, - "name": "Sapphire Necklace", - "xp": 55 - }, - { - "level": 22, - "icon": 21117, - "name": "Opal Bracelet", - "xp": 45 - }, - { - "level": 23, - "icon": 11071, - "name": "Sapphire Bracelet", - "xp": 60 - }, - { - "level": 23, - "icon": 5525, - "name": "Tiara", - "xp": 52.5 - }, - { - "level": 24, - "icon": 1675, - "name": "Sapphire Amulet (U)", - "xp": 65 - }, - { - "level": 25, - "icon": 4438, - "name": "Unfired pot lid", - "xp": 20 - }, - { - "level": 25, - "icon": 4440, - "name": "Pot lid", - "xp": 20 - }, - { - "level": 25, - "icon": 21093, - "name": "Jade Necklace", - "xp": 54 - }, - { - "level": 25, - "icon": 21518, - "name": "Willow Bird House", - "xp": 25 - }, - { - "level": 26, - "icon": 6209, - "name": "Drift Net", - "xp": 55 - }, - { - "level": 27, - "icon": 1605, - "name": "Emerald", - "xp": 67.5 - }, - { - "level": 27, - "icon": 1639, - "name": "Emerald Ring", - "xp": 55 - }, - { - "level": 27, - "icon": 21099, - "name": "Opal Amulet (U)", - "xp": 55 - }, - { - "level": 28, - "icon": 1131, - "name": "Hardleather Body", - "xp": 35 - }, - { - "level": 29, - "icon": 1658, - "name": "Emerald Necklace", - "xp": 60 - }, - { - "level": 29, - "icon": 21120, - "name": "Jade Bracelet", - "xp": 60 - }, - { - "level": 30, - "icon": 11076, - "name": "Emerald Bracelet", - "xp": 65 - }, - { - "level": 30, - "icon": 954, - "name": "Rope", - "xp": 25 - }, - { - "level": 31, - "icon": 1677, - "name": "Emerald Amulet (U)", - "xp": 70 - }, - { - "level": 32, - "icon": 10077, - "name": "Spiky Vambraces", - "xp": 6 - }, - { - "level": 32, - "icon": 21096, - "name": "Topaz Necklace", - "xp": 70 - }, - { - "level": 33, - "icon": 229, - "name": "Vial", - "xp": 35 - }, - { - "level": 34, - "icon": 1603, - "name": "Ruby", - "xp": 85 - }, - { - "level": 34, - "icon": 1641, - "name": "Ruby Ring", - "xp": 70 - }, - { - "level": 34, - "icon": 21102, - "name": "Jade Amulet (U)", - "xp": 70 - }, - { - "level": 35, - "icon": 6235, - "name": "Broodoo shield", - "xp": 100 - }, - { - "level": 35, - "icon": 21521, - "name": "Teak Bird House", - "xp": 30 - }, - { - "level": 36, - "icon": 5376, - "name": "Basket", - "xp": 56 - }, - { - "level": 38, - "icon": 1169, - "name": "Coif", - "xp": 37 - }, - { - "level": 38, - "icon": 21123, - "name": "Topaz Bracelet", - "xp": 75 - }, - { - "level": 40, - "icon": 1660, - "name": "Ruby Necklace", - "xp": 75 - }, - { - "level": 41, - "icon": 22269, - "name": "Hard leather shield", - "xp": 70 - }, - { - "level": 42, - "icon": 11085, - "name": "Ruby Bracelet", - "xp": 80 - }, - { - "level": 42, - "icon": 6668, - "name": "Fishbowl", - "xp": 42.5 - }, - { - "level": 43, - "icon": 1601, - "name": "Diamond", - "xp": 107.5 - }, - { - "level": 43, - "icon": 1643, - "name": "Diamond Ring", - "xp": 85 - }, - { - "level": 45, - "icon": 21105, - "name": "Topaz Amulet (U)", - "xp": 80 - }, - { - "level": 45, - "icon": 6328, - "name": "Snakeskin boots", - "xp": 30 - }, - { - "level": 45, - "icon": 22192, - "name": "Maple Bird House", - "xp": 35 - }, - { - "level": 46, - "icon": 567, - "name": "Unpowered Orb", - "xp": 52.5 - }, - { - "level": 47, - "icon": 6330, - "name": "Snakeskin vambraces", - "xp": 35 - }, - { - "level": 48, - "icon": 6326, - "name": "Snakeskin bandana", - "xp": 45 - }, - { - "level": 49, - "icon": 4542, - "name": "Lantern Lens", - "xp": 55 - }, - { - "level": 50, - "icon": 1679, - "name": "Ruby Amulet (U)", - "xp": 85 - }, - { - "level": 50, - "icon": 22195, - "name": "Mahogany Bird House", - "xp": 40 - }, - { - "level": 51, - "icon": 6324, - "name": "Snakeskin chaps", - "xp": 50 - }, - { - "level": 53, - "icon": 6322, - "name": "Snakeskin body", - "xp": 55 - }, - { - "level": 54, - "icon": 1395, - "name": "Water Battlestaff", - "xp": 100 - }, - { - "level": 55, - "icon": 1645, - "name": "Dragonstone Ring", - "xp": 100 - }, - { - "level": 55, - "icon": 1615, - "name": "Dragonstone", - "xp": 137.5 - }, - { - "level": 56, - "icon": 1662, - "name": "Diamond Necklace", - "xp": 90 - }, - { - "level": 56, - "icon": 22272, - "name": "Snakeskin shield", - "xp": 100 - }, - { - "level": 57, - "icon": 1065, - "name": "Green D'hide Vamb", - "xp": 62 - }, - { - "level": 58, - "icon": 11092, - "name": "Diamond Bracelet", - "xp": 95 - }, - { - "level": 58, - "icon": 1399, - "name": "Earth Battlestaff", - "xp": 112.5 - }, - { - "level": 60, - "icon": 1099, - "name": "Green D'hide Chaps", - "xp": 124 - }, - { - "level": 60, - "icon": 22198, - "name": "Yew Bird House", - "xp": 45 - }, - { - "level": 62, - "icon": 1393, - "name": "Fire Battlestaff", - "xp": 125 - }, - { - "level": 62, - "icon": 22275, - "name": "Green D'hide Shield", - "xp": 124 - }, - { - "level": 63, - "icon": 1135, - "name": "Green D'hide Body", - "xp": 186 - }, - { - "level": 66, - "icon": 1397, - "name": "Air Battlestaff", - "xp": 137.5 - }, - { - "level": 66, - "icon": 2487, - "name": "Blue D'hide Vamb", - "xp": 70 - }, - { - "level": 67, - "icon": 6575, - "name": "Onyx Ring", - "xp": 115 - }, - { - "level": 67, - "icon": 6573, - "name": "Onyx", - "xp": 167.5 - }, - { - "level": 68, - "icon": 2493, - "name": "Blue D'hide Chaps", - "xp": 140 - }, - { - "level": 69, - "icon": 22278, - "name": "Blue D'hide Shield", - "xp": 140 - }, - { - "level": 70, - "icon": 1681, - "name": "Diamond Amulet (U)", - "xp": 100 - }, - { - "level": 71, - "icon": 2499, - "name": "Blue D'hide Body", - "xp": 210 - }, - { - "level": 72, - "icon": 1664, - "name": "Dragonstone Necklace", - "xp": 105 - }, - { - "level": 73, - "icon": 2489, - "name": "Red D'hide Vamb", - "xp": 78 - }, - { - "level": 74, - "icon": 11115, - "name": "Dragonstone Bracelet", - "xp": 110 - }, - { - "level": 75, - "icon": 2495, - "name": "Red D'hide Chaps", - "xp": 156 - }, - { - "level": 75, - "icon": 22201, - "name": "Magic Bird House", - "xp": 50 - }, - { - "level": 76, - "icon": 22281, - "name": "Red D'hide Shield", - "xp": 156 - }, - { - "level": 77, - "icon": 2501, - "name": "Red D'hide Body", - "xp": 234 - }, - { - "level": 79, - "icon": 2491, - "name": "Black D'hide Vamb", - "xp": 86 - }, - { - "level": 80, - "icon": 1683, - "name": "Dragonstone Amulet (U)", - "xp": 150 - }, - { - "level": 82, - "icon": 2497, - "name": "Black D'hide Chaps", - "xp": 172 - }, - { - "level": 82, - "icon": 6577, - "name": "Onyx Necklace", - "xp": 120 - }, - { - "level": 83, - "icon": 21338, - "name": "Amethyst Bolt Tips", - "xp": 4 - }, - { - "level": 83, - "icon": 22284, - "name": "Black D'hide Shield", - "xp": 172 - }, - { - "level": 84, - "icon": 2503, - "name": "Black D'hide Body", - "xp": 258 - }, - { - "level": 84, - "icon": 11130, - "name": "Onyx Bracelet", - "xp": 125 - }, - { - "level": 85, - "icon": 21350, - "name": "Amethyst Arrowtips", - "xp": 4 - }, - { - "level": 87, - "icon": 21352, - "name": "Amethyst Javelin Heads", - "xp": 12 - }, - { - "level": 87, - "icon": 10973, - "name": "Light Orb", - "xp": 70 - }, - { - "level": 89, - "icon": 25853, - "name": "Amethyst Dart Tip", - "xp": 7.5 - }, - { - "level": 89, - "icon": 19538, - "name": "Zenyte Ring", - "xp": 150 - }, - { - "level": 89, - "icon": 19493, - "name": "Zenyte", - "xp": 200 - }, - { - "level": 90, - "icon": 6579, - "name": "Onyx Amulet (U)", - "xp": 165 - }, - { - "level": 90, - "icon": 22204, - "name": "Redwood Bird House", - "xp": 55 - }, - { - "level": 92, - "icon": 19535, - "name": "Zenyte Necklace", - "xp": 165 - }, - { - "level": 95, - "icon": 19492, - "name": "Zenyte Bracelet", - "xp": 180 - }, - { - "level": 98, - "icon": 19501, - "name": "Zenyte Amulet (U)", - "xp": 200 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json deleted file mode 100644 index 70ac3b3444..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_farming.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "bonuses": [ - { - "name": "Farmer's Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 8180, - "name": "Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8186, - "name": "Fern (big plant)", - "xp": 31 - }, - { - "level": 1, - "icon": 8189, - "name": "Short Plant", - "xp": 31 - }, - { - "level": 1, - "icon": 8183, - "name": "Dock Leaf", - "xp": 31 - }, - { - "level": 1, - "icon": 8181, - "name": "Small Fern", - "xp": 70 - }, - { - "level": 1, - "icon": 8184, - "name": "Thistle", - "xp": 70 - }, - { - "level": 1, - "icon": 8187, - "name": "Bush", - "xp": 70 - }, - { - "level": 1, - "icon": 8190, - "name": "Large Leaf Bush", - "xp": 70 - }, - { - "level": 1, - "icon": 8191, - "name": "Huge Plant", - "xp": 100 - }, - { - "level": 1, - "icon": 8188, - "name": "Tall Plant", - "xp": 100 - }, - { - "level": 1, - "icon": 8185, - "name": "Reeds", - "xp": 100 - }, - { - "level": 1, - "icon": 8182, - "name": "Fern (small plant)", - "xp": 100 - }, - { - "level": 1, - "icon": 10847, - "name": "Winter Sq'irk", - "xp": 30 - }, - { - "level": 1, - "icon": 10844, - "name": "Spring Sq'irk", - "xp": 40 - }, - { - "level": 1, - "icon": 10846, - "name": "Autumn Sq'irk", - "xp": 50 - }, - { - "level": 1, - "icon": 10845, - "name": "Summer Sq'irk", - "xp": 60 - }, - { - "level": 1, - "icon": 1942, - "name": "Potatoes", - "xp": 8 - }, - { - "level": 5, - "icon": 1957, - "name": "Onions", - "xp": 10 - }, - { - "level": 7, - "icon": 1965, - "name": "Cabbages", - "xp": 10 - }, - { - "level": 9, - "icon": 249, - "name": "Guam Leaf", - "xp": 11 - }, - { - "level": 12, - "icon": 1982, - "name": "Tomatoes", - "xp": 12.5 - }, - { - "level": 14, - "icon": 251, - "name": "Marrentill", - "xp": 13.5 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Tree", - "xp": 481.3 - }, - { - "level": 19, - "icon": 253, - "name": "Tarromin", - "xp": 16 - }, - { - "level": 20, - "icon": 5986, - "name": "Sweetcorn", - "xp": 17 - }, - { - "level": 23, - "icon": 21504, - "name": "Giant seaweed", - "xp": 21 - }, - { - "level": 26, - "icon": 255, - "name": "Harralander", - "xp": 21.5 - }, - { - "level": 26, - "icon": 225, - "name": "Limpwurt Plant", - "xp": 40 - }, - { - "level": 27, - "icon": 1955, - "name": "Apple Tree", - "xp": 1221.5 - }, - { - "level": 29, - "icon": 3261, - "name": "Goutweed", - "xp": 105 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Tree", - "xp": 1481.5 - }, - { - "level": 31, - "icon": 5504, - "name": "Strawberries", - "xp": 26 - }, - { - "level": 32, - "icon": 257, - "name": "Ranarr Weed", - "xp": 27 - }, - { - "level": 33, - "icon": 1963, - "name": "Banana Tree", - "xp": 1778.5 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Tree", - "xp": 7315 - }, - { - "level": 38, - "icon": 2998, - "name": "Toadflax", - "xp": 34 - }, - { - "level": 39, - "icon": 2108, - "name": "Orange Tree", - "xp": 2505.7 - }, - { - "level": 42, - "icon": 5970, - "name": "Curry Tree", - "xp": 2946.9 - }, - { - "level": 44, - "icon": 259, - "name": "Irit Leaf", - "xp": 43 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Tree", - "xp": 3448.4 - }, - { - "level": 47, - "icon": 5982, - "name": "Watermelons", - "xp": 49 - }, - { - "level": 50, - "icon": 261, - "name": "Avantoe", - "xp": 54.5 - }, - { - "level": 51, - "icon": 2114, - "name": "Pineapple Plant", - "xp": 4662.7 - }, - { - "level": 55, - "icon": 6332, - "name": "Mahogany Tree", - "xp": 15783 - }, - { - "level": 56, - "icon": 263, - "name": "Kwuarm", - "xp": 69 - }, - { - "level": 57, - "icon": 5972, - "name": "Papaya Tree", - "xp": 6218.4 - }, - { - "level": 58, - "icon": 22932, - "name": "White lily", - "xp": 292 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Tree", - "xp": 7150.9 - }, - { - "level": 61, - "icon": 231, - "name": "Snape grass", - "xp": 82 - }, - { - "level": 62, - "icon": 3000, - "name": "Snapdragon", - "xp": 87.5 - }, - { - "level": 65, - "icon": 23044, - "name": "Hespori", - "xp": 12662 - }, - { - "level": 67, - "icon": 265, - "name": "Cadantine", - "xp": 106.5 - }, - { - "level": 68, - "icon": 5974, - "name": "Palm Tree", - "xp": 10260.6 - }, - { - "level": 72, - "icon": 5980, - "name": "Calquat Tree", - "xp": 12225.5 - }, - { - "level": 73, - "icon": 2481, - "name": "Lantadyme", - "xp": 134.5 - }, - { - "level": 74, - "icon": 23962, - "name": "Crystal Tree", - "xp": 13366 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Tree", - "xp": 13913.8 - }, - { - "level": 79, - "icon": 267, - "name": "Dwarf Weed", - "xp": 170.5 - }, - { - "level": 81, - "icon": 22929, - "name": "Dragonfruit Tree", - "xp": 17895 - }, - { - "level": 83, - "icon": 6063, - "name": "Spirit Tree", - "xp": 19501.3 - }, - { - "level": 85, - "icon": 22935, - "name": "Celastrus Tree", - "xp": 14334 - }, - { - "level": 85, - "icon": 269, - "name": "Torstol", - "xp": 199.5 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Tree", - "xp": 22680 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json deleted file mode 100644 index 37fe236443..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_firemaking.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "bonuses": [ - { - "name": "Pyromancer Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 1511, - "name": "Logs", - "xp": 40 - }, - { - "level": 1, - "icon": 2862, - "name": "Achey Tree Logs", - "xp": 40 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Logs", - "xp": 60 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Logs", - "xp": 90 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Logs", - "xp": 105 - }, - { - "level": 42, - "icon": 10810, - "name": "Arctic Pine Logs", - "xp": 125 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Logs", - "xp": 135 - }, - { - "level": 50, - "icon": 6332, - "name": "Mahogany Logs", - "xp": 157.5 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Logs", - "xp": 202.5 - }, - { - "level": 62, - "icon": 24691, - "name": "Blisterwood Logs", - "xp": 96 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Logs", - "xp": 303.8 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Logs", - "xp": 350 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json deleted file mode 100644 index 730be09d00..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fishing.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "bonuses": [ - { - "name": "Anglers Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 317, - "name": "Raw Shrimps", - "xp": 10 - }, - { - "level": 5, - "icon": 327, - "name": "Raw Sardine", - "xp": 20 - }, - { - "level": 5, - "icon": 3150, - "name": "Raw Karambwanji", - "xp": 5 - }, - { - "level": 7, - "icon": 25652, - "name": "Raw Guppy", - "xp": 8 - }, - { - "level": 10, - "icon": 345, - "name": "Raw Herring", - "xp": 30 - }, - { - "level": 15, - "icon": 321, - "name": "Raw Anchovies", - "xp": 40 - }, - { - "level": 16, - "icon": 353, - "name": "Raw Mackerel", - "xp": 20 - }, - { - "level": 20, - "icon": 335, - "name": "Raw Trout", - "xp": 50 - }, - { - "level": 20, - "icon": 25658, - "name": "Raw Cavefish", - "xp": 16 - }, - { - "level": 23, - "icon": 341, - "name": "Raw Cod", - "xp": 45 - }, - { - "level": 25, - "icon": 349, - "name": "Raw Pike", - "xp": 60 - }, - { - "level": 28, - "icon": 3379, - "name": "Raw Slimy Eel", - "xp": 65 - }, - { - "level": 30, - "icon": 331, - "name": "Raw Salmon", - "xp": 70 - }, - { - "level": 33, - "icon": 25664, - "name": "Raw Tetra", - "xp": 24 - }, - { - "level": 35, - "icon": 359, - "name": "Raw Tuna", - "xp": 80 - }, - { - "level": 38, - "icon": 10138, - "name": "Raw Rainbow Fish", - "xp": 80 - }, - { - "level": 38, - "icon": 5001, - "name": "Raw Cave Eel", - "xp": 80 - }, - { - "level": 40, - "icon": 377, - "name": "Raw Lobster", - "xp": 90 - }, - { - "level": 46, - "icon": 363, - "name": "Raw Bass", - "xp": 100 - }, - { - "level": 46, - "icon": 25670, - "name": "Raw Catfish", - "xp": 33 - }, - { - "level": 48, - "icon": 11328, - "name": "Leaping Trout", - "xp": 50 - }, - { - "level": 50, - "icon": 371, - "name": "Raw Swordfish", - "xp": 100 - }, - { - "level": 58, - "icon": 11330, - "name": "Leaping Salmon", - "xp": 70 - }, - { - "level": 62, - "icon": 7944, - "name": "Raw Monkfish", - "xp": 120 - }, - { - "level": 65, - "icon": 3142, - "name": "Raw Karambwan", - "xp": 50 - }, - { - "level": 70, - "icon": 11332, - "name": "Leaping Sturgeon", - "xp": 80 - }, - { - "level": 76, - "icon": 383, - "name": "Raw Shark", - "xp": 110 - }, - { - "level": 79, - "icon": 395, - "name": "Raw Sea Turtle", - "xp": 38 - }, - { - "level": 80, - "icon": 21293, - "name": "Infernal Eel", - "xp": 95 - }, - { - "level": 81, - "icon": 389, - "name": "Raw Manta Ray", - "xp": 46 - }, - { - "level": 82, - "icon": 13439, - "name": "Raw Anglerfish", - "xp": 120 - }, - { - "level": 82, - "icon": 21356, - "name": "Minnow", - "xp": 26.5 - }, - { - "level": 85, - "icon": 11934, - "name": "Raw Dark Crab", - "xp": 130 - }, - { - "level": 87, - "icon": 13339, - "name": "Sacred Eel", - "xp": 105 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json deleted file mode 100644 index 53e3042478..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json +++ /dev/null @@ -1,592 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 52, - "name": "Arrow Shaft", - "xp": 0.33 - }, - { - "level": 1, - "icon": 53, - "name": "Headless Arrow", - "xp": 1 - }, - { - "level": 1, - "icon": 882, - "name": "Bronze Arrow", - "xp": 1.3 - }, - { - "level": 5, - "icon": 2866, - "name": "Ogre Arrow", - "xp": 1 - }, - { - "level": 5, - "icon": 50, - "name": "Shortbow (U)", - "xp": 5 - }, - { - "level": 5, - "icon": 841, - "name": "Shortbow", - "xp": 5 - }, - { - "level": 9, - "icon": 877, - "name": "Bronze Bolts", - "xp": 0.5 - }, - { - "level": 9, - "icon": 9440, - "name": "Wooden Stock", - "xp": 6 - }, - { - "level": 9, - "icon": 9454, - "name": "Bronze Crossbow (U)", - "xp": 12 - }, - { - "level": 9, - "icon": 9174, - "name": "Bronze Crossbow", - "xp": 6 - }, - { - "level": 10, - "icon": 806, - "name": "Bronze Dart", - "xp": 1.8 - }, - { - "level": 10, - "icon": 839, - "name": "Longbow", - "xp": 10 - }, - { - "level": 10, - "icon": 48, - "name": "Longbow (U)", - "xp": 10 - }, - { - "level": 11, - "icon": 879, - "name": "Opal Bolts", - "xp": 1.6 - }, - { - "level": 15, - "icon": 884, - "name": "Iron Arrow", - "xp": 2.5 - }, - { - "level": 20, - "icon": 54, - "name": "Oak Shortbow (U)", - "xp": 16.5 - }, - { - "level": 20, - "icon": 843, - "name": "Oak Shortbow", - "xp": 16.5 - }, - { - "level": 22, - "icon": 807, - "name": "Iron Dart", - "xp": 3.8 - }, - { - "level": 24, - "icon": 9442, - "name": "Oak Stock", - "xp": 16 - }, - { - "level": 24, - "icon": 9456, - "name": "Blurite Crossbow (U)", - "xp": 32 - }, - { - "level": 24, - "icon": 9176, - "name": "Blurite Crossbow", - "xp": 16 - }, - { - "level": 25, - "icon": 56, - "name": "Oak Longbow (U)", - "xp": 25 - }, - { - "level": 25, - "icon": 845, - "name": "Oak Longbow", - "xp": 25 - }, - { - "level": 27, - "icon": 22251, - "name": "Oak Shield", - "xp": 50 - }, - { - "level": 30, - "icon": 886, - "name": "Steel Arrow", - "xp": 5 - }, - { - "level": 32, - "icon": 10158, - "name": "Kebbit Bolts", - "xp": 1 - }, - { - "level": 35, - "icon": 60, - "name": "Willow Shortbow (U)", - "xp": 33.3 - }, - { - "level": 35, - "icon": 849, - "name": "Willow Shortbow", - "xp": 33.3 - }, - { - "level": 37, - "icon": 808, - "name": "Steel Dart", - "xp": 7.5 - }, - { - "level": 39, - "icon": 9140, - "name": "Iron Bolts", - "xp": 1.5 - }, - { - "level": 39, - "icon": 9444, - "name": "Willow Stock", - "xp": 22 - }, - { - "level": 39, - "icon": 9457, - "name": "Iron Crossbow (U)", - "xp": 44 - }, - { - "level": 39, - "icon": 9177, - "name": "Iron Crossbow", - "xp": 22 - }, - { - "level": 40, - "icon": 58, - "name": "Willow Longbow (U)", - "xp": 41.5 - }, - { - "level": 40, - "icon": 847, - "name": "Willow Longbow", - "xp": 41.5 - }, - { - "level": 40, - "icon": 1391, - "name": "Battlestaff", - "xp": 80 - }, - { - "level": 41, - "icon": 880, - "name": "Pearl Bolts", - "xp": 3.2 - }, - { - "level": 42, - "icon": 22254, - "name": "Willow Shield", - "xp": 83 - }, - { - "level": 42, - "icon": 10159, - "name": "Long Kebbit Bolts", - "xp": 1.3 - }, - { - "level": 43, - "icon": 9145, - "name": "Silver Bolts", - "xp": 2.5 - }, - { - "level": 45, - "icon": 888, - "name": "Mithril Arrow", - "xp": 7.5 - }, - { - "level": 46, - "icon": 9141, - "name": "Steel Bolts", - "xp": 3.5 - }, - { - "level": 46, - "icon": 9446, - "name": "Teak Stock", - "xp": 27 - }, - { - "level": 46, - "icon": 9459, - "name": "Steel Crossbow (U)", - "xp": 54 - }, - { - "level": 46, - "icon": 9179, - "name": "Steel Crossbow", - "xp": 27 - }, - { - "level": 50, - "icon": 64, - "name": "Maple Shortbow (U)", - "xp": 50 - }, - { - "level": 50, - "icon": 853, - "name": "Maple Shortbow", - "xp": 50 - }, - { - "level": 51, - "icon": 881, - "name": "Barbed Bolts", - "xp": 9.5 - }, - { - "level": 52, - "icon": 809, - "name": "Mithril Dart", - "xp": 11.2 - }, - { - "level": 52, - "icon": 4150, - "name": "Broad Arrows", - "xp": 10 - }, - { - "level": 53, - "icon": 12926, - "name": "Toxic Blowpipe", - "xp": 120 - }, - { - "level": 54, - "icon": 9181, - "name": "Mith Crossbow", - "xp": 32 - }, - { - "level": 54, - "icon": 9448, - "name": "Maple Stock", - "xp": 32 - }, - { - "level": 54, - "icon": 9142, - "name": "Mithril Bolts", - "xp": 5 - }, - { - "level": 54, - "icon": 9461, - "name": "Mithril Crossbow (U)", - "xp": 64 - }, - { - "level": 55, - "icon": 62, - "name": "Maple Longbow (U)", - "xp": 58.3 - }, - { - "level": 55, - "icon": 11875, - "name": "Broad Bolts", - "xp": 3 - }, - { - "level": 55, - "icon": 851, - "name": "Maple Longbow", - "xp": 58 - }, - { - "level": 56, - "icon": 9337, - "name": "Sapphire Bolts", - "xp": 4.7 - }, - { - "level": 57, - "icon": 22257, - "name": "Maple Shield", - "xp": 116.5 - }, - { - "level": 58, - "icon": 9338, - "name": "Emerald Bolts", - "xp": 5.5 - }, - { - "level": 60, - "icon": 890, - "name": "Adamant Arrow", - "xp": 10 - }, - { - "level": 61, - "icon": 9143, - "name": "Adamant Bolts", - "xp": 7 - }, - { - "level": 61, - "icon": 9450, - "name": "Mahogany Stock", - "xp": 41 - }, - { - "level": 61, - "icon": 9463, - "name": "Adamant Crossbow (U)", - "xp": 82 - }, - { - "level": 61, - "icon": 9183, - "name": "Adamant Crossbow", - "xp": 41 - }, - { - "level": 63, - "icon": 9339, - "name": "Ruby Bolts", - "xp": 6.3 - }, - { - "level": 65, - "icon": 9340, - "name": "Diamond Bolts", - "xp": 7 - }, - { - "level": 65, - "icon": 857, - "name": "Yew Shortbow", - "xp": 67.5 - }, - { - "level": 65, - "icon": 68, - "name": "Yew Shortbow (U)", - "xp": 67.5 - }, - { - "level": 67, - "icon": 810, - "name": "Adamant Dart", - "xp": 15 - }, - { - "level": 69, - "icon": 9465, - "name": "Runite Crossbow (U)", - "xp": 100 - }, - { - "level": 69, - "icon": 9185, - "name": "Rune Crossbow", - "xp": 50 - }, - { - "level": 69, - "icon": 9452, - "name": "Yew Stock", - "xp": 50 - }, - { - "level": 69, - "icon": 9144, - "name": "Runite Bolts", - "xp": 10 - }, - { - "level": 70, - "icon": 855, - "name": "Yew Longbow", - "xp": 75 - }, - { - "level": 70, - "icon": 66, - "name": "Yew Longbow (U)", - "xp": 75 - }, - { - "level": 71, - "icon": 9341, - "name": "Dragonstone Bolts", - "xp": 8.2 - }, - { - "level": 72, - "icon": 22260, - "name": "Yew Shield", - "xp": 150 - }, - { - "level": 73, - "icon": 9342, - "name": "Onyx Bolts", - "xp": 9.4 - }, - { - "level": 75, - "icon": 892, - "name": "Rune Arrow", - "xp": 12.5 - }, - { - "level": 76, - "icon": 21316, - "name": "Amethyst Broad Bolts", - "xp": 10.6 - }, - { - "level": 78, - "icon": 21952, - "name": "Magic Stock", - "xp": 70 - }, - { - "level": 78, - "icon": 21921, - "name": "Dragon Crossbow (U)", - "xp": 135 - }, - { - "level": 78, - "icon": 21902, - "name": "Dragon Crossbow", - "xp": 70 - }, - { - "level": 80, - "icon": 861, - "name": "Magic Shortbow", - "xp": 83.3 - }, - { - "level": 80, - "icon": 72, - "name": "Magic Shortbow (U)", - "xp": 83.3 - }, - { - "level": 81, - "icon": 811, - "name": "Rune Dart", - "xp": 18.8 - }, - { - "level": 82, - "icon": 21326, - "name": "Amethyst Arrow", - "xp": 13.5 - }, - { - "level": 84, - "icon": 21930, - "name": "Dragon Bolts", - "xp": 12 - }, - { - "level": 84, - "icon": 21318, - "name": "Amethyst Javelin", - "xp": 13.5 - }, - { - "level": 85, - "icon": 859, - "name": "Magic Longbow", - "xp": 91.5 - }, - { - "level": 85, - "icon": 70, - "name": "Magic Longbow (U)", - "xp": 91.5 - }, - { - "level": 87, - "icon": 22263, - "name": "Magic Shield", - "xp": 183 - }, - { - "level": 90, - "icon": 25849, - "name": "Amethyst Dart", - "xp": 21 - }, - { - "level": 90, - "icon": 11212, - "name": "Dragon Arrow", - "xp": 15 - }, - { - "level": 92, - "icon": 22266, - "name": "Redwood Shield", - "xp": 216 - }, - { - "level": 95, - "icon": 11230, - "name": "Dragon Dart", - "xp": 25 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json deleted file mode 100644 index d91f14eccf..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "actions": [ - { - "level": 3, - "icon": 121, - "name": "Attack Potion (3)", - "xp": 25 - }, - { - "level": 3, - "icon": 249, - "name": "Guam Leaf", - "xp": 2.5 - }, - { - "level": 5, - "icon": 251, - "name": "Marrentill", - "xp": 3.8 - }, - { - "level": 5, - "icon": 175, - "name": "Antipoison (3)", - "xp": 37.5 - }, - { - "level": 8, - "icon": 4844, - "name": "Relicym's Balm (3)", - "xp": 40 - }, - { - "level": 11, - "icon": 253, - "name": "Tarromin", - "xp": 5 - }, - { - "level": 12, - "icon": 115, - "name": "Strength Potion (3)", - "xp": 50 - }, - { - "level": 15, - "icon": 3410, - "name": "Serum 207 (3)", - "xp": 50 - }, - { - "level": 18, - "icon": 4419, - "name": "Guthix Rest (3)", - "xp": 59 - }, - { - "level": 19, - "icon": 10142, - "name": "Guam tar", - "xp": 30 - }, - { - "level": 20, - "icon": 255, - "name": "Harralander", - "xp": 6.3 - }, - { - "level": 22, - "icon": 6472, - "name": "Compost Potion (3)", - "xp": 60 - }, - { - "level": 22, - "icon": 127, - "name": "Restore Potion (3)", - "xp": 62.5 - }, - { - "level": 25, - "icon": 257, - "name": "Ranarr Weed", - "xp": 7.5 - }, - { - "level": 26, - "icon": 3010, - "name": "Energy Potion (3)", - "xp": 67.5 - }, - { - "level": 30, - "icon": 2998, - "name": "Toadflax", - "xp": 8 - }, - { - "level": 30, - "icon": 133, - "name": "Defence Potion (3)", - "xp": 75 - }, - { - "level": 31, - "icon": 10143, - "name": "Marrentill tar", - "xp": 42.5 - }, - { - "level": 34, - "icon": 3034, - "name": "Agility Potion (3)", - "xp": 80 - }, - { - "level": 36, - "icon": 9741, - "name": "Combat Potion (3)", - "xp": 84 - }, - { - "level": 38, - "icon": 139, - "name": "Prayer Potion (3)", - "xp": 87.5 - }, - { - "level": 39, - "icon": 10144, - "name": "Tarromin tar", - "xp": 55 - }, - { - "level": 40, - "icon": 259, - "name": "Irit Leaf", - "xp": 8.8 - }, - { - "level": 44, - "icon": 10145, - "name": "Harralander tar", - "xp": 72.5 - }, - { - "level": 45, - "icon": 145, - "name": "Super Attack (3)", - "xp": 100 - }, - { - "level": 48, - "icon": 181, - "name": "Superantipoison (3)", - "xp": 106.3 - }, - { - "level": 48, - "icon": 261, - "name": "Avantoe", - "xp": 10 - }, - { - "level": 50, - "icon": 151, - "name": "Fishing Potion (3)", - "xp": 112.5 - }, - { - "level": 52, - "icon": 3018, - "name": "Super Energy (3)", - "xp": 117.5 - }, - { - "level": 53, - "icon": 10000, - "name": "Hunter Potion (3)", - "xp": 120 - }, - { - "level": 54, - "icon": 263, - "name": "Kwuarm", - "xp": 11.3 - }, - { - "level": 55, - "icon": 157, - "name": "Super Strength (3)", - "xp": 125 - }, - { - "level": 57, - "icon": 9022, - "name": "Magic Essence Potion (3)", - "xp": 130 - }, - { - "level": 59, - "icon": 3000, - "name": "Snapdragon", - "xp": 11.8 - }, - { - "level": 60, - "icon": 187, - "name": "Weapon Poison", - "xp": 137.5 - }, - { - "level": 63, - "icon": 3026, - "name": "Super Restore (3)", - "xp": 142.5 - }, - { - "level": 65, - "icon": 265, - "name": "Cadantine", - "xp": 12.5 - }, - { - "level": 65, - "icon": 10927, - "name": "Sanfew Serum (3)", - "xp": 160 - }, - { - "level": 66, - "icon": 163, - "name": "Super Defence (3)", - "xp": 150 - }, - { - "level": 67, - "icon": 2481, - "name": "Lantadyme", - "xp": 13.1 - }, - { - "level": 68, - "icon": 5945, - "name": "Antidote+ (3)", - "xp": 155 - }, - { - "level": 69, - "icon": 2454, - "name": "Antifire Potion (3)", - "xp": 157.5 - }, - { - "level": 70, - "icon": 23697, - "name": "Divine super attack potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 23721, - "name": "Divine super defence potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 23709, - "name": "Divine super strength potion(4)", - "xp:": 2 - }, - { - "level": 70, - "icon": 267, - "name": "Dwarf Weed", - "xp": 13.8 - }, - { - "level": 72, - "icon": 169, - "name": "Ranging Potion (3)", - "xp": 162.5 - }, - { - "level": 73, - "icon": 5937, - "name": "Weapon Poison (+)", - "xp": 165 - }, - { - "level": 74, - "icon": 23733, - "name": "Divine ranging potion(4)", - "xp:": 2 - }, - { - "level": 75, - "icon": 269, - "name": "Torstol", - "xp": 15 - }, - { - "level": 76, - "icon": 3042, - "name": "Magic Potion (3)", - "xp": 172.5 - }, - { - "level": 77, - "icon": 12627, - "name": "Stamina Potion (3)", - "xp": 76.5 - }, - { - "level": 77, - "icon": 12625, - "name": "Stamina Potion (4)", - "xp": 102 - }, - { - "level": 78, - "icon": 23745, - "name": "Divine magic potion(4)", - "xp:": 2 - }, - { - "level": 78, - "icon": 189, - "name": "Zamorak Brew (3)", - "xp": 175 - }, - { - "level": 79, - "icon": 5954, - "name": "Antidote++ (3)", - "xp": 177.5 - }, - { - "level": 80, - "icon": 22464, - "name": "Bastion Potion (3)", - "xp": 155 - }, - { - "level": 80, - "icon": 22452, - "name": "Battlemage Potion (3)", - "xp": 155 - }, - { - "level": 81, - "icon": 6687, - "name": "Saradomin Brew (3)", - "xp": 180 - }, - { - "level": 82, - "icon": 5940, - "name": "Weapon Poison (++)", - "xp": 190 - }, - { - "level": 84, - "icon": 11953, - "name": "Extended Antifire (3)", - "xp": 82.5 - }, - { - "level": 84, - "icon": 11951, - "name": "Extended Antifire (4)", - "xp": 110 - }, - { - "level": 86, - "icon": 24635, - "name": "Divine bastion potion(4)", - "xp:": 2 - }, - { - "level": 86, - "icon": 24623, - "name": "Divine battlemage potion(4)", - "xp:": 2 - }, - { - "level": 87, - "icon": 12907, - "name": "Anti-venom(3)", - "xp": 90 - }, - { - "level": 87, - "icon": 12905, - "name": "Anti-venom(4)", - "xp": 120 - }, - { - "level": 90, - "icon": 12695, - "name": "Super Combat Potion(4)", - "xp": 150 - }, - { - "level": 92, - "icon": 21978, - "name": "Super Antifire (4)", - "xp": 130 - }, - { - "level": 94, - "icon": 12913, - "name": "Anti-venom+(4)", - "xp": 125 - }, - { - "level": 97, - "icon": 23685, - "name": "Divine super combat potion(4)", - "xp:": 2 - }, - { - "level": 98, - "icon": 21981, - "name": "Extended Super Antifire (3)", - "xp": 120 - }, - { - "level": 98, - "icon": 21978, - "name": "Extended Super Antifire (4)", - "xp": 160 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json deleted file mode 100644 index a50c2164d6..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_hunter.json +++ /dev/null @@ -1,352 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 9965, - "name": "Crimson Swift", - "xp": 34 - }, - { - "level": 1, - "icon": 9953, - "name": "Polar Kebbit", - "xp": 30 - }, - { - "level": 3, - "icon": 9954, - "name": "Common Kebbit", - "xp": 36 - }, - { - "level": 5, - "icon": 9968, - "name": "Golden Warbler", - "xp": 47 - }, - { - "level": 5, - "icon": 21512, - "name": "Regular Bird House", - "xp": 280 - }, - { - "level": 7, - "icon": 9955, - "name": "Feldip Weasel", - "xp": 48 - }, - { - "level": 9, - "icon": 9966, - "name": "Copper Longtail", - "xp": 61 - }, - { - "level": 11, - "icon": 9967, - "name": "Cerulean Twitch", - "xp": 64.5 - }, - { - "level": 13, - "icon": 9956, - "name": "Desert Devil", - "xp": 66 - }, - { - "level": 14, - "icon": 21515, - "name": "Oak Bird House", - "xp": 420 - }, - { - "level": 15, - "icon": 9970, - "name": "Ruby Harvest", - "xp": 24 - }, - { - "level": 17, - "icon": 11238, - "name": "Baby Impling", - "xp": 18 - }, - { - "level": 19, - "icon": 9969, - "name": "Tropical Wagtail", - "xp": 95 - }, - { - "level": 22, - "icon": 11240, - "name": "Young Impling", - "xp": 20 - }, - { - "level": 23, - "icon": 9953, - "name": "Wild Kebbit", - "xp": 128 - }, - { - "level": 24, - "icon": 21518, - "name": "Willow Bird House", - "xp": 560 - }, - { - "level": 25, - "icon": 9971, - "name": "Sapphire Glacialis", - "xp": 34 - }, - { - "level": 27, - "icon": 10092, - "name": "Ferret", - "xp": 115 - }, - { - "level": 27, - "icon": 9975, - "name": "White Rabbit", - "xp": 144 - }, - { - "level": 28, - "icon": 11242, - "name": "Gourmet Impling", - "xp": 22 - }, - { - "level": 29, - "icon": 10149, - "name": "Swamp Lizard", - "xp": 152 - }, - { - "level": 31, - "icon": 10045, - "name": "Spined Larupia", - "xp": 180 - }, - { - "level": 33, - "icon": 9958, - "name": "Barb-tailed Kebbit", - "xp": 168 - }, - { - "level": 34, - "icon": 21521, - "name": "Teak Bird House", - "xp": 700 - }, - { - "level": 35, - "icon": 9972, - "name": "Snowy Knight", - "xp": 44 - }, - { - "level": 36, - "icon": 11244, - "name": "Earth Impling", - "xp": 25 - }, - { - "level": 37, - "icon": 9957, - "name": "Prickly Kebbit", - "xp": 204 - }, - { - "level": 41, - "icon": 10051, - "name": "Horned Graahk", - "xp": 240 - }, - { - "level": 42, - "icon": 11246, - "name": "Essence Impling", - "xp": 27 - }, - { - "level": 43, - "icon": 9960, - "name": "Spotted Kebbit", - "xp": 104 - }, - { - "level": 44, - "icon": 22192, - "name": "Maple Bird House", - "xp": 820 - }, - { - "level": 45, - "icon": 9973, - "name": "Black Warlock", - "xp": 54 - }, - { - "level": 47, - "icon": 10146, - "name": "Orange Salamander", - "xp": 224 - }, - { - "level": 49, - "icon": 9961, - "name": "Razor-backed Kebbit", - "xp": 348 - }, - { - "level": 49, - "icon": 22195, - "name": "Mahogany Bird House", - "xp": 960 - }, - { - "level": 50, - "icon": 11248, - "name": "Eclectic Impling", - "xp": 32 - }, - { - "level": 51, - "icon": 9959, - "name": "Sabre-toothed Kebbit", - "xp": 200 - }, - { - "level": 53, - "icon": 9976, - "name": "Chinchompa", - "xp": 198.3 - }, - { - "level": 55, - "icon": 10039, - "name": "Sabre-toothed Kyatt", - "xp": 300 - }, - { - "level": 57, - "icon": 9963, - "name": "Dark Kebbit", - "xp": 132 - }, - { - "level": 58, - "icon": 11250, - "name": "Nature Impling", - "xp": 34 - }, - { - "level": 59, - "icon": 10147, - "name": "Red Salamander", - "xp": 272 - }, - { - "level": 59, - "icon": 22198, - "name": "Yew Bird House", - "xp": 1020 - }, - { - "level": 60, - "icon": 19556, - "name": "Maniacal Monkey", - "xp": 1000 - }, - { - "level": 63, - "icon": 9977, - "name": "Carnivorous Chinchompa", - "xp": 265 - }, - { - "level": 65, - "icon": 11252, - "name": "Magpie Impling", - "xp": 44 - }, - { - "level": 65, - "icon": 11252, - "name": "Magpie Impling (Gielinor)", - "xp": 216 - }, - { - "level": 67, - "icon": 10148, - "name": "Black Salamander", - "xp": 319.5 - }, - { - "level": 69, - "icon": 9964, - "name": "Dashing Kebbit", - "xp": 156 - }, - { - "level": 73, - "icon": 5091, - "name": "Black Chinchompa", - "xp": 315 - }, - { - "level": 74, - "icon": 22201, - "name": "Magic Bird House", - "xp": 1140 - }, - { - "level": 74, - "icon": 11254, - "name": "Ninja Impling", - "xp": 52 - }, - { - "level": 74, - "icon": 11254, - "name": "Ninja Impling (Gielinor)", - "xp": 240 - }, - { - "level": 80, - "icon": 23768, - "name": "Crystal Impling", - "xp": 280 - }, - { - "level": 83, - "icon": 11256, - "name": "Dragon Impling", - "xp": 65 - }, - { - "level": 83, - "icon": 11256, - "name": "Dragon Impling (Gielinor)", - "xp": 300 - }, - { - "level": 89, - "icon": 22204, - "name": "Redwood Bird House", - "xp": 1200 - }, - { - "level": 89, - "icon": 19732, - "name": "Lucky Impling", - "xp": 380 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json deleted file mode 100644 index c127933d7c..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_magic.json +++ /dev/null @@ -1,1084 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "sprite": 15, - "name": "Wind Strike", - "xp": 5.5 - }, - { - "level": 3, - "sprite": 16, - "name": "Confuse", - "xp": 13 - }, - { - "level": 4, - "sprite": 358, - "name": "Enchant Opal Bolt", - "xp": 9 - }, - { - "level": 5, - "sprite": 17, - "name": "Water Strike", - "xp": 7.5 - }, - { - "level": 6, - "sprite": 1252, - "name": "Arceuus Library Teleport", - "xp": 10 - }, - { - "level": 7, - "sprite": 18, - "name": "Enchant Sapphire Jewellery", - "xp": 17.5 - }, - { - "level": 7, - "sprite": 358, - "name": "Enchant Sapphire Bolt", - "xp": 17.5 - }, - { - "level": 9, - "sprite": 19, - "name": "Earth Strike", - "xp": 9.5 - }, - { - "level": 11, - "sprite": 20, - "name": "Weaken", - "xp": 21 - }, - { - "level": 13, - "sprite": 21, - "name": "Fire Strike", - "xp": 11.5 - }, - { - "level": 14, - "sprite": 358, - "name": "Enchant Jade Bolt", - "xp": 19 - }, - { - "level": 15, - "sprite": 22, - "name": "Bones To Bananas", - "xp": 25 - }, - { - "level": 16, - "sprite": 1247, - "name": "Basic Reanimation", - "xp": 32 - }, - { - "level": 17, - "sprite": 1253, - "name": "Draynor Manor Teleport", - "xp": 16 - }, - { - "level": 17, - "sprite": 23, - "name": "Wind Bolt", - "xp": 13.5 - }, - { - "level": 19, - "sprite": 24, - "name": "Curse", - "xp": 29 - }, - { - "level": 20, - "sprite": 319, - "name": "Bind", - "xp": 30 - }, - { - "level": 21, - "sprite": 25, - "name": "Low Level Alchemy", - "xp": 31 - }, - { - "level": 23, - "sprite": 26, - "name": "Water Bolt", - "xp": 16.5 - }, - { - "level": 24, - "sprite": 358, - "name": "Enchant Pearl Bolt", - "xp": 29 - }, - { - "level": 25, - "sprite": 27, - "name": "Varrock Teleport", - "xp": 35 - }, - { - "level": 27, - "sprite": 28, - "name": "Enchant Emerald Jewellery", - "xp": 37 - }, - { - "level": 27, - "sprite": 358, - "name": "Enchant Emerald Bolt", - "xp": 37 - }, - { - "level": 28, - "sprite": 1256, - "name": "Mind Altar Teleport", - "xp": 22 - }, - { - "level": 29, - "sprite": 358, - "name": "Enchant Topaz Bolt", - "xp": 33 - }, - { - "level": 29, - "sprite": 29, - "name": "Earth Bolt", - "xp": 19.5 - }, - { - "level": 31, - "sprite": 30, - "name": "Lumbridge Teleport", - "xp": 41 - }, - { - "level": 33, - "sprite": 31, - "name": "Telekinetic Grab", - "xp": 43 - }, - { - "level": 34, - "sprite": 1257, - "name": "Respawn Teleport", - "xp": 27 - }, - { - "level": 35, - "sprite": 32, - "name": "Fire Bolt", - "xp": 22.5 - }, - { - "level": 35, - "sprite": 1267, - "name": "Ghostly Grasp", - "xp": 22.5 - }, - { - "level": 37, - "sprite": 33, - "name": "Falador Teleport", - "xp": 48 - }, - { - "level": 38, - "sprite": 1270, - "name": "Resurrect Lesser Thrall", - "xp": 55 - }, - { - "level": 39, - "sprite": 34, - "name": "Crumble Undead", - "xp": 24.5 - }, - { - "level": 40, - "sprite": 1254, - "name": "Salve Graveyard Teleport", - "xp": 30 - }, - { - "level": 40, - "sprite": 355, - "name": "Teleport To House", - "xp": 30 - }, - { - "level": 41, - "sprite": 1248, - "name": "Adept Reanimation", - "xp": 80 - }, - { - "level": 41, - "sprite": 35, - "name": "Wind Blast", - "xp": 25.5 - }, - { - "level": 43, - "sprite": 36, - "name": "Superheat Item", - "xp": 53 - }, - { - "level": 44, - "sprite": 1302, - "name": "Inferior Demonbane", - "xp": 27 - }, - { - "level": 45, - "sprite": 37, - "name": "Camelot Teleport", - "xp": 55.5 - }, - { - "level": 47, - "sprite": 38, - "name": "Water Blast", - "xp": 28.5 - }, - { - "level": 47, - "sprite": 1315, - "name": "Shadow Veil", - "xp": 58 - }, - { - "level": 48, - "sprite": 1259, - "name": "Fenkenstrain's Castle Teleport", - "xp": 50 - }, - { - "level": 49, - "sprite": 39, - "name": "Enchant Ruby Jewellery", - "xp": 59 - }, - { - "level": 49, - "sprite": 358, - "name": "Enchant Ruby Bolt", - "xp": 59 - }, - { - "level": 50, - "sprite": 53, - "name": "Iban Blast", - "xp": 30 - }, - { - "level": 50, - "sprite": 329, - "name": "Smoke Rush", - "xp": 30 - }, - { - "level": 50, - "sprite": 324, - "name": "Magic Dart", - "xp": 30 - }, - { - "level": 50, - "sprite": 320, - "name": "Snare", - "xp": 60 - }, - { - "level": 50, - "sprite": 1316, - "name": "Dark Lure", - "xp": 60 - }, - { - "level": 51, - "sprite": 54, - "name": "Ardougne Teleport", - "xp": 61 - }, - { - "level": 52, - "sprite": 337, - "name": "Shadow Rush", - "xp": 31 - }, - { - "level": 53, - "sprite": 40, - "name": "Earth Blast", - "xp": 31.5 - }, - { - "level": 54, - "sprite": 341, - "name": "Paddewwa Teleport", - "xp": 64 - }, - { - "level": 55, - "sprite": 41, - "name": "High Level Alchemy", - "xp": 65 - }, - { - "level": 56, - "sprite": 42, - "name": "Charge Water Orb", - "xp": 66 - }, - { - "level": 56, - "sprite": 333, - "name": "Blood Rush", - "xp": 33 - }, - { - "level": 56, - "sprite": 1268, - "name": "Skeletal Grasp", - "xp": 33 - }, - { - "level": 57, - "sprite": 358, - "name": "Enchant Diamond Bolt", - "xp": 67 - }, - { - "level": 57, - "sprite": 43, - "name": "Enchant Diamond Jewellery", - "xp": 67 - }, - { - "level": 57, - "sprite": 2981, - "name": "Resurrect Superior Thrall", - "xp": 70 - }, - { - "level": 58, - "sprite": 55, - "name": "Watchtower Teleport", - "xp": 68 - }, - { - "level": 58, - "sprite": 325, - "name": "Ice Rush", - "xp": 34 - }, - { - "level": 59, - "sprite": 44, - "name": "Fire Blast", - "xp": 34.5 - }, - { - "level": 59, - "sprite": 1305, - "name": "Mark of Darkness", - "xp": 70 - }, - { - "level": 60, - "sprite": 342, - "name": "Senntisten Teleport", - "xp": 70 - }, - { - "level": 60, - "sprite": 60, - "name": "Claws Of Guthix", - "xp": 35 - }, - { - "level": 60, - "sprite": 59, - "name": "Flames Of Zamorak", - "xp": 35 - }, - { - "level": 60, - "sprite": 61, - "name": "Saradomin Strike", - "xp": 35 - }, - { - "level": 60, - "sprite": 45, - "name": "Charge Earth Orb", - "xp": 70 - }, - { - "level": 60, - "sprite": 354, - "name": "Bones To Peaches", - "xp": 35.5 - }, - { - "level": 61, - "sprite": 1260, - "name": "West Ardougne Teleport", - "xp": 68 - }, - { - "level": 61, - "sprite": 323, - "name": "Trollheim Teleport", - "xp": 68 - }, - { - "level": 62, - "sprite": 330, - "name": "Smoke Burst", - "xp": 36 - }, - { - "level": 62, - "sprite": 46, - "name": "Wind Wave", - "xp": 36 - }, - { - "level": 62, - "sprite": 1303, - "name": "Superior Demonbane", - "xp": 36 - }, - { - "level": 63, - "sprite": 47, - "name": "Charge Fire Orb", - "xp": 73 - }, - { - "level": 64, - "sprite": 338, - "name": "Shadow Burst", - "xp": 37 - }, - { - "level": 64, - "sprite": 357, - "name": "Teleport Ape Atoll", - "xp": 74 - }, - { - "level": 64, - "sprite": 1307, - "name": "Lesser Corruption", - "xp": 75 - }, - { - "level": 65, - "sprite": 543, - "name": "Bake Pie", - "xp": 60 - }, - { - "level": 65, - "sprite": 1261, - "name": "Harmony Island Teleport", - "xp": 74 - }, - { - "level": 65, - "sprite": 563, - "name": "Geomancy", - "xp": 60 - }, - { - "level": 65, - "sprite": 48, - "name": "Water Wave", - "xp": 37.5 - }, - { - "level": 66, - "sprite": 49, - "name": "Charge Air Orb", - "xp": 76 - }, - { - "level": 66, - "sprite": 567, - "name": "Cure Plant", - "xp": 60 - }, - { - "level": 66, - "sprite": 343, - "name": "Kharyrll Teleport", - "xp": 76 - }, - { - "level": 66, - "sprite": 56, - "name": "Vulnerability", - "xp": 76 - }, - { - "level": 66, - "sprite": 577, - "name": "Monster Examine", - "xp": 61 - }, - { - "level": 66, - "sprite": 1317, - "name": "Vile Vigour", - "xp": 76 - }, - { - "level": 67, - "sprite": 568, - "name": "Npc Contact", - "xp": 63 - }, - { - "level": 68, - "sprite": 334, - "name": "Blood Burst", - "xp": 39 - }, - { - "level": 68, - "sprite": 559, - "name": "Cure Other", - "xp": 65 - }, - { - "level": 68, - "sprite": 50, - "name": "Enchant Dragonstone Jewellery", - "xp": 78 - }, - { - "level": 68, - "sprite": 358, - "name": "Enchant Dragonstone Bolt", - "xp": 78 - }, - { - "level": 68, - "sprite": 578, - "name": "Humidify", - "xp": 65 - }, - { - "level": 69, - "sprite": 544, - "name": "Moonclan Teleport", - "xp": 66 - }, - { - "level": 70, - "sprite": 51, - "name": "Earth Wave", - "xp": 40 - }, - { - "level": 70, - "sprite": 326, - "name": "Ice Burst", - "xp": 40 - }, - { - "level": 70, - "sprite": 569, - "name": "Tele Group Moonclan", - "xp": 67 - }, - { - "level": 70, - "sprite": 1318, - "name": "Degrime", - "xp": 83 - }, - { - "level": 71, - "sprite": 586, - "name": "Ourania Teleport", - "xp": 69 - }, - { - "level": 71, - "sprite": 1264, - "name": "Cemetery Teleport", - "xp": 82 - }, - { - "level": 71, - "sprite": 562, - "name": "Cure Me", - "xp": 69 - }, - { - "level": 71, - "sprite": 579, - "name": "Hunter Kit", - "xp": 70 - }, - { - "level": 72, - "sprite": 1249, - "name": "Expert Reanimation", - "xp": 138 - }, - { - "level": 72, - "sprite": 344, - "name": "Lassar Teleport", - "xp": 82 - }, - { - "level": 72, - "sprite": 545, - "name": "Waterbirth Teleport", - "xp": 71 - }, - { - "level": 73, - "sprite": 570, - "name": "Tele Group Waterbirth", - "xp": 72 - }, - { - "level": 73, - "sprite": 57, - "name": "Enfeeble", - "xp": 83 - }, - { - "level": 73, - "sprite": 1306, - "name": "Ward of Arceuus", - "xp": 83 - }, - { - "level": 74, - "sprite": 349, - "name": "Teleother Lumbridge", - "xp": 84 - }, - { - "level": 74, - "sprite": 331, - "name": "Smoke Blitz", - "xp": 42 - }, - { - "level": 74, - "sprite": 565, - "name": "Cure Group", - "xp": 74 - }, - { - "level": 75, - "sprite": 576, - "name": "Stat Spy", - "xp": 76 - }, - { - "level": 75, - "sprite": 547, - "name": "Barbarian Teleport", - "xp": 76 - }, - { - "level": 75, - "sprite": 52, - "name": "Fire Wave", - "xp": 42.5 - }, - { - "level": 76, - "sprite": 575, - "name": "Tele Group Barbarian", - "xp": 77 - }, - { - "level": 76, - "sprite": 339, - "name": "Shadow Blitz", - "xp": 43 - }, - { - "level": 76, - "sprite": 585, - "name": "Spin Flax", - "xp": 75 - }, - { - "level": 76, - "sprite": 2984, - "name": "Resurrect Greater Thrall", - "xp": 88 - }, - { - "level": 77, - "sprite": 548, - "name": "Superglass Make", - "xp": 78 - }, - { - "level": 78, - "sprite": 583, - "name": "Tan Leather", - "xp": 81 - }, - { - "level": 78, - "sprite": 549, - "name": "Khazard Teleport", - "xp": 80 - }, - { - "level": 78, - "sprite": 345, - "name": "Dareeyak Teleport", - "xp": 88 - }, - { - "level": 78, - "sprite": 1266, - "name": "Resurrect Crops", - "xp": 90 - }, - { - "level": 79, - "sprite": 321, - "name": "Entangle", - "xp": 89 - }, - { - "level": 79, - "sprite": 572, - "name": "Tele Group Khazard", - "xp": 81 - }, - { - "level": 79, - "sprite": 580, - "name": "Dream", - "xp": 82 - }, - { - "level": 79, - "sprite": 1269, - "name": "Undead Grasp", - "xp": 46.5 - }, - { - "level": 80, - "sprite": 322, - "name": "Charge", - "xp": 180 - }, - { - "level": 80, - "sprite": 335, - "name": "Blood Blitz", - "xp": 45 - }, - { - "level": 80, - "sprite": 58, - "name": "Stun", - "xp": 90 - }, - { - "level": 80, - "sprite": 550, - "name": "String Jewellery", - "xp": 83 - }, - { - "level": 80, - "sprite": 1310, - "name": "Death Charge", - "xp": 90 - }, - { - "level": 81, - "sprite": 554, - "name": "Stat Restore Pot Share", - "xp": 84 - }, - { - "level": 81, - "sprite": 362, - "name": "Wind Surge", - "xp": 44 - }, - { - "level": 82, - "sprite": 350, - "name": "Teleother Falador", - "xp": 92 - }, - { - "level": 82, - "sprite": 552, - "name": "Magic Imbue", - "xp": 86 - }, - { - "level": 82, - "sprite": 327, - "name": "Ice Blitz", - "xp": 46 - }, - { - "level": 82, - "sprite": 1304, - "name": "Dark Demonbane", - "xp": 43.5 - }, - { - "level": 83, - "sprite": 553, - "name": "Fertile Soil", - "xp": 87 - }, - { - "level": 83, - "sprite": 1262, - "name": "Barrows Teleport", - "xp": 90 - }, - { - "level": 84, - "sprite": 346, - "name": "Carrallangar Teleport", - "xp": 82 - }, - { - "level": 84, - "sprite": 551, - "name": "Boost Potion Share", - "xp": 88 - }, - { - "level": 84, - "sprite": 1311, - "name": "Demonic Offering", - "xp": 175 - }, - { - "level": 85, - "sprite": 363, - "name": "Water Surge", - "xp": 46 - }, - { - "level": 85, - "sprite": 555, - "name": "Fishing Guild Teleport", - "xp": 89 - }, - { - "level": 85, - "sprite": 352, - "name": "Tele Block", - "xp": 80 - }, - { - "level": 85, - "sprite": 359, - "name": "Teleport To Bounty Target", - "xp": 45 - }, - { - "level": 85, - "sprite": 1308, - "name": "Greater Corruption", - "xp": 95 - }, - { - "level": 86, - "sprite": 332, - "name": "Smoke Barrage", - "xp": 48 - }, - { - "level": 86, - "sprite": 573, - "name": "Tele Group Fishing Guild", - "xp": 90 - }, - { - "level": 86, - "sprite": 581, - "name": "Plank Make", - "xp": 90 - }, - { - "level": 87, - "sprite": 556, - "name": "Catherby Teleport", - "xp": 92 - }, - { - "level": 87, - "sprite": 353, - "name": "Enchant Onyx Jewellery", - "xp": 97 - }, - { - "level": 87, - "sprite": 358, - "name": "Enchant Onyx Bolt", - "xp": 97 - }, - { - "level": 88, - "sprite": 340, - "name": "Shadow Barrage", - "xp": 48 - }, - { - "level": 88, - "sprite": 574, - "name": "Tele Group Catherby", - "xp": 93 - }, - { - "level": 89, - "sprite": 557, - "name": "Ice Plateau Teleport", - "xp": 96 - }, - { - "level": 89, - "sprite": 584, - "name": "Recharge Dragonstone", - "xp": 97.5 - }, - { - "level": 90, - "sprite": 347, - "name": "Annakarl Teleport", - "xp": 100 - }, - { - "level": 90, - "sprite": 364, - "name": "Earth Surge", - "xp": 48 - }, - { - "level": 90, - "sprite": 1250, - "name": "Master Reanimation", - "xp": 170 - }, - { - "level": 90, - "sprite": 575, - "name": "Tele Group Ice Plateau", - "xp": 99 - }, - { - "level": 90, - "sprite": 351, - "name": "Teleother Camelot", - "xp": 100 - }, - { - "level": 90, - "sprite": 1263, - "name": "Ape Atoll Teleport", - "xp": 100 - }, - { - "level": 91, - "sprite": 558, - "name": "Energy Transfer", - "xp": 100 - }, - { - "level": 92, - "sprite": 336, - "name": "Blood Barrage", - "xp": 51 - }, - { - "level": 92, - "sprite": 560, - "name": "Heal Other", - "xp": 101 - }, - { - "level": 92, - "sprite": 1312, - "name": "Sinister Offering", - "xp": 180 - }, - { - "level": 93, - "sprite": 561, - "name": "Vengeance Other", - "xp": 108 - }, - { - "level": 93, - "sprite": 361, - "name": "Enchant Zenyte Jewellery", - "xp": 110 - }, - { - "level": 94, - "sprite": 328, - "name": "Ice Barrage", - "xp": 52 - }, - { - "level": 94, - "sprite": 564, - "name": "Vengeance", - "xp": 112 - }, - { - "level": 95, - "sprite": 566, - "name": "Heal Group", - "xp": 124 - }, - { - "level": 95, - "sprite": 365, - "name": "Fire Surge", - "xp": 51 - }, - { - "level": 96, - "sprite": 348, - "name": "Ghorrock Teleport", - "xp": 106 - }, - { - "level": 96, - "sprite": 582, - "name": "Spellbook Swap", - "xp": 130 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json deleted file mode 100644 index a944c4782f..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_mining.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "bonuses": [ - { - "name": "Prospector Outfit (+2.5%)", - "value": 0.025 - } - ], - "actions": [ - { - "level": 1, - "icon": 434, - "name": "Clay", - "xp": 5 - }, - { - "level": 1, - "icon": 1436, - "name": "Rune Essence", - "xp": 5 - }, - { - "level": 1, - "icon": 436, - "name": "Copper Ore", - "xp": 17.5 - }, - { - "level": 1, - "icon": 438, - "name": "Tin Ore", - "xp": 17.5 - }, - { - "level": 10, - "icon": 3211, - "name": "Limestone", - "xp": 26.5 - }, - { - "level": 14, - "icon": 25683, - "name": "Barronite shards", - "xp": 16 - }, - { - "level": 14, - "icon": 25684, - "name": "Barronite deposit", - "xp": 32 - }, - { - "level": 15, - "icon": 440, - "name": "Iron Ore", - "xp": 35 - }, - { - "level": 20, - "icon": 442, - "name": "Silver Ore", - "xp": 40 - }, - { - "level": 30, - "icon": 7936, - "name": "Pure Essence", - "xp": 5 - }, - { - "level": 30, - "icon": 453, - "name": "Coal", - "xp": 50 - }, - { - "level": 35, - "icon": 6977, - "name": "Sandstone (10kg)", - "xp": 60 - }, - { - "level": 35, - "icon": 6975, - "name": "Sandstone (5kg)", - "xp": 50 - }, - { - "level": 35, - "icon": 6973, - "name": "Sandstone (2kg)", - "xp": 40 - }, - { - "level": 35, - "icon": 6971, - "name": "Sandstone (1kg)", - "xp": 30 - }, - { - "level": 38, - "icon": 13445, - "name": "Dense Essence Block", - "xp": 12 - }, - { - "level": 40, - "icon": 444, - "name": "Gold Ore", - "xp": 65 - }, - { - "level": 40, - "icon": 1629, - "name": "Gem Rocks", - "xp": 65 - }, - { - "level": 45, - "icon": 6979, - "name": "Granite (500g)", - "xp": 50 - }, - { - "level": 45, - "icon": 6981, - "name": "Granite (2kg)", - "xp": 60 - }, - { - "level": 45, - "icon": 6983, - "name": "Granite (5kg)", - "xp": 75 - }, - { - "level": 55, - "icon": 447, - "name": "Mithril Ore", - "xp": 80 - }, - { - "level": 70, - "icon": 1761, - "name": "Soft Clay", - "xp": 5 - }, - { - "level": 70, - "icon": 449, - "name": "Adamantite Ore", - "xp": 95 - }, - { - "level": 85, - "icon": 451, - "name": "Runite Ore", - "xp": 125 - }, - { - "level": 92, - "icon": 21347, - "name": "Amethyst", - "xp": 240 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json deleted file mode 100644 index 9ebde37563..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_prayer.json +++ /dev/null @@ -1,397 +0,0 @@ -{ - "bonuses": [ - { - "name": "Lit Gilded Altar (350%)", - "value": 2.5 - }, - { - "name": "Ectofuntus (400%)", - "value": 3 - }, - { - "name": "Chaos Altar (700%)", - "value": 6 - }, - { - "name": "Morytania Diary 3 Shades(150%)", - "value": 0.5 - } - ], - "actions": [ - { - "level": 1, - "icon": 13447, - "name": "Ensouled Goblin Head", - "xp": 130, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13450, - "name": "Ensouled Monkey Head", - "xp": 182, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13453, - "name": "Ensouled Imp Head", - "xp": 286, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13456, - "name": "Ensouled Minotaur Head", - "xp": 364, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13459, - "name": "Ensouled Scorpion Head", - "xp": 454, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13462, - "name": "Ensouled Bear Head", - "xp": 480, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13465, - "name": "Ensouled Unicorn Head", - "xp": 494, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13468, - "name": "Ensouled Dog Head", - "xp": 520, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13471, - "name": "Ensouled Chaos Druid Head", - "xp": 584, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13474, - "name": "Ensouled Giant Head", - "xp": 650, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13477, - "name": "Ensouled Ogre Head", - "xp": 716, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13480, - "name": "Ensouled Elf Head", - "xp": 754, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13483, - "name": "Ensouled Troll Head", - "xp": 780, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13486, - "name": "Ensouled Horror Head", - "xp": 832, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13489, - "name": "Ensouled Kalphite Head", - "xp": 884, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13492, - "name": "Ensouled Dagannoth Head", - "xp": 936, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13495, - "name": "Ensouled Bloodveld Head", - "xp": 1040, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13498, - "name": "Ensouled Tzhaar Head", - "xp": 1104, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13501, - "name": "Ensouled Demon Head", - "xp": 1170, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13504, - "name": "Ensouled Aviansie Head", - "xp": 1234, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13507, - "name": "Ensouled Abyssal Head", - "xp": 1300, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 13510, - "name": "Ensouled Dragon Head", - "xp": 1560, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25766, - "name": "Fiendish Ashes", - "xp": 10, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25769, - "name": "Vile Ashes", - "xp": 25, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25772, - "name": "Malicious Ashes", - "xp": 65, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25775, - "name": "Abyssal Ashes", - "xp": 85, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 25778, - "name": "Infernal Ashes", - "xp": 110, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 526, - "name": "Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 2859, - "name": "Wolf Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 3396, - "name": "Loar Remains", - "xp": 33 - }, - { - "level": 1, - "icon": 528, - "name": "Burnt Bones", - "xp": 4.5 - }, - { - "level": 1, - "icon": 3179, - "name": "Monkey Bones", - "xp": 5 - }, - { - "level": 1, - "icon": 530, - "name": "Bat Bones", - "xp": 5.3 - }, - { - "level": 1, - "icon": 3125, - "name": "Jogre Bones", - "xp": 15 - }, - { - "level": 1, - "icon": 532, - "name": "Big Bones", - "xp": 15 - }, - { - "level": 1, - "icon": 4812, - "name": "Zogre Bones", - "xp": 22.5 - }, - { - "level": 1, - "icon": 3123, - "name": "Shaikahan Bones", - "xp": 25 - }, - { - "level": 1, - "icon": 534, - "name": "Babydragon Bones", - "xp": 30 - }, - { - "level": 1, - "icon": 3398, - "name": "Phrin Remains", - "xp": 46.5 - }, - { - "level": 1, - "icon": 22780, - "name": "Wyrm Bones", - "xp": 50 - }, - { - "level": 1, - "icon": 3400, - "name": "Riyl Remains", - "xp": 59.5 - }, - { - "level": 1, - "icon": 6812, - "name": "Wyvern Bones", - "xp": 72 - }, - { - "level": 1, - "icon": 536, - "name": "Dragon Bones", - "xp": 72 - }, - { - "level": 1, - "icon": 22783, - "name": "Drake Bones", - "xp": 80 - }, - { - "level": 1, - "icon": 3402, - "name": "Asyn Remains", - "xp": 82.5 - }, - { - "level": 1, - "icon": 4830, - "name": "Fayrg Bones", - "xp": 84 - }, - { - "level": 1, - "icon": 3404, - "name": "Fiyr Remains", - "xp": 84 - }, - { - "level": 1, - "icon": 11943, - "name": "Lava Dragon Bones", - "xp": 85 - }, - { - "level": 1, - "icon": 4832, - "name": "Raurg Bones", - "xp": 96 - }, - { - "level": 1, - "icon": 22786, - "name": "Hydra Bones", - "xp": 110 - }, - { - "level": 1, - "icon": 6729, - "name": "Dagannoth Bones", - "xp": 125 - }, - { - "level": 1, - "icon": 4834, - "name": "Ourg Bones", - "xp": 140 - }, - { - "level": 70, - "icon": 22124, - "name": "Superior Dragon Bones", - "xp": 150 - }, - { - "level": 1, - "icon": 25419, - "name": "Urium Remains", - "xp": 120 - }, - { - "level": 1, - "icon": 25654, - "name": "Guppy", - "xp": 4 - }, - { - "level": 1, - "icon": 25660, - "name": "Cavefish", - "xp": 7 - }, - { - "level": 1, - "icon": 25666, - "name": "Tetra", - "xp": 10 - }, - { - "level": 1, - "icon": 25672, - "name": "Cavefish", - "xp": 16 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json deleted file mode 100644 index 901196750e..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_runecraft.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "bonuses": [ - { - "name": "Daeyalt essence (+50%)", - "value": 0.5 - } - ], - "actions": [ - { - "level": 1, - "icon": 5527, - "name": "Air Tiara", - "xp": 25, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5529, - "name": "Mind Tiara", - "xp": 27.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5531, - "name": "Water Tiara", - "xp": 30, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5535, - "name": "Earth Tiara", - "xp": 32.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5537, - "name": "Fire Tiara", - "xp": 35, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5533, - "name": "Body Tiara", - "xp": 37.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5539, - "name": "Cosmic Tiara", - "xp": 40, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5543, - "name": "Chaos Tiara", - "xp": 42.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5541, - "name": "Nature Tiara", - "xp": 45, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5545, - "name": "Law Tiara", - "xp": 47.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 5547, - "name": "Death Tiara", - "xp": 50, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 22121, - "name": "Wrath Tiara", - "xp": 52.5, - "ignoreBonus": true - }, - { - "level": 1, - "icon": 556, - "name": "Air Rune", - "xp": 5 - }, - { - "level": 2, - "icon": 558, - "name": "Mind Rune", - "xp": 5.5 - }, - { - "level": 2, - "icon": 25696, - "name": "Mind core", - "xp": 55 - }, - { - "level": 5, - "icon": 555, - "name": "Water Rune", - "xp": 6 - }, - { - "level": 6, - "icon": 4695, - "name": "Mist Rune", - "xp": 8.5 - }, - { - "level": 9, - "icon": 557, - "name": "Earth Rune", - "xp": 6.5 - }, - { - "level": 10, - "icon": 4696, - "name": "Dust Rune", - "xp": 9 - }, - { - "level": 13, - "icon": 4698, - "name": "Mud Rune", - "xp": 9.5 - }, - { - "level": 14, - "icon": 554, - "name": "Fire Rune", - "xp": 7 - }, - { - "level": 15, - "icon": 4697, - "name": "Smoke Rune", - "xp": 9.5 - }, - { - "level": 19, - "icon": 4694, - "name": "Steam Rune", - "xp": 10 - }, - { - "level": 20, - "icon": 559, - "name": "Body Rune", - "xp": 7.5 - }, - { - "level": 20, - "icon": 25698, - "name": "Body core", - "xp": 75 - }, - { - "level": 23, - "icon": 4699, - "name": "Lava Rune", - "xp": 10.5 - }, - { - "level": 27, - "icon": 564, - "name": "Cosmic Rune", - "xp": 8 - }, - { - "level": 35, - "icon": 562, - "name": "Chaos Rune", - "xp": 8.5 - }, - { - "level": 35, - "icon": 25700, - "name": "Chaos core", - "xp": 85 - }, - { - "level": 40, - "icon": 9075, - "name": "Astral Rune", - "xp": 8.7 - }, - { - "level": 44, - "icon": 561, - "name": "Nature Rune", - "xp": 9 - }, - { - "level": 54, - "icon": 563, - "name": "Law Rune", - "xp": 9.5 - }, - { - "level": 65, - "icon": 560, - "name": "Death Rune", - "xp": 10 - }, - { - "level": 77, - "icon": 565, - "name": "Blood Rune", - "xp": 24.425, - "ignoreBonus": true - }, - { - "level": 90, - "icon": 566, - "name": "Soul Rune", - "xp": 30.325, - "ignoreBonus": true - }, - { - "level": 95, - "icon": 21880, - "name": "Wrath Rune", - "xp": 8 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json deleted file mode 100644 index bf829f53b6..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json +++ /dev/null @@ -1,1090 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 2349, - "name": "Bronze Bar", - "xp": 6.3 - }, - { - "level": 1, - "icon": 1351, - "name": "Bronze Axe", - "xp": 12.5 - }, - { - "level": 1, - "icon": 1205, - "name": "Bronze Dagger", - "xp": 12.5 - }, - { - "level": 2, - "icon": 1422, - "name": "Bronze Mace", - "xp": 12.5 - }, - { - "level": 3, - "icon": 1139, - "name": "Bronze Med Helm", - "xp": 12.5 - }, - { - "level": 3, - "icon": 9375, - "name": "Bronze Bolts (Unf)", - "xp": 12.5 - }, - { - "level": 4, - "icon": 4819, - "name": "Bronze Nails", - "xp": 12.5 - }, - { - "level": 4, - "icon": 1277, - "name": "Bronze Sword", - "xp": 12.5 - }, - { - "level": 4, - "icon": 1794, - "name": "Bronze Wire", - "xp": 12.5 - }, - { - "level": 4, - "icon": 819, - "name": "Bronze Dart Tip", - "xp": 12.5 - }, - { - "level": 5, - "icon": 39, - "name": "Bronze Arrowtips", - "xp": 12.5 - }, - { - "level": 5, - "icon": 1321, - "name": "Bronze Scimitar", - "xp": 25 - }, - { - "level": 5, - "icon": 11367, - "name": "Bronze Hasta", - "xp": 25 - }, - { - "level": 5, - "icon": 1237, - "name": "Bronze Spear", - "xp": 25 - }, - { - "level": 6, - "icon": 19570, - "name": "Bronze Javelin Heads", - "xp": 12.5 - }, - { - "level": 6, - "icon": 1291, - "name": "Bronze Longsword", - "xp": 25 - }, - { - "level": 6, - "icon": 9420, - "name": "Bronze Limbs", - "xp": 12.5 - }, - { - "level": 7, - "icon": 864, - "name": "Bronze Knife", - "xp": 12.5 - }, - { - "level": 7, - "icon": 1155, - "name": "Bronze Full Helm", - "xp": 25 - }, - { - "level": 8, - "icon": 1173, - "name": "Bronze Sq Shield", - "xp": 25 - }, - { - "level": 9, - "icon": 1337, - "name": "Bronze Warhammer", - "xp": 37.5 - }, - { - "level": 10, - "icon": 1375, - "name": "Bronze Battleaxe", - "xp": 37.5 - }, - { - "level": 11, - "icon": 1103, - "name": "Bronze Chainbody", - "xp": 37.5 - }, - { - "level": 12, - "icon": 1189, - "name": "Bronze Kiteshield", - "xp": 37.5 - }, - { - "level": 13, - "icon": 3095, - "name": "Bronze Claws", - "xp": 25 - }, - { - "level": 14, - "icon": 1307, - "name": "Bronze 2h Sword", - "xp": 37.5 - }, - { - "level": 14, - "icon": 25684, - "name": "Barronite deposits", - "xp": 30 - }, - { - "level": 15, - "icon": 2351, - "name": "Iron Bar", - "xp": 12.5 - }, - { - "level": 15, - "icon": 1203, - "name": "Iron Dagger", - "xp": 25 - }, - { - "level": 16, - "icon": 1349, - "name": "Iron Axe", - "xp": 25 - }, - { - "level": 16, - "icon": 1075, - "name": "Bronze Platelegs", - "xp": 37.5 - }, - { - "level": 16, - "icon": 1087, - "name": "Bronze Plateskirt", - "xp": 37.5 - }, - { - "level": 17, - "icon": 7225, - "name": "Iron Spit", - "xp": 25 - }, - { - "level": 17, - "icon": 1420, - "name": "Iron Mace", - "xp": 25 - }, - { - "level": 18, - "icon": 9377, - "name": "Iron Bolts (Unf)", - "xp": 25 - }, - { - "level": 18, - "icon": 1117, - "name": "Bronze Platebody", - "xp": 62.5 - }, - { - "level": 18, - "icon": 1137, - "name": "Iron Med Helm", - "xp": 25 - }, - { - "level": 19, - "icon": 4820, - "name": "Iron Nails", - "xp": 25 - }, - { - "level": 19, - "icon": 820, - "name": "Iron Dart Tip", - "xp": 25 - }, - { - "level": 19, - "icon": 1279, - "name": "Iron Sword", - "xp": 25 - }, - { - "level": 20, - "icon": 2355, - "name": "Silver Bar", - "xp": 13.7 - }, - { - "level": 20, - "icon": 40, - "name": "Iron Arrowtips", - "xp": 25 - }, - { - "level": 20, - "icon": 1323, - "name": "Iron Scimitar", - "xp": 50 - }, - { - "level": 20, - "icon": 11369, - "name": "Iron Hasta", - "xp": 50 - }, - { - "level": 20, - "icon": 1239, - "name": "Iron Spear", - "xp": 50 - }, - { - "level": 21, - "icon": 1293, - "name": "Iron Longsword", - "xp": 50 - }, - { - "level": 21, - "icon": 19572, - "name": "Iron Javelin Heads", - "xp": 25 - }, - { - "level": 22, - "icon": 1153, - "name": "Iron Full Helm", - "xp": 50 - }, - { - "level": 22, - "icon": 863, - "name": "Iron Knife", - "xp": 25 - }, - { - "level": 23, - "icon": 9423, - "name": "Iron Limbs", - "xp": 25 - }, - { - "level": 23, - "icon": 1175, - "name": "Iron Sq Shield", - "xp": 50 - }, - { - "level": 24, - "icon": 1335, - "name": "Iron Warhammer", - "xp": 75 - }, - { - "level": 25, - "icon": 1363, - "name": "Iron Battleaxe", - "xp": 75 - }, - { - "level": 26, - "icon": 4540, - "name": "Oil Lantern Frame", - "xp": 25 - }, - { - "level": 26, - "icon": 1101, - "name": "Iron Chainbody", - "xp": 75 - }, - { - "level": 27, - "icon": 1191, - "name": "Iron Kiteshield", - "xp": 75 - }, - { - "level": 28, - "icon": 3096, - "name": "Iron Claws", - "xp": 50 - }, - { - "level": 29, - "icon": 1309, - "name": "Iron 2h Sword", - "xp": 75 - }, - { - "level": 30, - "icon": 1207, - "name": "Steel Dagger", - "xp": 37.5 - }, - { - "level": 30, - "icon": 2353, - "name": "Steel Bar", - "xp": 17.5 - }, - { - "level": 31, - "icon": 1081, - "name": "Iron Plateskirt", - "xp": 75 - }, - { - "level": 31, - "icon": 1067, - "name": "Iron Platelegs", - "xp": 75 - }, - { - "level": 31, - "icon": 1353, - "name": "Steel Axe", - "xp": 37.5 - }, - { - "level": 32, - "icon": 1424, - "name": "Steel Mace", - "xp": 37.5 - }, - { - "level": 33, - "icon": 1115, - "name": "Iron Platebody", - "xp": 125 - }, - { - "level": 33, - "icon": 1141, - "name": "Steel Med Helm", - "xp": 37.5 - }, - { - "level": 33, - "icon": 9378, - "name": "Steel Bolts (Unf)", - "xp": 37.5 - }, - { - "level": 34, - "icon": 821, - "name": "Steel Dart Tip", - "xp": 37.5 - }, - { - "level": 34, - "icon": 1539, - "name": "Steel Nails", - "xp": 37.5 - }, - { - "level": 34, - "icon": 1281, - "name": "Steel Sword", - "xp": 37.5 - }, - { - "level": 35, - "icon": 2, - "name": "Cannonball", - "xp": 25.6 - }, - { - "level": 35, - "icon": 1325, - "name": "Steel Scimitar", - "xp": 75 - }, - { - "level": 35, - "icon": 41, - "name": "Steel Arrowtips", - "xp": 37.5 - }, - { - "level": 35, - "icon": 11371, - "name": "Steel Hasta", - "xp": 75 - }, - { - "level": 35, - "icon": 1241, - "name": "Steel Spear", - "xp": 75 - }, - { - "level": 36, - "icon": 9425, - "name": "Steel Limbs", - "xp": 37.5 - }, - { - "level": 36, - "icon": 2370, - "name": "Steel Studs", - "xp": 37.5 - }, - { - "level": 36, - "icon": 1295, - "name": "Steel Longsword", - "xp": 75 - }, - { - "level": 36, - "icon": 19574, - "name": "Steel Javelin Heads", - "xp": 37.5 - }, - { - "level": 37, - "icon": 865, - "name": "Steel Knife", - "xp": 37.5 - }, - { - "level": 37, - "icon": 1157, - "name": "Steel Full Helm", - "xp": 75 - }, - { - "level": 38, - "icon": 1177, - "name": "Steel Sq Shield", - "xp": 75 - }, - { - "level": 39, - "icon": 1339, - "name": "Steel Warhammer", - "xp": 112.5 - }, - { - "level": 40, - "icon": 1365, - "name": "Steel Battleaxe", - "xp": 112.5 - }, - { - "level": 40, - "icon": 2357, - "name": "Gold Bar (Goldsmith Gauntlets)", - "xp": 56.2 - }, - { - "level": 40, - "icon": 2357, - "name": "Gold Bar", - "xp": 22.5 - }, - { - "level": 41, - "icon": 1105, - "name": "Steel Chainbody", - "xp": 112.5 - }, - { - "level": 42, - "icon": 1193, - "name": "Steel Kiteshield", - "xp": 112.5 - }, - { - "level": 43, - "icon": 3097, - "name": "Steel Claws", - "xp": 75 - }, - { - "level": 44, - "icon": 1311, - "name": "Steel 2h Sword", - "xp": 112.5 - }, - { - "level": 46, - "icon": 1069, - "name": "Steel Platelegs", - "xp": 112.5 - }, - { - "level": 46, - "icon": 1083, - "name": "Steel Plateskirt", - "xp": 112.5 - }, - { - "level": 48, - "icon": 1119, - "name": "Steel Platebody", - "xp": 187.5 - }, - { - "level": 49, - "icon": 4544, - "name": "Bullseye Lantern (Unf)", - "xp": 37 - }, - { - "level": 50, - "icon": 1209, - "name": "Mithril Dagger", - "xp": 50 - }, - { - "level": 50, - "icon": 2359, - "name": "Mithril Bar", - "xp": 30 - }, - { - "level": 51, - "icon": 1355, - "name": "Mithril Axe", - "xp": 50 - }, - { - "level": 52, - "icon": 1428, - "name": "Mithril Mace", - "xp": 50 - }, - { - "level": 53, - "icon": 1143, - "name": "Mithril Med Helm", - "xp": 50 - }, - { - "level": 53, - "icon": 9379, - "name": "Mithril Bolts (Unf)", - "xp": 50 - }, - { - "level": 54, - "icon": 1285, - "name": "Mithril Sword", - "xp": 50 - }, - { - "level": 54, - "icon": 822, - "name": "Mithril Dart Tip", - "xp": 50 - }, - { - "level": 54, - "icon": 4822, - "name": "Mithril Nails", - "xp": 50 - }, - { - "level": 55, - "icon": 42, - "name": "Mithril Arrowtips", - "xp": 50 - }, - { - "level": 55, - "icon": 1329, - "name": "Mithril Scimitar", - "xp": 100 - }, - { - "level": 55, - "icon": 11373, - "name": "Mithril Hasta", - "xp": 100 - }, - { - "level": 55, - "icon": 1243, - "name": "Mithril Spear", - "xp": 100 - }, - { - "level": 56, - "icon": 1299, - "name": "Mithril Longsword", - "xp": 100 - }, - { - "level": 56, - "icon": 19576, - "name": "Mithril Javelin Heads", - "xp": 50 - }, - { - "level": 56, - "icon": 9427, - "name": "Mithril Limbs", - "xp": 50 - }, - { - "level": 57, - "icon": 1159, - "name": "Mithril Full Helm", - "xp": 100 - }, - { - "level": 57, - "icon": 866, - "name": "Mithril Knife", - "xp": 50 - }, - { - "level": 58, - "icon": 1181, - "name": "Mithril Sq Shield", - "xp": 100 - }, - { - "level": 59, - "icon": 9416, - "name": "Mith Grapple Tip", - "xp": 50 - }, - { - "level": 59, - "icon": 1343, - "name": "Mithril Warhammer", - "xp": 150 - }, - { - "level": 60, - "icon": 1187, - "name": "Dragon Sq Shield", - "xp": 75 - }, - { - "level": 60, - "icon": 1369, - "name": "Mithril Battleaxe", - "xp": 150 - }, - { - "level": 61, - "icon": 1109, - "name": "Mithril Chainbody", - "xp": 150 - }, - { - "level": 62, - "icon": 1197, - "name": "Mithril Kiteshield", - "xp": 150 - }, - { - "level": 63, - "icon": 3099, - "name": "Mithril Claws", - "xp": 100 - }, - { - "level": 64, - "icon": 1315, - "name": "Mithril 2h Sword", - "xp": 150 - }, - { - "level": 66, - "icon": 1085, - "name": "Mithril Plateskirt", - "xp": 150 - }, - { - "level": 66, - "icon": 1071, - "name": "Mithril Platelegs", - "xp": 150 - }, - { - "level": 68, - "icon": 1121, - "name": "Mithril Platebody", - "xp": 250 - }, - { - "level": 70, - "icon": 1211, - "name": "Adamant Dagger", - "xp": 62.5 - }, - { - "level": 70, - "icon": 2361, - "name": "Adamantite Bar", - "xp": 37.5 - }, - { - "level": 71, - "icon": 1357, - "name": "Adamant Axe", - "xp": 62.5 - }, - { - "level": 72, - "icon": 1430, - "name": "Adamant Mace", - "xp": 62.5 - }, - { - "level": 73, - "icon": 9380, - "name": "Adamant Bolts (Unf)", - "xp": 62.5 - }, - { - "level": 73, - "icon": 1145, - "name": "Adamant Med Helm", - "xp": 62.5 - }, - { - "level": 74, - "icon": 823, - "name": "Adamant Dart Tip", - "xp": 62.5 - }, - { - "level": 74, - "icon": 1287, - "name": "Adamant Sword", - "xp": 62.5 - }, - { - "level": 74, - "icon": 4823, - "name": "Adamantite Nails", - "xp": 62.5 - }, - { - "level": 75, - "icon": 43, - "name": "Adamant Arrowtips", - "xp": 62.5 - }, - { - "level": 75, - "icon": 1331, - "name": "Adamant Scimitar", - "xp": 125 - }, - { - "level": 75, - "icon": 11375, - "name": "Adamant Hasta", - "xp": 125 - }, - { - "level": 75, - "icon": 1245, - "name": "Adamant Spear", - "xp": 125 - }, - { - "level": 76, - "icon": 9429, - "name": "Adamantite Limbs", - "xp": 62.5 - }, - { - "level": 76, - "icon": 1301, - "name": "Adamant Longsword", - "xp": 125 - }, - { - "level": 76, - "icon": 19578, - "name": "Adamant Javelin Heads", - "xp": 62.5 - }, - { - "level": 77, - "icon": 1161, - "name": "Adamant Full Helm", - "xp": 125 - }, - { - "level": 77, - "icon": 867, - "name": "Adamant Knife", - "xp": 62.5 - }, - { - "level": 78, - "icon": 1183, - "name": "Adamant Sq Shield", - "xp": 125 - }, - { - "level": 79, - "icon": 1345, - "name": "Adamant Warhammer", - "xp": 187.5 - }, - { - "level": 80, - "icon": 1371, - "name": "Adamant Battleaxe", - "xp": 187.5 - }, - { - "level": 81, - "icon": 1111, - "name": "Adamant Chainbody", - "xp": 187.5 - }, - { - "level": 82, - "icon": 1199, - "name": "Adamant Kiteshield", - "xp": 187.5 - }, - { - "level": 83, - "icon": 3100, - "name": "Adamant Claws", - "xp": 125 - }, - { - "level": 84, - "icon": 1317, - "name": "Adamant 2h Sword", - "xp": 187.5 - }, - { - "level": 85, - "icon": 2363, - "name": "Runite Bar", - "xp": 50 - }, - { - "level": 85, - "icon": 1213, - "name": "Rune Dagger", - "xp": 75 - }, - { - "level": 86, - "icon": 1359, - "name": "Rune Axe", - "xp": 75 - }, - { - "level": 86, - "icon": 1091, - "name": "Adamant Plateskirt", - "xp": 187.5 - }, - { - "level": 86, - "icon": 1073, - "name": "Adamant Platelegs", - "xp": 187.5 - }, - { - "level": 87, - "icon": 1432, - "name": "Rune Mace", - "xp": 75 - }, - { - "level": 88, - "icon": 9381, - "name": "Runite Bolts (Unf)", - "xp": 75 - }, - { - "level": 88, - "icon": 1147, - "name": "Rune Med Helm", - "xp": 75 - }, - { - "level": 88, - "icon": 1123, - "name": "Adamant Platebody", - "xp": 312.5 - }, - { - "level": 89, - "icon": 1289, - "name": "Rune Sword", - "xp": 75 - }, - { - "level": 89, - "icon": 4824, - "name": "Rune Nails", - "xp": 75 - }, - { - "level": 89, - "icon": 824, - "name": "Rune Dart Tip", - "xp": 75 - }, - { - "level": 90, - "icon": 44, - "name": "Rune Arrowtips", - "xp": 75 - }, - { - "level": 90, - "icon": 1333, - "name": "Rune Scimitar", - "xp": 150 - }, - { - "level": 90, - "icon": 11377, - "name": "Rune Hasta", - "xp": 150 - }, - { - "level": 90, - "icon": 1247, - "name": "Rune Spear", - "xp": 150 - }, - { - "level": 90, - "icon": 11283, - "name": "Dragonfire Shield", - "xp": 2000 - }, - { - "level": 91, - "icon": 1303, - "name": "Rune Longsword", - "xp": 150 - }, - { - "level": 91, - "icon": 19580, - "name": "Rune Javelin Heads", - "xp": 75 - }, - { - "level": 91, - "icon": 9431, - "name": "Runite Limbs", - "xp": 75 - }, - { - "level": 92, - "icon": 868, - "name": "Rune Knife", - "xp": 75 - }, - { - "level": 92, - "icon": 1163, - "name": "Rune Full Helm", - "xp": 150 - }, - { - "level": 93, - "icon": 1185, - "name": "Rune Sq Shield", - "xp": 150 - }, - { - "level": 94, - "icon": 1347, - "name": "Rune Warhammer", - "xp": 225 - }, - { - "level": 95, - "icon": 1373, - "name": "Rune Battleaxe", - "xp": 225 - }, - { - "level": 96, - "icon": 1113, - "name": "Rune Chainbody", - "xp": 225 - }, - { - "level": 97, - "icon": 1201, - "name": "Rune Kiteshield", - "xp": 225 - }, - { - "level": 98, - "icon": 3101, - "name": "Rune Claws", - "xp": 150 - }, - { - "level": 99, - "icon": 1127, - "name": "Rune Platebody", - "xp": 375 - }, - { - "level": 99, - "icon": 1093, - "name": "Rune Plateskirt", - "xp": 225 - }, - { - "level": 99, - "icon": 1079, - "name": "Rune Platelegs", - "xp": 225 - }, - { - "level": 99, - "icon": 1319, - "name": "Rune 2h Sword", - "xp": 225 - } - ] -} diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json deleted file mode 100644 index f23248c568..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_thieving.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "actions": [ - { - "level": 1, - "icon": 3241, - "name": "Man / Woman", - "xp": 8 - }, - { - "level": 1, - "icon": 10851, - "name": "Winter Sq'irkjuice", - "xp": 350 - }, - { - "level": 2, - "icon": 1965, - "name": "Vegetable Stall", - "xp": 10 - }, - { - "level": 5, - "icon": 1891, - "name": "Cake Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 4242, - "name": "Tea Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 5601, - "name": "Crafting Stall", - "xp": 16 - }, - { - "level": 5, - "icon": 1963, - "name": "Monkey Food Stall", - "xp": 16 - }, - { - "level": 10, - "icon": 3243, - "name": "Farmer", - "xp": 14.5 - }, - { - "level": 15, - "icon": 4295, - "name": "Female H.A.M. Member", - "xp": 18.5 - }, - { - "level": 20, - "icon": 950, - "name": "Silk Stall", - "xp": 24 - }, - { - "level": 20, - "icon": 4297, - "name": "Male H.A.M. Member", - "xp": 22.5 - }, - { - "level": 22, - "icon": 7919, - "name": "Wine Stall", - "xp": 27 - }, - { - "level": 25, - "icon": 3245, - "name": "Warrior Women / Al-Kharid Warrior", - "xp": 26 - }, - { - "level": 25, - "icon": 464, - "name": "Fruit Stall", - "xp": 28 - }, - { - "level": 25, - "icon": 10848, - "name": "Spring Sq'irkjuice", - "xp": 1350 - }, - { - "level": 27, - "icon": 5318, - "name": "Seed Stall", - "xp": 10 - }, - { - "level": 32, - "icon": 3247, - "name": "Rogue", - "xp": 35.5 - }, - { - "level": 35, - "icon": 958, - "name": "Fur Stall", - "xp": 36 - }, - { - "level": 36, - "icon": 10998, - "name": "Cave Goblin", - "xp": 40 - }, - { - "level": 38, - "icon": 5068, - "name": "Master Farmer", - "xp": 43 - }, - { - "level": 40, - "icon": 3249, - "name": "Guard", - "xp": 46.8 - }, - { - "level": 42, - "icon": 331, - "name": "Fish Stall", - "xp": 42 - }, - { - "level": 45, - "icon": 6782, - "name": "Bearded Pollnivnian Bandit", - "xp": 65 - }, - { - "level": 45, - "icon": 3686, - "name": "Fremennik Citizen", - "xp": 65 - }, - { - "level": 45, - "icon": 10850, - "name": "Autumn Sq'irkjuice", - "xp": 2350 - }, - { - "level": 49, - "icon": 837, - "name": "Crossbow Stall", - "xp": 52 - }, - { - "level": 50, - "icon": 2355, - "name": "Silver Stall", - "xp": 54 - }, - { - "level": 50, - "icon": 5560, - "name": "Wall Safe", - "xp": 70 - }, - { - "level": 53, - "icon": 4625, - "name": "Desert Bandit", - "xp": 79.5 - }, - { - "level": 55, - "icon": 3251, - "name": "Knight", - "xp": 84.3 - }, - { - "level": 55, - "icon": 6781, - "name": "Pollnivnian Bandit", - "xp": 84.3 - }, - { - "level": 65, - "icon": 6422, - "name": "Magic Stall", - "xp": 100 - }, - { - "level": 65, - "icon": 1325, - "name": "Scimitar Stall", - "xp": 100 - }, - { - "level": 65, - "icon": 6780, - "name": "Menaphite Thug", - "xp": 137.5 - }, - { - "level": 65, - "icon": 2007, - "name": "Spices Stall", - "xp": 81 - }, - { - "level": 65, - "icon": 3253, - "name": "Yanille Watchman", - "xp": 137.5 - }, - { - "level": 65, - "icon": 10849, - "name": "Summer Sq'irkjuice", - "xp": 3000 - }, - { - "level": 70, - "icon": 3255, - "name": "Paladin", - "xp": 151.8 - }, - { - "level": 75, - "icon": 3257, - "name": "Gnome", - "xp": 198.5 - }, - { - "level": 75, - "icon": 1607, - "name": "Gems Stall", - "xp": 160 - }, - { - "level": 80, - "icon": 3259, - "name": "Hero", - "xp": 275 - }, - { - "level": 82, - "icon": 24702, - "name": "Vyre", - "xp": 306.9 - }, - { - "level": 85, - "icon": 6105, - "name": "Elf", - "xp": 353 - }, - { - "level": 90, - "icon": 21278, - "name": "TzHaar-Hur", - "xp": 103.4 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json deleted file mode 100644 index 8a72413c99..0000000000 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_woodcutting.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "bonuses": [ - { "name": "Lumberjack Outfit (+2.5%)", "value": 0.025 } - ], - "actions": [ - { - "level": 1, - "icon": 1511, - "name": "Logs", - "xp": 25 - }, - { - "level": 1, - "icon": 2862, - "name": "Achey Tree Logs", - "xp": 25 - }, - { - "level": 15, - "icon": 1521, - "name": "Oak Logs", - "xp": 37.5 - }, - { - "level": 30, - "icon": 1519, - "name": "Willow Logs", - "xp": 67.5 - }, - { - "level": 35, - "icon": 6333, - "name": "Teak Logs", - "xp": 85 - }, - { - "level": 45, - "icon": 3239, - "name": "Bark", - "xp": 82.5 - }, - { - "level": 45, - "icon": 1517, - "name": "Maple Logs", - "xp": 100 - }, - { - "level": 50, - "icon": 6332, - "name": "Mahogany Logs", - "xp": 125 - }, - { - "level": 54, - "icon": 10810, - "name": "Arctic Pine Logs", - "xp": 40 - }, - { - "level": 60, - "icon": 1515, - "name": "Yew Logs", - "xp": 175 - }, - { - "level": 62, - "icon": 24691, - "name": "Blisterwood Logs", - "xp": 76 - }, - { - "level": 65, - "icon": 21626, - "name": "Sulliusceps", - "xp": 127 - }, - { - "level": 75, - "icon": 1513, - "name": "Magic Logs", - "xp": 250 - }, - { - "level": 90, - "icon": 19669, - "name": "Redwood Logs", - "xp": 380 - } - ] -} \ No newline at end of file diff --git a/runelite-client/src/main/resources/net/runelite/client/ui/components/switcher_on.png b/runelite-client/src/main/resources/net/runelite/client/ui/components/switcher_on.png new file mode 100644 index 0000000000..e49f318005 Binary files /dev/null and b/runelite-client/src/main/resources/net/runelite/client/ui/components/switcher_on.png differ diff --git a/runelite-client/src/main/scripts/ChatBuilder.hash b/runelite-client/src/main/scripts/ChatBuilder.hash index b4669e84ba..be46c05dc2 100644 --- a/runelite-client/src/main/scripts/ChatBuilder.hash +++ b/runelite-client/src/main/scripts/ChatBuilder.hash @@ -1 +1 @@ -D8865833BC828A91FC7D4A10B6A7629786ED2099E2F45689BECD55A9E933323D \ No newline at end of file +09B4102BE45BA918A3B5D24F9DC1BF92925B15BEC9FAA67638AFB26DF13D8F88 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatBuilder.rs2asm b/runelite-client/src/main/scripts/ChatBuilder.rs2asm index 88b0793432..9f41e7476c 100644 --- a/runelite-client/src/main/scripts/ChatBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatBuilder.rs2asm @@ -335,12 +335,12 @@ LABEL315: iload 10 iconst -1 if_icmpne LABEL319 - jump LABEL1415 + jump LABEL1598 LABEL319: iload 9 iconst -1 if_icmpne LABEL323 - jump LABEL1415 + jump LABEL1598 LABEL323: iload 10 5031 @@ -355,10 +355,11 @@ LABEL323: iload 11 sload 13 iload 15 + sload 15 invoke 193 iconst 1 if_icmpeq CHAT_FILTER - jump LABEL1411 + jump LABEL1594 CHAT_FILTER: sload 15 ; Load the message iconst 1 ; Gets changed to 0 if message is blocked @@ -370,51 +371,54 @@ CHAT_FILTER: pop_int ; Pop the messageType iconst 1 ; 2nd half of conditional sstore 15 ; Override the message with our filtered message - if_icmpeq LABEL340 ; Check if we are building this message - jump LABEL1411 ; continue to next message, skipping this -LABEL340: + if_icmpeq LABEL341 ; Check if we are building this message + jump LABEL1594 ; continue to next message, skipping this +LABEL341: iload 11 sload 13 sload 18 sload 15 invoke 4742 + sload 15 iload 12 iload 2 sload 0 iload 15 invoke 90 iconst 1 - if_icmpeq LABEL353 - jump LABEL1411 -LABEL353: + if_icmpeq LABEL355 + jump LABEL1594 +LABEL355: iload 10 ; message uid sconst "chatMessageBuilding" runelite_callback pop_int ; pop uid iload 11 switch - 1: LABEL356 - 2: LABEL356 - 3: LABEL402 - 101: LABEL426 - 5: LABEL446 - 6: LABEL481 - 7: LABEL402 - 103: LABEL505 - 104: LABEL505 - 9: LABEL545 - 41: LABEL573 - 43: LABEL897 - 107: LABEL1033 - 44: LABEL736 - 109: LABEL525 - 110: LABEL505 - 46: LABEL951 - 14: LABEL1004 - 90: LABEL379 - 91: LABEL379 - jump LABEL1071 -LABEL356: + 1: LABEL358 + 2: LABEL358 + 3: LABEL404 + 101: LABEL428 + 5: LABEL448 + 6: LABEL483 + 7: LABEL404 + 103: LABEL507 + 104: LABEL507 + 9: LABEL547 + 41: LABEL615 + 43: LABEL939 + 107: LABEL1130 + 44: LABEL778 + 109: LABEL527 + 110: LABEL507 + 46: LABEL1048 + 14: LABEL1101 + 111: LABEL575 + 112: LABEL595 + 90: LABEL381 + 91: LABEL381 + jump LABEL1168 +LABEL358: sload 18 sload 13 sconst ":" @@ -437,8 +441,8 @@ LABEL356: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL379: + jump LABEL1184 +LABEL381: sload 18 sload 13 sconst ":" @@ -461,8 +465,8 @@ LABEL379: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL402: + jump LABEL1184 +LABEL404: sload 18 sconst "From " sload 13 @@ -488,8 +492,8 @@ LABEL402: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL426: + jump LABEL1184 +LABEL428: sload 18 sload 9 sload 15 @@ -509,8 +513,8 @@ LABEL426: iload 4 invoke 199 istore 7 - jump LABEL1087 -LABEL446: + jump LABEL1184 +LABEL448: sload 18 sload 5 sload 15 @@ -532,9 +536,9 @@ LABEL446: istore 7 get_varbit 1627 iconst 0 - if_icmpeq LABEL469 - jump LABEL480 -LABEL469: + if_icmpeq LABEL471 + jump LABEL482 +LABEL471: iload 12 iconst 500 add @@ -546,9 +550,9 @@ LABEL469: sconst "1" iconst 10616832 if_setontimer -LABEL480: - jump LABEL1087 -LABEL481: +LABEL482: + jump LABEL1184 +LABEL483: sload 18 sconst "To " sload 13 @@ -574,8 +578,8 @@ LABEL481: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL505: + jump LABEL1184 +LABEL507: sload 18 sload 10 sload 15 @@ -595,8 +599,8 @@ LABEL505: iload 4 invoke 199 istore 7 - jump LABEL1087 -LABEL525: + jump LABEL1184 +LABEL527: sload 18 sconst "" sload 15 @@ -616,8 +620,8 @@ LABEL525: iload 4 invoke 199 istore 7 - jump LABEL1087 -LABEL545: + jump LABEL1184 +LABEL547: sload 18 sconst "[" sload 3 @@ -645,29 +649,71 @@ LABEL545: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL573: + jump LABEL1184 +LABEL575: + sload 18 + sconst "" + sload 15 + sconst "" + join_string 3 + invoke 4742 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 199 + istore 7 + jump LABEL1184 +LABEL595: + sload 18 + sconst "" + sload 15 + sconst "" + join_string 3 + invoke 4742 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 199 + istore 7 + jump LABEL1184 +LABEL615: iconst 0 activeclansettings_find_affined iconst 1 - if_icmpeq LABEL578 - jump LABEL704 -LABEL578: + if_icmpeq LABEL620 + jump LABEL746 +LABEL620: iconst 0 activeclanchannel_find_affined iconst 1 - if_icmpeq LABEL583 - jump LABEL704 -LABEL583: + if_icmpeq LABEL625 + jump LABEL746 +LABEL625: sload 13 removetags activeclanchannel_getuserslot istore 17 iload 17 iconst -1 - if_icmpne LABEL591 - jump LABEL668 -LABEL591: + if_icmpne LABEL633 + jump LABEL710 +LABEL633: iload 17 activeclanchannel_getuserrank invoke 4302 @@ -675,9 +721,9 @@ LABEL591: sstore 17 iload 16 iconst -1 - if_icmpne LABEL600 - jump LABEL632 -LABEL600: + if_icmpne LABEL642 + jump LABEL674 +LABEL642: sload 18 sconst "[" sload 2 @@ -709,8 +755,8 @@ LABEL600: iload 4 invoke 4483 istore 7 - jump LABEL667 -LABEL632: + jump LABEL709 +LABEL674: sload 18 sconst "[" sload 2 @@ -746,9 +792,9 @@ LABEL632: iload 4 invoke 4483 istore 7 -LABEL667: - jump LABEL703 -LABEL668: +LABEL709: + jump LABEL745 +LABEL710: iconst -1 invoke 4302 istore 16 @@ -784,9 +830,9 @@ LABEL668: iload 4 invoke 4483 istore 7 -LABEL703: - jump LABEL735 -LABEL704: +LABEL745: + jump LABEL777 +LABEL746: sload 18 sconst "[" sload 2 @@ -818,28 +864,28 @@ LABEL704: iload 4 invoke 4483 istore 7 -LABEL735: - jump LABEL1087 -LABEL736: +LABEL777: + jump LABEL1184 +LABEL778: activeclansettings_find_listened iconst 1 - if_icmpeq LABEL740 - jump LABEL865 -LABEL740: + if_icmpeq LABEL782 + jump LABEL907 +LABEL782: activeclanchannel_find_listened iconst 1 - if_icmpeq LABEL744 - jump LABEL865 -LABEL744: + if_icmpeq LABEL786 + jump LABEL907 +LABEL786: sload 13 removetags activeclanchannel_getuserslot istore 17 iload 17 iconst -1 - if_icmpne LABEL752 - jump LABEL829 -LABEL752: + if_icmpne LABEL794 + jump LABEL871 +LABEL794: iload 17 activeclanchannel_getuserrank invoke 4302 @@ -847,9 +893,9 @@ LABEL752: sstore 17 iload 16 iconst -1 - if_icmpne LABEL761 - jump LABEL793 -LABEL761: + if_icmpne LABEL803 + jump LABEL835 +LABEL803: sload 18 sconst "[" sload 2 @@ -881,8 +927,8 @@ LABEL761: iload 4 invoke 4483 istore 7 - jump LABEL828 -LABEL793: + jump LABEL870 +LABEL835: sload 18 sconst "[" sload 2 @@ -918,9 +964,9 @@ LABEL793: iload 4 invoke 4483 istore 7 -LABEL828: - jump LABEL864 -LABEL829: +LABEL870: + jump LABEL906 +LABEL871: iconst -1 invoke 4302 istore 16 @@ -956,9 +1002,9 @@ LABEL829: iload 4 invoke 4483 istore 7 -LABEL864: - jump LABEL896 -LABEL865: +LABEL906: + jump LABEL938 +LABEL907: sload 18 sconst "[" sload 2 @@ -990,15 +1036,75 @@ LABEL865: iload 4 invoke 4483 istore 7 -LABEL896: - jump LABEL1087 -LABEL897: +LABEL938: + jump LABEL1184 +LABEL939: + sload 15 + invoke 5309 + iconst 1 + if_icmpeq LABEL944 + jump LABEL994 +LABEL944: + sload 15 + invoke 632 + sstore 15 + sstore 13 + iconst 1 + activeclansettings_find_affined + iconst 1 + if_icmpeq LABEL953 + jump LABEL976 +LABEL953: + sload 18 + sconst "[" + sload 2 + activeclansettings_getclanname + sconst "" + sconst "]" + join_string 5 + invoke 4742 + sload 15 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 203 + istore 7 + jump LABEL993 +LABEL976: + sload 18 + sconst "" + invoke 4742 + sload 15 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 203 + istore 7 +LABEL993: + jump LABEL1047 +LABEL994: iconst 0 activeclanchannel_find_affined iconst 1 - if_icmpeq LABEL902 - jump LABEL929 -LABEL902: + if_icmpeq LABEL999 + jump LABEL1026 +LABEL999: sload 18 sconst "[" sload 2 @@ -1025,8 +1131,8 @@ LABEL902: iload 4 invoke 4483 istore 7 - jump LABEL950 -LABEL929: + jump LABEL1047 +LABEL1026: sload 18 sconst "" invoke 4742 @@ -1048,14 +1154,14 @@ LABEL929: iload 4 invoke 4483 istore 7 -LABEL950: - jump LABEL1087 -LABEL951: +LABEL1047: + jump LABEL1184 +LABEL1048: activeclanchannel_find_listened iconst 1 - if_icmpeq LABEL955 - jump LABEL982 -LABEL955: + if_icmpeq LABEL1052 + jump LABEL1079 +LABEL1052: sload 18 sconst "[" sload 2 @@ -1082,8 +1188,8 @@ LABEL955: iload 4 invoke 4483 istore 7 - jump LABEL1003 -LABEL982: + jump LABEL1100 +LABEL1079: sload 18 sconst "" invoke 4742 @@ -1105,9 +1211,9 @@ LABEL982: iload 4 invoke 4483 istore 7 -LABEL1003: - jump LABEL1087 -LABEL1004: +LABEL1100: + jump LABEL1184 +LABEL1101: sload 15 invoke 2066 istore 13 @@ -1136,15 +1242,15 @@ LABEL1004: iload 4 invoke 203 istore 7 - jump LABEL1087 -LABEL1033: + jump LABEL1184 +LABEL1130: clientclock iload 12 sub iconst 500 - if_icmpgt LABEL1039 - jump LABEL1054 -LABEL1039: + if_icmpgt LABEL1136 + jump LABEL1151 +LABEL1136: sconst "jk :P" iload 8 iload 9 @@ -1159,8 +1265,8 @@ LABEL1039: iload 4 invoke 199 istore 7 - jump LABEL1070 -LABEL1054: + jump LABEL1167 +LABEL1151: sload 18 sload 15 invoke 4742 @@ -1177,9 +1283,9 @@ LABEL1054: iload 4 invoke 199 istore 7 -LABEL1070: - jump LABEL1087 -LABEL1071: +LABEL1167: + jump LABEL1184 +LABEL1168: sload 18 sload 15 invoke 4742 @@ -1196,30 +1302,32 @@ LABEL1071: iload 4 invoke 199 istore 7 -LABEL1087: +LABEL1184: iload 9 if_clearops iload 11 switch - 1: LABEL1092 - 2: LABEL1092 - 3: LABEL1092 - 101: LABEL1196 - 6: LABEL1092 - 7: LABEL1092 - 103: LABEL1239 - 104: LABEL1239 - 9: LABEL1092 - 41: LABEL1092 - 106: LABEL1092 - 44: LABEL1092 - 109: LABEL1342 - 110: LABEL1239 - 14: LABEL1282 - 90: LABEL1092 - 91: LABEL1092 - jump LABEL1385 -LABEL1092: + 1: LABEL1189 + 2: LABEL1189 + 3: LABEL1189 + 101: LABEL1293 + 6: LABEL1189 + 7: LABEL1189 + 103: LABEL1336 + 104: LABEL1336 + 9: LABEL1189 + 41: LABEL1189 + 106: LABEL1189 + 44: LABEL1189 + 109: LABEL1439 + 110: LABEL1336 + 14: LABEL1379 + 111: LABEL1482 + 112: LABEL1525 + 90: LABEL1189 + 91: LABEL1189 + jump LABEL1568 +LABEL1189: sconst "" sload 13 sconst "" @@ -1246,20 +1354,20 @@ LABEL1092: removetags compare iconst 0 - if_icmpne LABEL1120 - jump LABEL1195 -LABEL1120: + if_icmpne LABEL1217 + jump LABEL1292 +LABEL1217: iload 15 iconst 1 - if_icmpeq LABEL1124 - jump LABEL1129 -LABEL1124: + if_icmpeq LABEL1221 + jump LABEL1226 +LABEL1221: iconst 6 sconst "Message" iload 9 if_setop - jump LABEL1137 -LABEL1129: + jump LABEL1234 +LABEL1226: iconst 6 sconst "Add friend" iload 9 @@ -1268,78 +1376,78 @@ LABEL1129: sconst "Add ignore" iload 9 if_setop -LABEL1137: +LABEL1234: iconst 8 sconst "Report" iload 9 if_setop iload 11 iconst 9 - if_icmpeq LABEL1145 - jump LABEL1158 -LABEL1145: + if_icmpeq LABEL1242 + jump LABEL1255 +LABEL1242: clan_getchatcount iconst 0 - if_icmpgt LABEL1149 - jump LABEL1157 -LABEL1149: + if_icmpgt LABEL1246 + jump LABEL1254 +LABEL1246: clan_getchatrank clan_getchatminkick - if_icmpge LABEL1153 - jump LABEL1157 -LABEL1153: + if_icmpge LABEL1250 + jump LABEL1254 +LABEL1250: iconst 9 sconst "Kick" iload 9 if_setop -LABEL1157: - jump LABEL1195 -LABEL1158: +LABEL1254: + jump LABEL1292 +LABEL1255: iload 11 iconst 41 - if_icmpeq LABEL1162 - jump LABEL1195 -LABEL1162: + if_icmpeq LABEL1259 + jump LABEL1292 +LABEL1259: iload 18 iload 19 - if_icmpge LABEL1166 - jump LABEL1195 -LABEL1166: + if_icmpge LABEL1263 + jump LABEL1292 +LABEL1263: iconst 0 activeclanchannel_find_affined iconst 1 - if_icmpeq LABEL1171 - jump LABEL1195 -LABEL1171: + if_icmpeq LABEL1268 + jump LABEL1292 +LABEL1268: sload 13 removetags activeclanchannel_getuserslot istore 17 iload 17 iconst -1 - if_icmpeq LABEL1183 + if_icmpeq LABEL1280 iload 17 activeclanchannel_getuserrank iconst -1 - if_icmple LABEL1183 - jump LABEL1195 -LABEL1183: + if_icmple LABEL1280 + jump LABEL1292 +LABEL1280: iconst 9 sconst "Kick" iload 9 if_setop iload 18 iload 20 - if_icmpge LABEL1191 - jump LABEL1195 -LABEL1191: + if_icmpge LABEL1288 + jump LABEL1292 +LABEL1288: iconst 10 sconst "Ban" iload 9 if_setop -LABEL1195: - jump LABEL1397 -LABEL1196: +LABEL1292: + jump LABEL1580 +LABEL1293: sconst "" sload 13 sconst "" @@ -1367,15 +1475,15 @@ LABEL1196: if_setop iload 15 iconst 1 - if_icmpeq LABEL1225 - jump LABEL1230 -LABEL1225: + if_icmpeq LABEL1322 + jump LABEL1327 +LABEL1322: iconst 6 sconst "Message" iload 9 if_setop - jump LABEL1238 -LABEL1230: + jump LABEL1335 +LABEL1327: iconst 6 sconst "Add friend" iload 9 @@ -1384,9 +1492,9 @@ LABEL1230: sconst "Add ignore" iload 9 if_setop -LABEL1238: - jump LABEL1397 -LABEL1239: +LABEL1335: + jump LABEL1580 +LABEL1336: sconst "" sload 13 sconst "" @@ -1414,15 +1522,15 @@ LABEL1239: if_setop iload 15 iconst 1 - if_icmpeq LABEL1268 - jump LABEL1273 -LABEL1268: + if_icmpeq LABEL1365 + jump LABEL1370 +LABEL1365: iconst 6 sconst "Message" iload 9 if_setop - jump LABEL1281 -LABEL1273: + jump LABEL1378 +LABEL1370: iconst 6 sconst "Add friend" iload 9 @@ -1431,20 +1539,20 @@ LABEL1273: sconst "Add ignore" iload 9 if_setop -LABEL1281: - jump LABEL1397 -LABEL1282: +LABEL1378: + jump LABEL1580 +LABEL1379: sload 16 string_length iconst 0 - if_icmpgt LABEL1287 - jump LABEL1316 -LABEL1287: + if_icmpgt LABEL1384 + jump LABEL1413 +LABEL1384: iload 13 iconst -1 - if_icmpne LABEL1291 - jump LABEL1316 -LABEL1291: + if_icmpne LABEL1388 + jump LABEL1413 +LABEL1388: iconst 6 sconst "Open" iload 9 @@ -1469,8 +1577,8 @@ LABEL1291: sconst "Iii" iload 9 if_setonmouseleave - jump LABEL1324 -LABEL1316: + jump LABEL1421 +LABEL1413: iconst -1 sconst "" iload 9 @@ -1479,7 +1587,7 @@ LABEL1316: sconst "" iload 9 if_setonmouseleave -LABEL1324: +LABEL1421: iconst 9 sconst "Clear history" iload 9 @@ -1497,8 +1605,8 @@ LABEL1324: sconst "isi" iload 9 if_setonop - jump LABEL1397 -LABEL1342: + jump LABEL1580 +LABEL1439: sconst "" sload 13 sconst "" @@ -1526,15 +1634,15 @@ LABEL1342: if_setonmouseleave iload 15 iconst 1 - if_icmpeq LABEL1371 - jump LABEL1376 -LABEL1371: + if_icmpeq LABEL1468 + jump LABEL1473 +LABEL1468: iconst 6 sconst "Message" iload 9 if_setop - jump LABEL1384 -LABEL1376: + jump LABEL1481 +LABEL1473: iconst 6 sconst "Add friend" iload 9 @@ -1543,9 +1651,103 @@ LABEL1376: sconst "Add ignore" iload 9 if_setop -LABEL1384: - jump LABEL1397 -LABEL1385: +LABEL1481: + jump LABEL1580 +LABEL1482: + sconst "" + sload 13 + sconst "" + join_string 3 + iload 9 + if_setopbase + iconst 2 + sconst "Form group" + iload 9 + if_setop + iconst 86 + iconst -2147483644 + sconst "event_opbase" + iload 11 + sconst "isi" + iload 9 + if_setonop + iconst -1 + sconst "" + iload 9 + if_setonmouserepeat + iconst -1 + sconst "" + iload 9 + if_setonmouseleave + iload 15 + iconst 1 + if_icmpeq LABEL1511 + jump LABEL1516 +LABEL1511: + iconst 6 + sconst "Message" + iload 9 + if_setop + jump LABEL1524 +LABEL1516: + iconst 6 + sconst "Add friend" + iload 9 + if_setop + iconst 7 + sconst "Add ignore" + iload 9 + if_setop +LABEL1524: + jump LABEL1580 +LABEL1525: + sconst "" + sload 13 + sconst "" + join_string 3 + iload 9 + if_setopbase + iconst 2 + sconst "Group with" + iload 9 + if_setop + iconst 86 + iconst -2147483644 + sconst "event_opbase" + iload 11 + sconst "isi" + iload 9 + if_setonop + iconst -1 + sconst "" + iload 9 + if_setonmouserepeat + iconst -1 + sconst "" + iload 9 + if_setonmouseleave + iload 15 + iconst 1 + if_icmpeq LABEL1554 + jump LABEL1559 +LABEL1554: + iconst 6 + sconst "Message" + iload 9 + if_setop + jump LABEL1567 +LABEL1559: + iconst 6 + sconst "Add friend" + iload 9 + if_setop + iconst 7 + sconst "Add ignore" + iload 9 + if_setop +LABEL1567: + jump LABEL1580 +LABEL1568: iconst -1 sconst "" iload 9 @@ -1558,7 +1760,7 @@ LABEL1385: sconst "" iload 9 if_setonmouseleave -LABEL1397: +LABEL1580: iload 6 iload 7 sub @@ -1573,20 +1775,20 @@ LABEL1397: iload 8 enum istore 9 -LABEL1411: +LABEL1594: iload 10 chat_getprevuid istore 10 jump LABEL315 -LABEL1415: +LABEL1598: iload 8 istore 22 -LABEL1417: +LABEL1600: iload 9 iconst -1 - if_icmpne LABEL1421 - jump LABEL1504 -LABEL1421: + if_icmpne LABEL1604 + jump LABEL1687 +LABEL1604: iload 9 if_clearops iconst -1 @@ -1613,14 +1815,14 @@ LABEL1421: multiply cc_find iconst 1 - if_icmpeq LABEL1449 - jump LABEL1453 -LABEL1449: + if_icmpeq LABEL1632 + jump LABEL1636 +LABEL1632: sconst "" cc_settext iconst 1 cc_sethide -LABEL1453: +LABEL1636: iconst 10616888 iload 8 iconst 4 @@ -1629,14 +1831,14 @@ LABEL1453: add cc_find iconst 1 - if_icmpeq LABEL1463 - jump LABEL1467 -LABEL1463: + if_icmpeq LABEL1646 + jump LABEL1650 +LABEL1646: sconst "" cc_settext iconst 1 cc_sethide -LABEL1467: +LABEL1650: iconst 10616888 iload 8 iconst 4 @@ -1645,14 +1847,14 @@ LABEL1467: add cc_find iconst 1 - if_icmpeq LABEL1477 - jump LABEL1481 -LABEL1477: + if_icmpeq LABEL1660 + jump LABEL1664 +LABEL1660: sconst "" cc_settext iconst 1 cc_sethide -LABEL1481: +LABEL1664: iconst 10616888 iload 8 iconst 4 @@ -1661,12 +1863,12 @@ LABEL1481: add cc_find iconst 1 - if_icmpeq LABEL1491 - jump LABEL1493 -LABEL1491: + if_icmpeq LABEL1674 + jump LABEL1676 +LABEL1674: iconst 1 cc_sethide -LABEL1493: +LABEL1676: iload 8 iconst 1 add @@ -1677,8 +1879,8 @@ LABEL1493: iload 8 enum istore 9 - jump LABEL1417 -LABEL1504: + jump LABEL1600 +LABEL1687: iload 6 iconst 2 sub @@ -1692,20 +1894,20 @@ LABEL1504: istore 23 iload 6 iload 23 - if_icmpgt LABEL1519 - jump LABEL1521 -LABEL1519: + if_icmpgt LABEL1702 + jump LABEL1704 +LABEL1702: iload 6 istore 23 -LABEL1521: +LABEL1704: iload 22 istore 8 -LABEL1523: +LABEL1706: iload 8 iconst 0 - if_icmpgt LABEL1527 - jump LABEL1610 -LABEL1527: + if_icmpgt LABEL1710 + jump LABEL1793 +LABEL1710: iload 8 iconst 1 sub @@ -1736,15 +1938,15 @@ LABEL1527: multiply cc_find iconst 1 - if_icmpeq LABEL1559 - jump LABEL1564 -LABEL1559: + if_icmpeq LABEL1742 + jump LABEL1747 +LABEL1742: cc_getx iload 6 iconst 0 iconst 0 cc_setposition -LABEL1564: +LABEL1747: iconst 10616888 iload 8 iconst 4 @@ -1753,15 +1955,15 @@ LABEL1564: add cc_find iconst 1 - if_icmpeq LABEL1574 - jump LABEL1579 -LABEL1574: + if_icmpeq LABEL1757 + jump LABEL1762 +LABEL1757: cc_getx iload 6 iconst 0 iconst 0 cc_setposition -LABEL1579: +LABEL1762: iconst 10616888 iload 8 iconst 4 @@ -1770,15 +1972,15 @@ LABEL1579: add cc_find iconst 1 - if_icmpeq LABEL1589 - jump LABEL1594 -LABEL1589: + if_icmpeq LABEL1772 + jump LABEL1777 +LABEL1772: cc_getx iload 6 iconst 0 iconst 0 cc_setposition -LABEL1594: +LABEL1777: iconst 10616888 iload 8 iconst 4 @@ -1787,17 +1989,17 @@ LABEL1594: add cc_find iconst 1 - if_icmpeq LABEL1604 - jump LABEL1609 -LABEL1604: + if_icmpeq LABEL1787 + jump LABEL1792 +LABEL1787: cc_getx iload 6 iconst 0 iconst 0 cc_setposition -LABEL1609: - jump LABEL1523 -LABEL1610: +LABEL1792: + jump LABEL1706 +LABEL1793: iconst 0 iload 23 iconst 10616888 diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cluescrolls/ClueScrollPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cluescrolls/ClueScrollPluginTest.java index 59daa49af7..668e7fe837 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/cluescrolls/ClueScrollPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/cluescrolls/ClueScrollPluginTest.java @@ -45,8 +45,6 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.banktags.TagManager; import net.runelite.client.plugins.cluescrolls.clues.hotcold.HotColdLocation; import net.runelite.client.ui.overlay.OverlayManager; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import org.junit.Before; @@ -96,36 +94,6 @@ public class ClueScrollPluginTest Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this); } - @Test - public void getGetMirrorPoint() - { - WorldPoint point, converted; - - // Zalcano's entrance portal - point = new WorldPoint(3282, 6058, 0); - converted = ClueScrollPlugin.getMirrorPoint(point, true); - assertNotEquals(point, converted); - - // Elven Crystal Chest, which is upstairs - point = new WorldPoint(3273, 6082, 2); - converted = ClueScrollPlugin.getMirrorPoint(point, true); - assertNotEquals(point, converted); - - // Around the area of the Elite coordinate clue - point = new WorldPoint(2185, 3280, 0); - // To overworld - converted = ClueScrollPlugin.getMirrorPoint(point, true); - assertEquals(point, converted); - // To real - converted = ClueScrollPlugin.getMirrorPoint(point, false); - assertNotEquals(point, converted); - - // Brugsen Bursen, Grand Exchange - point = new WorldPoint(3165, 3477, 0); - converted = ClueScrollPlugin.getMirrorPoint(point, false); - assertEquals(point, converted); - } - @Test public void testLocationHintArrowCleared() { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java index bb91fffcb8..481a507609 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java @@ -62,6 +62,8 @@ import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class IdleNotifierPluginTest { + private static final int UNKNOWN_ANIMATION = -2; + @Mock @Bind private Client client; @@ -153,7 +155,7 @@ public class IdleNotifierPluginTest animationChanged.setActor(player); plugin.onAnimationChanged(animationChanged); plugin.onGameTick(new GameTick()); - when(player.getAnimation()).thenReturn(AnimationID.LOOKING_INTO); + when(player.getAnimation()).thenReturn(UNKNOWN_ANIMATION); plugin.onAnimationChanged(animationChanged); plugin.onGameTick(new GameTick()); when(player.getAnimation()).thenReturn(AnimationID.IDLE); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java index 2664c031e7..47b6f14fca 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java @@ -32,8 +32,12 @@ import java.util.function.Consumer; import javax.inject.Inject; import static net.runelite.api.ChatMessageType.GAMEMESSAGE; import net.runelite.api.Client; +import net.runelite.api.ScriptID; +import net.runelite.api.VarClientStr; +import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; +import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; @@ -59,6 +63,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import org.mockito.junit.MockitoJUnitRunner; @@ -76,6 +81,7 @@ public class ScreenshotPluginTest private static final String UNTRADEABLE_DROP = "Untradeable drop: Rusty sword"; private static final String BA_HIGH_GAMBLE_REWARD = "Raw shark (x 300)!
High level gamble count: 100"; private static final String HUNTER_LEVEL_2_TEXT = "Congratulations, you've just advanced a Hunter level.

Your Hunter level is now 2."; + private static final String COLLECTION_LOG_CHAT = "New item added to your collection log: Chompy bird hat"; @Mock @Bind @@ -128,6 +134,7 @@ public class ScreenshotPluginTest when(screenshotConfig.screenshotValuableDrop()).thenReturn(true); when(screenshotConfig.valuableDropThreshold()).thenReturn(1000); when(screenshotConfig.screenshotUntradeableDrop()).thenReturn(true); + when(screenshotConfig.screenshotCollectionLogEntries()).thenReturn(true); } @Test @@ -386,4 +393,35 @@ public class ScreenshotPluginTest verify(drawManager, times(0)).requestNextFrameListener(any(Consumer.class)); } + + @Test + public void testCollectionLogPopup() + { + ScriptPreFired notificationStart = new ScriptPreFired(ScriptID.NOTIFICATION_START); + screenshotPlugin.onScriptPreFired(notificationStart); + + when(client.getVar(VarClientStr.NOTIFICATION_TOP_TEXT)).thenReturn("Collection log"); + when(client.getVar(VarClientStr.NOTIFICATION_BOTTOM_TEXT)).thenReturn("New item:

Chompy bird hat"); + + ScriptPreFired notificationDelay = new ScriptPreFired(ScriptID.NOTIFICATION_DELAY); + screenshotPlugin.onScriptPreFired(notificationDelay); + + verify(drawManager).requestNextFrameListener(any(Consumer.class)); + } + + @Test + public void testCollectionLogChat() + { + ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "", COLLECTION_LOG_CHAT, null, 0); + + when(client.getVar(Varbits.COLLECTION_LOG_NOTIFICATION)).thenReturn(1); + screenshotPlugin.onChatMessage(chatMessageEvent); + + verify(drawManager).requestNextFrameListener(any(Consumer.class)); + + when(client.getVar(Varbits.COLLECTION_LOG_NOTIFICATION)).thenReturn(3); + screenshotPlugin.onChatMessage(chatMessageEvent); + + verifyNoMoreInteractions(drawManager); + } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java new file mode 100644 index 0000000000..df5ee04041 --- /dev/null +++ b/runelite-client/src/test/java/net/runelite/client/plugins/skillcalculator/CalculatorTypeTest.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021, Jordan Atwood + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.skillcalculator; + +import net.runelite.client.plugins.skillcalculator.skills.SkillAction; +import static org.junit.Assert.fail; +import org.junit.Test; + +public class CalculatorTypeTest +{ + @Test + public void skillActionsInLevelOrder() + { + for (final CalculatorType calculatorType : CalculatorType.values()) + { + int level = 1; + + for (final SkillAction skillAction : calculatorType.getSkillActions()) + { + if (skillAction.getLevel() < level) + { + fail("Skill action " + skillAction + " is out of order for " + calculatorType.getSkill().getName()); + } + + level = skillAction.getLevel(); + } + } + } +} diff --git a/runelite-jshell/runelite-jshell.gradle.kts b/runelite-jshell/runelite-jshell.gradle.kts index dd7aaa7643..438140edd1 100644 --- a/runelite-jshell/runelite-jshell.gradle.kts +++ b/runelite-jshell/runelite-jshell.gradle.kts @@ -32,8 +32,8 @@ dependencies { compileOnly(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) implementation(group = "com.google.code.findbugs", name = "jsr305", version = "3.0.2") - implementation(group = "com.google.inject", name = "guice", version = "4.1.0", classifier = "no_aop") + implementation(group = "com.google.inject", name = "guice", version = "5.0.1") implementation(group = "com.fifesoft", name = "rsyntaxtextarea", version = "3.1.2") implementation(group = "com.fifesoft", name = "autocomplete", version = "3.1.1") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") } \ No newline at end of file diff --git a/runelite-mixins/runelite-mixins.gradle.kts b/runelite-mixins/runelite-mixins.gradle.kts index f6416addc9..c69b88f236 100644 --- a/runelite-mixins/runelite-mixins.gradle.kts +++ b/runelite-mixins/runelite-mixins.gradle.kts @@ -25,9 +25,9 @@ description = "RuneLite Mixins" dependencies { - compileOnly(group = "com.google.guava", name = "guava", version = "23.2-jre") + compileOnly(group = "com.google.guava", name = "guava", version = "30.1.1-jre") compileOnly(group = "javax.inject", name = "javax.inject", version = "1") - compileOnly(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") + compileOnly(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") compileOnly(group = "commons-io", name = "commons-io", version = "2.8.0") compileOnly(project(":injection-annotations")) compileOnly(project(":runescape-api")) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 24498834d0..28b9893321 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -53,9 +53,18 @@ import net.runelite.api.IntegerNode; import net.runelite.api.InventoryID; import net.runelite.api.ItemComposition; import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.*; +import static net.runelite.api.MenuAction.PLAYER_EIGTH_OPTION; +import static net.runelite.api.MenuAction.PLAYER_FIFTH_OPTION; +import static net.runelite.api.MenuAction.PLAYER_FIRST_OPTION; +import static net.runelite.api.MenuAction.PLAYER_FOURTH_OPTION; +import static net.runelite.api.MenuAction.PLAYER_SECOND_OPTION; +import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION; +import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION; +import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION; +import static net.runelite.api.MenuAction.UNKNOWN; import net.runelite.api.MenuEntry; import net.runelite.api.MessageNode; +import net.runelite.api.Model; import net.runelite.api.NPC; import net.runelite.api.NPCComposition; import net.runelite.api.NameableContainer; @@ -68,6 +77,7 @@ import net.runelite.api.Point; import net.runelite.api.Prayer; import net.runelite.api.Projectile; import net.runelite.api.ScriptEvent; +import net.runelite.api.Sequence; import net.runelite.api.Skill; import net.runelite.api.SpritePixels; import net.runelite.api.StructComposition; @@ -124,8 +134,8 @@ import net.runelite.api.widgets.WidgetConfig; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; import net.runelite.api.widgets.WidgetType; -import net.runelite.rs.api.RSArchive; import net.runelite.rs.api.RSAbstractArchive; +import net.runelite.rs.api.RSArchive; import net.runelite.rs.api.RSChatChannel; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSEnumComposition; @@ -133,6 +143,7 @@ import net.runelite.rs.api.RSFriendSystem; import net.runelite.rs.api.RSIndexedSprite; import net.runelite.rs.api.RSInterfaceParent; import net.runelite.rs.api.RSItemContainer; +import net.runelite.rs.api.RSModelData; import net.runelite.rs.api.RSNPC; import net.runelite.rs.api.RSNode; import net.runelite.rs.api.RSNodeDeque; @@ -2222,6 +2233,20 @@ public abstract class RSClientMixin implements RSClient return getCurrentClanChannels()[0]; } + @Inject + @Override + public ClanChannel getClanChannel(int clanId) + { + ClanChannel[] clanChannels = client.getCurrentClanChannels(); + + if (clanId >= 0 && clanId < clanChannels.length) + { + return clanChannels[clanId]; + } + + return null; + } + @Inject @Override public ClanSettings getClanSettings() @@ -2229,6 +2254,20 @@ public abstract class RSClientMixin implements RSClient return getCurrentClanSettingsAry()[0]; } + @Inject + @Override + public ClanSettings getClanSettings(int clanId) + { + ClanSettings[] clanSettings = getCurrentClanSettingsAry(); + + if (clanId >= 0 && clanId < clanSettings.length) + { + return clanSettings[clanId]; + } + + return null; + } + @Inject @Override public ClanRank getClanRankFromRs(int rank) @@ -2296,6 +2335,8 @@ public abstract class RSClientMixin implements RSClient client.getCallbacks().post(new ClanChannelChanged(client.getClanChannel(), false)); } + + @Inject public static RSArchive[] archives = new RSArchive[21]; @@ -2318,5 +2359,33 @@ public abstract class RSClientMixin implements RSClient scene.setTileShapes(Arrays.copyOf(tileShapes, tileShapes.length)); } } + + @Inject + public Model loadModel(int id) + { + return loadModel(id, null, null); + } + + @Inject + public Model loadModel(int id, short[] colorToFind, short[] colorToReplace) + { + RSModelData modeldata = client.getModelData(client.getObjectDefinition_modelsArchive(), id, 0); + + if (colorToFind != null) + { + for (int i = 0; i < colorToFind.length; ++i) + { + modeldata.recolor(colorToFind[i], colorToReplace[i]); + } + } + + return modeldata.toModel(modeldata.getAmbient() + 64, modeldata.getContrast() + 850, -30, -50, -30); + } + + @Inject + public Sequence loadAnimation(int id) + { + return client.getSequenceDefinition(id); + } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java index c7757732ba..071e278643 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java @@ -1,12 +1,17 @@ package net.runelite.mixins; +import net.runelite.api.RuneLiteObject; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.GraphicsObjectCreated; +import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; +import net.runelite.api.mixins.Replace; import net.runelite.api.mixins.Shadow; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSGraphicsObject; +import net.runelite.rs.api.RSModel; +import net.runelite.rs.api.RSRuneLiteObject; @Mixin(RSGraphicsObject.class) public abstract class RSGraphicsObjectMixin implements RSGraphicsObject @@ -27,4 +32,34 @@ public abstract class RSGraphicsObjectMixin implements RSGraphicsObject { return new LocalPoint(this.getX(), this.getY()); } + + + @Copy("advance") + @Replace("advance") + public void copy$advance(int var1) + { + if (this instanceof RuneLiteObject) + { + ((RSRuneLiteObject) this).advanceRL(var1); + } + else + { + copy$advance(var1); + } + } + + + @Copy("getModel") + @Replace("getModel") + public RSModel copy$getModel() + { + if (this instanceof RuneLiteObject) + { + return ((RSRuneLiteObject) this).getModelRl(); + } + else + { + return copy$getModel(); + } + } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSObjectCompositionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSObjectCompositionMixin.java index c98fd60f8a..8cb1da388f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSObjectCompositionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSObjectCompositionMixin.java @@ -2,6 +2,7 @@ package net.runelite.mixins; import net.runelite.api.IterableHashTable; import net.runelite.api.Node; +import net.runelite.api.NodeCache; import net.runelite.api.mixins.*; import net.runelite.rs.api.RSBuffer; import net.runelite.rs.api.RSClient; @@ -16,6 +17,16 @@ public abstract class RSObjectCompositionMixin implements RSObjectComposition @Inject private int accessBitMask = 0; + @MethodHook(value = "", end = true) + @Inject + public void rl$init() + { + NodeCache cachedModels2 = client.getCachedModels2(); + cachedModels2.setCapacity(256); + cachedModels2.setRemainingCapacity(256); + cachedModels2.reset(); + } + @Inject @Override public int getAccessBitMask() diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java index 303bda7f90..6273fe8f56 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java @@ -30,10 +30,13 @@ import static net.runelite.api.Constants.ROOF_FLAG_BETWEEN; import static net.runelite.api.Constants.ROOF_FLAG_DESTINATION; import static net.runelite.api.Constants.ROOF_FLAG_HOVERED; import static net.runelite.api.Constants.ROOF_FLAG_POSITION; +import net.runelite.api.DecorativeObject; +import net.runelite.api.GroundObject; import net.runelite.api.Perspective; import net.runelite.api.SceneTileModel; import net.runelite.api.SceneTilePaint; import net.runelite.api.Tile; +import net.runelite.api.WallObject; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.hooks.DrawCallbacks; @@ -1240,4 +1243,61 @@ public abstract class RSSceneMixin implements RSScene { rl$tileShapes = tileShapes; } + + @Inject + @Override + public void removeWallObject(WallObject wallObject) + { + final Tile[][][] tiles = getTiles(); + + for (int y = 0; y < 104; ++y) + { + for (int x = 0; x < 104; ++x) + { + Tile tile = tiles[client.getPlane()][x][y]; + if (tile != null && tile.getWallObject() == wallObject) + { + tile.setWallObject(null); + } + } + } + } + + @Inject + @Override + public void removeDecorativeObject(DecorativeObject decorativeObject) + { + final Tile[][][] tiles = getTiles(); + + for (int y = 0; y < 104; ++y) + { + for (int x = 0; x < 104; ++x) + { + Tile tile = tiles[client.getPlane()][x][y]; + if (tile != null && tile.getDecorativeObject() == decorativeObject) + { + tile.setDecorativeObject(null); + } + } + } + } + + @Inject + @Override + public void removeGroundObject(GroundObject groundObject) + { + final Tile[][][] tiles = getTiles(); + + for (int y = 0; y < 104; ++y) + { + for (int x = 0; x < 104; ++x) + { + Tile tile = tiles[client.getPlane()][x][y]; + if (tile != null && tile.getGroundObject() == groundObject) + { + tile.setGroundObject(null); + } + } + } + } } \ No newline at end of file diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RuneLiteObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RuneLiteObjectMixin.java new file mode 100644 index 0000000000..99d9c61bec --- /dev/null +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RuneLiteObjectMixin.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2018, OpenOSRS + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.mixins; + +import net.runelite.api.Model; +import net.runelite.api.Perspective; +import net.runelite.api.Sequence; +import net.runelite.api.coords.LocalPoint; +import net.runelite.api.mixins.Inject; +import net.runelite.api.mixins.Mixin; +import net.runelite.api.mixins.Shadow; +import net.runelite.rs.api.RSClient; +import net.runelite.rs.api.RSModel; +import net.runelite.rs.api.RSRuneLiteObject; +import net.runelite.rs.api.RSSequenceDefinition; + +@Mixin(RSRuneLiteObject.class) +public abstract class RuneLiteObjectMixin implements RSRuneLiteObject +{ + @Shadow("client") + private static RSClient client; + + @Inject + private static boolean loop; + + @Inject + private static RSModel model; + + @Inject + RuneLiteObjectMixin() + { + setFinished(true); + } + + @Inject + public void setModel(Model var1) + { + model = (RSModel) var1; + } + + @Inject + public void setLocation(LocalPoint localPoint, int plane) + { + setX(localPoint.getX()); + setY(localPoint.getY()); + setLevel(plane); + setHeight(Perspective.getTileHeight(client, localPoint, plane)); + } + + @Inject + public void advanceRL(int var1) + { + if (getSequenceDefinition() != null) + { + if (!finished()) + { + setFrameCycle(getFrameCycle() + var1); + + while (getFrameCycle() > getSequenceDefinition().getFrameLengths()[getFrame()]) + { + setFrameCycle(getFrameCycle() - getSequenceDefinition().getFrameLengths()[getFrame()]); + setFrame(getFrame() + 1); + if (getFrame() >= getSequenceDefinition().getFrameIDs().length) + { + setFinished(true); + break; + } + } + } + + if (loop && finished()) + { + setFinished(false); + setFrame(0); + setFrameCycle(0); + } + } + } + + @Inject + public boolean isActive() + { + return !finished(); + } + + @Inject + public void setActive(boolean active) + { + if (finished() == active) + { + setFinished(!active); + + if (active) + { + setFrame(0); + setFrameCycle(0); + client.getGraphicsObjectDeque().addFirst(this); + } + else + { + unlink(); + } + + } + } + + @Inject + public void setShouldLoop(boolean var1) + { + loop = var1; + } + + @Inject + public void setAnimation(Sequence var1) + { + setFrame(0); + setFrameCycle(0); + setSequenceDefinition((RSSequenceDefinition) var1); + } + + @Inject + public RSModel getModelRl() + { + RSModel model = RuneLiteObjectMixin.model; + if (getSequenceDefinition() != null) + { + model = getSequenceDefinition().transformSpotAnimationModel(model, getFrame()); + } + else + { + model = model.toSharedModel(true); + } + + return model; + } +} diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 48f74e9d48..cf548e1f45 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -65,7 +65,8 @@ public abstract class ScriptVMMixin implements RSClient { if (script != null) { - ScriptPreFired event = new ScriptPreFired((int) script.getHash(), rootScriptEvent); + ScriptPreFired event = new ScriptPreFired((int) script.getHash()); + event.setScriptEvent(rootScriptEvent); client.getCallbacks().post(event); } @@ -127,7 +128,7 @@ public abstract class ScriptVMMixin implements RSClient return true; case INVOKE: int scriptId = currentScript.getIntOperands()[currentScriptPC]; - client.getCallbacks().post(new ScriptPreFired(scriptId, null)); + client.getCallbacks().post(new ScriptPreFired(scriptId)); return false; case RETURN: client.getCallbacks().post(new ScriptPostFired((int) currentScript.getHash())); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java index c23c7cc483..5ef00b9b82 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java @@ -35,7 +35,6 @@ import net.runelite.api.mixins.Replace; import net.runelite.api.mixins.Shadow; import net.runelite.rs.api.RSActor; import net.runelite.rs.api.RSClient; -import net.runelite.rs.api.RSNPC; import net.runelite.rs.api.RSPcmStream; import net.runelite.rs.api.RSRawPcmStream; import net.runelite.rs.api.RSRawSound; @@ -53,18 +52,11 @@ public abstract class SoundEffectMixin implements RSClient @Inject private static RSActor lastSoundEffectSourceActor; - @Inject - private static int lastSoundEffectSourceNPCid; - @Copy("updateActorSequence") @Replace("updateActorSequence") @SuppressWarnings("InfiniteRecursion") public static void copy$updateActorSequence(RSActor actor, int size) { - if (actor instanceof RSNPC) - { - lastSoundEffectSourceNPCid = ((RSNPC) actor).getId(); - } lastSoundEffectSourceActor = actor; copy$updateActorSequence(actor, size); @@ -87,8 +79,6 @@ public abstract class SoundEffectMixin implements RSClient { // Regular sound effect SoundEffectPlayed event = new SoundEffectPlayed(lastSoundEffectSourceActor); - event.setNpcid(lastSoundEffectSourceNPCid); - lastSoundEffectSourceNPCid = -1; event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]); event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]); client.getCallbacks().post(event); diff --git a/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts b/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts index 3afaafa440..e3bb7fc075 100644 --- a/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts +++ b/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts @@ -34,9 +34,9 @@ dependencies { implementation(project(":cache")) implementation(project(":runelite-api")) - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") implementation(group = "org.apache.maven", name = "maven-plugin-api", version = "3.6.3") - implementation(group = "org.slf4j", name = "slf4j-nop", version = "1.7.12") + implementation(group = "org.slf4j", name = "slf4j-nop", version = "1.7.32") } tasks { diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 89f06d04cd..5f3b07342f 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -1453,4 +1453,10 @@ public interface RSClient extends RSGameEngine, Client @Import("Tiles_shapes") byte[][][] getTileShapes(); + + @Import("SpotAnimationDefinition_get") + RSSpotAnimationDefinition getSpotAnimationDefinition(int id); + + @Import("ModelData_get") + RSModelData getModelData(RSAbstractArchive var0, int var1, int var2); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSGraphicsObject.java b/runescape-api/src/main/java/net/runelite/rs/api/RSGraphicsObject.java index 3187c22103..fe2bb9fb77 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSGraphicsObject.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSGraphicsObject.java @@ -9,6 +9,9 @@ public interface RSGraphicsObject extends GraphicsObject, RSRenderable @Override int getId(); + @Import("id") + void setId(int id); + @Import("x") int getX(); @@ -30,4 +33,37 @@ public interface RSGraphicsObject extends GraphicsObject, RSRenderable @Import("isFinished") @Override boolean finished(); + + @Import("frame") + int getFrame(); + + @Import("frame") + void setFrame(int frame); + + @Import("frameCycle") + int getFrameCycle(); + + @Import("frameCycle") + void setFrameCycle(int frameCycle); + + @Import("isFinished") + void setFinished(boolean finished); + + @Import("plane") + void setLevel(int level); + + @Import("x") + void setX(int x); + + @Import("y") + void setY(int y); + + @Import("height") + void setHeight(int height); + + @Import("sequenceDefinition") + RSSequenceDefinition getSequenceDefinition(); + + @Import("sequenceDefinition") + void setSequenceDefinition(RSSequenceDefinition sequenceDefinition); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSModelData.java b/runescape-api/src/main/java/net/runelite/rs/api/RSModelData.java index 4a3a519641..3d8cb0e9c0 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSModelData.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSModelData.java @@ -51,4 +51,16 @@ public interface RSModelData extends RSRenderable @Import("vertexVertices") RSVertexNormal[] getVertexVertices(); + + @Import("recolor") + void recolor(short var1, short var2); + + @Import("toModel") + RSModel toModel(int var1, int var2, int var3, int var4, int var5); + + @Import("ambient") + short getAmbient(); + + @Import("contrast") + short getContrast(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSRuneLiteObject.java b/runescape-api/src/main/java/net/runelite/rs/api/RSRuneLiteObject.java new file mode 100644 index 0000000000..a1bd48c7ba --- /dev/null +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSRuneLiteObject.java @@ -0,0 +1,10 @@ +package net.runelite.rs.api; + +import net.runelite.api.RuneLiteObject; + +public interface RSRuneLiteObject extends RuneLiteObject, RSGraphicsObject +{ + void advanceRL(int var1); + + RSModel getModelRl(); +} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSScene.java b/runescape-api/src/main/java/net/runelite/rs/api/RSScene.java index e4dda41f0d..af1f331fe9 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSScene.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSScene.java @@ -1,8 +1,11 @@ package net.runelite.rs.api; +import net.runelite.api.DecorativeObject; import net.runelite.api.GameObject; +import net.runelite.api.GroundObject; import net.runelite.api.Scene; import net.runelite.api.Tile; +import net.runelite.api.WallObject; import net.runelite.mapping.Import; public interface RSScene extends Scene @@ -56,6 +59,24 @@ public interface RSScene extends Scene @Import("removeGameObject") void removeGameObject(GameObject gameObject); + @Import("removeGameObject") + void removeGameObject(int plane, int x, int y); + + void removeWallObject(WallObject wallObject); + + @Import("removeBoundaryObject") + void removeWallObject(int plane, int x, int y); + + void removeDecorativeObject(DecorativeObject decorativeObject); + + @Import("removeWallDecoration") + void removeDecorativeObject(int plane, int x, int y); + + void removeGroundObject(GroundObject groundObject); + + @Import("removeFloorDecoration") + void removeGroundObject(int plane, int x, int y); + byte[][][] getUnderlayIds(); void setUnderlayIds(byte[][][] underlayIds); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSSequenceDefinition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSSequenceDefinition.java index 1137851b39..8436ba4d11 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSSequenceDefinition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSSequenceDefinition.java @@ -1,9 +1,10 @@ package net.runelite.rs.api; +import net.runelite.api.Sequence; import net.runelite.api.SequenceDefinition; import net.runelite.mapping.Import; -public interface RSSequenceDefinition extends RSNode, SequenceDefinition +public interface RSSequenceDefinition extends RSNode, SequenceDefinition, Sequence { // @Import("stretches") // boolean getStretches(); @@ -35,4 +36,7 @@ public interface RSSequenceDefinition extends RSNode, SequenceDefinition @Import("chatFrameIds") @Override int[] getChatFrameIds(); + + @Import("transformSpotAnimationModel") + RSModel transformSpotAnimationModel(RSModel var1, int var2); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSSpotAnimationDefinition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSSpotAnimationDefinition.java index 7f91b7ea68..722bbc0e51 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSSpotAnimationDefinition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSSpotAnimationDefinition.java @@ -1,3 +1,18 @@ package net.runelite.rs.api; -public interface RSSpotAnimationDefinition {} +import net.runelite.mapping.Import; + +public interface RSSpotAnimationDefinition +{ + @Import("getModel") + RSModel getModel(int var1); + + @Import("recolorFrom") + void setRecolorFrom(short[] from); + + @Import("recolorTo") + void setRecolorTo(short[] to); + + @Import("sequence") + int getSequence(); +} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java index a862644faa..8d4e81ad02 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java @@ -191,19 +191,19 @@ public interface RSWidget extends Widget @Override void setRotationX(int rotationX); - @Import("modelAngleY") + @Import("modelAngleZ") // Do not change @Override int getRotationY(); - @Import("modelAngleY") + @Import("modelAngleZ") // Do not change @Override void setRotationY(int rotationY); - @Import("modelAngleZ") + @Import("modelAngleY") // Do not change @Override int getRotationZ(); - @Import("modelAngleZ") + @Import("modelAngleY") // Do not change @Override void setRotationZ(int rotationZ); diff --git a/runescape-client/runescape-client.gradle.kts b/runescape-client/runescape-client.gradle.kts index 9d52c9a84a..fe52c6c012 100644 --- a/runescape-client/runescape-client.gradle.kts +++ b/runescape-client/runescape-client.gradle.kts @@ -30,10 +30,9 @@ dependencies { implementation(project(":injection-annotations")) implementation(group = "org.bouncycastle", name = "bcprov-jdk15on", version = "1.52") - testImplementation(group = "junit", name = "junit", version = "4.12") - testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") - testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.12") + testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") + testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.32") } tasks { diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index 6164e3f24a..f65e50571d 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -4,81 +4,86 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kk") +@ObfuscatedName("kl") @Implements("AbstractArchive") public abstract class AbstractArchive { - @ObfuscatedName("i") + @ObfuscatedName("sn") + @ObfuscatedGetter( + intValue = -1025807137 + ) + static int field3712; + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "Lpk;" + descriptor = "Lpt;" ) @Export("gzipDecompressor") static GZipDecompressor gzipDecompressor; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = -256520341 + intValue = -1076912287 ) - static int field3717; - @ObfuscatedName("f") + static int field3706; + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 971351999 + intValue = 1664464817 ) @Export("groupCount") int groupCount; @ObfuscatedName("s") @Export("groupIds") int[] groupIds; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("groupNameHashes") int[] groupNameHashes; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "Lpn;" + descriptor = "Lpz;" ) @Export("groupNameHashTable") IntHashTable groupNameHashTable; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("groupCrcs") int[] groupCrcs; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("groupVersions") int[] groupVersions; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("fileCounts") int[] fileCounts; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("fileIds") int[][] fileIds; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("fileNameHashes") int[][] fileNameHashes; @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "[Lpn;" + descriptor = "[Lpz;" ) @Export("fileNameHashTables") IntHashTable[] fileNameHashTables; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("groups") Object[] groups; - @ObfuscatedName("w") + @ObfuscatedName("u") @Export("files") Object[][] files; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = 1610295251 + intValue = 690616525 ) @Export("hash") public int hash; @ObfuscatedName("ad") @Export("releaseGroups") boolean releaseGroups; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("shallowFiles") boolean shallowFiles; static { gzipDecompressor = new GZipDecompressor(); - field3717 = 0; + field3706 = 0; } AbstractArchive(boolean var1, boolean var2) { @@ -86,161 +91,159 @@ public abstract class AbstractArchive { this.shallowFiles = var2; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-2091662217" + descriptor = "(IB)V", + garbageValue = "30" ) @Export("loadRegionFromGroup") void loadRegionFromGroup(int var1) { } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "16776960" + descriptor = "(IB)V", + garbageValue = "120" ) @Export("loadGroup") void loadGroup(int var1) { } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "73945928" + descriptor = "(IB)I", + garbageValue = "0" ) @Export("groupLoadPercent") int groupLoadPercent(int var1) { return this.groups[var1] != null ? 100 : 0; } - @ObfuscatedName("ap") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "309174384" + descriptor = "([BB)V", + garbageValue = "18" ) @Export("decodeIndex") void decodeIndex(byte[] var1) { - int var3 = var1.length; - int var2 = Ignored.method6065(var1, 0, var3); - this.hash = var2; - Buffer var4 = new Buffer(class134.decompressBytes(var1)); - int var5 = var4.readUnsignedByte(); - if (var5 >= 5 && var5 <= 7) { - if (var5 >= 6) { - var4.readInt(); + this.hash = LoginScreenAnimation.method2192(var1, var1.length); + Buffer var2 = new Buffer(class12.decompressBytes(var1)); + int var3 = var2.readUnsignedByte(); + if (var3 >= 5 && var3 <= 7) { + if (var3 >= 6) { + var2.readInt(); } - int var6 = var4.readUnsignedByte(); - if (var5 >= 7) { - this.groupCount = var4.method6831(); + int var4 = var2.readUnsignedByte(); + if (var3 >= 7) { + this.groupCount = var2.method6912(); } else { - this.groupCount = var4.readUnsignedShort(); + this.groupCount = var2.readUnsignedShort(); } - int var7 = 0; - int var8 = -1; + int var5 = 0; + int var6 = -1; this.groupIds = new int[this.groupCount]; - int var9; - if (var5 >= 7) { - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupIds[var9] = var7 += var4.method6831(); - if (this.groupIds[var9] > var8) { - var8 = this.groupIds[var9]; + int var7; + if (var3 >= 7) { + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.method6912(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; } } } else { - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupIds[var9] = var7 += var4.readUnsignedShort(); - if (this.groupIds[var9] > var8) { - var8 = this.groupIds[var9]; + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.readUnsignedShort(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; } } } - this.groupCrcs = new int[var8 + 1]; - this.groupVersions = new int[var8 + 1]; - this.fileCounts = new int[var8 + 1]; - this.fileIds = new int[var8 + 1][]; - this.groups = new Object[var8 + 1]; - this.files = new Object[var8 + 1][]; - if (var6 != 0) { - this.groupNameHashes = new int[var8 + 1]; + this.groupCrcs = new int[var6 + 1]; + this.groupVersions = new int[var6 + 1]; + this.fileCounts = new int[var6 + 1]; + this.fileIds = new int[var6 + 1][]; + this.groups = new Object[var6 + 1]; + this.files = new Object[var6 + 1][]; + if (var4 != 0) { + this.groupNameHashes = new int[var6 + 1]; - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupNameHashes[this.groupIds[var9]] = var4.readInt(); + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupNameHashes[this.groupIds[var7]] = var2.readInt(); } this.groupNameHashTable = new IntHashTable(this.groupNameHashes); } - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupCrcs[this.groupIds[var9]] = var4.readInt(); + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupCrcs[this.groupIds[var7]] = var2.readInt(); } - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupVersions[this.groupIds[var9]] = var4.readInt(); + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupVersions[this.groupIds[var7]] = var2.readInt(); } - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort(); + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort(); } + int var8; + int var9; int var10; int var11; int var12; - int var13; - int var14; - if (var5 >= 7) { - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - var7 = 0; - var12 = -1; - this.fileIds[var10] = new int[var11]; + if (var3 >= 7) { + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; - for (var13 = 0; var13 < var11; ++var13) { - var14 = this.fileIds[var10][var13] = var7 += var4.method6831(); - if (var14 > var12) { - var12 = var14; + for (var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.method6912(); + if (var12 > var10) { + var10 = var12; } } - this.files[var10] = new Object[var12 + 1]; + this.files[var8] = new Object[var10 + 1]; } } else { - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - var7 = 0; - var12 = -1; - this.fileIds[var10] = new int[var11]; + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; - for (var13 = 0; var13 < var11; ++var13) { - var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort(); - if (var14 > var12) { - var12 = var14; + for (var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort(); + if (var12 > var10) { + var10 = var12; } } - this.files[var10] = new Object[var12 + 1]; + this.files[var8] = new Object[var10 + 1]; } } - if (var6 != 0) { - this.fileNameHashes = new int[var8 + 1][]; - this.fileNameHashTables = new IntHashTable[var8 + 1]; + if (var4 != 0) { + this.fileNameHashes = new int[var6 + 1][]; + this.fileNameHashTables = new IntHashTable[var6 + 1]; - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - this.fileNameHashes[var10] = new int[this.files[var10].length]; + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + this.fileNameHashes[var8] = new int[this.files[var8].length]; - for (var12 = 0; var12 < var11; ++var12) { - this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt(); + for (var10 = 0; var10 < var9; ++var10) { + this.fileNameHashes[var8][this.fileIds[var8][var10]] = var2.readInt(); } - this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]); + this.fileNameHashTables[var8] = new IntHashTable(this.fileNameHashes[var8]); } } @@ -249,20 +252,20 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("ai") + @ObfuscatedName("am") @ObfuscatedSignature( - descriptor = "(IIB)[B", - garbageValue = "1" + descriptor = "(III)[B", + garbageValue = "1532243849" ) @Export("takeFile") public byte[] takeFile(int var1, int var2) { return this.takeFileEncrypted(var1, var2, (int[])null); } - @ObfuscatedName("ac") + @ObfuscatedName("aw") @ObfuscatedSignature( - descriptor = "(II[II)[B", - garbageValue = "-1400287968" + descriptor = "(II[IB)[B", + garbageValue = "1" ) @Export("takeFileEncrypted") public byte[] takeFileEncrypted(int var1, int var2, int[] var3) { @@ -278,7 +281,7 @@ public abstract class AbstractArchive { } } - byte[] var5 = ObjectComposition.method3159(this.files[var1][var2], false); + byte[] var5 = class196.method3888(this.files[var1][var2], false); if (this.shallowFiles) { this.files[var1][var2] = null; } @@ -289,10 +292,10 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("ag") + @ObfuscatedName("az") @ObfuscatedSignature( - descriptor = "(IIB)Z", - garbageValue = "14" + descriptor = "(III)Z", + garbageValue = "-1877485054" ) @Export("tryLoadFile") public boolean tryLoadFile(int var1, int var2) { @@ -310,12 +313,12 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("ar") + @ObfuscatedName("ae") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "-1235242527" + garbageValue = "-1656310918" ) - public boolean method5156(int var1) { + public boolean method5223(int var1) { if (this.files.length == 1) { return this.tryLoadFile(0, var1); } else if (this.files[var1].length == 1) { @@ -325,10 +328,10 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("az") + @ObfuscatedName("ai") @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "6" + descriptor = "(II)Z", + garbageValue = "-790601931" ) @Export("tryLoadGroup") public boolean tryLoadGroup(int var1) { @@ -340,10 +343,10 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("bd") + @ObfuscatedName("bg") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1938469989" + descriptor = "(B)Z", + garbageValue = "10" ) @Export("isFullyLoaded") public boolean isFullyLoaded() { @@ -362,10 +365,10 @@ public abstract class AbstractArchive { return var1; } - @ObfuscatedName("bt") + @ObfuscatedName("bf") @ObfuscatedSignature( descriptor = "(II)[B", - garbageValue = "1970819386" + garbageValue = "-1576564165" ) @Export("takeFileFlat") public byte[] takeFileFlat(int var1) { @@ -378,10 +381,10 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("bf") + @ObfuscatedName("bj") @ObfuscatedSignature( descriptor = "(III)[B", - garbageValue = "-195653107" + garbageValue = "-1431329812" ) @Export("getFile") public byte[] getFile(int var1, int var2) { @@ -397,17 +400,17 @@ public abstract class AbstractArchive { } } - byte[] var4 = ObjectComposition.method3159(this.files[var1][var2], false); + byte[] var4 = class196.method3888(this.files[var1][var2], false); return var4; } else { return null; } } - @ObfuscatedName("bp") + @ObfuscatedName("bo") @ObfuscatedSignature( descriptor = "(II)[B", - garbageValue = "-2089427663" + garbageValue = "569616602" ) @Export("getFileFlat") public byte[] getFileFlat(int var1) { @@ -420,40 +423,40 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("bl") + @ObfuscatedName("bx") @ObfuscatedSignature( descriptor = "(II)[I", - garbageValue = "1156606106" + garbageValue = "46587158" ) @Export("getGroupFileIds") public int[] getGroupFileIds(int var1) { return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; } - @ObfuscatedName("bc") + @ObfuscatedName("bu") @ObfuscatedSignature( descriptor = "(II)I", - garbageValue = "-628492237" + garbageValue = "677840140" ) @Export("getGroupFileCount") public int getGroupFileCount(int var1) { return this.files[var1].length; } - @ObfuscatedName("br") + @ObfuscatedName("bc") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1203750682" + descriptor = "(B)I", + garbageValue = "-1" ) @Export("getGroupCount") public int getGroupCount() { return this.files.length; } - @ObfuscatedName("bw") + @ObfuscatedName("ba") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2078334330" + garbageValue = "1397286870" ) @Export("clearGroups") public void clearGroups() { @@ -463,10 +466,10 @@ public abstract class AbstractArchive { } - @ObfuscatedName("bh") + @ObfuscatedName("bm") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-1819838440" + garbageValue = "-1543674565" ) @Export("clearFilesGroup") public void clearFilesGroup(int var1) { @@ -476,10 +479,10 @@ public abstract class AbstractArchive { } - @ObfuscatedName("bj") + @ObfuscatedName("bv") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "1" + descriptor = "(I)V", + garbageValue = "1464897629" ) @Export("clearFiles") public void clearFiles() { @@ -493,10 +496,10 @@ public abstract class AbstractArchive { } - @ObfuscatedName("be") + @ObfuscatedName("bs") @ObfuscatedSignature( - descriptor = "(I[II)Z", - garbageValue = "1799512695" + descriptor = "(I[IS)Z", + garbageValue = "-22593" ) @Export("buildFiles") boolean buildFiles(int var1, int[] var2) { @@ -518,26 +521,26 @@ public abstract class AbstractArchive { if (var6) { return true; } else { - byte[] var18; + byte[] var21; if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) { - var18 = ObjectComposition.method3159(this.groups[var1], false); + var21 = class196.method3888(this.groups[var1], false); } else { - var18 = ObjectComposition.method3159(this.groups[var1], true); - Buffer var8 = new Buffer(var18); + var21 = class196.method3888(this.groups[var1], true); + Buffer var8 = new Buffer(var21); var8.xteaDecrypt(var2, 5, var8.array.length); } - byte[] var20 = class134.decompressBytes(var18); + byte[] var24 = class12.decompressBytes(var21); if (this.releaseGroups) { this.groups[var1] = null; } if (var3 > 1) { - int var9 = var20.length; + int var9 = var24.length; --var9; - int var10 = var20[var9] & 255; + int var10 = var24[var9] & 255; var9 -= var3 * var10 * 4; - Buffer var11 = new Buffer(var20); + Buffer var11 = new Buffer(var24); int[] var12 = new int[var3]; var11.offset = var9; @@ -552,38 +555,52 @@ public abstract class AbstractArchive { } } - byte[][] var19 = new byte[var3][]; + byte[][] var22 = new byte[var3][]; for (var14 = 0; var14 < var3; ++var14) { - var19[var14] = new byte[var12[var14]]; + var22[var14] = new byte[var12[var14]]; var12[var14] = 0; } var11.offset = var9; var14 = 0; + int var17; for (var15 = 0; var15 < var10; ++var15) { - int var16 = 0; + int var23 = 0; - for (int var17 = 0; var17 < var3; ++var17) { - var16 += var11.readInt(); - System.arraycopy(var20, var14, var19[var17], var12[var17], var16); - var12[var17] += var16; - var14 += var16; + for (var17 = 0; var17 < var3; ++var17) { + var23 += var11.readInt(); + System.arraycopy(var24, var14, var22[var17], var12[var17], var23); + var12[var17] += var23; + var14 += var23; } } for (var15 = 0; var15 < var3; ++var15) { if (!this.shallowFiles) { - var5[var4[var15]] = VertexNormal.method4476(var19[var15], false); + var17 = var4[var15]; + byte[] var19 = var22[var15]; + Object var18; + if (var19 == null) { + var18 = null; + } else if (var19.length > 136) { + DirectByteArrayCopier var20 = new DirectByteArrayCopier(); + var20.set(var19); + var18 = var20; + } else { + var18 = var19; + } + + var5[var17] = var18; } else { - var5[var4[var15]] = var19[var15]; + var5[var4[var15]] = var22[var15]; } } } else if (!this.shallowFiles) { - var5[var4[0]] = VertexNormal.method4476(var20, false); + var5[var4[0]] = DevicePcmPlayerProvider.method372(var24, false); } else { - var5[var4[0]] = var20; + var5[var4[0]] = var24; } return true; @@ -591,109 +608,119 @@ public abstract class AbstractArchive { } } - @ObfuscatedName("bq") + @ObfuscatedName("bd") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)I", - garbageValue = "69048727" + garbageValue = "-2136514037" ) @Export("getGroupId") public int getGroupId(String var1) { var1 = var1.toLowerCase(); - return this.groupNameHashTable.get(CollisionMap.hashString(var1)); + return this.groupNameHashTable.get(UserComparator4.hashString(var1)); } - @ObfuscatedName("bu") + @ObfuscatedName("bb") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)I", - garbageValue = "947242826" + descriptor = "(ILjava/lang/String;B)I", + garbageValue = "-96" ) @Export("getFileId") public int getFileId(int var1, String var2) { var2 = var2.toLowerCase(); - return this.fileNameHashTables[var1].get(CollisionMap.hashString(var2)); + return this.fileNameHashTables[var1].get(UserComparator4.hashString(var2)); } - @ObfuscatedName("bn") + @ObfuscatedName("bh") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "1222841488" + garbageValue = "375509554" ) @Export("isValidFileName") public boolean isValidFileName(String var1, String var2) { var1 = var1.toLowerCase(); var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); + int var3 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); if (var3 < 0) { return false; } else { - int var4 = this.fileNameHashTables[var3].get(CollisionMap.hashString(var2)); + int var4 = this.fileNameHashTables[var3].get(UserComparator4.hashString(var2)); return var4 >= 0; } } - @ObfuscatedName("bk") + @ObfuscatedName("bi") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;Ljava/lang/String;I)[B", - garbageValue = "-1075732024" + garbageValue = "1943332818" ) @Export("takeFileByNames") public byte[] takeFileByNames(String var1, String var2) { var1 = var1.toLowerCase(); var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); - int var4 = this.fileNameHashTables[var3].get(CollisionMap.hashString(var2)); + int var3 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(UserComparator4.hashString(var2)); return this.takeFile(var3, var4); } - @ObfuscatedName("bm") + @ObfuscatedName("bq") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "-1616955064" + garbageValue = "263767058" ) @Export("tryLoadFileByNames") public boolean tryLoadFileByNames(String var1, String var2) { var1 = var1.toLowerCase(); var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); - int var4 = this.fileNameHashTables[var3].get(CollisionMap.hashString(var2)); + int var3 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(UserComparator4.hashString(var2)); return this.tryLoadFile(var3, var4); } - @ObfuscatedName("bb") + @ObfuscatedName("by") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Z", - garbageValue = "-802511853" + descriptor = "(Ljava/lang/String;B)Z", + garbageValue = "46" ) @Export("tryLoadGroupByName") public boolean tryLoadGroupByName(String var1) { var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); + int var2 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); return this.tryLoadGroup(var2); } - @ObfuscatedName("bx") + @ObfuscatedName("be") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "1" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1412228051" ) @Export("loadRegionFromName") public void loadRegionFromName(String var1) { var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); + int var2 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); if (var2 >= 0) { this.loadRegionFromGroup(var2); } } - @ObfuscatedName("ba") + @ObfuscatedName("bw") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)I", - garbageValue = "254" + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "507310296" ) @Export("groupLoadPercentByName") public int groupLoadPercentByName(String var1) { var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(CollisionMap.hashString(var1)); + int var2 = this.groupNameHashTable.get(UserComparator4.hashString(var1)); return this.groupLoadPercent(var2); } + + @ObfuscatedName("kk") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "32" + ) + static final void method5325() { + Client.field687 = Client.cycleCntr; + KitDefinition.field1665 = true; + } } diff --git a/runescape-client/src/main/java/AbstractByteArrayCopier.java b/runescape-client/src/main/java/AbstractByteArrayCopier.java index 6bb028ea02..7402678950 100644 --- a/runescape-client/src/main/java/AbstractByteArrayCopier.java +++ b/runescape-client/src/main/java/AbstractByteArrayCopier.java @@ -1,27 +1,153 @@ +import java.lang.reflect.Field; +import java.lang.reflect.Method; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("jp") +@ObfuscatedName("jr") @Implements("AbstractByteArrayCopier") public abstract class AbstractByteArrayCopier { + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1268577977 + ) + @Export("Interpreter_intStackSize") + static int Interpreter_intStackSize; + AbstractByteArrayCopier() { } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(S)[B", - garbageValue = "147" + descriptor = "(B)[B", + garbageValue = "-25" ) @Export("get") abstract byte[] get(); - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BS)V", - garbageValue = "2048" + descriptor = "([BI)V", + garbageValue = "944891137" ) @Export("set") - abstract void set(byte[] var1); + public abstract void set(byte[] var1); + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(Lot;II)V", + garbageValue = "-459994654" + ) + @Export("readReflectionCheck") + public static void readReflectionCheck(Buffer var0, int var1) { + ReflectionCheck var2 = new ReflectionCheck(); + var2.size = var0.readUnsignedByte(); + var2.id = var0.readInt(); + var2.operations = new int[var2.size]; + var2.creationErrors = new int[var2.size]; + var2.fields = new Field[var2.size]; + var2.intReplaceValues = new int[var2.size]; + var2.methods = new Method[var2.size]; + var2.arguments = new byte[var2.size][][]; + + for (int var3 = 0; var3 < var2.size; ++var3) { + try { + int var4 = var0.readUnsignedByte(); + String var5; + String var6; + int var7; + if (var4 != 0 && var4 != 1 && var4 != 2) { + if (var4 == 3 || var4 == 4) { + var5 = var0.readStringCp1252NullTerminated(); + var6 = var0.readStringCp1252NullTerminated(); + var7 = var0.readUnsignedByte(); + String[] var8 = new String[var7]; + + for (int var9 = 0; var9 < var7; ++var9) { + var8[var9] = var0.readStringCp1252NullTerminated(); + } + + String var20 = var0.readStringCp1252NullTerminated(); + byte[][] var10 = new byte[var7][]; + int var12; + if (var4 == 3) { + for (int var11 = 0; var11 < var7; ++var11) { + var12 = var0.readInt(); + var10[var11] = new byte[var12]; + var0.readBytes(var10[var11], 0, var12); + } + } + + var2.operations[var3] = var4; + Class[] var21 = new Class[var7]; + + for (var12 = 0; var12 < var7; ++var12) { + var21[var12] = UserComparator7.loadClassFromDescriptor(var8[var12]); + } + + Class var22 = UserComparator7.loadClassFromDescriptor(var20); + if (UserComparator7.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + Method[] var13 = UserComparator7.loadClassFromDescriptor(var5).getDeclaredMethods(); + Method[] var14 = var13; + + for (int var15 = 0; var15 < var14.length; ++var15) { + Method var16 = var14[var15]; + if (Reflection.getMethodName(var16).equals(var6)) { + Class[] var17 = Reflection.getParameterTypes(var16); + if (var21.length == var17.length) { + boolean var18 = true; + + for (int var19 = 0; var19 < var21.length; ++var19) { + if (var21[var19] != var17[var19]) { + var18 = false; + break; + } + } + + if (var18 && var22 == var16.getReturnType()) { + var2.methods[var3] = var16; + } + } + } + } + + var2.arguments[var3] = var10; + } + } else { + var5 = var0.readStringCp1252NullTerminated(); + var6 = var0.readStringCp1252NullTerminated(); + var7 = 0; + if (var4 == 1) { + var7 = var0.readInt(); + } + + var2.operations[var3] = var4; + var2.intReplaceValues[var3] = var7; + if (UserComparator7.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + var2.fields[var3] = Reflection.findField(UserComparator7.loadClassFromDescriptor(var5), var6); + } + } catch (ClassNotFoundException var24) { + var2.creationErrors[var3] = -1; + } catch (SecurityException var25) { + var2.creationErrors[var3] = -2; + } catch (NullPointerException var26) { + var2.creationErrors[var3] = -3; + } catch (Exception var27) { + var2.creationErrors[var3] = -4; + } catch (Throwable var28) { + var2.creationErrors[var3] = -5; + } + } + + class54.reflectionChecks.addFirst(var2); + } } diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 04cd84defc..1df0e179a4 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -4,76 +4,76 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ll") +@ObfuscatedName("lq") @Implements("AbstractFont") public abstract class AbstractFont extends Rasterizer2D { - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "[Loz;" ) @Export("AbstractFont_modIconSprites") public static IndexedSprite[] AbstractFont_modIconSprites; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("AbstractFont_strike") static int AbstractFont_strike; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("AbstractFont_underline") static int AbstractFont_underline; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("AbstractFont_previousShadow") static int AbstractFont_previousShadow; @ObfuscatedName("s") @Export("AbstractFont_shadow") static int AbstractFont_shadow; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("AbstractFont_previousColor") static int AbstractFont_previousColor; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("AbstractFont_color") static int AbstractFont_color; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("AbstractFont_alpha") static int AbstractFont_alpha; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("AbstractFont_justificationTotal") static int AbstractFont_justificationTotal; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("AbstractFont_justificationCurrent") static int AbstractFont_justificationCurrent; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("AbstractFont_random") static Random AbstractFont_random; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("AbstractFont_lines") static String[] AbstractFont_lines; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("pixels") byte[][] pixels; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("advances") int[] advances; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("widths") int[] widths; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("heights") int[] heights; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("leftBearings") int[] leftBearings; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("topBearings") int[] topBearings; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("ascent") public int ascent; @ObfuscatedName("a") @Export("maxAscent") public int maxAscent; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("maxDescent") public int maxDescent; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("kerning") byte[] kerning; @@ -123,15 +123,15 @@ public abstract class AbstractFont extends Rasterizer2D { this.readMetrics(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("drawGlyph") abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("drawGlyphAlpha") abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); - @ObfuscatedName("a") + @ObfuscatedName("e") @Export("readMetrics") void readMetrics(byte[] var1) { this.advances = new int[256]; @@ -193,7 +193,7 @@ public abstract class AbstractFont extends Rasterizer2D { if (var13 != 32 && var13 != 160) { for (var8 = 0; var8 < 256; ++var8) { if (var8 != 32 && var8 != 160) { - this.kerning[var8 + (var13 << 8)] = (byte)method5635(var11, var12, var4, this.advances, var10, var13, var8); + this.kerning[var8 + (var13 << 8)] = (byte)method5686(var11, var12, var4, this.advances, var10, var13, var8); } } } @@ -204,17 +204,17 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("e") + @ObfuscatedName("y") @Export("charWidth") int charWidth(char var1) { if (var1 == 160) { var1 = ' '; } - return this.advances[WorldMapSection2.charToByteCp1252(var1) & 255]; + return this.advances[MilliClock.charToByteCp1252(var1) & 255]; } - @ObfuscatedName("l") + @ObfuscatedName("w") @Export("stringWidth") public int stringWidth(String var1) { if (var1 == null) { @@ -238,7 +238,7 @@ public abstract class AbstractFont extends Rasterizer2D { if (!var7.equals("gt")) { if (var7.startsWith("img=")) { try { - int var8 = GrandExchangeOfferAgeComparator.method5303(var7.substring(4)); + int var8 = class279.method5134(var7.substring(4)); var4 += AbstractFont_modIconSprites[var8].width; var3 = -1; } catch (Exception var10) { @@ -256,7 +256,7 @@ public abstract class AbstractFont extends Rasterizer2D { } if (var2 == -1) { - var4 += this.advances[(char)(WorldMapSection2.charToByteCp1252(var6) & 255)]; + var4 += this.advances[(char)(MilliClock.charToByteCp1252(var6) & 255)]; if (this.kerning != null && var3 != -1) { var4 += this.kerning[var6 + (var3 << 8)]; } @@ -270,7 +270,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("y") + @ObfuscatedName("g") @Export("breakLines") public int breakLines(String var1, int[] var2, String[] var3) { if (var1 == null) { @@ -321,7 +321,7 @@ public abstract class AbstractFont extends Rasterizer2D { var11 = '>'; } else if (var16.startsWith("img=")) { try { - int var17 = GrandExchangeOfferAgeComparator.method5303(var16.substring(4)); + int var17 = class279.method5134(var16.substring(4)); var4 += AbstractFont_modIconSprites[var17].width; var11 = 0; } catch (Exception var20) { @@ -391,17 +391,17 @@ public abstract class AbstractFont extends Rasterizer2D { return var4; } - @ObfuscatedName("f") + @ObfuscatedName("s") @Export("lineCount") public int lineCount(String var1, int var2) { return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); } - @ObfuscatedName("h") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "(IILjava/lang/String;II)Lmt;" + descriptor = "(IILjava/lang/String;II)Lme;" ) - public Bounds method5657(int var1, int var2, String var3, int var4, int var5) { + public Bounds method5693(int var1, int var2, String var3, int var4, int var5) { if (var3 != null && var3.length() >= var2 + var1) { int var6 = var4 - this.stringWidth(var3) / 2; var6 += this.stringWidth(var3.substring(0, var1)); @@ -414,7 +414,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("d") + @ObfuscatedName("x") @Export("draw") public void draw(String var1, int var2, int var3, int var4, int var5) { if (var1 != null) { @@ -423,7 +423,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("q") + @ObfuscatedName("p") @Export("drawAlpha") public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) { if (var1 != null) { @@ -433,7 +433,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("j") + @ObfuscatedName("z") @Export("drawRightAligned") public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) { if (var1 != null) { @@ -442,7 +442,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("x") + @ObfuscatedName("h") @Export("drawCentered") public void drawCentered(String var1, int var2, int var3, int var4, int var5) { if (var1 != null) { @@ -451,7 +451,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("b") + @ObfuscatedName("o") @Export("drawLines") public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { if (var1 == null) { @@ -512,7 +512,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("t") + @ObfuscatedName("r") @Export("drawCenteredWave") public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) { if (var1 != null) { @@ -527,7 +527,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("r") + @ObfuscatedName("n") @Export("drawCenteredWave2") public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) { if (var1 != null) { @@ -544,7 +544,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("p") + @ObfuscatedName("u") @Export("drawCenteredShake") public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) { if (var1 != null) { @@ -564,7 +564,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("w") + @ObfuscatedName("d") @Export("drawRandomAlphaAndSpacing") public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) { if (var1 != null) { @@ -585,7 +585,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("i") + @ObfuscatedName("ab") @Export("reset") void reset(int var1, int var2) { AbstractFont_strike = -1; @@ -599,28 +599,28 @@ public abstract class AbstractFont extends Rasterizer2D { AbstractFont_justificationCurrent = 0; } - @ObfuscatedName("aq") + @ObfuscatedName("ad") @Export("decodeTag") void decodeTag(String var1) { try { if (var1.startsWith("col=")) { - AbstractFont_color = class113.method2479(var1.substring(4), 16); + AbstractFont_color = class116.method2510(var1.substring(4), 16); } else if (var1.equals("/col")) { AbstractFont_color = AbstractFont_previousColor; } else if (var1.startsWith("str=")) { - AbstractFont_strike = class113.method2479(var1.substring(4), 16); + AbstractFont_strike = class116.method2510(var1.substring(4), 16); } else if (var1.equals("str")) { AbstractFont_strike = 8388608; } else if (var1.equals("/str")) { AbstractFont_strike = -1; } else if (var1.startsWith("u=")) { - AbstractFont_underline = class113.method2479(var1.substring(2), 16); + AbstractFont_underline = class116.method2510(var1.substring(2), 16); } else if (var1.equals("u")) { AbstractFont_underline = 0; } else if (var1.equals("/u")) { AbstractFont_underline = -1; } else if (var1.startsWith("shad=")) { - AbstractFont_shadow = class113.method2479(var1.substring(5), 16); + AbstractFont_shadow = class116.method2510(var1.substring(5), 16); } else if (var1.equals("shad")) { AbstractFont_shadow = 0; } else if (var1.equals("/shad")) { @@ -633,7 +633,7 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("ad") + @ObfuscatedName("as") @Export("calculateLineJustification") void calculateLineJustification(String var1, int var2) { int var3 = 0; @@ -656,7 +656,7 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("al") + @ObfuscatedName("ak") @Export("draw0") void draw0(String var1, int var2, int var3) { var3 -= this.ascent; @@ -665,7 +665,7 @@ public abstract class AbstractFont extends Rasterizer2D { for (int var6 = 0; var6 < var1.length(); ++var6) { if (var1.charAt(var6) != 0) { - char var7 = (char)(WorldMapSection2.charToByteCp1252(var1.charAt(var6)) & 255); + char var7 = (char)(MilliClock.charToByteCp1252(var1.charAt(var6)) & 255); if (var7 == '<') { var4 = var6; } else { @@ -679,7 +679,7 @@ public abstract class AbstractFont extends Rasterizer2D { if (!var8.equals("gt")) { if (var8.startsWith("img=")) { try { - var9 = GrandExchangeOfferAgeComparator.method5303(var8.substring(4)); + var9 = class279.method5134(var8.substring(4)); IndexedSprite var10 = AbstractFont_modIconSprites[var9]; var10.drawAt(var2, var3 + this.ascent - var10.height); var2 += var10.width; @@ -745,7 +745,7 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("aa") + @ObfuscatedName("ah") @Export("drawWithOffsets0") void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) { var3 -= this.ascent; @@ -755,7 +755,7 @@ public abstract class AbstractFont extends Rasterizer2D { for (int var9 = 0; var9 < var1.length(); ++var9) { if (var1.charAt(var9) != 0) { - char var10 = (char)(WorldMapSection2.charToByteCp1252(var1.charAt(var9)) & 255); + char var10 = (char)(MilliClock.charToByteCp1252(var1.charAt(var9)) & 255); if (var10 == '<') { var6 = var9; } else { @@ -784,7 +784,7 @@ public abstract class AbstractFont extends Rasterizer2D { } ++var8; - var14 = GrandExchangeOfferAgeComparator.method5303(var11.substring(4)); + var14 = class279.method5134(var11.substring(4)); IndexedSprite var15 = AbstractFont_modIconSprites[var14]; var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); var2 += var15.width; @@ -863,8 +863,8 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("u") - static int method5635(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { + @ObfuscatedName("i") + static int method5686(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]; @@ -899,7 +899,7 @@ public abstract class AbstractFont extends Rasterizer2D { return -var13; } - @ObfuscatedName("s") + @ObfuscatedName("c") @Export("escapeBrackets") public static String escapeBrackets(String var0) { int var1 = var0.length(); @@ -928,7 +928,7 @@ public abstract class AbstractFont extends Rasterizer2D { return var6.toString(); } - @ObfuscatedName("aw") + @ObfuscatedName("ay") @Export("AbstractFont_drawGlyph") static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) { int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; @@ -970,7 +970,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("at") + @ObfuscatedName("al") @Export("AbstractFont_placeGlyph") static void AbstractFont_placeGlyph(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = -(var5 >> 2); @@ -1018,7 +1018,7 @@ public abstract class AbstractFont extends Rasterizer2D { } - @ObfuscatedName("as") + @ObfuscatedName("ao") @Export("AbstractFont_drawGlyphAlpha") static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) { int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; @@ -1060,7 +1060,7 @@ public abstract class AbstractFont extends Rasterizer2D { } } - @ObfuscatedName("ae") + @ObfuscatedName("au") @Export("AbstractFont_placeGlyphAlpha") static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8; diff --git a/runescape-client/src/main/java/AbstractRasterProvider.java b/runescape-client/src/main/java/AbstractRasterProvider.java index 86d1cefc33..57858a01c9 100644 --- a/runescape-client/src/main/java/AbstractRasterProvider.java +++ b/runescape-client/src/main/java/AbstractRasterProvider.java @@ -4,21 +4,21 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("or") +@ObfuscatedName("ov") @Implements("AbstractRasterProvider") public abstract class AbstractRasterProvider { - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("pixels") public int[] pixels; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1966708419 + intValue = -504757775 ) @Export("width") public int width; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1693777643 + intValue = 391329801 ) @Export("height") public int height; @@ -26,26 +26,26 @@ public abstract class AbstractRasterProvider { protected AbstractRasterProvider() { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "286261249" + garbageValue = "517256419" ) @Export("drawFull") public abstract void drawFull(int var1, int var2); - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(IIIII)V", - garbageValue = "-1489672411" + garbageValue = "2140501062" ) @Export("draw") public abstract void draw(int var1, int var2, int var3, int var4); @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-31" + descriptor = "(I)V", + garbageValue = "352466730" ) @Export("apply") public final void apply() { diff --git a/runescape-client/src/main/java/AbstractSocket.java b/runescape-client/src/main/java/AbstractSocket.java index ec2814b65a..617a5142b8 100644 --- a/runescape-client/src/main/java/AbstractSocket.java +++ b/runescape-client/src/main/java/AbstractSocket.java @@ -4,140 +4,57 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mv") +@ObfuscatedName("mk") @Implements("AbstractSocket") public abstract class AbstractSocket { protected AbstractSocket() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "4535" + descriptor = "(B)V", + garbageValue = "82" ) @Export("close") public abstract void close(); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "61" + descriptor = "(I)I", + garbageValue = "1780579727" ) @Export("readUnsignedByte") public abstract int readUnsignedByte() throws IOException; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1430321597" + garbageValue = "-973037380" ) @Export("available") public abstract int available() throws IOException; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "823949627" + garbageValue = "1444896063" ) @Export("isAvailable") public abstract boolean isAvailable(int var1) throws IOException; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "593938417" + descriptor = "([BIIB)I", + garbageValue = "-95" ) @Export("read") public abstract int read(byte[] var1, int var2, int var3) throws IOException; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "-4" + descriptor = "([BIII)V", + garbageValue = "34744814" ) @Export("write") public abstract void write(byte[] var1, int var2, int var3) throws IOException; - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;IIB)Llu;", - garbageValue = "0" - ) - public static Font method6107(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { - byte[] var5 = var0.takeFile(var2, var3); - boolean var4; - if (var5 == null) { - var4 = false; - } else { - class28.SpriteBuffer_decode(var5); - var4 = true; - } - - return !var4 ? null : WorldMapArchiveLoader.method6348(var1.takeFile(var2, var3)); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)Loc;", - garbageValue = "-1227979841" - ) - static SpritePixels method6108() { - SpritePixels var0 = new SpritePixels(); - var0.width = class413.SpriteBuffer_spriteWidth; - var0.height = class413.SpriteBuffer_spriteHeight; - var0.xOffset = class413.SpriteBuffer_xOffsets[0]; - var0.yOffset = class413.SpriteBuffer_yOffsets[0]; - var0.subWidth = InvDefinition.SpriteBuffer_spriteWidths[0]; - var0.subHeight = class413.SpriteBuffer_spriteHeights[0]; - int var1 = var0.subHeight * var0.subWidth; - byte[] var2 = class283.SpriteBuffer_pixels[0]; - var0.pixels = new int[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - var0.pixels[var3] = ItemContainer.SpriteBuffer_spritePalette[var2[var3] & 255]; - } - - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - return var0; - } - - @ObfuscatedName("jd") - @ObfuscatedSignature( - descriptor = "(Ljd;Lfy;IIZI)V", - garbageValue = "1327737191" - ) - @Export("addWidgetItemMenuItem") - static final void addWidgetItemMenuItem(Widget var0, ItemComposition var1, int var2, int var3, boolean var4) { - String[] var5 = var1.inventoryActions; - byte var6 = -1; - String var7 = null; - if (var5 != null && var5[var3] != null) { - if (var3 == 0) { - var6 = 33; - } else if (var3 == 1) { - var6 = 34; - } else if (var3 == 2) { - var6 = 35; - } else if (var3 == 3) { - var6 = 36; - } else { - var6 = 37; - } - - var7 = var5[var3]; - } else if (var3 == 4) { - var6 = 37; - var7 = "Drop"; - } - - if (var6 != -1 && var7 != null) { - GrandExchangeEvents.insertMenuItem(var7, class54.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); - } - - } } diff --git a/runescape-client/src/main/java/AbstractSound.java b/runescape-client/src/main/java/AbstractSound.java index 3b0ca961f6..746aa1197c 100644 --- a/runescape-client/src/main/java/AbstractSound.java +++ b/runescape-client/src/main/java/AbstractSound.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("bt") @Implements("AbstractSound") public abstract class AbstractSound extends Node { - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("position") int position; diff --git a/runescape-client/src/main/java/AbstractUserComparator.java b/runescape-client/src/main/java/AbstractUserComparator.java index 6432a70b66..47ff6596a1 100644 --- a/runescape-client/src/main/java/AbstractUserComparator.java +++ b/runescape-client/src/main/java/AbstractUserComparator.java @@ -1,26 +1,26 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lc") +@ObfuscatedName("mv") @Implements("AbstractUserComparator") public abstract class AbstractUserComparator implements Comparator { - @ObfuscatedName("c") + @ObfuscatedName("u") + @Export("BZip2Decompressor_block") + static int[] BZip2Decompressor_block; + @ObfuscatedName("q") @Export("nextComparator") Comparator nextComparator; protected AbstractUserComparator() { } - @ObfuscatedName("l") + @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(Ljava/util/Comparator;I)V", - garbageValue = "-1701811503" + garbageValue = "-1038050583" ) @Export("addComparator") final void addComparator(Comparator var1) { @@ -32,10 +32,10 @@ public abstract class AbstractUserComparator implements Comparator { } - @ObfuscatedName("y") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(Lle;Lle;S)I", - garbageValue = "161" + descriptor = "(Llu;Llu;I)I", + garbageValue = "-2140544019" ) @Export("compareUser") protected final int compareUser(User var1, User var2) { @@ -46,41 +46,61 @@ public abstract class AbstractUserComparator implements Comparator { return super.equals(var1); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "115" + descriptor = "([BIIB)Ljava/lang/String;", + garbageValue = "6" ) - public static void method5977() { - try { - File var0 = new File(ItemContainer.userHomeDirectory, "random.dat"); - int var2; - if (var0.exists()) { - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); - } else { - label38: - for (int var1 = 0; var1 < ChatChannel.cacheSubPaths.length; ++var1) { - for (var2 = 0; var2 < Varcs.cacheParentPaths.length; ++var2) { - File var3 = new File(Varcs.cacheParentPaths[var2] + ChatChannel.cacheSubPaths[var1] + File.separatorChar + "random.dat"); - if (var3.exists()) { - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); - break label38; - } - } - } - } + public static String method6049(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; + int var5 = var1; - if (JagexCache.JagexCache_randomDat == null) { - RandomAccessFile var4 = new RandomAccessFile(var0, "rw"); - var2 = var4.read(); - var4.seek(0L); - var4.write(var2); - var4.seek(0L); - var4.close(); - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); + int var8; + for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { + int var7 = var0[var5++] & 255; + if (var7 < 128) { + if (var7 == 0) { + var8 = 65533; + } else { + var8 = var7; + } + } else if (var7 < 192) { + var8 = 65533; + } else if (var7 < 224) { + if (var5 < var6 && (var0[var5] & 192) == 128) { + var8 = (var7 & 31) << 6 | var0[var5++] & 63; + if (var8 < 128) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 240) { + if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { + var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 < 2048) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 248) { + if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { + var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 >= 65536 && var8 <= 1114111) { + var8 = 65533; + } else { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else { + var8 = 65533; } - } catch (IOException var5) { } + return new String(var3, 0, var4); } } diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java index 0d36c1f3f6..6996036c6d 100644 --- a/runescape-client/src/main/java/AbstractWorldMapData.java +++ b/runescape-client/src/main/java/AbstractWorldMapData.java @@ -5,108 +5,108 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gy") +@ObfuscatedName("ge") @Implements("AbstractWorldMapData") public abstract class AbstractWorldMapData { - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 355210745 + intValue = 485777657 ) @Export("regionXLow") int regionXLow; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1471766729 + intValue = -1648853135 ) @Export("regionYLow") int regionYLow; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -801266965 + intValue = 259813413 ) @Export("regionX") int regionX; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 882284497 + intValue = 1299483951 ) @Export("regionY") int regionY; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1262038287 + intValue = 333217485 ) @Export("minPlane") int minPlane; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1001361869 + intValue = -1265162417 ) @Export("planes") int planes; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1629652609 + intValue = 1495826135 ) @Export("groupId") int groupId; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -2041641449 + intValue = 1718555041 ) @Export("fileId") int fileId; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("floorUnderlayIds") short[][][] floorUnderlayIds; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("floorOverlayIds") short[][][] floorOverlayIds; @ObfuscatedName("s") - byte[][][] field2143; - @ObfuscatedName("h") - byte[][][] field2144; - @ObfuscatedName("d") + byte[][][] field2155; + @ObfuscatedName("c") + byte[][][] field2149; + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "[[[[Lgc;" + descriptor = "[[[[Lgk;" ) @Export("decorations") WorldMapDecoration[][][][] decorations; - @ObfuscatedName("q") - boolean field2146; - @ObfuscatedName("j") - boolean field2147; + @ObfuscatedName("x") + boolean field2158; + @ObfuscatedName("p") + boolean field2159; AbstractWorldMapData() { this.groupId = -1; this.fileId = -1; new LinkedList(); - this.field2146 = false; - this.field2147 = false; + this.field2158 = false; + this.field2159 = false; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "2" + descriptor = "(Lot;I)V", + garbageValue = "725648072" ) @Export("readGeography") abstract void readGeography(Buffer var1); - @ObfuscatedName("x") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "53" + descriptor = "(I)Z", + garbageValue = "1318755957" ) @Export("isFullyLoaded") boolean isFullyLoaded() { - return this.field2146 && this.field2147; + return this.field2158 && this.field2159; } - @ObfuscatedName("b") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(Lkk;I)V", - garbageValue = "-1354291694" + descriptor = "(Lkl;I)V", + garbageValue = "-207227347" ) @Export("loadGeography") void loadGeography(AbstractArchive var1) { @@ -114,53 +114,53 @@ public abstract class AbstractWorldMapData { byte[] var2 = var1.takeFile(this.groupId, this.fileId); if (var2 != null) { this.readGeography(new Buffer(var2)); - this.field2146 = true; - this.field2147 = true; + this.field2158 = true; + this.field2159 = true; } } } - @ObfuscatedName("t") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-74" + descriptor = "(I)V", + garbageValue = "973157758" ) @Export("reset") void reset() { this.floorUnderlayIds = null; this.floorOverlayIds = null; - this.field2143 = null; - this.field2144 = null; + this.field2155 = null; + this.field2149 = null; this.decorations = null; - this.field2146 = false; - this.field2147 = false; + this.field2158 = false; + this.field2159 = false; } - @ObfuscatedName("r") + @ObfuscatedName("ad") @ObfuscatedSignature( descriptor = "(IILot;B)V", - garbageValue = "59" + garbageValue = "7" ) @Export("readTile") void readTile(int var1, int var2, Buffer var3) { int var4 = var3.readUnsignedByte(); if (var4 != 0) { if ((var4 & 1) != 0) { - this.method3776(var1, var2, var3, var4); + this.method3838(var1, var2, var3, var4); } else { - this.method3777(var1, var2, var3, var4); + this.method3854(var1, var2, var3, var4); } } } - @ObfuscatedName("p") + @ObfuscatedName("as") @ObfuscatedSignature( - descriptor = "(IILot;IB)V", - garbageValue = "0" + descriptor = "(IILot;II)V", + garbageValue = "-1781544444" ) - void method3776(int var1, int var2, Buffer var3, int var4) { + void method3838(int var1, int var2, Buffer var3, int var4) { boolean var5 = (var4 & 2) != 0; if (var5) { this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); @@ -169,12 +169,12 @@ public abstract class AbstractWorldMapData { this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); } - @ObfuscatedName("w") + @ObfuscatedName("ak") @ObfuscatedSignature( - descriptor = "(IILot;IB)V", - garbageValue = "103" + descriptor = "(IILot;II)V", + garbageValue = "817446843" ) - void method3777(int var1, int var2, Buffer var3, int var4) { + void method3854(int var1, int var2, Buffer var3, int var4) { int var5 = ((var4 & 24) >> 3) + 1; boolean var6 = (var4 & 2) != 0; boolean var7 = (var4 & 4) != 0; @@ -190,8 +190,8 @@ public abstract class AbstractWorldMapData { if (var14 != 0) { this.floorOverlayIds[var9][var1][var2] = (short)var14; var11 = var3.readUnsignedByte(); - this.field2143[var9][var1][var2] = (byte)(var11 >> 2); - this.field2144[var9][var1][var2] = (byte)(var11 & 3); + this.field2155[var9][var1][var2] = (byte)(var11 >> 2); + this.field2149[var9][var1][var2] = (byte)(var11 & 3); } } } @@ -203,7 +203,7 @@ public abstract class AbstractWorldMapData { WorldMapDecoration[] var10 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9]; for (var11 = 0; var11 < var9; ++var11) { - int var12 = var3.method6985(); + int var12 = var3.method6977(); int var13 = var3.readUnsignedByte(); var10[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); } @@ -213,32 +213,23 @@ public abstract class AbstractWorldMapData { } - @ObfuscatedName("i") + @ObfuscatedName("ah") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-40452526" + garbageValue = "-344905889" ) @Export("getRegionX") int getRegionX() { return this.regionX; } - @ObfuscatedName("aq") + @ObfuscatedName("ay") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1885413778" + garbageValue = "1558548546" ) @Export("getRegionY") int getRegionY() { return this.regionY; } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "2132924583" - ) - static String method3800() { - return VarbitComposition.clientPreferences.hideUsername ? GraphicsObject.method1866(Login.Login_username) : Login.Login_username; - } } diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index f9242906b6..d6e09c3087 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -3,88 +3,80 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gm") +@ObfuscatedName("gz") @Implements("AbstractWorldMapIcon") public abstract class AbstractWorldMapIcon { - @ObfuscatedName("bn") - @Export("otp") - static String otp; - @ObfuscatedName("fg") - @ObfuscatedGetter( - intValue = -1470370987 - ) - @Export("js5Port") - static int js5Port; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("coord2") public final Coord coord2; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("coord1") public final Coord coord1; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 644228695 + intValue = -426351163 ) @Export("screenX") int screenX; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -1315860779 + intValue = -1596897089 ) @Export("screenY") int screenY; @ObfuscatedSignature( - descriptor = "(Liy;Liy;)V" + descriptor = "(Lic;Lic;)V" ) AbstractWorldMapIcon(Coord var1, Coord var2) { this.coord1 = var1; this.coord2 = var2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "120" + descriptor = "(I)I", + garbageValue = "1329338621" ) @Export("getElement") public abstract int getElement(); - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(S)Lgz;", - garbageValue = "3118" + descriptor = "(S)Lga;", + garbageValue = "5309" ) @Export("getLabel") abstract WorldMapLabel getLabel(); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-50" + descriptor = "(I)I", + garbageValue = "-1544604408" ) @Export("getSubWidth") abstract int getSubWidth(); - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-967271066" + garbageValue = "318612621" ) @Export("getSubHeight") abstract int getSubHeight(); - @ObfuscatedName("h") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-545927785" + garbageValue = "-1175914629" ) @Export("fitsScreen") boolean fitsScreen(int var1, int var2) { @@ -95,60 +87,61 @@ public abstract class AbstractWorldMapIcon { } } - @ObfuscatedName("d") + @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1733831086" + garbageValue = "1433310024" ) @Export("hasValidElement") boolean hasValidElement() { return this.getElement() >= 0; } - @ObfuscatedName("q") + @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1675703397" + garbageValue = "-1158967973" ) @Export("elementFitsScreen") boolean elementFitsScreen(int var1, int var2) { if (!this.hasValidElement()) { return false; } else { - WorldMapElement var3 = class54.WorldMapElement_get(this.getElement()); + WorldMapElement var3 = class13.WorldMapElement_get(this.getElement()); int var4 = this.getSubWidth(); int var5 = this.getSubHeight(); switch(var3.horizontalAlignment.value) { case 0: - if (var1 > this.screenX - var4 && var1 <= this.screenX) { + if (var1 <= this.screenX - var4 || var1 > this.screenX) { + return false; + } + break; + case 1: + if (var1 >= this.screenX && var1 < var4 + this.screenX) { break; } return false; - case 1: - if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { - return false; - } - break; case 2: - if (var1 < this.screenX || var1 >= var4 + this.screenX) { + if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { return false; } } switch(var3.verticalAlignment.value) { case 0: + if (var2 > this.screenY - var5 && var2 <= this.screenY) { + break; + } + + return false; + case 1: if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { return false; } break; - case 1: - if (var2 < this.screenY || var2 >= var5 + this.screenY) { - return false; - } - break; case 2: - if (var2 <= this.screenY - var5 || var2 > this.screenY) { + if (var2 < this.screenY || var2 >= var5 + this.screenY) { return false; } } @@ -157,10 +150,10 @@ public abstract class AbstractWorldMapIcon { } } - @ObfuscatedName("j") + @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "859563161" + garbageValue = "358371055" ) @Export("labelFitsScreen") boolean labelFitsScreen(int var1, int var2) { @@ -174,51 +167,79 @@ public abstract class AbstractWorldMapIcon { } } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "-417531857" - ) - @Export("ByteArrayPool_release") - public static synchronized void ByteArrayPool_release(byte[] var0) { - if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) { - ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; - } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) { - ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; - } else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) { - ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; - } else { - if (ByteArrayPool.ByteArrayPool_arrays != null) { - for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) { - if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && TileItem.ByteArrayPool_altSizeArrayCounts[var1] < ByteArrayPool.ByteArrayPool_arrays[var1].length) { - ByteArrayPool.ByteArrayPool_arrays[var1][TileItem.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; - return; - } - } - } - - } - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(IZIZI)V", - garbageValue = "2006423596" - ) - @Export("sortWorldList") - static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { - if (class393.World_worlds != null) { - MusicPatchNode2.doWorldSorting(0, class393.World_worlds.length - 1, var0, var1, var2, var3); - } - - } - @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "237623973" + descriptor = "(II)Z", + garbageValue = "-2018731183" ) - public static void method3871() { - PlayerComposition.PlayerAppearance_cachedModels.clear(); + @Export("isWorldMapEvent") + public static boolean isWorldMapEvent(int var0) { + return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Len;", + garbageValue = "1432352072" + ) + public static Clock method3943() { + try { + return new NanoClock(); + } catch (Throwable var1) { + return new MilliClock(); + } + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "1775904885" + ) + static int method3945(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.GETWINDOWMODE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class12.getWindowedMode(); + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.SETWINDOWMODE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + class392.setWindowedMode(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapDecorationType.clientPreferences.windowMode; + return 1; + } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { + if (var0 == 5310) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 5311) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 5312) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 5350) { + class54.Interpreter_stringStackSize -= 2; + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 5351) { + --class54.Interpreter_stringStackSize; + return 1; + } else { + return 2; + } + } else { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + WorldMapDecorationType.clientPreferences.windowMode = var3; + ScriptFrame.savePreferences(); + } + + return 1; + } + } } } diff --git a/runescape-client/src/main/java/AccessFile.java b/runescape-client/src/main/java/AccessFile.java index 8898e8a109..a2266195ab 100644 --- a/runescape-client/src/main/java/AccessFile.java +++ b/runescape-client/src/main/java/AccessFile.java @@ -3,27 +3,37 @@ import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.io.SyncFailedException; +import java.lang.management.GarbageCollectorMXBean; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nn") +@ObfuscatedName("nj") @Implements("AccessFile") public final class AccessFile { - @ObfuscatedName("n") + @ObfuscatedName("pq") + @ObfuscatedSignature( + descriptor = "Lec;" + ) + @Export("mouseWheel") + static class144 mouseWheel; + @ObfuscatedName("am") + @Export("garbageCollector") + static GarbageCollectorMXBean garbageCollector; + @ObfuscatedName("l") @Export("file") RandomAccessFile file; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - longValue = -7798765387972925107L + longValue = -672899169781171493L ) @Export("maxSize") final long maxSize; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - longValue = -7601415967447265427L + longValue = 492034629015795711L ) @Export("offset") long offset; @@ -49,21 +59,21 @@ public final class AccessFile { this.file.seek(0L); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("seek") final void seek(long var1) throws IOException { this.file.seek(var1); this.offset = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "-835531567" + descriptor = "([BIIS)V", + garbageValue = "-18286" ) @Export("write") public final void write(byte[] var1, int var2, int var3) throws IOException { - if (this.offset + (long)var3 > this.maxSize) { + if ((long)var3 + this.offset > this.maxSize) { this.file.seek(this.maxSize); this.file.write(1); throw new EOFException(); @@ -73,20 +83,20 @@ public final class AccessFile { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2140566531" + descriptor = "(B)V", + garbageValue = "23" ) @Export("close") public final void close() throws IOException { this.closeSync(false); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "1203753270" + descriptor = "(ZB)V", + garbageValue = "1" ) @Export("closeSync") public final void closeSync(boolean var1) throws IOException { @@ -104,20 +114,20 @@ public final class AccessFile { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)J", - garbageValue = "112" + descriptor = "(I)J", + garbageValue = "1317310270" ) @Export("length") public final long length() throws IOException { return this.file.length(); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "([BIIS)I", - garbageValue = "20876" + descriptor = "([BIII)I", + garbageValue = "-1029557368" ) @Export("read") public final int read(byte[] var1, int var2, int var3) throws IOException { @@ -137,12 +147,13 @@ public final class AccessFile { } - @ObfuscatedName("ek") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "1980945525" + descriptor = "(Lkl;III)Lon;", + garbageValue = "-528990707" ) - static int method6644(int var0) { - return var0 * 3 + 600; + @Export("SpriteBuffer_getSprite") + public static SpritePixels SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { + return !VarbitComposition.method3102(var0, var1, var2) ? null : SoundCache.method784(); } } diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 806484b2e3..52e8477385 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -4,320 +4,320 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cf") +@ObfuscatedName("cd") @Implements("Actor") public abstract class Actor extends Renderable { - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = 859699173 + intValue = 62759075 ) @Export("x") int x; - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedGetter( - intValue = 1906173449 + intValue = 1009828555 ) @Export("y") int y; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = 2031376903 + intValue = 1423374395 ) @Export("rotation") int rotation; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("isWalking") boolean isWalking; - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedGetter( - intValue = 109112903 + intValue = 1160515319 ) - int field1137; - @ObfuscatedName("ak") + int field1109; + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = 108323995 + intValue = 1147297953 ) @Export("playerCycle") int playerCycle; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = 325157293 + intValue = -1048949801 ) @Export("idleSequence") int idleSequence; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @ObfuscatedGetter( - intValue = 710162855 + intValue = 1606324787 ) @Export("turnLeftSequence") int turnLeftSequence; - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedGetter( - intValue = -1261206163 + intValue = 715696475 ) @Export("turnRightSequence") int turnRightSequence; - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedGetter( - intValue = 954630749 + intValue = 1052608255 ) @Export("walkSequence") int walkSequence; - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedGetter( - intValue = 624221683 + intValue = 513855783 ) @Export("walkBackSequence") int walkBackSequence; - @ObfuscatedName("ay") + @ObfuscatedName("ax") @ObfuscatedGetter( - intValue = -1941620231 + intValue = 930462249 ) @Export("walkLeftSequence") int walkLeftSequence; - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedGetter( - intValue = -1182742981 + intValue = -964291647 ) @Export("walkRightSequence") int walkRightSequence; - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedGetter( - intValue = 1643817169 + intValue = 1974909991 ) @Export("runSequence") int runSequence; - @ObfuscatedName("ai") + @ObfuscatedName("ap") @Export("overheadText") String overheadText; - @ObfuscatedName("ac") + @ObfuscatedName("aj") @Export("isAutoChatting") boolean isAutoChatting; - @ObfuscatedName("ag") - boolean field1108; - @ObfuscatedName("ar") + @ObfuscatedName("am") + boolean field1121; + @ObfuscatedName("aw") @ObfuscatedGetter( - intValue = -1995115317 + intValue = -1274300065 ) @Export("overheadTextCyclesRemaining") int overheadTextCyclesRemaining; @ObfuscatedName("az") @ObfuscatedGetter( - intValue = 1211889675 + intValue = -1634662763 ) @Export("overheadTextColor") int overheadTextColor; - @ObfuscatedName("ah") + @ObfuscatedName("ae") @ObfuscatedGetter( - intValue = 1604541403 + intValue = -1844091037 ) @Export("overheadTextEffect") int overheadTextEffect; - @ObfuscatedName("ax") + @ObfuscatedName("af") @Export("hitSplatCount") byte hitSplatCount; - @ObfuscatedName("bd") + @ObfuscatedName("bz") @Export("hitSplatTypes") int[] hitSplatTypes; @ObfuscatedName("bt") @Export("hitSplatValues") int[] hitSplatValues; - @ObfuscatedName("bf") + @ObfuscatedName("bg") @Export("hitSplatCycles") int[] hitSplatCycles; - @ObfuscatedName("bp") + @ObfuscatedName("bf") @Export("hitSplatTypes2") int[] hitSplatTypes2; - @ObfuscatedName("bl") + @ObfuscatedName("bj") @Export("hitSplatValues2") int[] hitSplatValues2; - @ObfuscatedName("bc") + @ObfuscatedName("bo") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) @Export("healthBars") IterableNodeDeque healthBars; - @ObfuscatedName("br") + @ObfuscatedName("bx") @ObfuscatedGetter( - intValue = -651620429 + intValue = 1294228425 ) @Export("targetIndex") int targetIndex; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @Export("false0") boolean false0; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @ObfuscatedGetter( - intValue = -1607294201 + intValue = -1908710717 ) - int field1096; - @ObfuscatedName("bj") + int field1134; + @ObfuscatedName("ba") @ObfuscatedGetter( - intValue = 1209933873 + intValue = -1559878903 ) @Export("movementSequence") int movementSequence; - @ObfuscatedName("be") + @ObfuscatedName("bm") @ObfuscatedGetter( - intValue = 1480679575 + intValue = 470210683 ) @Export("movementFrame") int movementFrame; - @ObfuscatedName("bq") + @ObfuscatedName("bv") @ObfuscatedGetter( - intValue = 730478525 + intValue = -94469869 ) @Export("movementFrameCycle") int movementFrameCycle; - @ObfuscatedName("bu") + @ObfuscatedName("bs") @ObfuscatedGetter( - intValue = -519423817 + intValue = -174294577 ) @Export("sequence") int sequence; - @ObfuscatedName("bn") + @ObfuscatedName("bd") @ObfuscatedGetter( - intValue = -1945553445 + intValue = -1395712137 ) @Export("sequenceFrame") int sequenceFrame; - @ObfuscatedName("bk") + @ObfuscatedName("bb") @ObfuscatedGetter( - intValue = 2024239161 + intValue = 1907492289 ) @Export("sequenceFrameCycle") int sequenceFrameCycle; - @ObfuscatedName("bm") + @ObfuscatedName("bh") @ObfuscatedGetter( - intValue = -268271383 + intValue = -1363443673 ) @Export("sequenceDelay") int sequenceDelay; - @ObfuscatedName("bb") + @ObfuscatedName("bi") @ObfuscatedGetter( - intValue = 934097405 + intValue = 2070977901 ) - int field1099; - @ObfuscatedName("bx") + int field1142; + @ObfuscatedName("bq") @ObfuscatedGetter( - intValue = 358555221 + intValue = 1362318977 ) @Export("spotAnimation") int spotAnimation; - @ObfuscatedName("ba") + @ObfuscatedName("by") @ObfuscatedGetter( - intValue = 416629453 + intValue = -1330353911 ) @Export("spotAnimationFrame") int spotAnimationFrame; - @ObfuscatedName("bg") + @ObfuscatedName("be") @ObfuscatedGetter( - intValue = 1367399047 + intValue = 1656933541 ) @Export("spotAnimationFrameCycle") int spotAnimationFrameCycle; - @ObfuscatedName("bo") + @ObfuscatedName("bw") @ObfuscatedGetter( - intValue = -499820313 + intValue = -341495445 ) - int field1133; - @ObfuscatedName("bv") + int field1105; + @ObfuscatedName("bn") @ObfuscatedGetter( - intValue = -138571811 + intValue = 475790425 ) - int field1134; - @ObfuscatedName("bi") + int field1147; + @ObfuscatedName("bl") @ObfuscatedGetter( - intValue = -2138117835 + intValue = -1307254299 ) - int field1135; - @ObfuscatedName("bs") + int field1148; + @ObfuscatedName("bk") @ObfuscatedGetter( - intValue = -1059579057 + intValue = -1553617601 ) - int field1121; - @ObfuscatedName("by") + int field1149; + @ObfuscatedName("bp") @ObfuscatedGetter( - intValue = -209560377 + intValue = -1049240827 ) - int field1141; - @ObfuscatedName("bz") + int field1126; + @ObfuscatedName("br") @ObfuscatedGetter( - intValue = -1658774391 + intValue = 401025355 ) - int field1110; - @ObfuscatedName("cw") + int field1125; + @ObfuscatedName("ca") @ObfuscatedGetter( - intValue = -1482421269 + intValue = 321143973 ) - int field1139; - @ObfuscatedName("ci") + int field1145; + @ObfuscatedName("ct") @ObfuscatedGetter( - intValue = -1273273369 + intValue = 1090012593 ) - int field1140; - @ObfuscatedName("cl") + int field1165; + @ObfuscatedName("cy") @ObfuscatedGetter( - intValue = -1602302083 + intValue = -2139655667 ) - int field1101; - @ObfuscatedName("cu") + int field1151; + @ObfuscatedName("cg") @ObfuscatedGetter( - intValue = 1519576615 + intValue = 492191773 ) @Export("npcCycle") int npcCycle; - @ObfuscatedName("co") + @ObfuscatedName("ci") @ObfuscatedGetter( - intValue = 869477707 + intValue = -2069346077 ) @Export("defaultHeight") int defaultHeight; - @ObfuscatedName("cb") + @ObfuscatedName("cx") @ObfuscatedGetter( - intValue = 544403561 + intValue = 1495923269 ) @Export("orientation") int orientation; - @ObfuscatedName("cf") + @ObfuscatedName("cd") @ObfuscatedGetter( - intValue = -1375996437 + intValue = -1736409391 ) - int field1145; - @ObfuscatedName("cc") + int field1158; + @ObfuscatedName("cp") @ObfuscatedGetter( - intValue = 2052402129 + intValue = -951772859 ) int field1146; - @ObfuscatedName("cn") + @ObfuscatedName("cl") @ObfuscatedGetter( - intValue = -745432089 + intValue = -504625235 ) @Export("pathLength") int pathLength; - @ObfuscatedName("ch") + @ObfuscatedName("cr") @Export("pathX") int[] pathX; - @ObfuscatedName("cx") + @ObfuscatedName("cq") @Export("pathY") int[] pathY; - @ObfuscatedName("cv") + @ObfuscatedName("cs") @Export("pathTraversed") byte[] pathTraversed; - @ObfuscatedName("cr") + @ObfuscatedName("cw") @ObfuscatedGetter( - intValue = 590723515 + intValue = 1675210125 ) - int field1151; - @ObfuscatedName("cq") + int field1164; + @ObfuscatedName("ce") @ObfuscatedGetter( - intValue = 531606775 + intValue = 158996051 ) - int field1152; + int field1129; Actor() { this.isWalking = false; - this.field1137 = 1; + this.field1109 = 1; this.idleSequence = -1; this.turnLeftSequence = -1; this.turnRightSequence = -1; @@ -327,7 +327,7 @@ public abstract class Actor extends Renderable { this.walkRightSequence = -1; this.runSequence = -1; this.overheadText = null; - this.field1108 = false; + this.field1121 = false; this.overheadTextCyclesRemaining = 100; this.overheadTextColor = 0; this.overheadTextEffect = 0; @@ -340,7 +340,7 @@ public abstract class Actor extends Renderable { this.healthBars = new IterableNodeDeque(); this.targetIndex = -1; this.false0 = false; - this.field1096 = -1; + this.field1134 = -1; this.movementSequence = -1; this.movementFrame = 0; this.movementFrameCycle = 0; @@ -348,46 +348,46 @@ public abstract class Actor extends Renderable { this.sequenceFrame = 0; this.sequenceFrameCycle = 0; this.sequenceDelay = 0; - this.field1099 = 0; + this.field1142 = 0; this.spotAnimation = -1; this.spotAnimationFrame = 0; this.spotAnimationFrameCycle = 0; this.npcCycle = 0; this.defaultHeight = 200; - this.field1145 = 0; + this.field1158 = 0; this.field1146 = 32; this.pathLength = 0; this.pathX = new int[10]; this.pathY = new int[10]; this.pathTraversed = new byte[10]; - this.field1151 = 0; - this.field1152 = 0; + this.field1164 = 0; + this.field1129 = 0; } - @ObfuscatedName("q") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1101417957" + garbageValue = "-1841514183" ) @Export("isVisible") boolean isVisible() { return false; } - @ObfuscatedName("br") + @ObfuscatedName("bj") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-123" + descriptor = "(I)V", + garbageValue = "-256199204" ) - final void method2123() { + final void method2137() { this.pathLength = 0; - this.field1152 = 0; + this.field1129 = 0; } - @ObfuscatedName("bw") + @ObfuscatedName("bo") @ObfuscatedSignature( descriptor = "(IIIIIIB)V", - garbageValue = "73" + garbageValue = "1" ) @Export("addHitSplat") final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) { @@ -407,9 +407,9 @@ public abstract class Actor extends Renderable { int var10 = -1; int var11 = 0; if (var1 >= 0) { - HitSplatDefinition var12 = PendingSpawn.method2120(var1); - var10 = var12.field1813; - var11 = var12.field1804; + HitSplatDefinition var12 = ItemContainer.method2057(var1); + var10 = var12.field1815; + var11 = var12.field1806; } int var14; @@ -465,105 +465,255 @@ public abstract class Actor extends Renderable { } } - @ObfuscatedName("bh") + @ObfuscatedName("bx") @ObfuscatedSignature( - descriptor = "(IIIIIIB)V", - garbageValue = "75" + descriptor = "(IIIIIII)V", + garbageValue = "-1531936528" ) @Export("addHealthBar") final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { - HealthBarDefinition var7 = class1.method12(var1); - HealthBar var8 = null; - HealthBar var9 = null; - int var10 = var7.int2; - int var11 = 0; + HealthBarDefinition var8 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var7; + if (var8 != null) { + var7 = var8; + } else { + byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var8 = new HealthBarDefinition(); + if (var9 != null) { + var8.decode(new Buffer(var9)); + } - HealthBar var12; - for (var12 = (HealthBar)this.healthBars.last(); var12 != null; var12 = (HealthBar)this.healthBars.previous()) { - ++var11; - if (var12.definition.field1670 == var7.field1670) { - var12.put(var2 + var4, var5, var6, var3); + HealthBarDefinition.HealthBarDefinition_cached.put(var8, (long)var1); + var7 = var8; + } + + var8 = var7; + HealthBar var14 = null; + HealthBar var10 = null; + int var11 = var7.int2; + int var12 = 0; + + HealthBar var13; + for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) { + ++var12; + if (var13.definition.field1675 == var8.field1675) { + var13.put(var2 + var4, var5, var6, var3); return; } - if (var12.definition.int1 <= var7.int1) { - var8 = var12; + if (var13.definition.int1 <= var8.int1) { + var14 = var13; } - if (var12.definition.int2 > var10) { - var9 = var12; - var10 = var12.definition.int2; + if (var13.definition.int2 > var11) { + var10 = var13; + var11 = var13.definition.int2; } } - if (var9 != null || var11 < 4) { - var12 = new HealthBar(var7); - if (var8 == null) { - this.healthBars.addLast(var12); + if (var10 != null || var12 < 4) { + var13 = new HealthBar(var8); + if (var14 == null) { + this.healthBars.addLast(var13); } else { - IterableNodeDeque.IterableNodeDeque_addBefore(var12, var8); + IterableNodeDeque.IterableNodeDeque_addBefore(var13, var14); } - var12.put(var2 + var4, var5, var6, var3); - if (var11 >= 4) { - var9.remove(); + var13.put(var2 + var4, var5, var6, var3); + if (var12 >= 4) { + var10.remove(); } } } - @ObfuscatedName("bj") + @ObfuscatedName("bu") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-63793627" + descriptor = "(IB)V", + garbageValue = "-54" ) @Export("removeHealthBar") final void removeHealthBar(int var1) { - HealthBarDefinition var2 = class1.method12(var1); + HealthBarDefinition var3 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var2; + if (var3 != null) { + var2 = var3; + } else { + byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var3 = new HealthBarDefinition(); + if (var4 != null) { + var3.decode(new Buffer(var4)); + } - for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) { - if (var2 == var3.definition) { - var3.remove(); + HealthBarDefinition.HealthBarDefinition_cached.put(var3, (long)var1); + var2 = var3; + } + + var3 = var2; + + for (HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) { + if (var3 == var5.definition) { + var5.remove(); return; } } } - @ObfuscatedName("jr") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljd;I)V", - garbageValue = "1972737451" + descriptor = "(Lkl;Lkl;III)Llt;", + garbageValue = "-2030666937" ) - @Export("invalidateWidget") - static void invalidateWidget(Widget var0) { - if (var0.cycle == Client.field696) { - Client.field697[var0.rootIndex] = true; - } - - } - - @ObfuscatedName("kg") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "2106118340" - ) - static void method2132(String var0) { - WorldMapIcon_0.field2104 = var0; - - try { - String var1 = ArchiveDiskActionHandler.client.getParameter(Integer.toString(18)); - String var2 = ArchiveDiskActionHandler.client.getParameter(Integer.toString(13)); - String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; - if (var0.length() == 0) { - var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; + public static Font method2153(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { + if (!VarbitComposition.method3102(var0, var2, var3)) { + return null; + } else { + byte[] var5 = var1.takeFile(var2, var3); + Font var4; + if (var5 == null) { + var4 = null; } else { - var3 = var3 + "; Expires=" + class12.method172(Occluder.method4335() + 94608000000L) + "; Max-Age=" + 94608000L; + Font var6 = new Font(var5, class135.SpriteBuffer_xOffsets, class131.SpriteBuffer_yOffsets, class414.SpriteBuffer_spriteWidths, class16.SpriteBuffer_spriteHeights, class351.SpriteBuffer_spritePalette, class414.SpriteBuffer_pixels); + StudioGame.method5130(); + var4 = var6; } - class27.method397(ArchiveDiskActionHandler.client, "document.cookie=\"" + var3 + "\""); - } catch (Throwable var4) { + return var4; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IIIIIZB)Lon;", + garbageValue = "0" + ) + @Export("getItemSprite") + public static final SpritePixels getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { + if (var1 == -1) { + var4 = 0; + } else if (var4 == 2 && var1 != 1) { + var4 = 1; } + long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + ((long)var1 << 16) + (long)var0; + SpritePixels var8; + if (!var5) { + var8 = (SpritePixels)ItemComposition.ItemDefinition_cachedSprites.get(var6); + if (var8 != null) { + return var8; + } + } + + ItemComposition var9 = class87.ItemDefinition_get(var0); + if (var1 > 1 && var9.countobj != null) { + int var10 = -1; + + for (int var11 = 0; var11 < 10; ++var11) { + if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { + var10 = var9.countobj[var11]; + } + } + + if (var10 != -1) { + var9 = class87.ItemDefinition_get(var10); + } + } + + Model var19 = var9.getModel(1); + if (var19 == null) { + return null; + } else { + SpritePixels var20 = null; + if (var9.noteTemplate != -1) { + var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); + if (var20 == null) { + return null; + } + } else if (var9.notedId != -1) { + var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); + if (var20 == null) { + return null; + } + } else if (var9.placeholderTemplate != -1) { + var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); + if (var20 == null) { + return null; + } + } + + int[] var12 = Rasterizer2D.Rasterizer2D_pixels; + int var13 = Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_height; + int[] var15 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var15); + var8 = new SpritePixels(36, 32); + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + Rasterizer2D.Rasterizer2D_clear(); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.method4122(16, 16); + Rasterizer3D.field2348 = false; + if (var9.placeholderTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + int var16 = var9.zoom2d; + if (var5) { + var16 = (int)((double)var16 * 1.5D); + } else if (var2 == 2) { + var16 = (int)(1.04D * (double)var16); + } + + int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; + int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; + var19.calculateBoundsCylinder(); + var19.method4454(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); + if (var9.notedId != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var2 >= 1) { + var8.outline(1); + } + + if (var2 >= 2) { + var8.outline(16777215); + } + + if (var3 != 0) { + var8.shadow(var3); + } + + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + if (var9.noteTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { + ItemComposition.ItemDefinition_fontPlain11.draw(class16.method212(var1), 0, 9, 16776960, 1); + } + + if (!var5) { + ItemComposition.ItemDefinition_cachedSprites.put(var8, var6); + } + + Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); + Rasterizer2D.Rasterizer2D_setClipArray(var15); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.field2348 = true; + return var8; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-466966431" + ) + static final void method2152(String var0) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2725, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); } } diff --git a/runescape-client/src/main/java/Animation.java b/runescape-client/src/main/java/Animation.java index 53ea351674..ea77924ea1 100644 --- a/runescape-client/src/main/java/Animation.java +++ b/runescape-client/src/main/java/Animation.java @@ -3,51 +3,51 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ht") +@ObfuscatedName("hj") @Implements("Animation") public class Animation { - @ObfuscatedName("n") - static int[] field2295; - @ObfuscatedName("c") - static int[] field2301; + @ObfuscatedName("l") + static int[] field2312; + @ObfuscatedName("q") + static int[] field2306; + @ObfuscatedName("f") + static int[] field2307; + @ObfuscatedName("j") + static int[] field2308; @ObfuscatedName("m") - static int[] field2296; - @ObfuscatedName("k") - static int[] field2298; - @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "Lhm;" + descriptor = "Lhg;" ) @Export("skeleton") Skeleton skeleton; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("transformCount") int transformCount; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("transformSkeletonLabels") int[] transformSkeletonLabels; @ObfuscatedName("a") @Export("transformXs") int[] transformXs; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("transformYs") int[] transformYs; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("transformZs") int[] transformZs; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("hasAlphaTransform") boolean hasAlphaTransform; static { - field2295 = new int[500]; - field2301 = new int[500]; - field2296 = new int[500]; - field2298 = new int[500]; + field2312 = new int[500]; + field2306 = new int[500]; + field2307 = new int[500]; + field2308 = new int[500]; } @ObfuscatedSignature( - descriptor = "([BLhm;)V" + descriptor = "([BLhg;)V" ) Animation(byte[] var1, Skeleton var2) { this.skeleton = null; @@ -69,38 +69,38 @@ public class Animation { if (this.skeleton.transformTypes[var8] != 0) { for (int var10 = var8 - 1; var10 > var6; --var10) { if (this.skeleton.transformTypes[var10] == 0) { - field2295[var7] = var10; - field2301[var7] = 0; - field2296[var7] = 0; - field2298[var7] = 0; + field2312[var7] = var10; + field2306[var7] = 0; + field2307[var7] = 0; + field2308[var7] = 0; ++var7; break; } } } - field2295[var7] = var8; + field2312[var7] = var8; short var11 = 0; if (this.skeleton.transformTypes[var8] == 3) { var11 = 128; } if ((var9 & 1) != 0) { - field2301[var7] = var4.readShortSmart(); + field2306[var7] = var4.readShortSmart(); } else { - field2301[var7] = var11; + field2306[var7] = var11; } if ((var9 & 2) != 0) { - field2296[var7] = var4.readShortSmart(); + field2307[var7] = var4.readShortSmart(); } else { - field2296[var7] = var11; + field2307[var7] = var11; } if ((var9 & 4) != 0) { - field2298[var7] = var4.readShortSmart(); + field2308[var7] = var4.readShortSmart(); } else { - field2298[var7] = var11; + field2308[var7] = var11; } var6 = var8; @@ -121,10 +121,10 @@ public class Animation { this.transformZs = new int[var7]; for (var8 = 0; var8 < var7; ++var8) { - this.transformSkeletonLabels[var8] = field2295[var8]; - this.transformXs[var8] = field2301[var8]; - this.transformYs[var8] = field2296[var8]; - this.transformZs[var8] = field2298[var8]; + this.transformSkeletonLabels[var8] = field2312[var8]; + this.transformXs[var8] = field2306[var8]; + this.transformYs[var8] = field2307[var8]; + this.transformZs[var8] = field2308[var8]; } } diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index b509e0dce0..a776f903a7 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -5,718 +5,208 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("br") +@ObfuscatedName("bx") @Implements("ApproximateRouteStrategy") public class ApproximateRouteStrategy extends RouteStrategy { - @ObfuscatedName("tc") + @ObfuscatedName("rs") @ObfuscatedSignature( - descriptor = "Lms;" + descriptor = "Lao;" ) - @Export("masterDisk") - static ArchiveDisk masterDisk; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -301087245 - ) - static int field466; - @ObfuscatedName("ei") + @Export("pcmStreamMixer") + static PcmStreamMixer pcmStreamMixer; + @ObfuscatedName("ee") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lky;" ) - @Export("archive14") - static Archive archive14; - @ObfuscatedName("iv") + @Export("archive5") + static Archive archive5; + @ObfuscatedName("ik") + @ObfuscatedSignature( + descriptor = "[Loz;" + ) + @Export("modIconSprites") + static IndexedSprite[] modIconSprites; + @ObfuscatedName("mo") @ObfuscatedGetter( - intValue = 2002085165 + intValue = 1922813723 ) - @Export("cameraPitch") - static int cameraPitch; - @ObfuscatedName("mn") - @ObfuscatedGetter( - intValue = 132174869 - ) - @Export("menuY") - static int menuY; + @Export("menuHeight") + static int menuHeight; ApproximateRouteStrategy() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIILfk;S)Z", - garbageValue = "13398" + descriptor = "(IIILfy;I)Z", + garbageValue = "1728008342" ) @Export("hasArrived") - protected boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { + public boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { return var2 == super.approxDestinationX && var3 == super.approxDestinationY; } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "-1224455590" - ) - static String method1122(int var0) { - return ""; - } - @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Llu;Llu;Llu;I)V", - garbageValue = "-369767487" + descriptor = "(II)Lex;", + garbageValue = "1251239719" ) - @Export("drawTitle") - static void drawTitle(Font var0, Font var1, Font var2) { - Login.xPadding = (InvDefinition.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - class11.loginBoxCenter = Login.loginBoxX + 180; - byte var3; - int var4; - int var7; - int var25; - int var32; - int var45; - if (Login.worldSelectOpen) { - if (DevicePcmPlayerProvider.worldSelectBackSprites == null) { - DevicePcmPlayerProvider.worldSelectBackSprites = Messages.method2332(World.archive8, "sl_back", ""); - } - - if (WorldMapSection1.worldSelectFlagSprites == null) { - WorldMapSection1.worldSelectFlagSprites = PacketBuffer.method6764(World.archive8, "sl_flags", ""); - } - - if (World.worldSelectArrows == null) { - World.worldSelectArrows = PacketBuffer.method6764(World.archive8, "sl_arrows", ""); - } - - if (class7.worldSelectStars == null) { - class7.worldSelectStars = PacketBuffer.method6764(World.archive8, "sl_stars", ""); - } - - if (class184.worldSelectLeftSprite == null) { - class184.worldSelectLeftSprite = class196.SpriteBuffer_getIndexedSpriteByName(World.archive8, "leftarrow", ""); - } - - if (FriendsChat.worldSelectRightSprite == null) { - FriendsChat.worldSelectRightSprite = class196.SpriteBuffer_getIndexedSpriteByName(World.archive8, "rightarrow", ""); - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); - var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); - if (class7.worldSelectStars != null) { - class7.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); - var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); - class7.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); - var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); - } - - if (World.worldSelectArrows != null) { - var32 = Login.xPadding + 280; - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { - World.worldSelectArrows[2].drawAt(var32, 4); - } else { - World.worldSelectArrows[0].drawAt(var32, 4); - } - - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { - World.worldSelectArrows[3].drawAt(var32 + 15, 4); - } else { - World.worldSelectArrows[1].drawAt(var32 + 15, 4); - } - - var0.draw("World", var32 + 32, 17, 16777215, -1); - var4 = Login.xPadding + 390; - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { - World.worldSelectArrows[2].drawAt(var4, 4); - } else { - World.worldSelectArrows[0].drawAt(var4, 4); - } - - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { - World.worldSelectArrows[3].drawAt(var4 + 15, 4); - } else { - World.worldSelectArrows[1].drawAt(var4 + 15, 4); - } - - var0.draw("Players", var4 + 32, 17, 16777215, -1); - var45 = Login.xPadding + 500; - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { - World.worldSelectArrows[2].drawAt(var45, 4); - } else { - World.worldSelectArrows[0].drawAt(var45, 4); - } - - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { - World.worldSelectArrows[3].drawAt(var45 + 15, 4); - } else { - World.worldSelectArrows[1].drawAt(var45 + 15, 4); - } - - var0.draw("Location", var45 + 32, 17, 16777215, -1); - var25 = Login.xPadding + 610; - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { - World.worldSelectArrows[2].drawAt(var25, 4); - } else { - World.worldSelectArrows[0].drawAt(var25, 4); - } - - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { - World.worldSelectArrows[3].drawAt(var25 + 15, 4); - } else { - World.worldSelectArrows[1].drawAt(var25 + 15, 4); - } - - var0.draw("Type", var25 + 32, 17, 16777215, -1); - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); - var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); - Login.hoveredWorldIndex = -1; - if (DevicePcmPlayerProvider.worldSelectBackSprites != null) { - var3 = 88; - byte var39 = 19; - var45 = 765 / (var3 + 1) - 1; - var25 = 480 / (var39 + 1); - - int var35; - do { - var7 = var25; - var35 = var45; - if (var25 * (var45 - 1) >= World.World_count) { - --var45; - } - - if (var45 * (var25 - 1) >= World.World_count) { - --var25; - } - - if (var45 * (var25 - 1) >= World.World_count) { - --var25; - } - } while(var7 != var25 || var35 != var45); - - var7 = (765 - var45 * var3) / (var45 + 1); - if (var7 > 5) { - var7 = 5; - } - - var35 = (480 - var25 * var39) / (var25 + 1); - if (var35 > 5) { - var35 = 5; - } - - int var37 = (765 - var45 * var3 - var7 * (var45 - 1)) / 2; - int var38 = (480 - var39 * var25 - var35 * (var25 - 1)) / 2; - int var28 = (var25 + World.World_count - 1) / var25; - Login.worldSelectPagesCount = var28 - var45; - if (class184.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { - class184.worldSelectLeftSprite.drawAt(8, GameEngine.canvasHeight / 2 - class184.worldSelectLeftSprite.subHeight / 2); - } - - if (FriendsChat.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { - FriendsChat.worldSelectRightSprite.drawAt(InvDefinition.canvasWidth - FriendsChat.worldSelectRightSprite.subWidth - 8, GameEngine.canvasHeight / 2 - FriendsChat.worldSelectRightSprite.subHeight / 2); - } - - int var29 = var38 + 23; - int var40 = var37 + Login.xPadding; - int var41 = 0; - boolean var42 = false; - int var43 = Login.worldSelectPage; - - int var17; - for (var17 = var25 * var43; var17 < World.World_count && var43 - Login.worldSelectPage < var45; ++var17) { - World var18 = class393.World_worlds[var17]; - boolean var19 = true; - String var20 = Integer.toString(var18.population); - if (var18.population == -1) { - var20 = "OFF"; - var19 = false; - } else if (var18.population > 1980) { - var20 = "FULL"; - var19 = false; - } - - int var22 = 0; - byte var21; - if (var18.isBeta()) { - if (var18.isMembersOnly()) { - var21 = 7; - } else { - var21 = 6; - } - } else if (var18.isDeadman()) { - var22 = 16711680; - if (var18.isMembersOnly()) { - var21 = 5; - } else { - var21 = 4; - } - } else if (var18.method1616()) { - if (var18.isMembersOnly()) { - var21 = 9; - } else { - var21 = 8; - } - } else if (var18.isPvp()) { - if (var18.isMembersOnly()) { - var21 = 3; - } else { - var21 = 2; - } - } else if (var18.isMembersOnly()) { - var21 = 1; - } else { - var21 = 0; - } - - if (MouseHandler.MouseHandler_x >= var40 && MouseHandler.MouseHandler_y >= var29 && MouseHandler.MouseHandler_x < var40 + var3 && MouseHandler.MouseHandler_y < var29 + var39 && var19) { - Login.hoveredWorldIndex = var17; - DevicePcmPlayerProvider.worldSelectBackSprites[var21].drawTransOverlayAt(var40, var29, 128, 16777215); - var42 = true; - } else { - DevicePcmPlayerProvider.worldSelectBackSprites[var21].drawAt(var40, var29); - } - - if (WorldMapSection1.worldSelectFlagSprites != null) { - WorldMapSection1.worldSelectFlagSprites[(var18.isMembersOnly() ? 8 : 0) + var18.location].drawAt(var40 + 29, var29); - } - - var0.drawCentered(Integer.toString(var18.id), var40 + 15, var39 / 2 + var29 + 5, var22, -1); - var1.drawCentered(var20, var40 + 60, var39 / 2 + var29 + 5, 268435455, -1); - var29 = var29 + var35 + var39; - ++var41; - if (var41 >= var25) { - var29 = var38 + 23; - var40 = var40 + var7 + var3; - var41 = 0; - ++var43; - } - } - - if (var42) { - var17 = var1.stringWidth(class393.World_worlds[Login.hoveredWorldIndex].activity) + 6; - int var30 = var1.ascent + 8; - int var44 = MouseHandler.MouseHandler_y + 25; - if (var44 + var30 > 480) { - var44 = MouseHandler.MouseHandler_y - 25 - var30; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var17 / 2, var44, var17, var30, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var17 / 2, var44, var17, var30, 0); - var1.drawCentered(class393.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var44 + var1.ascent + 4, 0, -1); - } - } - - class11.rasterProvider.drawFull(0, 0); + @Export("VarpDefinition_get") + public static VarpDefinition VarpDefinition_get(int var0) { + VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - class318.leftTitleSprite.drawAt(Login.xPadding, 0); - Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); - if (Client.gameState == 0 || Client.gameState == 5) { - var3 = 20; - var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var3, 16777215, -1); - var4 = 253 - var3; - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var4, 304, 34, 9179409); - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var4 + 1, 302, 32, 0); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var4 + 2, Login.Login_loadingPercent * 3, 30, 9179409); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.Login_loadingPercent * 3 + (Login.loginBoxX + 180 - 150), var4 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); - var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var3, 16777215, -1); - } - - String var5; - String var6; - short var31; - short var33; - if (Client.gameState == 20) { - Login.titleboxSprite.drawAt(Login.loginBoxX + 180 - Login.titleboxSprite.subWidth / 2, 271 - Login.titleboxSprite.subHeight / 2); - var31 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var32 += 7; - if (Login.loginIndex != 4 && Login.loginIndex != 10) { - var0.draw("Login: ", Login.loginBoxX + 180 - 110, var32, 16777215, 0); - var33 = 200; - - for (var5 = AbstractWorldMapData.method3800(); var0.stringWidth(var5) > var33; var5 = var5.substring(0, var5.length() - 1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var5), Login.loginBoxX + 180 - 70, var32, 16777215, 0); - var32 += 15; - - for (var6 = GraphicsObject.method1866(Login.Login_password); var0.stringWidth(var6) > var33; var6 = var6.substring(1)) { - } - - var0.draw("Password: " + var6, Login.loginBoxX + 180 - 108, var32, 16777215, 0); - var32 += 15; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - Login.titleboxSprite.drawAt(Login.loginBoxX, 171); - short var23; - if (Login.loginIndex == 0) { - var31 = 251; - var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 30; - var4 = Login.loginBoxX + 180 - 80; - var23 = 291; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawLines("New User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); - var4 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawLines("Existing User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); - } else if (Login.loginIndex == 1) { - var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); - var31 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var4 = Login.loginBoxX + 180 - 80; - var23 = 321; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Continue", var4, var23 + 5, 16777215, 0); - var4 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Cancel", var4, var23 + 5, 16777215, 0); - } else if (Login.loginIndex == 2) { - var31 = 201; - var0.drawCentered(Login.Login_response1, class11.loginBoxCenter, var31, 16776960, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, class11.loginBoxCenter, var32, 16776960, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, class11.loginBoxCenter, var32, 16776960, 0); - var32 += 15; - var32 += 7; - var0.draw("Login: ", class11.loginBoxCenter - 110, var32, 16777215, 0); - var33 = 200; - - for (var5 = AbstractWorldMapData.method3800(); var0.stringWidth(var5) > var33; var5 = var5.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var5) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? class54.colorStartTag(16776960) + "|" : ""), class11.loginBoxCenter - 70, var32, 16777215, 0); - var32 += 15; - - for (var6 = GraphicsObject.method1866(Login.Login_password); var0.stringWidth(var6) > var33; var6 = var6.substring(1)) { - } - - var0.draw("Password: " + var6 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? class54.colorStartTag(16776960) + "|" : ""), class11.loginBoxCenter - 108, var32, 16777215, 0); - var32 += 15; - var31 = 277; - var7 = class11.loginBoxCenter + -117; - boolean var9 = Client.Login_isUsernameRemembered; - boolean var10 = Login.field891; - IndexedSprite var26 = var9 ? (var10 ? PlayerComposition.field3019 : Client.options_buttons_2Sprite) : (var10 ? class21.field107 : ModelData0.options_buttons_0Sprite); - var26.drawAt(var7, var31); - var7 = var7 + var26.subWidth + 5; - var1.draw("Remember username", var7, var31 + 13, 16776960, 0); - var7 = class11.loginBoxCenter + 24; - boolean var13 = VarbitComposition.clientPreferences.hideUsername; - boolean var14 = Login.field904; - IndexedSprite var12 = var13 ? (var14 ? PlayerComposition.field3019 : Client.options_buttons_2Sprite) : (var14 ? class21.field107 : ModelData0.options_buttons_0Sprite); - var12.drawAt(var7, var31); - var7 = var7 + var12.subWidth + 5; - var1.draw("Hide username", var7, var31 + 13, 16776960, 0); - var32 = var31 + 15; - int var15 = class11.loginBoxCenter - 80; - short var16 = 321; - Login.titlebuttonSprite.drawAt(var15 - 73, var16 - 20); - var0.drawCentered("Login", var15, var16 + 5, 16777215, 0); - var15 = class11.loginBoxCenter + 80; - Login.titlebuttonSprite.drawAt(var15 - 73, var16 - 20); - var0.drawCentered("Cancel", var15, var16 + 5, 16777215, 0); - var31 = 357; - switch(Login.field883) { - case 2: - LoginScreenAnimation.field1167 = "Having trouble logging in?"; - break; - default: - LoginScreenAnimation.field1167 = "Can't login? Click here."; - } - - WorldMapSectionType.field2125 = new Bounds(class11.loginBoxCenter, var31, var1.stringWidth(LoginScreenAnimation.field1167), 11); - PcmPlayer.field287 = new Bounds(class11.loginBoxCenter, var31, var1.stringWidth("Still having trouble logging in?"), 11); - var1.drawCentered(LoginScreenAnimation.field1167, class11.loginBoxCenter, var31, 16777215, 0); - } else if (Login.loginIndex == 3) { - var31 = 201; - var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 20; - var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var4 = Login.loginBoxX + 180; - var23 = 276; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var2.drawCentered("Try again", var4, var23 + 5, 16777215, 0); - var4 = Login.loginBoxX + 180; - var23 = 326; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var2.drawCentered("Forgotten password?", var4, var23 + 5, 16777215, 0); - } else { - short var8; - if (Login.loginIndex == 4) { - var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); - var31 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var0.draw("PIN: " + GraphicsObject.method1866(AbstractWorldMapIcon.otp) + (Client.cycle % 40 < 20 ? class54.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var32, 16777215, 0); - var32 -= 8; - var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var32, 16776960, 0); - var32 += 15; - var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var32, 16776960, 0); - var4 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; - var45 = var32 - var0.ascent; - IndexedSprite var34; - if (Login.field893) { - var34 = Client.options_buttons_2Sprite; - } else { - var34 = ModelData0.options_buttons_0Sprite; - } - - var34.drawAt(var4, var45); - var32 += 15; - var7 = Login.loginBoxX + 180 - 80; - var8 = 321; - Login.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Continue", var7, var8 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Cancel", var7, var8 + 5, 16777215, 0); - var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var8 + 36, 255, 0); - } else if (Login.loginIndex == 5) { - var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); - var31 = 221; - var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var32 += 14; - var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var32, 16777215, 0); - var33 = 174; - - for (var5 = AbstractWorldMapData.method3800(); var0.stringWidth(var5) > var33; var5 = var5.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var5) + (Client.cycle % 40 < 20 ? class54.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var32, 16777215, 0); - var32 += 15; - var25 = Login.loginBoxX + 180 - 80; - short var36 = 321; - Login.titlebuttonSprite.drawAt(var25 - 73, var36 - 20); - var0.drawCentered("Recover", var25, var36 + 5, 16777215, 0); - var25 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var25 - 73, var36 - 20); - var0.drawCentered("Back", var25, var36 + 5, 16777215, 0); - var36 = 356; - var1.drawCentered("Still having trouble logging in?", class11.loginBoxCenter, var36, 268435455, 0); - } else if (Login.loginIndex == 6) { - var31 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var4 = Login.loginBoxX + 180; - var23 = 321; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); - } else if (Login.loginIndex == 7) { - var31 = 216; - var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var4 = Login.loginBoxX + 180 - 80; - var23 = 321; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Set Date of Birth", var4, var23 + 5, 16777215, 0); - var4 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); - } else if (Login.loginIndex == 8) { - var31 = 216; - var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var4 = Login.loginBoxX + 180 - 80; - var23 = 321; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Privacy Policy", var4, var23 + 5, 16777215, 0); - var4 = Login.loginBoxX + 180 + 80; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); - } else if (Login.loginIndex == 9) { - var31 = 221; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 25; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 25; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); - var4 = Login.loginBoxX + 180; - var23 = 311; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Try again", var4, var23 + 5, 16777215, 0); - } else if (Login.loginIndex == 10) { - var32 = Login.loginBoxX + 180; - var33 = 209; - var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var33, 16776960, 0); - var4 = var33 + 20; - UserComparator8.field1312.drawAt(var32 - 109, var4); - class14.field69.drawAt(var32 - 48, var4 + 18); - } else if (Login.loginIndex == 12) { - var32 = class11.loginBoxCenter; - var33 = 216; - var2.drawCentered("Before using this app, please read and accept our", var32, var33, 16777215, 0); - var4 = var33 + 17; - var2.drawCentered("terms of use, privacy policy, and end user licence", var32, var4, 16777215, 0); - var4 += 17; - var2.drawCentered("agreement (EULA).", var32, var4, 16777215, 0); - var4 += 17; - var2.drawCentered("By accepting, you agree to these documents.", var32, var4, 16777215, 0); - var32 = class11.loginBoxCenter - 80; - var33 = 311; - Login.titlebuttonSprite.drawAt(var32 - 73, var33 - 20); - var0.drawCentered("Accept", var32, var33 + 5, 16777215, 0); - var32 = class11.loginBoxCenter + 80; - Login.titlebuttonSprite.drawAt(var32 - 73, var33 - 20); - var0.drawCentered("Decline", var32, var33 + 5, 16777215, 0); - } else if (Login.loginIndex == 13) { - var31 = 231; - var2.drawCentered("You must accept our terms of use, privacy policy,", Login.loginBoxX + 180, var31, 16777215, 0); - var32 = var31 + 20; - var2.drawCentered("and end user licence agreement to continue.", Login.loginBoxX + 180, var32, 16777215, 0); - var4 = Login.loginBoxX + 180; - var31 = 311; - Login.titlebuttonSprite.drawAt(var4 - 73, var31 - 20); - var0.drawCentered("Back", var4, var31 + 5, 16777215, 0); - } else if (Login.loginIndex == 14) { - var31 = 201; - String var24 = ""; - var5 = ""; - var6 = ""; - switch(Login.field874) { - case 0: - var24 = "Your account has been disabled."; - var5 = Strings.field3400; - var6 = ""; - break; - case 1: - var24 = "Account locked as we suspect it has been stolen."; - var5 = Strings.field3439; - var6 = ""; - break; - default: - SecureRandomFuture.Login_promptCredentials(false); - } - - var0.drawCentered(var24, Login.loginBoxX + 180, var31, 16776960, 0); - var32 = var31 + 15; - var2.drawCentered(var5, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var2.drawCentered(var6, Login.loginBoxX + 180, var32, 16776960, 0); - var32 += 15; - var7 = Login.loginBoxX + 180; - var8 = 276; - Login.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Support Page", var7, var8 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180; - var8 = 326; - Login.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Back", var7, var8 + 5, 16777215, 0); - } else if (Login.loginIndex == 24) { - var31 = 221; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); - var32 = var31 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); - var32 += 15; - var4 = Login.loginBoxX + 180; - var23 = 301; - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); - var0.drawCentered("Ok", var4, var23 + 5, 16777215, 0); - } - } - } - - if (Client.gameState >= 10) { - int[] var27 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var27); - Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, GameEngine.canvasHeight); - Login.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); - Login.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); - Rasterizer2D.Rasterizer2D_setClipArray(var27); - } - - class92.title_muteSprite[VarbitComposition.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); - if (Client.gameState > 5 && Language.Language_EN == class323.clientLanguage) { - if (class275.field3281 != null) { - var32 = Login.xPadding + 5; - var33 = 463; - byte var47 = 100; - byte var46 = 35; - class275.field3281.drawAt(var32, var33); - var0.drawCentered("World" + " " + Client.worldId, var47 / 2 + var32, var46 / 2 + var33 - 2, 16777215, 0); - if (WorldMapArchiveLoader.World_request != null) { - var1.drawCentered("Loading...", var47 / 2 + var32, var46 / 2 + var33 + 12, 16777215, 0); - } else { - var1.drawCentered("Click to switch", var47 / 2 + var32, var46 / 2 + var33 + 12, 16777215, 0); - } - } else { - class275.field3281 = class196.SpriteBuffer_getIndexedSpriteByName(World.archive8, "sl_button", ""); - } + byte[] var2 = class351.VarpDefinition_archive.takeFile(16, var0); + var1 = new VarpDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); } + VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); + return var1; } } - @ObfuscatedName("q") + @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "71" + descriptor = "(ILbe;ZI)I", + garbageValue = "2048562583" ) - static int method1123(int var0, Script var1, boolean var2) { - Widget var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETX) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETY) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHIDE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETLAYER) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.parentId; + static int method1095(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CLIENTCLOCK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.cycle; return 1; } else { - return 2; + int var3; + int var4; + if (var0 == ScriptOpcodes.INV_GETOBJ) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = UserComparator7.method2421(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_GETNUM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ClientPreferences.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_TOTAL) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class133.method2706(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_SIZE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapIcon_1.getInvDefinition(var3).size; + return 1; + } else if (var0 == ScriptOpcodes.STAT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_BASE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.levels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_XP) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.experience[var3]; + return 1; + } else { + int var5; + if (var0 == ScriptOpcodes.COORD) { + var3 = VertexNormal.Client_plane; + var4 = (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX; + var5 = (class67.localPlayer.y >> 7) + PlayerComposition.baseY; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); + return 1; + } else if (var0 == ScriptOpcodes.COORDX) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.COORDZ) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 >> 28; + return 1; + } else if (var0 == ScriptOpcodes.COORDY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = UserComparator7.method2421(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ClientPreferences.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class133.method2706(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { + if (Client.staffModLevel >= 2) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.staffModLevel; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.REBOOTTIMER) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.rebootTimer; + return 1; + } else if (var0 == ScriptOpcodes.MAP_WORLD) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.worldId; + return 1; + } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.runEnergy; + return 1; + } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.weight; + return 1; + } else if (var0 == ScriptOpcodes.PLAYERMOD) { + if (Client.playerMod) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDFLAGS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.worldProperties; + return 1; + } else if (var0 == ScriptOpcodes.MOVECOORD) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + var3 += var4 << 14; + var3 += var5 << 28; + var3 += var6; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + return 1; + } else if (var0 == 3326) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.field495; + return 1; + } else if (var0 == 3327) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.field496; + return 1; + } else { + return 2; + } + } } } } diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index cdd4d0626c..9bcb4d62f0 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -5,99 +5,96 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kx") +@ObfuscatedName("ky") @Implements("Archive") public class Archive extends AbstractArchive { - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("Archive_crc") static CRC32 Archive_crc; - @ObfuscatedName("ac") - @Export("hasFocus") - protected static boolean hasFocus; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lms;" + descriptor = "Lmm;" ) @Export("archiveDisk") ArchiveDisk archiveDisk; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lms;" + descriptor = "Lmm;" ) @Export("masterDisk") ArchiveDisk masterDisk; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 571995127 + intValue = -1410432427 ) @Export("index") int index; - @ObfuscatedName("g") - volatile boolean field3687; - @ObfuscatedName("z") - boolean field3688; + @ObfuscatedName("k") + volatile boolean field3686; + @ObfuscatedName("t") + boolean field3683; @ObfuscatedName("a") @Export("validGroups") volatile boolean[] validGroups; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1178742275 + intValue = -1839449919 ) @Export("indexCrc") int indexCrc; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -308724549 + intValue = 886571455 ) @Export("indexVersion") int indexVersion; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1768424995 + intValue = 1993950793 ) - int field3693; + int field3676; static { Archive_crc = new CRC32(); } @ObfuscatedSignature( - descriptor = "(Lms;Lms;IZZZ)V" + descriptor = "(Lmm;Lmm;IZZZ)V" ) public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { super(var4, var5); - this.field3687 = false; - this.field3688 = false; - this.field3693 = -1; + this.field3686 = false; + this.field3683 = false; + this.field3676 = -1; this.archiveDisk = var1; this.masterDisk = var2; this.index = var3; - this.field3688 = var6; - WorldMapLabel.method3808(this, this.index); + this.field3683 = var6; + UserComparator6.method2466(this, this.index); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1927768430" + descriptor = "(B)Z", + garbageValue = "-5" ) - public boolean method5108() { - return this.field3687; + public boolean method5201() { + return this.field3686; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "65535" + descriptor = "(B)I", + garbageValue = "64" ) @Export("percentage") public int percentage() { - if (this.field3687) { + if (this.field3686) { return 100; } else if (super.groups != null) { return 99; } else { - int var1 = class119.method2510(255, this.index); + int var1 = ArchiveDiskActionHandler.method5168(255, this.index); if (var1 >= 100) { var1 = 99; } @@ -106,73 +103,95 @@ public class Archive extends AbstractArchive { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-2091662217" + descriptor = "(IB)V", + garbageValue = "30" ) @Export("loadRegionFromGroup") void loadRegionFromGroup(int var1) { - Skills.method5063(this.index, var1); + class150.method2874(this.index, var1); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "16776960" + descriptor = "(IB)V", + garbageValue = "120" ) @Export("loadGroup") void loadGroup(int var1) { if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { - WorldMapRegion.method3637(var1, this.archiveDisk, this); + ArchiveDisk var2 = this.archiveDisk; + byte[] var4 = null; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + for (ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { + if ((long)var1 == var6.key && var2 == var6.archiveDisk && var6.type == 0) { + var4 = var6.data; + break; + } + } + } + + if (var4 != null) { + this.load(var2, var1, var4, true); + } else { + byte[] var5 = var2.read(var1); + this.load(var2, var1, var5, true); + } } else { - UserList.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); + ClanSettings.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "-1445151425" + garbageValue = "-1828412488" ) @Export("loadIndex") - void loadIndex(int var1, int var2) { + public void loadIndex(int var1, int var2) { this.indexCrc = var1; this.indexVersion = var2; if (this.masterDisk != null) { - WorldMapRegion.method3637(this.index, this.masterDisk, this); + int var3 = this.index; + ArchiveDisk var4 = this.masterDisk; + byte[] var6 = null; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + for (ArchiveDiskAction var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var8 != null; var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { + if ((long)var3 == var8.key && var4 == var8.archiveDisk && var8.type == 0) { + var6 = var8.data; + break; + } + } + } + + if (var6 != null) { + this.load(var4, var3, var6, true); + } else { + byte[] var7 = var4.read(var3); + this.load(var4, var3, var7, true); + } } else { - UserList.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + ClanSettings.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I[BZZB)V", - garbageValue = "-104" + descriptor = "(I[BZZI)V", + garbageValue = "-657787925" ) @Export("write") - void write(int var1, byte[] var2, boolean var3, boolean var4) { + public void write(int var1, byte[] var2, boolean var3, boolean var4) { if (var3) { - if (this.field3687) { + if (this.field3686) { throw new RuntimeException(); } if (this.masterDisk != null) { - int var5 = this.index; - ArchiveDisk var6 = this.masterDisk; - ArchiveDiskAction var7 = new ArchiveDiskAction(); - var7.type = 0; - var7.key = (long)var5; - var7.data = var2; - var7.archiveDisk = var6; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var7); - } - - class119.method2511(); + class150.method2873(this.index, var2, this.masterDisk); } this.decodeIndex(var2); @@ -181,42 +200,32 @@ public class Archive extends AbstractArchive { var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8); var2[var2.length - 1] = (byte)super.groupVersions[var1]; if (this.archiveDisk != null) { - ArchiveDisk var11 = this.archiveDisk; - ArchiveDiskAction var14 = new ArchiveDiskAction(); - var14.type = 0; - var14.key = (long)var1; - var14.data = var2; - var14.archiveDisk = var11; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var14); - } - - class119.method2511(); + class150.method2873(var1, var2, this.archiveDisk); this.validGroups[var1] = true; } if (var4) { - super.groups[var1] = VertexNormal.method4476(var2, false); + super.groups[var1] = DevicePcmPlayerProvider.method372(var2, false); } } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lms;I[BZB)V", - garbageValue = "56" + descriptor = "(Lmm;I[BZB)V", + garbageValue = "68" ) @Export("load") public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { int var5; if (var1 == this.masterDisk) { - if (this.field3687) { + if (this.field3686) { throw new RuntimeException(); } if (var3 == null) { - UserList.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + ClanSettings.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); return; } @@ -224,37 +233,37 @@ public class Archive extends AbstractArchive { Archive_crc.update(var3, 0, var3.length); var5 = (int)Archive_crc.getValue(); if (var5 != this.indexCrc) { - UserList.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + ClanSettings.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); return; } - Buffer var9 = new Buffer(class134.decompressBytes(var3)); - int var7 = var9.readUnsignedByte(); - if (var7 != 5 && var7 != 6) { - throw new RuntimeException(var7 + "," + this.index + "," + var2); + Buffer var11 = new Buffer(class12.decompressBytes(var3)); + int var12 = var11.readUnsignedByte(); + if (var12 != 5 && var12 != 6) { + throw new RuntimeException(var12 + "," + this.index + "," + var2); } int var8 = 0; - if (var7 >= 6) { - var8 = var9.readInt(); + if (var12 >= 6) { + var8 = var11.readInt(); } if (var8 != this.indexVersion) { - UserList.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + ClanSettings.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); return; } this.decodeIndex(var3); this.loadAllLocal(); } else { - if (!var4 && var2 == this.field3693) { - this.field3687 = true; + if (!var4 && var2 == this.field3676) { + this.field3686 = true; } if (var3 == null || var3.length <= 2) { this.validGroups[var2] = false; - if (this.field3688 || var4) { - UserList.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + if (this.field3683 || var4) { + ClanSettings.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); } return; @@ -266,8 +275,8 @@ public class Archive extends AbstractArchive { int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255); if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) { this.validGroups[var2] = false; - if (this.field3688 || var4) { - UserList.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + if (this.field3683 || var4) { + ClanSettings.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); } return; @@ -275,7 +284,19 @@ public class Archive extends AbstractArchive { this.validGroups[var2] = true; if (var4) { - super.groups[var2] = VertexNormal.method4476(var3, false); + Object[] var7 = super.groups; + Object var9; + if (var3 == null) { + var9 = null; + } else if (var3.length > 136) { + DirectByteArrayCopier var10 = new DirectByteArrayCopier(); + var10.set(var3); + var9 = var10; + } else { + var9 = var3; + } + + var7[var2] = var9; } } @@ -284,7 +305,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1311346879" + garbageValue = "-2097641089" ) @Export("loadAllLocal") void loadAllLocal() { @@ -296,70 +317,60 @@ public class Archive extends AbstractArchive { } if (this.archiveDisk == null) { - this.field3687 = true; + this.field3686 = true; } else { - this.field3693 = -1; + this.field3676 = -1; for (var1 = 0; var1 < this.validGroups.length; ++var1) { if (super.fileCounts[var1] > 0) { - ArchiveDisk var2 = this.archiveDisk; - ArchiveDiskAction var4 = new ArchiveDiskAction(); - var4.type = 1; - var4.key = (long)var1; - var4.archiveDisk = var2; - var4.archive = this; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var4); - } - - class119.method2511(); - this.field3693 = var1; + class133.method2707(var1, this.archiveDisk, this); + this.field3676 = var1; } } - if (this.field3693 == -1) { - this.field3687 = true; + if (this.field3676 == -1) { + this.field3686 = true; } } } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "73945928" + descriptor = "(IB)I", + garbageValue = "0" ) @Export("groupLoadPercent") int groupLoadPercent(int var1) { if (super.groups[var1] != null) { return 100; } else { - return this.validGroups[var1] ? 100 : class119.method2510(this.index, var1); + return this.validGroups[var1] ? 100 : ArchiveDiskActionHandler.method5168(this.index, var1); } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "2096742545" + garbageValue = "-700098712" ) - public boolean method5117(int var1) { + public boolean method5179(int var1) { return this.validGroups[var1]; } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "61" - ) - public boolean method5126(int var1) { - return this.getGroupFileIds(var1) != null; - } - @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IB)Z", + garbageValue = "36" + ) + public boolean method5180(int var1) { + return this.getGroupFileIds(var1) != null; + } + + @ObfuscatedName("w") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "2041451539" + garbageValue = "1632636897" ) @Export("loadPercent") public int loadPercent() { @@ -382,14 +393,13 @@ public class Archive extends AbstractArchive { } } - @ObfuscatedName("z") + @ObfuscatedName("kg") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;Ljava/lang/String;Ljava/lang/String;I)Llu;", - garbageValue = "-2076624345" + descriptor = "(S)V", + garbageValue = "255" ) - public static Font method5150(AbstractArchive var0, AbstractArchive var1, String var2, String var3) { - int var4 = var0.getGroupId(var2); - int var5 = var0.getFileId(var4, var3); - return AbstractSocket.method6107(var0, var1, var4, var5); + static final void method5187() { + Client.field686 = Client.cycleCntr; + WorldMapSectionType.ClanChat_inClanChat = true; } } diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index f735efe823..c2dae48b5f 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -6,33 +6,33 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ms") +@ObfuscatedName("mm") @Implements("ArchiveDisk") public final class ArchiveDisk { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("ArchiveDisk_buffer") static byte[] ArchiveDisk_buffer; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnm;" + descriptor = "Lnq;" ) @Export("datFile") BufferedFile datFile; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnm;" + descriptor = "Lnq;" ) @Export("idxFile") BufferedFile idxFile; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 498708587 + intValue = -785983377 ) @Export("archive") int archive; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 817681899 + intValue = 769550411 ) @Export("maxEntrySize") int maxEntrySize; @@ -42,7 +42,7 @@ public final class ArchiveDisk { } @ObfuscatedSignature( - descriptor = "(ILnm;Lnm;I)V" + descriptor = "(ILnq;Lnq;I)V" ) public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { this.datFile = null; @@ -54,10 +54,10 @@ public final class ArchiveDisk { this.maxEntrySize = var4; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IS)[B", - garbageValue = "29760" + descriptor = "(IB)[B", + garbageValue = "110" ) @Export("read") public byte[] read(int var1) { @@ -81,9 +81,8 @@ public final class ArchiveDisk { } else { byte[] var5 = new byte[var3]; int var6 = 0; - int var7 = 0; - while (var6 < var3) { + for (int var7 = 0; var6 < var3; ++var7) { if (var4 == 0) { var10000 = null; return (byte[])var10000; @@ -113,32 +112,30 @@ public final class ArchiveDisk { } var13 = 8; - this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); + this.datFile.read(ArchiveDisk_buffer, 0, var13 + var8); var9 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); var10 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); var11 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); var12 = ArchiveDisk_buffer[7] & 255; } - if (var9 == var1 && var7 == var10 && var12 == this.archive) { - if (var11 >= 0 && (long)var11 <= this.datFile.length() / 520L) { - int var14 = var8 + var13; - - for (int var15 = var13; var15 < var14; ++var15) { - var5[var6++] = ArchiveDisk_buffer[var15]; - } - - var4 = var11; - ++var7; - continue; - } - + if (var9 != var1 || var7 != var10 || var12 != this.archive) { var10000 = null; return (byte[])var10000; } - var10000 = null; - return (byte[])var10000; + if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { + var10000 = null; + return (byte[])var10000; + } + + int var14 = var13 + var8; + + for (int var15 = var13; var15 < var14; ++var15) { + var5[var6++] = ArchiveDisk_buffer[var15]; + } + + var4 = var11; } byte[] var20 = var5; @@ -151,10 +148,10 @@ public final class ArchiveDisk { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I[BII)Z", - garbageValue = "-2120827724" + garbageValue = "1641243917" ) @Export("write") public boolean write(int var1, byte[] var2, int var3) { @@ -172,10 +169,10 @@ public final class ArchiveDisk { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I[BIZB)Z", - garbageValue = "88" + descriptor = "(I[BIZI)Z", + garbageValue = "-1115646093" ) @Export("write0") boolean write0(int var1, byte[] var2, int var3, boolean var4) { @@ -216,18 +213,18 @@ public final class ArchiveDisk { while (true) { if (var7 < var3) { - label168: { + label171: { int var9 = 0; int var10; if (var4) { - this.datFile.seek((long)var6 * 520L); + this.datFile.seek(520L * (long)var6); int var11; int var12; if (var1 > 65535) { try { this.datFile.read(ArchiveDisk_buffer, 0, 10); } catch (EOFException var17) { - break label168; + break label171; } var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); @@ -238,7 +235,7 @@ public final class ArchiveDisk { try { this.datFile.read(ArchiveDisk_buffer, 0, 8); } catch (EOFException var16) { - break label168; + break label171; } var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); @@ -265,7 +262,7 @@ public final class ArchiveDisk { ++var9; } - if (var6 == var9) { + if (var9 == var6) { ++var9; } } @@ -285,7 +282,7 @@ public final class ArchiveDisk { ArchiveDisk_buffer[7] = (byte)(var9 >> 8); ArchiveDisk_buffer[8] = (byte)var9; ArchiveDisk_buffer[9] = (byte)this.archive; - this.datFile.seek((long)var6 * 520L); + this.datFile.seek(520L * (long)var6); this.datFile.write(ArchiveDisk_buffer, 0, 10); var10 = var3 - var7; if (var10 > 510) { diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index 3124a41a9c..1954b5494e 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -4,37 +4,60 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jq") +@ObfuscatedName("jx") @Implements("ArchiveDiskAction") public class ArchiveDiskAction extends Node { - @ObfuscatedName("my") - @ObfuscatedSignature( - descriptor = "Lbk;" - ) - @Export("tempMenuAction") - static MenuAction tempMenuAction; - @ObfuscatedName("n") + @ObfuscatedName("mq") @ObfuscatedGetter( - intValue = -1602361703 + intValue = -900370285 + ) + @Export("selectedItemSlot") + static int selectedItemSlot; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1004921481 ) @Export("type") int type; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("data") public byte[] data; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lms;" + descriptor = "Lmm;" ) @Export("archiveDisk") public ArchiveDisk archiveDisk; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lky;" ) @Export("archive") public Archive archive; ArchiveDiskAction() { } + + @ObfuscatedName("hf") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-1831916314" + ) + @Export("selectSpell") + static void selectSpell(int var0, int var1, int var2, int var3) { + Widget var4 = ViewportMouse.getWidgetChild(var0, var1); + if (var4 != null && var4.onTargetEnter != null) { + ScriptEvent var5 = new ScriptEvent(); + var5.widget = var4; + var5.args = var4.onTargetEnter; + ViewportMouse.runScriptEvent(var5); + } + + Client.field647 = var3; + Client.isSpellSelected = true; + ModelData0.selectedSpellWidget = var0; + Client.selectedSpellChildIndex = var1; + ObjectComposition.selectedSpellFlags = var2; + class16.invalidateWidget(var4); + } } diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index 8e53c56667..e0394be804 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -4,43 +4,34 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ke") +@ObfuscatedName("ks") @Implements("ArchiveDiskActionHandler") public class ArchiveDiskActionHandler implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("ArchiveDiskActionHandler_requestQueue") public static NodeDeque ArchiveDiskActionHandler_requestQueue; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("ArchiveDiskActionHandler_responseQueue") public static NodeDeque ArchiveDiskActionHandler_responseQueue; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1139239247 + intValue = -490833597 ) - public static int field3676; - @ObfuscatedName("k") + public static int field3671; + @ObfuscatedName("j") @Export("ArchiveDiskActionHandler_lock") public static Object ArchiveDiskActionHandler_lock; - @ObfuscatedName("o") - @Export("ArchiveDiskActionHandler_thread") - static Thread ArchiveDiskActionHandler_thread; - @ObfuscatedName("af") - @Export("client") - @ObfuscatedSignature( - descriptor = "Lclient;" - ) - static Client client; static { ArchiveDiskActionHandler_requestQueue = new NodeDeque(); ArchiveDiskActionHandler_responseQueue = new NodeDeque(); - field3676 = 0; + field3671 = 0; ArchiveDiskActionHandler_lock = new Object(); } @@ -69,29 +60,85 @@ public class ArchiveDiskActionHandler implements Runnable { } synchronized(ArchiveDiskActionHandler_lock) { - if (field3676 <= 1) { - field3676 = 0; + if (field3671 <= 1) { + field3671 = 0; ArchiveDiskActionHandler_lock.notifyAll(); return; } - field3676 = 600; + field3671 = 600; } } else { - PlayerType.method5099(100L); + class121.method2542(100L); synchronized(ArchiveDiskActionHandler_lock) { - if (field3676 <= 1) { - field3676 = 0; + if (field3671 <= 1) { + field3671 = 0; ArchiveDiskActionHandler_lock.notifyAll(); return; } - --field3676; + --field3671; } } } } catch (Exception var13) { - class4.RunException_sendStackTrace((String)null, var13); + Timer.RunException_sendStackTrace((String)null, var13); } } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Loy;B)V", + garbageValue = "-104" + ) + @Export("updatePlayer") + static final void updatePlayer(PacketBuffer var0) { + var0.importIndex(); + int var1 = Client.localPlayerIndex; + Player var2 = class67.localPlayer = Client.players[var1] = new Player(); + var2.index = var1; + int var3 = var0.readBits(30); + byte var4 = (byte)(var3 >> 28); + int var5 = var3 >> 14 & 16383; + int var6 = var3 & 16383; + var2.pathX[0] = var5 - WorldMapSectionType.baseX; + var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); + var2.pathY[0] = var6 - PlayerComposition.baseY; + var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); + VertexNormal.Client_plane = var2.plane = var4; + if (Players.field1248[var1] != null) { + var2.read(Players.field1248[var1]); + } + + Players.Players_count = 0; + Players.Players_indices[++Players.Players_count - 1] = var1; + Players.field1247[var1] = 0; + Players.Players_emptyIdxCount = 0; + + for (int var7 = 1; var7 < 2048; ++var7) { + if (var7 != var1) { + int var8 = var0.readBits(18); + int var9 = var8 >> 16; + int var10 = var8 >> 8 & 597; + int var11 = var8 & 597; + Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); + Players.Players_orientations[var7] = 0; + Players.Players_targetIndices[var7] = -1; + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; + Players.field1247[var7] = 0; + } + } + + var0.exportIndex(); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-551096239" + ) + static int method5168(int var0, int var1) { + long var2 = (long)((var0 << 16) + var1); + return ClanChannel.NetCache_currentResponse != null && ClanChannel.NetCache_currentResponse.key == var2 ? StudioGame.NetCache_responseArchiveBuffer.offset * 99 / (StudioGame.NetCache_responseArchiveBuffer.array.length - ClanChannel.NetCache_currentResponse.padding) + 1 : 0; + } } diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index a6628e0e71..5f0cf2c1ab 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -4,36 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("by") +@ObfuscatedName("bp") @Implements("ArchiveLoader") public class ArchiveLoader { - @ObfuscatedName("im") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Loi;" - ) - @Export("scrollBarSprites") - static IndexedSprite[] scrollBarSprites; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lky;" ) @Export("archive") final Archive archive; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -520542999 + intValue = -1979540381 ) @Export("groupCount") final int groupCount; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 260914757 + intValue = 33253959 ) @Export("loadedCount") int loadedCount; @ObfuscatedSignature( - descriptor = "(Lkx;Ljava/lang/String;)V" + descriptor = "(Lky;Ljava/lang/String;)V" ) ArchiveLoader(Archive var1, String var2) { this.loadedCount = 0; @@ -41,17 +35,17 @@ public class ArchiveLoader { this.groupCount = var1.getGroupCount(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1799367031" + garbageValue = "-1480484971" ) @Export("isLoaded") boolean isLoaded() { this.loadedCount = 0; for (int var1 = 0; var1 < this.groupCount; ++var1) { - if (!this.archive.method5126(var1) || this.archive.method5117(var1)) { + if (!this.archive.method5180(var1) || this.archive.method5179(var1)) { ++this.loadedCount; } } @@ -59,231 +53,634 @@ public class ArchiveLoader { return this.loadedCount >= this.groupCount; } - @ObfuscatedName("ih") + @ObfuscatedName("id") @ObfuscatedSignature( - descriptor = "(Lfq;IIII)V", - garbageValue = "-2020515234" + descriptor = "([Ljt;IIIIIIIIB)V", + garbageValue = "-70" ) - @Export("addNpcToMenu") - static final void addNpcToMenu(NPCComposition var0, int var1, int var2, int var3) { - if (Client.menuOptionsCount < 400) { - if (var0.transforms != null) { - var0 = var0.transform(); - } + @Export("drawInterface") + static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - if (var0 != null) { - if (var0.isInteractable) { - if (!var0.isFollower || Client.followerIndex == var1) { - String var4 = var0.name; - int var7; - int var8; - if (var0.combatLevel != 0) { - var7 = var0.combatLevel; - var8 = class129.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = class54.colorStartTag(16711680); - } else if (var9 < -6) { - var6 = class54.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = class54.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = class54.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = class54.colorStartTag(65280); - } else if (var9 > 6) { - var6 = class54.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = class54.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = class54.colorStartTag(12648192); - } else { - var6 = class54.colorStartTag(16776960); - } - - var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; - } - - if (var0.isFollower && Client.followerOpsLowPriority) { - ModelData0.insertMenuItemNoShift("Examine", class54.colorStartTag(16776960) + var4, 1003, var1, var2, var3); - } - - if (Client.isItemSelected == 1) { - ModelData0.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class54.colorStartTag(16776960) + var4, 7, var1, var2, var3); - } else if (Client.isSpellSelected) { - if ((ScriptFrame.selectedSpellFlags & 2) == 2) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class54.colorStartTag(16776960) + var4, 8, var1, var2, var3); - } - } else { - int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; - String[] var11 = var0.actions; - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { - var8 = 0; - if (var7 == 0) { - var8 = var10 + 9; - } - - if (var7 == 1) { - var8 = var10 + 10; - } - - if (var7 == 2) { - var8 = var10 + 11; - } - - if (var7 == 3) { - var8 = var10 + 12; - } - - if (var7 == 4) { - var8 = var10 + 13; - } - - ModelData0.insertMenuItemNoShift(var11[var7], class54.colorStartTag(16776960) + var4, var8, var1, var2, var3); - } - } - } - - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { - short var12 = 0; - if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { - if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > class129.localPlayer.combatLevel) { - var12 = 2000; - } - - var8 = 0; - if (var7 == 0) { - var8 = var12 + 9; - } - - if (var7 == 1) { - var8 = var12 + 10; - } - - if (var7 == 2) { - var8 = var12 + 11; - } - - if (var7 == 3) { - var8 = var12 + 12; - } - - if (var7 == 4) { - var8 = var12 + 13; - } - - ModelData0.insertMenuItemNoShift(var11[var7], class54.colorStartTag(16776960) + var4, var8, var1, var2, var3); - } - } - } - } - - if (!var0.isFollower || !Client.followerOpsLowPriority) { - ModelData0.insertMenuItemNoShift("Examine", class54.colorStartTag(16776960) + var4, 1003, var1, var2, var3); - } - } - - } + for (int var9 = 0; var9 < var0.length; ++var9) { + Widget var10 = var0[var9]; + if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { + int var11; + if (var8 == -1) { + Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; + Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; + Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; + Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; + var11 = ++Client.rootWidgetCount - 1; + } else { + var11 = var8; } - } - } - } - @ObfuscatedName("if") - @ObfuscatedSignature( - descriptor = "(Lco;IIII)V", - garbageValue = "617198662" - ) - @Export("addPlayerToMenu") - static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { - if (class129.localPlayer != var0) { - if (Client.menuOptionsCount < 400) { - String var4; - int var7; - if (var0.skillLevel == 0) { - String var5 = var0.actions[0] + var0.username + var0.actions[1]; - var7 = var0.combatLevel; - int var8 = class129.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = class54.colorStartTag(16711680); - } else if (var9 < -6) { - var6 = class54.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = class54.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = class54.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = class54.colorStartTag(65280); - } else if (var9 > 6) { - var6 = class54.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = class54.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = class54.colorStartTag(12648192); + var10.rootIndex = var11; + var10.cycle = Client.cycle; + if (!var10.isIf3 || !ObjectSound.isComponentHidden(var10)) { + if (var10.contentType > 0) { + class9.method87(var10); + } + + int var12 = var10.x + var6; + int var13 = var7 + var10.y; + int var14 = var10.transparencyTop; + int var15; + int var16; + if (var10 == Client.clickedWidget) { + if (var1 != -1412584499 && !var10.isScrollBar) { + ReflectionCheck.field452 = var0; + Script.field954 = var6; + UserComparator3.field1338 = var7; + continue; + } + + if (Client.isDraggingWidget && Client.field595) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + var15 -= Client.widgetClickX; + var16 -= Client.widgetClickY; + if (var15 < Client.field669) { + var15 = Client.field669; + } + + if (var15 + var10.width > Client.field669 + Client.clickedWidgetParent.width) { + var15 = Client.field669 + Client.clickedWidgetParent.width - var10.width; + } + + if (var16 < Client.field670) { + var16 = Client.field670; + } + + if (var16 + var10.height > Client.field670 + Client.clickedWidgetParent.height) { + var16 = Client.field670 + Client.clickedWidgetParent.height - var10.height; + } + + var12 = var15; + var13 = var16; + } + + if (!var10.isScrollBar) { + var14 = 128; + } + } + + int var17; + int var18; + int var19; + int var20; + int var21; + int var22; + if (var10.type == 2) { + var15 = var2; + var16 = var3; + var17 = var4; + var18 = var5; + } else if (var10.type == 9) { + var19 = var12; + var20 = var13; + var21 = var12 + var10.width; + var22 = var13 + var10.height; + if (var21 < var12) { + var19 = var21; + var21 = var12; + } + + if (var22 < var13) { + var20 = var22; + var22 = var13; + } + + ++var21; + ++var22; + var15 = var19 > var2 ? var19 : var2; + var16 = var20 > var3 ? var20 : var3; + var17 = var21 < var4 ? var21 : var4; + var18 = var22 < var5 ? var22 : var5; } else { - var6 = class54.colorStartTag(16776960); + var19 = var12 + var10.width; + var20 = var13 + var10.height; + var15 = var12 > var2 ? var12 : var2; + var16 = var13 > var3 ? var13 : var3; + var17 = var19 < var4 ? var19 : var4; + var18 = var20 < var5 ? var20 : var5; } - var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; - } else { - var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; - } - - int var10; - if (Client.isItemSelected == 1) { - ModelData0.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class54.colorStartTag(16777215) + var4, 14, var1, var2, var3); - } else if (Client.isSpellSelected) { - if ((ScriptFrame.selectedSpellFlags & 8) == 8) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class54.colorStartTag(16777215) + var4, 15, var1, var2, var3); - } - } else { - for (var10 = 7; var10 >= 0; --var10) { - if (Client.playerMenuActions[var10] != null) { - short var11 = 0; - if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { - if (AttackOption.AttackOption_hidden == Client.playerAttackOption) { - continue; - } - - if (Client.playerAttackOption == AttackOption.AttackOption_alwaysRightClick || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > class129.localPlayer.combatLevel) { - var11 = 2000; - } - - if (class129.localPlayer.team != 0 && var0.team != 0) { - if (var0.team == class129.localPlayer.team) { - var11 = 2000; - } else { - var11 = 0; + if (!var10.isIf3 || var15 < var17 && var16 < var18) { + if (var10.contentType != 0) { + if (var10.contentType == 1336) { + if (Client.displayFps) { + var13 += 15; + class262.fontPlain12.drawRightAligned("Fps:" + GameEngine.fps, var12 + var10.width, var13, 16776960, -1); + var13 += 15; + Runtime var42 = Runtime.getRuntime(); + var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L); + var21 = 16776960; + if (var20 > 327680 && !Client.isLowDetail) { + var21 = 16711680; } - } else if (AttackOption.field1236 == Client.playerAttackOption && var0.isClanMember()) { - var11 = 2000; + + class262.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); + var13 += 15; } - } else if (Client.playerOptionsPriorities[var10]) { - var11 = 2000; + continue; } - boolean var12 = false; - var7 = Client.playerMenuOpcodes[var10] + var11; - ModelData0.insertMenuItemNoShift(Client.playerMenuActions[var10], class54.colorStartTag(16777215) + var4, var7, var1, var2, var3); + if (var10.contentType == 1337) { + Client.viewportX = var12; + Client.viewportY = var13; + PendingSpawn.drawEntities(var12, var13, var10.width, var10.height); + Client.field710[var10.rootIndex] = true; + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1338) { + class113.drawMinimap(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1339) { + Skills.drawCompass(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1400) { + TileItem.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); + } + + if (var10.contentType == 1401) { + TileItem.worldMap.drawOverview(var12, var13, var10.width, var10.height); + } + + if (var10.contentType == 1402) { + Login.loginScreenRunesAnimation.draw(var12, Client.cycle); + } + } + + if (var10.type == 0) { + if (!var10.isIf3 && ObjectSound.isComponentHidden(var10) && var10 != VarpDefinition.mousedOverWidgetIf1) { + continue; + } + + if (!var10.isIf3) { + if (var10.scrollY > var10.scrollHeight - var10.height) { + var10.scrollY = var10.scrollHeight - var10.height; + } + + if (var10.scrollY < 0) { + var10.scrollY = 0; + } + } + + drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + if (var10.children != null) { + drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + } + + InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); + if (var30 != null) { + Canvas.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + } + + if (Client.isResizable || Client.field525[var11] || Client.gameDrawingMode > 1) { + if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { + Messages.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); + } + + if (var10.type != 1) { + int var23; + int var24; + int var25; + int var26; + if (var10.type == 2) { + var19 = 0; + + for (var20 = 0; var20 < var10.rawHeight; ++var20) { + for (var21 = 0; var21 < var10.rawWidth; ++var21) { + var22 = var21 * (var10.paddingX + 32) + var12; + var23 = var13 + var20 * (var10.paddingY + 32); + if (var19 < 20) { + var22 += var10.inventoryXOffsets[var19]; + var23 += var10.inventoryYOffsets[var19]; + } + + if (var10.itemIds[var19] <= 0) { + if (var10.inventorySprites != null && var19 < 20) { + SpritePixels var46 = var10.getInventorySprite(var19); + if (var46 != null) { + var46.drawTransBgAt(var22, var23); + } else if (Widget.field3045) { + class16.invalidateWidget(var10); + } + } + } else { + boolean var37 = false; + boolean var38 = false; + var26 = var10.itemIds[var19] - 1; + if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == GameEngine.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + SpritePixels var35; + if (Client.isItemSelected == 1 && var19 == ArchiveDiskAction.selectedItemSlot && var10.id == UserComparator6.selectedItemWidget) { + var35 = Actor.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); + } else { + var35 = Actor.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); + } + + if (var35 != null) { + if (var10 == GameEngine.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + var24 = MouseHandler.MouseHandler_x - Client.draggedWidgetX; + var25 = MouseHandler.MouseHandler_y - Client.draggedWidgetY; + if (var24 < 5 && var24 > -5) { + var24 = 0; + } + + if (var25 < 5 && var25 > -5) { + var25 = 0; + } + + if (Client.itemDragDuration < 5) { + var24 = 0; + var25 = 0; + } + + var35.drawTransAt(var24 + var22, var25 + var23, 128); + if (var1 != -1) { + Widget var28 = var0[var1 & 65535]; + int var29; + if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { + var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field536 / 3; + if (var29 > Client.field536 * 10) { + var29 = Client.field536 * 10; + } + + if (var29 > var28.scrollY) { + var29 = var28.scrollY; + } + + var28.scrollY -= var29; + Client.draggedWidgetY += var29; + class16.invalidateWidget(var28); + } + + if (var23 + var25 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { + var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field536 / 3; + if (var29 > Client.field536 * 10) { + var29 = Client.field536 * 10; + } + + if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { + var29 = var28.scrollHeight - var28.height - var28.scrollY; + } + + var28.scrollY += var29; + Client.draggedWidgetY -= var29; + class16.invalidateWidget(var28); + } + } + } else if (var10 == class7.field31 && var19 == Client.field597) { + var35.drawTransAt(var22, var23, 128); + } else { + var35.drawTransBgAt(var22, var23); + } + } else { + class16.invalidateWidget(var10); + } + } + } + + ++var19; + } + } + } else if (var10.type == 3) { + if (BufferedNetSocket.runCs1(var10)) { + var19 = var10.color2; + if (var10 == VarpDefinition.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var19 = var10.mouseOverColor2; + } + } else { + var19 = var10.color; + if (var10 == VarpDefinition.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var19 = var10.mouseOverColor; + } + } + + if (var10.fill) { + switch(var10.fillMode.field4369) { + case 1: + Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); + break; + case 2: + Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); + break; + default: + if (var14 == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } + } else if (var14 == 0) { + Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } else { + Font var39; + if (var10.type == 4) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field3045) { + class16.invalidateWidget(var10); + } + } else { + String var44 = var10.text; + if (BufferedNetSocket.runCs1(var10)) { + var20 = var10.color2; + if (var10 == VarpDefinition.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var20 = var10.mouseOverColor2; + } + + if (var10.text2.length() > 0) { + var44 = var10.text2; + } + } else { + var20 = var10.color; + if (var10 == VarpDefinition.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var20 = var10.mouseOverColor; + } + } + + if (var10.isIf3 && var10.itemId != -1) { + ItemComposition var45 = class87.ItemDefinition_get(var10.itemId); + var44 = var45.name; + if (var44 == null) { + var44 = "null"; + } + + if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { + var44 = FloorUnderlayDefinition.colorStartTag(16748608) + var44 + "" + " " + 'x' + class119.formatItemStacks(var10.itemQuantity); + } + } + + if (var10 == Client.meslayerContinueWidget) { + var44 = "Please wait..."; + var20 = var10.color; + } + + if (!var10.isIf3) { + var44 = SecureRandomFuture.method1952(var44, var10); + } + + var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); + } + } else if (var10.type == 5) { + SpritePixels var40; + if (!var10.isIf3) { + var40 = var10.getSprite(BufferedNetSocket.runCs1(var10)); + if (var40 != null) { + var40.drawTransBgAt(var12, var13); + } else if (Widget.field3045) { + class16.invalidateWidget(var10); + } + } else { + if (var10.itemId != -1) { + var40 = Actor.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); + } else { + var40 = var10.getSprite(false); + } + + if (var40 == null) { + if (Widget.field3045) { + class16.invalidateWidget(var10); + } + } else { + var20 = var40.width; + var21 = var40.height; + if (!var10.spriteTiling) { + var22 = var10.width * 4096 / var20; + if (var10.spriteAngle != 0) { + var40.method7350(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); + } else if (var14 != 0) { + var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); + } else if (var20 == var10.width && var21 == var10.height) { + var40.drawTransBgAt(var12, var13); + } else { + var40.drawScaledAt(var12, var13, var10.width, var10.height); + } + } else { + Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); + var22 = (var20 - 1 + var10.width) / var20; + var23 = (var21 - 1 + var10.height) / var21; + + for (var24 = 0; var24 < var22; ++var24) { + for (var25 = 0; var25 < var23; ++var25) { + if (var10.spriteAngle != 0) { + var40.method7350(var20 / 2 + var12 + var20 * var24, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096); + } else if (var14 != 0) { + var40.drawTransAt(var12 + var20 * var24, var13 + var25 * var21, 256 - (var14 & 255)); + } else { + var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25); + } + } + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + } + } + } + } else { + ItemComposition var33; + if (var10.type == 6) { + boolean var36 = BufferedNetSocket.runCs1(var10); + if (var36) { + var20 = var10.sequenceId2; + } else { + var20 = var10.sequenceId; + } + + Model var41 = null; + var22 = 0; + if (var10.itemId != -1) { + var33 = class87.ItemDefinition_get(var10.itemId); + if (var33 != null) { + var33 = var33.getCountObj(var10.itemQuantity); + var41 = var33.getModel(1); + if (var41 != null) { + var41.calculateBoundsCylinder(); + var22 = var41.height / 2; + } else { + class16.invalidateWidget(var10); + } + } + } else if (var10.modelType == 5) { + if (var10.modelId == 0) { + var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); + } else { + var41 = class67.localPlayer.getModel(); + } + } else if (var20 == -1) { + var41 = var10.getModel((SequenceDefinition)null, -1, var36, class67.localPlayer.appearance); + if (var41 == null && Widget.field3045) { + class16.invalidateWidget(var10); + } + } else { + SequenceDefinition var47 = KitDefinition.SequenceDefinition_get(var20); + var41 = var10.getModel(var47, var10.modelFrame, var36, class67.localPlayer.appearance); + if (var41 == null && Widget.field3045) { + class16.invalidateWidget(var10); + } + } + + Rasterizer3D.method4122(var10.width / 2 + var12, var10.height / 2 + var13); + var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; + var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; + if (var41 != null) { + if (!var10.isIf3) { + var41.method4454(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); + } else { + var41.calculateBoundsCylinder(); + if (var10.modelOrthog) { + var41.method4483(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); + } else { + var41.method4454(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY); + } + } + } + + Rasterizer3D.Rasterizer3D_method3(); + } else { + if (var10.type == 7) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field3045) { + class16.invalidateWidget(var10); + } + continue; + } + + var20 = 0; + + for (var21 = 0; var21 < var10.rawHeight; ++var21) { + for (var22 = 0; var22 < var10.rawWidth; ++var22) { + if (var10.itemIds[var20] > 0) { + var33 = class87.ItemDefinition_get(var10.itemIds[var20] - 1); + String var34; + if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { + var34 = FloorUnderlayDefinition.colorStartTag(16748608) + var33.name + ""; + } else { + var34 = FloorUnderlayDefinition.colorStartTag(16748608) + var33.name + "" + " " + 'x' + class119.formatItemStacks(var10.itemQuantities[var20]); + } + + var25 = var12 + var22 * (var10.paddingX + 115); + var26 = var13 + (var10.paddingY + 12) * var21; + if (var10.textXAlignment == 0) { + var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else if (var10.textXAlignment == 1) { + var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else { + var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1); + } + } + + ++var20; + } + } + } + + if (var10.type == 8 && var10 == PlayerType.field3661 && Client.field557 == Client.field642) { + var19 = 0; + var20 = 0; + Font var31 = class262.fontPlain12; + String var32 = var10.text; + + String var43; + for (var32 = SecureRandomFuture.method1952(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) { + var24 = var32.indexOf("
"); + if (var24 != -1) { + var43 = var32.substring(0, var24); + var32 = var32.substring(var24 + 4); + } else { + var43 = var32; + var32 = ""; + } + + var25 = var31.stringWidth(var43); + if (var25 > var19) { + var19 = var25; + } + } + + var19 += 6; + var20 += 7; + var24 = var12 + var10.width - 5 - var19; + var25 = var13 + var10.height + 5; + if (var24 < var12 + 5) { + var24 = var12 + 5; + } + + if (var24 + var19 > var4) { + var24 = var4 - var19; + } + + if (var20 + var25 > var5) { + var25 = var5 - var20; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120); + Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0); + var32 = var10.text; + var26 = var25 + var31.ascent + 2; + + for (var32 = SecureRandomFuture.method1952(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) { + int var27 = var32.indexOf("
"); + if (var27 != -1) { + var43 = var32.substring(0, var27); + var32 = var32.substring(var27 + 4); + } else { + var43 = var32; + var32 = ""; + } + + var31.draw(var43, var24 + 3, var26, 0, -1); + } + } + + if (var10.type == 9) { + if (var10.field3081) { + var19 = var12; + var20 = var13 + var10.height; + var21 = var12 + var10.width; + var22 = var13; + } else { + var19 = var12; + var20 = var13; + var21 = var12 + var10.width; + var22 = var13 + var10.height; + } + + if (var10.lineWid == 1) { + Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color); + } else { + HitSplatDefinition.method3162(var19, var20, var21, var22, var10.color, var10.lineWid); + } + } + } + } + } + } } } } - - for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { - if (Client.menuOpcodes[var10] == 23) { - Client.menuTargets[var10] = class54.colorStartTag(16777215) + var4; - break; - } - } - } } + } } diff --git a/runescape-client/src/main/java/AttackOption.java b/runescape-client/src/main/java/AttackOption.java index 52c71ecd99..5a7b29f3ff 100644 --- a/runescape-client/src/main/java/AttackOption.java +++ b/runescape-client/src/main/java/AttackOption.java @@ -4,47 +4,41 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cm") +@ObfuscatedName("cu") @Implements("AttackOption") public enum AttackOption implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) @Export("AttackOption_dependsOnCombatLevels") AttackOption_dependsOnCombatLevels(0), - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) @Export("AttackOption_alwaysRightClick") AttackOption_alwaysRightClick(1), - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) - field1238(2), - @ObfuscatedName("k") + field1234(2), + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) @Export("AttackOption_hidden") AttackOption_hidden(3), - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) - field1236(4); + field1237(4); - @ObfuscatedName("qg") - @ObfuscatedSignature( - descriptor = "Ldi;" - ) - @Export("guestClanSettings") - static ClanSettings guestClanSettings; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 867300587 + intValue = -1805660011 ) @Export("id") final int id; @@ -53,309 +47,125 @@ public enum AttackOption implements MouseWheel { this.id = var3; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;IZB)Z", - garbageValue = "80" + descriptor = "(II)Lfm;", + garbageValue = "2066190349" ) - static boolean method2254(CharSequence var0, int var1, boolean var2) { - if (var1 >= 2 && var1 <= 36) { - boolean var3 = false; - boolean var4 = false; - int var5 = 0; - int var6 = var0.length(); - - for (int var7 = 0; var7 < var6; ++var7) { - char var8 = var0.charAt(var7); - if (var7 == 0) { - if (var8 == '-') { - var3 = true; - continue; - } - - if (var8 == '+') { - continue; - } - } - - int var10; - if (var8 >= '0' && var8 <= '9') { - var10 = var8 - '0'; - } else if (var8 >= 'A' && var8 <= 'Z') { - var10 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { - return false; - } - - var10 = var8 - 'W'; - } - - if (var10 >= var1) { - return false; - } - - if (var3) { - var10 = -var10; - } - - int var9 = var5 * var1 + var10; - if (var9 / var1 != var5) { - return false; - } - - var5 = var9; - var4 = true; - } - - return var4; + public static VarbitComposition method2263(int var0) { + VarbitComposition var1 = (VarbitComposition)VarbitComposition.VarbitDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - throw new IllegalArgumentException("" + var1); + byte[] var2 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); + var1 = new VarbitComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + VarbitComposition.VarbitDefinition_cached.put(var1, (long)var0); + return var1; } } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([BI)Lbg;", - garbageValue = "-1523134564" + descriptor = "(Lkl;Lkl;B)V", + garbageValue = "1" ) - @Export("newScript") - static Script newScript(byte[] var0) { - Script var1 = new Script(); - Buffer var2 = new Buffer(var0); - var2.offset = var2.array.length - 2; - int var3 = var2.readUnsignedShort(); - int var4 = var2.array.length - 2 - var3 - 12; - var2.offset = var4; - int var5 = var2.readInt(); - var1.localIntCount = var2.readUnsignedShort(); - var1.localStringCount = var2.readUnsignedShort(); - var1.intArgumentCount = var2.readUnsignedShort(); - var1.stringArgumentCount = var2.readUnsignedShort(); - int var6 = var2.readUnsignedByte(); - int var7; - int var8; - if (var6 > 0) { - var1.switches = var1.newIterableNodeHashTable(var6); + public static void method2262(AbstractArchive var0, AbstractArchive var1) { + HealthBarDefinition.HealthBarDefinition_archive = var0; + HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; + } - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2.readUnsignedShort(); - IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? ItemContainer.method2041(var8) : 1); - var1.switches[var7] = var9; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Lbc;", + garbageValue = "1817512128" + ) + @Export("getNextWorldListWorld") + static World getNextWorldListWorld() { + return World.World_listCount < World.World_count ? class386.World_worlds[++World.World_listCount - 1] : null; + } - while (var8-- > 0) { - int var10 = var2.readInt(); - int var11 = var2.readInt(); - var9.put(new IntegerNode(var11), (long)var10); - } + @ObfuscatedName("el") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "1106" + ) + @Export("logOut") + static final void logOut() { + Client.packetWriter.close(); + HealthBarDefinition.method2977(); + PlayerComposition.scene.clear(); + + for (int var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0].clear(); + } + + System.gc(); + CollisionMap.method3417(2); + Client.currentTrackGroupId = -1; + Client.field663 = false; + + for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.stream1 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var1.stream1); + var1.stream1 = null; + } + + if (var1.stream2 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var1.stream2); + var1.stream2 = null; } } - var2.offset = 0; - var1.field941 = var2.readStringCp1252NullTerminatedOrNull(); - var1.opcodes = new int[var5]; - var1.intOperands = new int[var5]; - var1.stringOperands = new String[var5]; + ObjectSound.objectSounds.clear(); + UserList.updateGameState(10); + } - for (var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { - var8 = var2.readUnsignedShort(); - if (var8 == 3) { - var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); - } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { - var1.intOperands[var7] = var2.readInt(); + @ObfuscatedName("iv") + @ObfuscatedSignature( + descriptor = "(Ljt;Lfa;IIZI)V", + garbageValue = "-487179567" + ) + @Export("addWidgetItemMenuItem") + static final void addWidgetItemMenuItem(Widget var0, ItemComposition var1, int var2, int var3, boolean var4) { + String[] var5 = var1.inventoryActions; + byte var6 = -1; + String var7 = null; + if (var5 != null && var5[var3] != null) { + if (var3 == 0) { + var6 = 33; + } else if (var3 == 1) { + var6 = 34; + } else if (var3 == 2) { + var6 = 35; + } else if (var3 == 3) { + var6 = 36; } else { - var1.intOperands[var7] = var2.readUnsignedByte(); + var6 = 37; } + + var7 = var5[var3]; + } else if (var3 == 4) { + var6 = 37; + var7 = "Drop"; } - return var1; - } - - @ObfuscatedName("hn") - @ObfuscatedSignature( - descriptor = "(Loq;B)V", - garbageValue = "28" - ) - static final void method2255(PacketBuffer var0) { - for (int var1 = 0; var1 < Client.field560; ++var1) { - int var2 = Client.field533[var1]; - NPC var3 = Client.npcs[var2]; - int var4 = var0.readUnsignedByte(); - if ((var4 & 64) != 0) { - var3.definition = ScriptEvent.getNpcDefinition(var0.method6853()); - var3.field1137 = var3.definition.size; - var3.field1146 = var3.definition.rotation; - var3.walkSequence = var3.definition.walkSequence; - var3.walkBackSequence = var3.definition.walkBackSequence; - var3.walkLeftSequence = var3.definition.walkLeftSequence; - var3.walkRightSequence = var3.definition.walkRightSequence; - var3.idleSequence = var3.definition.idleSequence; - var3.turnLeftSequence = var3.definition.turnLeftSequence; - var3.turnRightSequence = var3.definition.turnRightSequence; - } - - int var5; - int var6; - int var7; - if ((var4 & 128) != 0) { - var5 = var0.method6853(); - if (var5 == 65535) { - var5 = -1; - } - - var6 = var0.readUnsignedByte(); - if (var5 == var3.sequence && var5 != -1) { - var7 = class17.SequenceDefinition_get(var5).field1961; - if (var7 == 1) { - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field1099 = 0; - } - - if (var7 == 2) { - var3.field1099 = 0; - } - } else if (var5 == -1 || var3.sequence == -1 || class17.SequenceDefinition_get(var5).field1955 >= class17.SequenceDefinition_get(var3.sequence).field1955) { - var3.sequence = var5; - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field1099 = 0; - var3.field1152 = var3.pathLength; - } - } - - int var8; - if ((var4 & 1) != 0) { - var5 = var0.method6940(); - var6 = var0.method6940(); - var7 = var3.x - (var5 - FloorOverlayDefinition.baseX - FloorOverlayDefinition.baseX) * 64; - var8 = var3.y - (var6 - class320.baseY - class320.baseY) * 64; - if (var7 != 0 || var8 != 0) { - var3.field1096 = (int)(Math.atan2((double)var7, (double)var8) * 325.949D) & 2047; - } - } - - if ((var4 & 32) != 0) { - var3.spotAnimation = var0.readUnsignedShort(); - var5 = var0.readInt(); - var3.field1134 = var5 >> 16; - var3.field1133 = (var5 & 65535) + Client.cycle; - var3.spotAnimationFrame = 0; - var3.spotAnimationFrameCycle = 0; - if (var3.field1133 > Client.cycle) { - var3.spotAnimationFrame = -1; - } - - if (var3.spotAnimation == 65535) { - var3.spotAnimation = -1; - } - } - - if ((var4 & 16) != 0) { - var3.overheadText = var0.readStringCp1252NullTerminated(); - var3.overheadTextCyclesRemaining = 100; - } - - if ((var4 & 4) != 0) { - var3.field1135 = var0.readByte(); - var3.field1141 = var0.method6848(); - var3.field1121 = var0.method6901(); - var3.field1110 = var0.method6901(); - var3.field1139 = var0.method6940() + Client.cycle; - var3.field1140 = var0.method6855() + Client.cycle; - var3.field1101 = var0.method6853(); - var3.pathLength = 1; - var3.field1152 = 0; - var3.field1135 += var3.pathX[0]; - var3.field1141 += var3.pathY[0]; - var3.field1121 += var3.pathX[0]; - var3.field1110 += var3.pathY[0]; - } - - if ((var4 & 8) != 0) { - var3.targetIndex = var0.readUnsignedShort(); - if (var3.targetIndex == 65535) { - var3.targetIndex = -1; - } - } - - if ((var4 & 2) != 0) { - var5 = var0.method7007(); - int var9; - int var10; - int var11; - if (var5 > 0) { - for (var6 = 0; var6 < var5; ++var6) { - var8 = -1; - var9 = -1; - var10 = -1; - var7 = var0.readUShortSmart(); - if (var7 == 32767) { - var7 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - var8 = var0.readUShortSmart(); - var10 = var0.readUShortSmart(); - } else if (var7 != 32766) { - var9 = var0.readUShortSmart(); - } else { - var7 = -1; - } - - var11 = var0.readUShortSmart(); - var3.addHitSplat(var7, var9, var8, var10, Client.cycle, var11); - } - } - - var6 = var0.method6844(); - if (var6 > 0) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - if (var9 != 32767) { - var10 = var0.readUShortSmart(); - var11 = var0.method6849(); - int var12 = var9 > 0 ? var0.method6844() : var11; - var3.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); - } else { - var3.removeHealthBar(var8); - } - } - } - } + if (var6 != -1 && var7 != null) { + StructComposition.insertMenuItem(var7, FloorUnderlayDefinition.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); } } - - @ObfuscatedName("kp") - @ObfuscatedSignature( - descriptor = "(IIZI)V", - garbageValue = "2055549575" - ) - static final void method2253(int var0, int var1, boolean var2) { - if (Client.currentClanChannels[var0] != null) { - if (var1 >= 0 && var1 < Client.currentClanChannels[var0].method2677()) { - ClanChannelMember var3 = (ClanChannelMember)Client.currentClanChannels[var0].members.get(var1); - PacketWriter var4 = Client.packetWriter; - PacketBufferNode var5 = FriendSystem.getPacketBufferNode(ClientPacket.field2666, var4.isaacCipher); - var5.packetBuffer.writeByte(4 + BufferedSink.stringCp1252NullTerminatedByteSize(var3.username.getName())); - var5.packetBuffer.writeByte(var0); - var5.packetBuffer.writeShort(var1); - var5.packetBuffer.writeBoolean(var2); - var5.packetBuffer.writeStringCp1252NullTerminated(var3.username.getName()); - var4.addNode(var5); - } - } - } } diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index f4368f67f2..97b93fcc7a 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -3,154 +3,154 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ax") +@ObfuscatedName("af") @Implements("AudioFilter") public class AudioFilter { - @ObfuscatedName("g") - static float[][] field399; - @ObfuscatedName("z") + @ObfuscatedName("k") + static float[][] field397; + @ObfuscatedName("t") @Export("coefficients") static int[][] coefficients; @ObfuscatedName("a") - static float field401; - @ObfuscatedName("u") + static float field399; + @ObfuscatedName("e") @Export("forwardMultiplier") static int forwardMultiplier; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("pairs") int[] pairs; + @ObfuscatedName("f") + int[][][] field394; + @ObfuscatedName("j") + int[][][] field395; @ObfuscatedName("m") - int[][][] field396; - @ObfuscatedName("k") - int[][][] field403; - @ObfuscatedName("o") - int[] field398; + int[] field401; static { - field399 = new float[2][8]; + field397 = new float[2][8]; coefficients = new int[2][8]; } AudioFilter() { this.pairs = new int[2]; - this.field396 = new int[2][2][4]; - this.field403 = new int[2][2][4]; - this.field398 = new int[2]; + this.field394 = new int[2][2][4]; + this.field395 = new int[2][2][4]; + this.field401 = new int[2]; } - @ObfuscatedName("n") - float method1054(int var1, int var2, float var3) { - float var4 = (float)this.field403[var1][0][var2] + var3 * (float)(this.field403[var1][1][var2] - this.field403[var1][0][var2]); + @ObfuscatedName("l") + float method1026(int var1, int var2, float var3) { + float var4 = (float)this.field395[var1][0][var2] + var3 * (float)(this.field395[var1][1][var2] - this.field395[var1][0][var2]); var4 *= 0.0015258789F; return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); } - @ObfuscatedName("m") - float method1055(int var1, int var2, float var3) { - float var4 = (float)this.field396[var1][0][var2] + var3 * (float)(this.field396[var1][1][var2] - this.field396[var1][0][var2]); + @ObfuscatedName("f") + float method1028(int var1, int var2, float var3) { + float var4 = (float)this.field394[var1][0][var2] + var3 * (float)(this.field394[var1][1][var2] - this.field394[var1][0][var2]); var4 *= 1.2207031E-4F; return normalize(var4); } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("compute") int compute(int var1, float var2) { float var3; if (var1 == 0) { - var3 = (float)this.field398[0] + (float)(this.field398[1] - this.field398[0]) * var2; + var3 = (float)this.field401[0] + (float)(this.field401[1] - this.field401[0]) * var2; var3 *= 0.0030517578F; - field401 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); - forwardMultiplier = (int)(field401 * 65536.0F); + field399 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); + forwardMultiplier = (int)(field399 * 65536.0F); } if (this.pairs[var1] == 0) { return 0; } else { - var3 = this.method1054(var1, 0, var2); - field399[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method1055(var1, 0, var2)); - field399[var1][1] = var3 * var3; + var3 = this.method1026(var1, 0, var2); + field397[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method1028(var1, 0, var2)); + field397[var1][1] = var3 * var3; float[] var10000; int var4; for (var4 = 1; var4 < this.pairs[var1]; ++var4) { - var3 = this.method1054(var1, var4, var2); - float var5 = -2.0F * var3 * (float)Math.cos((double)this.method1055(var1, var4, var2)); + var3 = this.method1026(var1, var4, var2); + float var5 = -2.0F * var3 * (float)Math.cos((double)this.method1028(var1, var4, var2)); float var6 = var3 * var3; - field399[var1][var4 * 2 + 1] = field399[var1][var4 * 2 - 1] * var6; - field399[var1][var4 * 2] = field399[var1][var4 * 2 - 1] * var5 + field399[var1][var4 * 2 - 2] * var6; + field397[var1][var4 * 2 + 1] = field397[var1][var4 * 2 - 1] * var6; + field397[var1][var4 * 2] = field397[var1][var4 * 2 - 1] * var5 + field397[var1][var4 * 2 - 2] * var6; for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { - var10000 = field399[var1]; - var10000[var7] += field399[var1][var7 - 1] * var5 + field399[var1][var7 - 2] * var6; + var10000 = field397[var1]; + var10000[var7] += field397[var1][var7 - 1] * var5 + field397[var1][var7 - 2] * var6; } - var10000 = field399[var1]; - var10000[1] += field399[var1][0] * var5 + var6; - var10000 = field399[var1]; + var10000 = field397[var1]; + var10000[1] += field397[var1][0] * var5 + var6; + var10000 = field397[var1]; var10000[0] += var5; } if (var1 == 0) { for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { - var10000 = field399[0]; - var10000[var4] *= field401; + var10000 = field397[0]; + var10000[var4] *= field399; } } for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { - coefficients[var1][var4] = (int)(field399[var1][var4] * 65536.0F); + coefficients[var1][var4] = (int)(field397[var1][var4] * 65536.0F); } return this.pairs[var1] * 2; } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lot;Lau;)V" + descriptor = "(Lot;Lar;)V" ) - final void method1057(Buffer var1, SoundEnvelope var2) { + final void method1029(Buffer var1, SoundEnvelope var2) { int var3 = var1.readUnsignedByte(); this.pairs[0] = var3 >> 4; this.pairs[1] = var3 & 15; if (var3 != 0) { - this.field398[0] = var1.readUnsignedShort(); - this.field398[1] = var1.readUnsignedShort(); + this.field401[0] = var1.readUnsignedShort(); + this.field401[1] = var1.readUnsignedShort(); int var7 = var1.readUnsignedByte(); int var5; int var6; for (var5 = 0; var5 < 2; ++var5) { for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - this.field396[var5][0][var6] = var1.readUnsignedShort(); - this.field403[var5][0][var6] = var1.readUnsignedShort(); + this.field394[var5][0][var6] = var1.readUnsignedShort(); + this.field395[var5][0][var6] = var1.readUnsignedShort(); } } for (var5 = 0; var5 < 2; ++var5) { for (var6 = 0; var6 < this.pairs[var5]; ++var6) { if ((var7 & 1 << var5 * 4 << var6) != 0) { - this.field396[var5][1][var6] = var1.readUnsignedShort(); - this.field403[var5][1][var6] = var1.readUnsignedShort(); + this.field394[var5][1][var6] = var1.readUnsignedShort(); + this.field395[var5][1][var6] = var1.readUnsignedShort(); } else { - this.field396[var5][1][var6] = this.field396[var5][0][var6]; - this.field403[var5][1][var6] = this.field403[var5][0][var6]; + this.field394[var5][1][var6] = this.field394[var5][0][var6]; + this.field395[var5][1][var6] = this.field395[var5][0][var6]; } } } - if (var7 != 0 || this.field398[1] != this.field398[0]) { + if (var7 != 0 || this.field401[1] != this.field401[0]) { var2.decodeSegments(var1); } } else { - int[] var4 = this.field398; - this.field398[1] = 0; + int[] var4 = this.field401; + this.field401[1] = 0; var4[0] = 0; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("normalize") static float normalize(float var0) { float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); diff --git a/runescape-client/src/main/java/BZip2Decompressor.java b/runescape-client/src/main/java/BZip2Decompressor.java index 83ad4d7cda..92ba41b95f 100644 --- a/runescape-client/src/main/java/BZip2Decompressor.java +++ b/runescape-client/src/main/java/BZip2Decompressor.java @@ -3,12 +3,12 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oz") +@ObfuscatedName("ox") @Implements("BZip2Decompressor") public final class BZip2Decompressor { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Low;" + descriptor = "Loe;" ) @Export("BZip2Decompressor_state") static BZip2State BZip2Decompressor_state; @@ -17,7 +17,7 @@ public final class BZip2Decompressor { BZip2Decompressor_state = new BZip2State(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("BZip2Decompressor_decompress") public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { synchronized(BZip2Decompressor_state) { @@ -29,7 +29,7 @@ public final class BZip2Decompressor { BZip2Decompressor_state.bsLive = 0; BZip2Decompressor_state.bsBuff = 0; BZip2Decompressor_state.nextBit_unused = 0; - BZip2Decompressor_state.field4306 = 0; + BZip2Decompressor_state.field4307 = 0; BZip2Decompressor_decompress(BZip2Decompressor_state); var1 -= BZip2Decompressor_state.outputLength; BZip2Decompressor_state.inputArray = null; @@ -38,21 +38,21 @@ public final class BZip2Decompressor { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Low;)V" + descriptor = "(Loe;)V" ) - static void method7048(BZip2State var0) { + static void method7132(BZip2State var0) { byte var2 = var0.out_char; int var3 = var0.su_rNToGo; int var4 = var0.nblocks_used; int var5 = var0.su_ch2; - int[] var6 = FloorOverlayDefinition.BZip2Decompressor_block; - int var7 = var0.field4283; + int[] var6 = AbstractUserComparator.BZip2Decompressor_block; + int var7 = var0.field4314; byte[] var8 = var0.outputArray; int var9 = var0.next_out; int var10 = var0.outputLength; - int var12 = var0.field4312 + 1; + int var12 = var0.field4300 + 1; label70: while (true) { @@ -148,25 +148,25 @@ public final class BZip2Decompressor { break; } - int var13 = var0.field4306; - var0.field4306 += var10 - var10; - if (var0.field4306 < var13) { + int var13 = var0.field4307; + var0.field4307 += var10 - var10; + if (var0.field4307 < var13) { } var0.out_char = var2; var0.su_rNToGo = var3; var0.nblocks_used = var4; var0.su_ch2 = var5; - FloorOverlayDefinition.BZip2Decompressor_block = var6; - var0.field4283 = var7; + AbstractUserComparator.BZip2Decompressor_block = var6; + var0.field4314 = var7; var0.outputArray = var8; var0.next_out = var9; var0.outputLength = var10; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Low;)V" + descriptor = "(Loe;)V" ) @Export("BZip2Decompressor_decompress") static void BZip2Decompressor_decompress(BZip2State var0) { @@ -192,9 +192,9 @@ public final class BZip2Decompressor { int[] var23 = null; int[] var24 = null; int[] var25 = null; - var0.blockSize100k = -1821758279; - if (FloorOverlayDefinition.BZip2Decompressor_block == null) { - FloorOverlayDefinition.BZip2Decompressor_block = new int[var0.blockSize100k * -1191793760]; + var0.blockSize100k = -1272899535; + if (AbstractUserComparator.BZip2Decompressor_block == null) { + AbstractUserComparator.BZip2Decompressor_block = new int[var0.blockSize100k * -800659296]; } boolean var26 = true; @@ -430,7 +430,7 @@ public final class BZip2Decompressor { } var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++; - FloorOverlayDefinition.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; + AbstractUserComparator.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; ++var47; if (var45 == 0) { ++var43; @@ -489,7 +489,7 @@ public final class BZip2Decompressor { var10000 = var0.unzftab; for (var10000[var1 & 255] += var48; var48 > 0; --var48) { - FloorOverlayDefinition.BZip2Decompressor_block[var47] = var1 & 255; + AbstractUserComparator.BZip2Decompressor_block[var47] = var1 & 255; ++var47; } } @@ -509,22 +509,22 @@ public final class BZip2Decompressor { } for (var36 = 0; var36 < var47; ++var36) { - var1 = (byte)(FloorOverlayDefinition.BZip2Decompressor_block[var36] & 255); - var10000 = FloorOverlayDefinition.BZip2Decompressor_block; + var1 = (byte)(AbstractUserComparator.BZip2Decompressor_block[var36] & 255); + var10000 = AbstractUserComparator.BZip2Decompressor_block; int var10001 = var0.cftab[var1 & 255]; var10000[var10001] |= var36 << 8; var10002 = var0.cftab[var1 & 255]++; } - var0.field4283 = FloorOverlayDefinition.BZip2Decompressor_block[var0.originalPointer] >> 8; + var0.field4314 = AbstractUserComparator.BZip2Decompressor_block[var0.originalPointer] >> 8; var0.nblocks_used = 0; - var0.field4283 = FloorOverlayDefinition.BZip2Decompressor_block[var0.field4283]; - var0.su_ch2 = (byte)(var0.field4283 & 255); - var0.field4283 >>= 8; + var0.field4314 = AbstractUserComparator.BZip2Decompressor_block[var0.field4314]; + var0.su_ch2 = (byte)(var0.field4314 & 255); + var0.field4314 >>= 8; ++var0.nblocks_used; - var0.field4312 = var47; - method7048(var0); - if (var0.field4312 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { + var0.field4300 = var47; + method7132(var0); + if (var0.field4300 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { var26 = true; break; } @@ -538,27 +538,27 @@ public final class BZip2Decompressor { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Low;)B" + descriptor = "(Loe;)B" ) @Export("BZip2Decompressor_readNextByte") static byte BZip2Decompressor_readNextByte(BZip2State var0) { return (byte)BZip2Decompressor_readBits(8, var0); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Low;)B" + descriptor = "(Loe;)B" ) @Export("BZip2Decompressor_readNextBit") static byte BZip2Decompressor_readNextBit(BZip2State var0) { return (byte)BZip2Decompressor_readBits(1, var0); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(ILow;)I" + descriptor = "(ILoe;)I" ) @Export("BZip2Decompressor_readBits") static int BZip2Decompressor_readBits(int var0, BZip2State var1) { @@ -576,9 +576,9 @@ public final class BZip2Decompressor { return var2; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Low;)V" + descriptor = "(Loe;)V" ) @Export("makeMaps") static void makeMaps(BZip2State var0) { diff --git a/runescape-client/src/main/java/BZip2State.java b/runescape-client/src/main/java/BZip2State.java index df7ce3667c..e0321463c6 100644 --- a/runescape-client/src/main/java/BZip2State.java +++ b/runescape-client/src/main/java/BZip2State.java @@ -2,166 +2,165 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ow") +@ObfuscatedName("oe") @Implements("BZip2State") public final class BZip2State { - @ObfuscatedName("n") - final int field4304; - @ObfuscatedName("c") - final int field4276; + @ObfuscatedName("l") + final int field4321; + @ObfuscatedName("q") + final int field4301; + @ObfuscatedName("f") + final int field4297; + @ObfuscatedName("j") + final int field4298; @ObfuscatedName("m") - final int field4277; + final int field4324; @ObfuscatedName("k") - final int field4278; - @ObfuscatedName("o") - final int field4302; - @ObfuscatedName("g") - final int field4294; - @ObfuscatedName("z") + final int field4327; + @ObfuscatedName("t") @Export("inputArray") byte[] inputArray; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 53952311 + intValue = -423791867 ) @Export("nextByte") int nextByte; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1797738761 + intValue = -35036943 ) @Export("nextBit_unused") int nextBit_unused; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("outputArray") byte[] outputArray; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1463304683 + intValue = -274929017 ) @Export("next_out") int next_out; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1546879961 + intValue = 1396633921 ) @Export("outputLength") int outputLength; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = -11358323 + intValue = 1637458191 ) - int field4306; - @ObfuscatedName("f") + int field4307; + @ObfuscatedName("v") @Export("out_char") byte out_char; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = -2114937873 + intValue = -19931269 ) @Export("su_rNToGo") int su_rNToGo; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = -1611306341 + intValue = 2147042251 ) @Export("bsBuff") int bsBuff; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = 679904065 + intValue = -1165324025 ) @Export("bsLive") int bsLive; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("blockSize100k") int blockSize100k; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = -2078278977 + intValue = -1252638347 ) @Export("originalPointer") int originalPointer; - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = 1213180761 + intValue = -2144945391 ) - int field4283; - @ObfuscatedName("b") + int field4314; + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 1191633685 + intValue = -1948961563 ) @Export("su_ch2") int su_ch2; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("unzftab") int[] unzftab; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -607408647 + intValue = -194089085 ) @Export("nblocks_used") int nblocks_used; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("cftab") int[] cftab; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = 1443990071 + intValue = -305631671 ) @Export("nInUse") int nInUse; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("inUse") boolean[] inUse; @ObfuscatedName("ad") @Export("inUse16") boolean[] inUse16; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("seqToUnseq") byte[] seqToUnseq; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("ll8") byte[] ll8; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("getAndMoveToFrontDecode_yy") int[] getAndMoveToFrontDecode_yy; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("selector") byte[] selector; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("selectorMtf") byte[] selectorMtf; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("temp_charArray2d") byte[][] temp_charArray2d; - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("limit") int[][] limit; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @Export("base") int[][] base; - @ObfuscatedName("an") + @ObfuscatedName("ag") @Export("perm") int[][] perm; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("minLens") int[] minLens; - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedGetter( - intValue = -1858865351 + intValue = 1097508377 ) - int field4312; + int field4300; BZip2State() { - this.field4304 = 4096; - this.field4276 = 16; - this.field4277 = 258; - this.field4278 = 6; - this.field4302 = 50; - this.field4294 = 18002; + this.field4321 = 4096; + this.field4301 = 16; + this.field4297 = 258; + this.field4298 = 6; + this.field4324 = 50; + this.field4327 = 18002; this.nextByte = 0; this.next_out = 0; this.unzftab = new int[256]; @@ -179,38 +178,4 @@ public final class BZip2State { this.perm = new int[6][258]; this.minLens = new int[6]; } - - @ObfuscatedName("iu") - @ObfuscatedSignature( - descriptor = "(Ljd;I)Z", - garbageValue = "-1069894209" - ) - @Export("runCs1") - static final boolean runCs1(Widget var0) { - if (var0.cs1Comparisons == null) { - return false; - } else { - for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { - int var2 = class9.method90(var0, var1); - int var3 = var0.cs1ComparisonValues[var1]; - if (var0.cs1Comparisons[var1] == 2) { - if (var2 >= var3) { - return false; - } - } else if (var0.cs1Comparisons[var1] == 3) { - if (var2 <= var3) { - return false; - } - } else if (var0.cs1Comparisons[var1] == 4) { - if (var3 == var2) { - return false; - } - } else if (var3 != var2) { - return false; - } - } - - return true; - } - } } diff --git a/runescape-client/src/main/java/BoundaryObject.java b/runescape-client/src/main/java/BoundaryObject.java index 8c34b38577..cf8e3baa05 100644 --- a/runescape-client/src/main/java/BoundaryObject.java +++ b/runescape-client/src/main/java/BoundaryObject.java @@ -7,57 +7,63 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("hn") @Implements("BoundaryObject") public final class BoundaryObject { - @ObfuscatedName("n") + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("worldSelectBackSprites") + static SpritePixels[] worldSelectBackSprites; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1585144359 + intValue = -1376484179 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 615772211 + intValue = -604518039 ) @Export("x") int x; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -961076053 + intValue = -129447381 ) @Export("y") int y; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 697476863 + intValue = -1366610135 ) @Export("orientationA") int orientationA; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1786552595 + intValue = -488074781 ) @Export("orientationB") int orientationB; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("renderable1") public Renderable renderable1; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("renderable2") public Renderable renderable2; @ObfuscatedName("a") @ObfuscatedGetter( - longValue = 570291309614965945L + longValue = -3701872394330512717L ) @Export("tag") public long tag; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1509654997 + intValue = 1201244349 ) @Export("flags") int flags; diff --git a/runescape-client/src/main/java/Bounds.java b/runescape-client/src/main/java/Bounds.java index ae2066b1e4..880926b338 100644 --- a/runescape-client/src/main/java/Bounds.java +++ b/runescape-client/src/main/java/Bounds.java @@ -3,31 +3,38 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("mt") +@ObfuscatedName("me") @Implements("Bounds") public class Bounds { - @ObfuscatedName("n") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -2576511 + intValue = 381573943 + ) + @Export("idxCount") + public static int idxCount; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1695480497 ) @Export("lowX") public int lowX; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1191189267 + intValue = -2043874087 ) @Export("lowY") public int lowY; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1359495181 + intValue = 1088708309 ) @Export("highX") public int highX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -18291391 + intValue = 1526054429 ) @Export("highY") public int highY; @@ -41,10 +48,10 @@ public class Bounds { this(0, 0, var1, var2); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1032110275" + descriptor = "(IIB)V", + garbageValue = "-104" ) @Export("setLow") public void setLow(int var1, int var2) { @@ -52,10 +59,10 @@ public class Bounds { this.lowY = var2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "1500851381" + garbageValue = "-1084787659" ) @Export("setHigh") public void setHigh(int var1, int var2) { @@ -63,40 +70,40 @@ public class Bounds { this.highY = var2; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "-1261936501" + descriptor = "(IIB)Z", + garbageValue = "1" ) - public boolean method6186(int var1, int var2) { + public boolean method6252(int var1, int var2) { return var1 >= this.lowX && var1 < this.lowX + this.highX && var2 >= this.lowY && var2 < this.highY + this.lowY; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lmt;Lmt;I)V", - garbageValue = "1284684656" + descriptor = "(Lme;Lme;B)V", + garbageValue = "-83" ) - public void method6191(Bounds var1, Bounds var2) { - this.method6192(var1, var2); - this.method6196(var1, var2); + public void method6253(Bounds var1, Bounds var2) { + this.method6254(var1, var2); + this.method6255(var1, var2); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lmt;Lmt;I)V", - garbageValue = "-1884423732" + descriptor = "(Lme;Lme;I)V", + garbageValue = "348652438" ) - void method6192(Bounds var1, Bounds var2) { + void method6254(Bounds var1, Bounds var2) { var2.lowX = this.lowX; var2.highX = this.highX; if (this.lowX < var1.lowX) { - var2.highX = (var2.highX * 432140603 - (var1.lowX * 432140603 - this.lowX * 432140603)) * -1359495181; + var2.highX = (var2.highX * 1746135677 - (var1.lowX * 1746135677 - this.lowX * 1746135677)) * 1088708309; var2.lowX = var1.lowX; } - if (var2.method6195() > var1.method6195()) { - var2.highX -= var2.method6195() - var1.method6195(); + if (var2.method6261() > var1.method6261()) { + var2.highX -= var2.method6261() - var1.method6261(); } if (var2.highX < 0) { @@ -105,21 +112,21 @@ public class Bounds { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lmt;Lmt;I)V", - garbageValue = "-2054192714" + descriptor = "(Lme;Lme;I)V", + garbageValue = "-1307701486" ) - void method6196(Bounds var1, Bounds var2) { + void method6255(Bounds var1, Bounds var2) { var2.lowY = this.lowY; var2.highY = this.highY; if (this.lowY < var1.lowY) { - var2.highY = (var2.highY * 1487841985 - (var1.lowY * 1487841985 - this.lowY * 1487841985)) * -18291391; + var2.highY = (var2.highY * 98366517 - (var1.lowY * 98366517 - this.lowY * 98366517)) * 1526054429; var2.lowY = var1.lowY; } - if (var2.method6194() > var1.method6194()) { - var2.highY -= var2.method6194() - var1.method6194(); + if (var2.method6257() > var1.method6257()) { + var2.highY -= var2.method6257() - var1.method6257(); } if (var2.highY < 0) { @@ -128,25 +135,85 @@ public class Bounds { } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1761528671" + garbageValue = "-1298580692" ) - int method6195() { - return this.lowX + this.highX; + int method6261() { + return this.highX + this.lowX; } @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "16384" + descriptor = "(B)I", + garbageValue = "-108" ) - int method6194() { - return this.lowY + this.highY; + int method6257() { + return this.highY + this.lowY; } public String toString() { return null; } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "1" + ) + static int method6262(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETSCROLLX) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTEXT) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == 1610) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == 1613) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else if (var0 != 1615 && var0 != 1616) { + return 2; + } else { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } } diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index e336794c2e..db8469a527 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -1,27 +1,28 @@ +import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mm") +@ObfuscatedName("mi") @Implements("Buddy") public class Buddy extends User { - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 382223653 + intValue = -977331453 ) @Export("world") public int world; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1852682519 + intValue = 245467125 ) @Export("int2") public int int2; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -775599793 + intValue = -1269948007 ) @Export("rank") public int rank; @@ -30,10 +31,10 @@ public class Buddy extends User { this.world = -1; } - @ObfuscatedName("bd") + @ObfuscatedName("aq") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "-892218760" + garbageValue = "-1337027994" ) @Export("set") void set(int var1, int var2) { @@ -41,23 +42,34 @@ public class Buddy extends User { this.int2 = var2; } - @ObfuscatedName("bt") + @ObfuscatedName("ar") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1235616558" + garbageValue = "-932484289" ) @Export("getWorld") public int getWorld() { return this.world; } - @ObfuscatedName("bf") + @ObfuscatedName("ac") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-478268789" + garbageValue = "1790941818" ) @Export("hasWorld") public boolean hasWorld() { return this.world > 0; } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)Ljava/security/SecureRandom;", + garbageValue = "-942544363" + ) + static SecureRandom method6152() { + SecureRandom var0 = new SecureRandom(); + var0.nextInt(); + return var0; + } } diff --git a/runescape-client/src/main/java/BuddyRankComparator.java b/runescape-client/src/main/java/BuddyRankComparator.java index 0cb459400b..500214bd63 100644 --- a/runescape-client/src/main/java/BuddyRankComparator.java +++ b/runescape-client/src/main/java/BuddyRankComparator.java @@ -2,12 +2,22 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("db") +@ObfuscatedName("dq") @Implements("BuddyRankComparator") public class BuddyRankComparator extends AbstractUserComparator { - @ObfuscatedName("n") + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("musicTrack") + public static MusicTrack musicTrack; + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Leb;" + ) + static ClanChannel field1347; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -15,10 +25,10 @@ public class BuddyRankComparator extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;I)I", - garbageValue = "1027451516" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "-940164438" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -33,176 +43,12 @@ public class BuddyRankComparator extends AbstractUserComparator { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;B)Ljava/lang/String;", - garbageValue = "28" + descriptor = "(B)I", + garbageValue = "0" ) - public static String method2456(CharSequence var0) { - long var3 = 0L; - int var5 = var0.length(); - - for (int var6 = 0; var6 < var5; ++var6) { - var3 *= 37L; - char var7 = var0.charAt(var6); - if (var7 >= 'A' && var7 <= 'Z') { - var3 += (long)(var7 + 1 - 65); - } else if (var7 >= 'a' && var7 <= 'z') { - var3 += (long)(var7 + 1 - 97); - } else if (var7 >= '0' && var7 <= '9') { - var3 += (long)(var7 + 27 - 48); - } - - if (var3 >= 177917621779460413L) { - break; - } - } - - while (0L == var3 % 37L && var3 != 0L) { - var3 /= 37L; - } - - String var8 = UserComparator8.base37DecodeLong(var3); - if (var8 == null) { - var8 = ""; - } - - return var8; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "5" - ) - static int method2457(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.SOUND_SYNTH) { - class240.Interpreter_intStackSize -= 3; - PcmPlayer.queueSoundEffect(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_SONG) { - FriendSystem.playSong(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { - class240.Interpreter_intStackSize -= 2; - class196.method3819(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - return 1; - } else { - int var3; - int var4; - if (var0 != 3209 && var0 != 3181 && var0 != 3203 && var0 != 3205 && var0 != 3207) { - if (var0 != 3210 && var0 != 3182 && var0 != 3204 && var0 != 3206 && var0 != 3208) { - return 2; - } else { - var3 = 0; - var4 = 0; - if (var0 == 3210) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - } else if (var0 == 3182) { - var3 = 6; - } else if (var0 == 3204) { - var3 = 7; - } else if (var0 == 3206) { - var3 = 8; - } else if (var0 == 3208) { - var3 = 9; - } - - if (var3 == 6) { - float var5 = ((float)VarbitComposition.clientPreferences.field1193 - 0.5F) * 200.0F; - var4 = 100 - Math.round(var5); - } else if (var3 == 7) { - var4 = Math.round((float)VarbitComposition.clientPreferences.musicVolume / 2.55F); - } else if (var3 == 8) { - var4 = Math.round((float)VarbitComposition.clientPreferences.soundEffectsVolume / 1.27F); - } else if (var3 == 9) { - var4 = Math.round((float)VarbitComposition.clientPreferences.areaSoundEffectsVolume / 1.27F); - } - - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4; - return 1; - } - } else { - var3 = 0; - var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var0 == 3209) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - } else if (var0 == 3181) { - var3 = 6; - } else if (var0 == 3203) { - var3 = 7; - } else if (var0 == 3205) { - var3 = 8; - } else if (var0 == 3207) { - var3 = 9; - } - - if (var3 == 6) { - var4 = 100 - Math.min(Math.max(var4, 0), 100); - Varps.method4858((double)(0.5F + (float)var4 / 200.0F)); - } else if (var3 == 7) { - var4 = Math.min(Math.max(var4, 0), 100); - WorldMapIcon_1.method3406(Math.round(2.55F * (float)var4)); - } else if (var3 == 8) { - var4 = Math.min(Math.max(var4, 0), 100); - class17.updateSoundEffectVolume(Math.round((float)var4 * 1.27F)); - } else if (var3 == 9) { - var4 = Math.min(Math.max(var4, 0), 100); - WorldMapDecorationType.method5062(Math.round((float)var4 * 1.27F)); - } - - return 1; - } - } - } - - @ObfuscatedName("fw") - @ObfuscatedSignature( - descriptor = "(Ljd;III)V", - garbageValue = "1481509956" - ) - @Export("checkIfMinimapClicked") - static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { - if (Client.minimapState == 0 || Client.minimapState == 3) { - if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { - SpriteMask var3 = var0.getSpriteMask(true); - if (var3 == null) { - return; - } - - int var4 = MouseHandler.MouseHandler_lastPressedX - var1; - int var5 = MouseHandler.MouseHandler_lastPressedY - var2; - if (var3.contains(var4, var5)) { - var4 -= var3.width / 2; - var5 -= var3.height / 2; - int var6 = Client.camAngleY & 2047; - int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; - int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; - int var9 = var5 * var7 + var8 * var4 >> 11; - int var10 = var8 * var5 - var4 * var7 >> 11; - int var11 = var9 + class129.localPlayer.x >> 7; - int var12 = class129.localPlayer.y - var10 >> 7; - PacketBufferNode var13 = FriendSystem.getPacketBufferNode(ClientPacket.field2687, Client.packetWriter.isaacCipher); - var13.packetBuffer.writeByte(18); - var13.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - var13.packetBuffer.method6951(var11 + FloorOverlayDefinition.baseX); - var13.packetBuffer.method6852(var12 + class320.baseY); - var13.packetBuffer.writeByte(var4); - var13.packetBuffer.writeByte(var5); - var13.packetBuffer.writeShort(Client.camAngleY); - var13.packetBuffer.writeByte(57); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(89); - var13.packetBuffer.writeShort(class129.localPlayer.x); - var13.packetBuffer.writeShort(class129.localPlayer.y); - var13.packetBuffer.writeByte(63); - Client.packetWriter.addNode(var13); - Client.destinationX = var11; - Client.destinationY = var12; - } - } - - } + public static int method2458() { + return ViewportMouse.ViewportMouse_entityCount; } } diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index a7d94fd0cb..161b1cd5d4 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -8,18 +8,18 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ot") @Implements("Buffer") public class Buffer extends Node { - @ObfuscatedName("a") + @ObfuscatedName("i") @Export("crc32Table") static int[] crc32Table; - @ObfuscatedName("e") + @ObfuscatedName("w") @Export("crc64Table") static long[] crc64Table; - @ObfuscatedName("g") + @ObfuscatedName("a") @Export("array") public byte[] array; - @ObfuscatedName("z") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -711227197 + intValue = -516434189 ) @Export("offset") public int offset; @@ -61,7 +61,7 @@ public class Buffer extends Node { } public Buffer(int var1) { - this.array = class7.ByteArrayPool_getArray(var1); + this.array = Varps.ByteArrayPool_getArray(var1); this.offset = 0; } @@ -70,34 +70,34 @@ public class Buffer extends Node { this.offset = 0; } - @ObfuscatedName("au") + @ObfuscatedName("aq") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1512489294" + garbageValue = "-2080876546" ) @Export("releaseArray") public void releaseArray() { if (this.array != null) { - AbstractWorldMapIcon.ByteArrayPool_release(this.array); + class279.ByteArrayPool_release(this.array); } this.array = null; } - @ObfuscatedName("am") + @ObfuscatedName("ar") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "24" + descriptor = "(II)V", + garbageValue = "-1976436256" ) @Export("writeByte") public void writeByte(int var1) { this.array[++this.offset - 1] = (byte)var1; } - @ObfuscatedName("ao") + @ObfuscatedName("ac") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1168413103" + descriptor = "(IB)V", + garbageValue = "-72" ) @Export("writeShort") public void writeShort(int var1) { @@ -105,10 +105,10 @@ public class Buffer extends Node { this.array[++this.offset - 1] = (byte)var1; } - @ObfuscatedName("ay") + @ObfuscatedName("at") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1655853478" + descriptor = "(IB)V", + garbageValue = "14" ) @Export("writeMedium") public void writeMedium(int var1) { @@ -117,10 +117,10 @@ public class Buffer extends Node { this.array[++this.offset - 1] = (byte)var1; } - @ObfuscatedName("aj") + @ObfuscatedName("ax") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1919594314" + garbageValue = "2050361776" ) @Export("writeInt") public void writeInt(int var1) { @@ -130,7 +130,7 @@ public class Buffer extends Node { this.array[++this.offset - 1] = (byte)var1; } - @ObfuscatedName("ap") + @ObfuscatedName("an") @Export("writeLongMedium") public void writeLongMedium(long var1) { this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); @@ -141,7 +141,7 @@ public class Buffer extends Node { this.array[++this.offset - 1] = (byte)((int)var1); } - @ObfuscatedName("ai") + @ObfuscatedName("av") @Export("writeLong") public void writeLong(long var1) { this.array[++this.offset - 1] = (byte)((int)(var1 >> 56)); @@ -154,20 +154,20 @@ public class Buffer extends Node { this.array[++this.offset - 1] = (byte)((int)var1); } - @ObfuscatedName("ac") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-922505340" + descriptor = "(ZB)V", + garbageValue = "-75" ) @Export("writeBoolean") public void writeBoolean(boolean var1) { this.writeByte(var1 ? 1 : 0); } - @ObfuscatedName("ar") + @ObfuscatedName("am") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1667192066" + garbageValue = "-409810" ) @Export("writeStringCp1252NullTerminated") public void writeStringCp1252NullTerminated(String var1) { @@ -175,15 +175,15 @@ public class Buffer extends Node { if (var2 >= 0) { throw new IllegalArgumentException(""); } else { - this.offset += class391.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.offset += class16.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); this.array[++this.offset - 1] = 0; } } - @ObfuscatedName("bd") + @ObfuscatedName("az") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;B)V", - garbageValue = "0" + garbageValue = "116" ) @Export("writeStringCp1252NullCircumfixed") public void writeStringCp1252NullCircumfixed(String var1) { @@ -192,22 +192,22 @@ public class Buffer extends Node { throw new IllegalArgumentException(""); } else { this.array[++this.offset - 1] = 0; - this.offset += class391.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.offset += class16.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); this.array[++this.offset - 1] = 0; } } - @ObfuscatedName("bt") + @ObfuscatedName("ae") @ObfuscatedSignature( descriptor = "(Ljava/lang/CharSequence;I)V", - garbageValue = "-963089280" + garbageValue = "-1728649284" ) @Export("writeCESU8") public void writeCESU8(CharSequence var1) { - int var2 = SpriteMask.method4855(var1); + int var2 = class244.method4662(var1); this.array[++this.offset - 1] = 0; this.writeVarInt(var2); - int var3 = this.offset * -1513003029; + int var3 = this.offset * -2067647941; byte[] var5 = this.array; int var6 = this.offset; int var7 = var1.length(); @@ -228,13 +228,13 @@ public class Buffer extends Node { } int var4 = var8 - var6; - this.offset = (var3 + var4 * -1513003029) * -711227197; + this.offset = (var3 + var4 * -2067647941) * -516434189; } - @ObfuscatedName("bf") + @ObfuscatedName("ai") @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "595362665" + descriptor = "([BIIB)V", + garbageValue = "6" ) @Export("writeBytes") public void writeBytes(byte[] var1, int var2, int var3) { @@ -244,19 +244,19 @@ public class Buffer extends Node { } - @ObfuscatedName("bp") + @ObfuscatedName("bg") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1090975602" + garbageValue = "-1026158743" ) - public void method6809(Buffer var1) { + public void method6890(Buffer var1) { this.writeBytes(var1.array, 0, var1.offset); } - @ObfuscatedName("bl") + @ObfuscatedName("bf") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-153630795" + descriptor = "(IB)V", + garbageValue = "1" ) @Export("writeLengthInt") public void writeLengthInt(int var1) { @@ -270,10 +270,10 @@ public class Buffer extends Node { } } - @ObfuscatedName("bc") + @ObfuscatedName("bj") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "345744025" + garbageValue = "975561986" ) @Export("writeLengthShort") public void writeLengthShort(int var1) { @@ -285,12 +285,12 @@ public class Buffer extends Node { } } - @ObfuscatedName("br") + @ObfuscatedName("bo") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "3" + garbageValue = "-28" ) - public void method6812(int var1) { + public void method6918(int var1) { if (var1 >= 0 && var1 <= 255) { this.array[this.offset - var1 - 1] = (byte)var1; } else { @@ -298,10 +298,10 @@ public class Buffer extends Node { } } - @ObfuscatedName("bw") + @ObfuscatedName("bx") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1220366648" + descriptor = "(IB)V", + garbageValue = "86" ) @Export("writeSmartByteShort") public void writeSmartByteShort(int var1) { @@ -314,10 +314,10 @@ public class Buffer extends Node { } } - @ObfuscatedName("bh") + @ObfuscatedName("bu") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "58" + garbageValue = "-100" ) @Export("writeVarInt") public void writeVarInt(int var1) { @@ -340,30 +340,30 @@ public class Buffer extends Node { this.writeByte(var1 & 127); } - @ObfuscatedName("bj") + @ObfuscatedName("bc") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "3" + garbageValue = "57" ) @Export("readUnsignedByte") public int readUnsignedByte() { return this.array[++this.offset - 1] & 255; } - @ObfuscatedName("be") + @ObfuscatedName("ba") @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "-1829338806" + descriptor = "(B)B", + garbageValue = "1" ) @Export("readByte") public byte readByte() { return this.array[++this.offset - 1]; } - @ObfuscatedName("bq") + @ObfuscatedName("bm") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "386633499" + garbageValue = "-1928415407" ) @Export("readUnsignedShort") public int readUnsignedShort() { @@ -371,10 +371,10 @@ public class Buffer extends Node { return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); } - @ObfuscatedName("bu") + @ObfuscatedName("bv") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "-62" + garbageValue = "-45" ) @Export("readShort") public int readShort() { @@ -387,10 +387,10 @@ public class Buffer extends Node { return var1; } - @ObfuscatedName("bn") + @ObfuscatedName("bs") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "126" + garbageValue = "75" ) @Export("readMedium") public int readMedium() { @@ -398,10 +398,10 @@ public class Buffer extends Node { return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); } - @ObfuscatedName("bk") + @ObfuscatedName("bd") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1033241471" + garbageValue = "1811121852" ) @Export("readInt") public int readInt() { @@ -409,10 +409,10 @@ public class Buffer extends Node { return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24); } - @ObfuscatedName("bm") + @ObfuscatedName("bb") @ObfuscatedSignature( - descriptor = "(I)J", - garbageValue = "-1907533437" + descriptor = "(B)J", + garbageValue = "52" ) @Export("readLong") public long readLong() { @@ -421,20 +421,20 @@ public class Buffer extends Node { return (var1 << 32) + var3; } - @ObfuscatedName("bb") + @ObfuscatedName("bh") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1636448993" + garbageValue = "-942940190" ) @Export("readBoolean") public boolean readBoolean() { return (this.readUnsignedByte() & 1) == 1; } - @ObfuscatedName("bx") + @ObfuscatedName("bi") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-258352670" + descriptor = "(B)Ljava/lang/String;", + garbageValue = "50" ) @Export("readStringCp1252NullTerminatedOrNull") public String readStringCp1252NullTerminatedOrNull() { @@ -446,10 +446,10 @@ public class Buffer extends Node { } } - @ObfuscatedName("ba") + @ObfuscatedName("bq") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-1934804397" + descriptor = "(S)Ljava/lang/String;", + garbageValue = "26859" ) @Export("readStringCp1252NullTerminated") public String readStringCp1252NullTerminated() { @@ -459,13 +459,13 @@ public class Buffer extends Node { } int var2 = this.offset - var1 - 1; - return var2 == 0 ? "" : class128.decodeStringCp1252(this.array, var1, var2); + return var2 == 0 ? "" : Fonts.decodeStringCp1252(this.array, var1, var2); } - @ObfuscatedName("bg") + @ObfuscatedName("by") @ObfuscatedSignature( descriptor = "(I)Ljava/lang/String;", - garbageValue = "1281955943" + garbageValue = "-1099796438" ) @Export("readStringCp1252NullCircumfixed") public String readStringCp1252NullCircumfixed() { @@ -479,14 +479,14 @@ public class Buffer extends Node { } int var3 = this.offset - var2 - 1; - return var3 == 0 ? "" : class128.decodeStringCp1252(this.array, var2, var3); + return var3 == 0 ? "" : Fonts.decodeStringCp1252(this.array, var2, var3); } } - @ObfuscatedName("bo") + @ObfuscatedName("be") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-974792708" + descriptor = "(B)Ljava/lang/String;", + garbageValue = "54" ) @Export("readCESU8") public String readCESU8() { @@ -495,67 +495,20 @@ public class Buffer extends Node { throw new IllegalStateException(""); } else { int var2 = this.readVarInt(); - byte[] var4 = this.array; - int var5 = this.offset; - char[] var6 = new char[var2]; - int var7 = 0; - int var8 = var5; - - int var11; - for (int var9 = var5 + var2; var8 < var9; var6[var7++] = (char)var11) { - int var10 = var4[var8++] & 255; - if (var10 < 128) { - if (var10 == 0) { - var11 = 65533; - } else { - var11 = var10; - } - } else if (var10 < 192) { - var11 = 65533; - } else if (var10 < 224) { - if (var8 < var9 && (var4[var8] & 192) == 128) { - var11 = (var10 & 31) << 6 | var4[var8++] & 63; - if (var11 < 128) { - var11 = 65533; - } - } else { - var11 = 65533; - } - } else if (var10 < 240) { - if (var8 + 1 < var9 && (var4[var8] & 192) == 128 && (var4[var8 + 1] & 192) == 128) { - var11 = (var10 & 15) << 12 | (var4[var8++] & 63) << 6 | var4[var8++] & 63; - if (var11 < 2048) { - var11 = 65533; - } - } else { - var11 = 65533; - } - } else if (var10 < 248) { - if (var8 + 2 < var9 && (var4[var8] & 192) == 128 && (var4[var8 + 1] & 192) == 128 && (var4[var8 + 2] & 192) == 128) { - var11 = (var10 & 7) << 18 | (var4[var8++] & 63) << 12 | (var4[var8++] & 63) << 6 | var4[var8++] & 63; - if (var11 >= 65536 && var11 <= 1114111) { - var11 = 65533; - } else { - var11 = 65533; - } - } else { - var11 = 65533; - } - } else { - var11 = 65533; - } + if (var2 + this.offset > this.array.length) { + throw new IllegalStateException(""); + } else { + String var3 = AbstractUserComparator.method6049(this.array, this.offset, var2); + this.offset += var2; + return var3; } - - String var3 = new String(var6, 0, var7); - this.offset += var2; - return var3; } } - @ObfuscatedName("bv") + @ObfuscatedName("bw") @ObfuscatedSignature( descriptor = "([BIII)V", - garbageValue = "1589419452" + garbageValue = "-693661515" ) @Export("readBytes") public void readBytes(byte[] var1, int var2, int var3) { @@ -565,10 +518,10 @@ public class Buffer extends Node { } - @ObfuscatedName("bi") + @ObfuscatedName("bn") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-68" + descriptor = "(I)I", + garbageValue = "-2134278528" ) @Export("readShortSmart") public int readShortSmart() { @@ -576,10 +529,10 @@ public class Buffer extends Node { return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; } - @ObfuscatedName("bs") + @ObfuscatedName("bl") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "4" + garbageValue = "-92" ) @Export("readUShortSmart") public int readUShortSmart() { @@ -587,12 +540,12 @@ public class Buffer extends Node { return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; } - @ObfuscatedName("by") + @ObfuscatedName("bk") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-104" + descriptor = "(I)I", + garbageValue = "-594025091" ) - public int method7009() { + public int method7037() { int var1 = 0; int var2; @@ -604,21 +557,21 @@ public class Buffer extends Node { return var1; } - @ObfuscatedName("bz") + @ObfuscatedName("bp") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-250075426" + garbageValue = "-1925418071" ) - public int method6831() { + public int method6912() { return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); } - @ObfuscatedName("cw") + @ObfuscatedName("br") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1827861448" + garbageValue = "-1930651034" ) - public int method6985() { + public int method6977() { if (this.array[this.offset] < 0) { return this.readInt() & Integer.MAX_VALUE; } else { @@ -627,10 +580,10 @@ public class Buffer extends Node { } } - @ObfuscatedName("ci") + @ObfuscatedName("ca") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1784241395" + descriptor = "(S)I", + garbageValue = "22177" ) @Export("readVarInt") public int readVarInt() { @@ -644,10 +597,10 @@ public class Buffer extends Node { return var2 | var1; } - @ObfuscatedName("cl") + @ObfuscatedName("ct") @ObfuscatedSignature( - descriptor = "([IB)V", - garbageValue = "21" + descriptor = "([II)V", + garbageValue = "863382683" ) @Export("xteaEncryptAll") public void xteaEncryptAll(int[] var1) { @@ -672,10 +625,10 @@ public class Buffer extends Node { } - @ObfuscatedName("cu") + @ObfuscatedName("cy") @ObfuscatedSignature( descriptor = "([II)V", - garbageValue = "809505566" + garbageValue = "-547352662" ) @Export("xteaDecryptAll") public void xteaDecryptAll(int[] var1) { @@ -700,10 +653,10 @@ public class Buffer extends Node { } - @ObfuscatedName("co") + @ObfuscatedName("cg") @ObfuscatedSignature( - descriptor = "([IIIB)V", - garbageValue = "80" + descriptor = "([IIII)V", + garbageValue = "-1763734485" ) @Export("xteaEncrypt") public void xteaEncrypt(int[] var1, int var2, int var3) { @@ -730,10 +683,10 @@ public class Buffer extends Node { this.offset = var4; } - @ObfuscatedName("cb") + @ObfuscatedName("ci") @ObfuscatedSignature( descriptor = "([IIII)V", - garbageValue = "-16711936" + garbageValue = "-796968358" ) @Export("xteaDecrypt") public void xteaDecrypt(int[] var1, int var2, int var3) { @@ -760,10 +713,10 @@ public class Buffer extends Node { this.offset = var4; } - @ObfuscatedName("cf") + @ObfuscatedName("cx") @ObfuscatedSignature( descriptor = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", - garbageValue = "-1742201876" + garbageValue = "2051206809" ) @Export("encryptRsa") public void encryptRsa(BigInteger var1, BigInteger var2) { @@ -779,148 +732,148 @@ public class Buffer extends Node { this.writeBytes(var7, 0, var7.length); } - @ObfuscatedName("cc") + @ObfuscatedName("cd") @ObfuscatedSignature( descriptor = "(IB)I", - garbageValue = "67" + garbageValue = "78" ) @Export("writeCrc") public int writeCrc(int var1) { - int var2 = Ignored.method6065(this.array, var1, this.offset); + int var2 = IgnoreList.method5946(this.array, var1, this.offset); this.writeInt(var2); return var2; } - @ObfuscatedName("cn") + @ObfuscatedName("cp") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-478233103" + descriptor = "(B)Z", + garbageValue = "-6" ) @Export("checkCrc") public boolean checkCrc() { this.offset -= 4; - int var1 = Ignored.method6065(this.array, 0, this.offset); + int var1 = IgnoreList.method5946(this.array, 0, this.offset); int var2 = this.readInt(); return var1 == var2; } + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "55" + ) + public void method7066(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("cr") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-32" + ) + public void method7117(int var1) { + this.array[++this.offset - 1] = (byte)(0 - var1); + } + + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "255" + ) + public void method7026(int var1) { + this.array[++this.offset - 1] = (byte)(128 - var1); + } + + @ObfuscatedName("cs") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-79" + ) + public int method6925() { + return this.array[++this.offset - 1] - 128 & 255; + } + + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1456947240" + ) + public int method6926() { + return 0 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "2571" + ) + public int method6927() { + return 128 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("cz") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "1295563496" + ) + public byte method6958() { + return (byte)(this.array[++this.offset - 1] - 128); + } + + @ObfuscatedName("cu") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "197304" + ) + public byte method6929() { + return (byte)(0 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "-1599053480" + ) + public byte method6915() { + return (byte)(128 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "127" + ) + public void method6930(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("cf") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "466660080" + ) + public void method6931(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + @ObfuscatedName("ch") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-434100838" + garbageValue = "2130162206" ) - public void method6841(int var1) { + public void method7029(int var1) { this.array[++this.offset - 1] = (byte)(var1 + 128); + this.array[++this.offset - 1] = (byte)(var1 >> 8); } - @ObfuscatedName("cx") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "19" - ) - public void method6819(int var1) { - this.array[++this.offset - 1] = (byte)(0 - var1); - } - - @ObfuscatedName("cv") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-916270715" - ) - public void method6843(int var1) { - this.array[++this.offset - 1] = (byte)(128 - var1); - } - - @ObfuscatedName("cr") + @ObfuscatedName("cc") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "197050233" + garbageValue = "-1251712043" ) - public int method6844() { - return this.array[++this.offset - 1] - 128 & 255; - } - - @ObfuscatedName("cq") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-40" - ) - public int method6849() { - return 0 - this.array[++this.offset - 1] & 255; - } - - @ObfuscatedName("ck") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1923042242" - ) - public int method7007() { - return 128 - this.array[++this.offset - 1] & 255; - } - - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "-248457295" - ) - public byte method6901() { - return (byte)(this.array[++this.offset - 1] - 128); - } - - @ObfuscatedName("cy") - @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "-1981812496" - ) - public byte method6848() { - return (byte)(0 - this.array[++this.offset - 1]); - } - - @ObfuscatedName("cp") - @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "-2117646517" - ) - public byte method6899() { - return (byte)(128 - this.array[++this.offset - 1]); - } - - @ObfuscatedName("cg") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1852534267" - ) - public void method6951(int var1) { - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("cd") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1582021796" - ) - public void method6851(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)(var1 + 128); - } - - @ObfuscatedName("cs") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "50" - ) - public void method6852(int var1) { - this.array[++this.offset - 1] = (byte)(var1 + 128); - this.array[++this.offset - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("ca") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-61" - ) - public int method6853() { + public int method6933() { this.offset += 2; return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); } @@ -928,29 +881,29 @@ public class Buffer extends Node { @ObfuscatedName("cj") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "-45" + garbageValue = "-9" ) - public int method6940() { + public int method6934() { this.offset += 2; return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); } - @ObfuscatedName("ct") + @ObfuscatedName("co") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-446847161" + garbageValue = "900126774" ) - public int method6855() { + public int method7059() { this.offset += 2; return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); } - @ObfuscatedName("cz") + @ObfuscatedName("ck") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1573748638" + garbageValue = "-720542737" ) - public int method6856() { + public int method6936() { this.offset += 2; int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); if (var1 > 32767) { @@ -960,14 +913,14 @@ public class Buffer extends Node { return var1; } - @ObfuscatedName("ce") + @ObfuscatedName("cb") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1741398724" + garbageValue = "1865920590" ) - public int method6857() { + public int method6937() { this.offset += 2; - int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); if (var1 > 32767) { var1 -= 65536; } @@ -975,101 +928,113 @@ public class Buffer extends Node { return var1; } - @ObfuscatedName("dd") + @ObfuscatedName("cm") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "95" + garbageValue = "97" ) - public void method6858(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("dk") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "27614" - ) - public int method6859() { - this.offset += 3; - return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 2] & 255); - } - - @ObfuscatedName("ds") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-4" - ) - public void method6860(int var1) { + public void method6938(int var1) { this.array[++this.offset - 1] = (byte)var1; this.array[++this.offset - 1] = (byte)(var1 >> 8); this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)(var1 >> 24); - } - - @ObfuscatedName("df") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "53" - ) - public void method6861(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 24); - this.array[++this.offset - 1] = (byte)(var1 >> 16); } @ObfuscatedName("db") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + public int method6939() { + this.offset += 3; + return (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 1] & 255) << 16); + } + + @ObfuscatedName("dx") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-1182731002" + garbageValue = "-82136411" + ) + public void method6940(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 24); + } + + @ObfuscatedName("dd") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-307515675" ) @Export("writeIntME") public void writeIntME(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + } + + @ObfuscatedName("dp") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-95" + ) + public void method6942(int var1) { this.array[++this.offset - 1] = (byte)(var1 >> 16); this.array[++this.offset - 1] = (byte)(var1 >> 24); this.array[++this.offset - 1] = (byte)var1; this.array[++this.offset - 1] = (byte)(var1 >> 8); } - @ObfuscatedName("dn") + @ObfuscatedName("dq") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1735100764" + descriptor = "(B)I", + garbageValue = "96" ) - public int method6917() { + public int method6876() { this.offset += 4; return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24); } - @ObfuscatedName("dh") + @ObfuscatedName("du") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-41" + descriptor = "(I)I", + garbageValue = "312632753" ) - public int method6953() { + public int method6944() { this.offset += 4; return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16); } - @ObfuscatedName("do") + @ObfuscatedName("dc") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1508704286" + garbageValue = "-1456395116" ) - public int method6826() { + public int method6945() { this.offset += 4; return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24); } - @ObfuscatedName("dp") + @ObfuscatedName("dy") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "116" + descriptor = "([BIII)V", + garbageValue = "-1526065046" ) - public void method7010(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { + public void method7021(byte[] var1, int var2, int var3) { + for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) { + var1[var4] = this.array[++this.offset - 1]; + } + + } + + @ObfuscatedName("dl") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "-986776784" + ) + public void method6947(byte[] var1, int var2, int var3) { + for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) { var1[var4] = (byte)(this.array[++this.offset - 1] - 128); } diff --git a/runescape-client/src/main/java/BufferedFile.java b/runescape-client/src/main/java/BufferedFile.java index 0e120e381b..9b17887000 100644 --- a/runescape-client/src/main/java/BufferedFile.java +++ b/runescape-client/src/main/java/BufferedFile.java @@ -6,77 +6,72 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nm") +@ObfuscatedName("nq") @Implements("BufferedFile") public class BufferedFile { - @ObfuscatedName("ma") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljd;" - ) - static Widget field4227; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lnn;" + descriptor = "Lnj;" ) @Export("accessFile") AccessFile accessFile; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("readBuffer") byte[] readBuffer; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - longValue = 8206064440488696005L + longValue = 3803654065118092599L ) @Export("readBufferOffset") long readBufferOffset; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1254832925 + intValue = -1716625 ) @Export("readBufferLength") int readBufferLength; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("writeBuffer") byte[] writeBuffer; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - longValue = 506713374014136899L + longValue = -3917728947088480487L ) @Export("writeBufferOffset") long writeBufferOffset; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 823949627 + intValue = -134660613 ) @Export("writeBufferLength") int writeBufferLength; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - longValue = 7790686159451358409L + longValue = -3908614714839997389L ) @Export("offset") long offset; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - longValue = -8317105703859247781L + longValue = -3499292866230120847L ) @Export("fileLength") long fileLength; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - longValue = 7928376794679611023L + longValue = -7962617539745217193L ) @Export("length") long length; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - longValue = -757931167523736079L + longValue = -2583030338876644241L ) @Export("fileOffset") long fileOffset; @ObfuscatedSignature( - descriptor = "(Lnn;II)V" + descriptor = "(Lnj;II)V" ) public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { this.readBufferOffset = -1L; @@ -89,10 +84,10 @@ public class BufferedFile { this.offset = 0L; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2076443920" + garbageValue = "633465894" ) @Export("close") public void close() throws IOException { @@ -100,7 +95,7 @@ public class BufferedFile { this.accessFile.close(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("seek") public void seek(long var1) throws IOException { if (var1 < 0L) { @@ -110,30 +105,30 @@ public class BufferedFile { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)J", - garbageValue = "-2099074998" + garbageValue = "1268577977" ) @Export("length") public long length() { return this.length; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "([BB)V", - garbageValue = "-114" + descriptor = "([BI)V", + garbageValue = "1972830494" ) @Export("readFully") public void readFully(byte[] var1) throws IOException { this.read(var1, 0, var1.length); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "-67" + descriptor = "([BIII)V", + garbageValue = "-1193607068" ) @Export("read") public void read(byte[] var1, int var2, int var3) throws IOException { @@ -142,7 +137,7 @@ public class BufferedFile { throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length); } - if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= this.writeBufferOffset + (long)this.writeBufferLength) { + if (this.writeBufferOffset != -1L && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= this.writeBufferOffset + (long)this.writeBufferLength) { System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); this.offset += (long)var3; return; @@ -205,15 +200,15 @@ public class BufferedFile { long var13 = -1L; long var10 = -1L; - if (this.writeBufferOffset >= var4 && this.writeBufferOffset < var4 + (long)var7) { + if (this.writeBufferOffset >= var4 && this.writeBufferOffset < (long)var7 + var4) { var13 = this.writeBufferOffset; - } else if (var4 >= this.writeBufferOffset && var4 < (long)this.writeBufferLength + this.writeBufferOffset) { + } else if (var4 >= this.writeBufferOffset && var4 < this.writeBufferOffset + (long)this.writeBufferLength) { var13 = var4; } - if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= (long)var7 + var4) { + if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= var4 + (long)var7) { var10 = (long)this.writeBufferLength + this.writeBufferOffset; - } else if ((long)var7 + var4 > this.writeBufferOffset && var4 + (long)var7 <= (long)this.writeBufferLength + this.writeBufferOffset) { + } else if (var4 + (long)var7 > this.writeBufferOffset && (long)var7 + var4 <= (long)this.writeBufferLength + this.writeBufferOffset) { var10 = (long)var7 + var4; } @@ -236,10 +231,10 @@ public class BufferedFile { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1025800655" + descriptor = "(B)V", + garbageValue = "-49" ) @Export("load") void load() throws IOException { @@ -266,23 +261,23 @@ public class BufferedFile { } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "171199220" + descriptor = "([BIIB)V", + garbageValue = "-24" ) @Export("write") public void write(byte[] var1, int var2, int var3) throws IOException { try { - if (this.offset + (long)var3 > this.length) { + if ((long)var3 + this.offset > this.length) { this.length = this.offset + (long)var3; } - if (-1L != this.writeBufferOffset && (this.offset < this.writeBufferOffset || this.offset > (long)this.writeBufferLength + this.writeBufferOffset)) { + if (this.writeBufferOffset != -1L && (this.offset < this.writeBufferOffset || this.offset > this.writeBufferOffset + (long)this.writeBufferLength)) { this.flush(); } - if (-1L != this.writeBufferOffset && this.offset + (long)var3 > (long)this.writeBuffer.length + this.writeBufferOffset) { + if (this.writeBufferOffset != -1L && (long)var3 + this.offset > (long)this.writeBuffer.length + this.writeBufferOffset) { int var4 = (int)((long)this.writeBuffer.length - (this.offset - this.writeBufferOffset)); System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4); this.offset += (long)var4; @@ -306,7 +301,7 @@ public class BufferedFile { } } else { - if (this.offset != this.fileOffset) { + if (this.fileOffset != this.offset) { this.accessFile.seek(this.offset); this.fileOffset = this.offset; } @@ -319,15 +314,15 @@ public class BufferedFile { long var9 = -1L; long var6 = -1L; - if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { + if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) { var9 = this.offset; } else if (this.readBufferOffset >= this.offset && this.readBufferOffset < this.offset + (long)var3) { var9 = this.readBufferOffset; } - if ((long)var3 + this.offset > this.readBufferOffset && this.offset + (long)var3 <= this.readBufferOffset + (long)this.readBufferLength) { + if ((long)var3 + this.offset > this.readBufferOffset && this.offset + (long)var3 <= (long)this.readBufferLength + this.readBufferOffset) { var6 = this.offset + (long)var3; - } else if ((long)this.readBufferLength + this.readBufferOffset > this.offset && (long)this.readBufferLength + this.readBufferOffset <= this.offset + (long)var3) { + } else if (this.readBufferOffset + (long)this.readBufferLength > this.offset && this.readBufferOffset + (long)this.readBufferLength <= this.offset + (long)var3) { var6 = this.readBufferOffset + (long)this.readBufferLength; } @@ -346,8 +341,8 @@ public class BufferedFile { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "338977619" + descriptor = "(B)V", + garbageValue = "-11" ) @Export("flush") void flush() throws IOException { @@ -358,7 +353,7 @@ public class BufferedFile { } this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); - this.fileOffset += (long)this.writeBufferLength * 483175651772203009L; + this.fileOffset += (long)this.writeBufferLength * 204069641583067137L; if (this.fileOffset > this.fileLength) { this.fileLength = this.fileOffset; } @@ -367,13 +362,13 @@ public class BufferedFile { long var3 = -1L; if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < this.readBufferOffset + (long)this.readBufferLength) { var1 = this.writeBufferOffset; - } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < this.writeBufferOffset + (long)this.writeBufferLength) { + } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < (long)this.writeBufferLength + this.writeBufferOffset) { var1 = this.readBufferOffset; } - if (this.writeBufferOffset + (long)this.writeBufferLength > this.readBufferOffset && this.writeBufferOffset + (long)this.writeBufferLength <= this.readBufferOffset + (long)this.readBufferLength) { + if (this.writeBufferOffset + (long)this.writeBufferLength > this.readBufferOffset && (long)this.writeBufferLength + this.writeBufferOffset <= this.readBufferOffset + (long)this.readBufferLength) { var3 = this.writeBufferOffset + (long)this.writeBufferLength; - } else if ((long)this.readBufferLength + this.readBufferOffset > this.writeBufferOffset && (long)this.readBufferLength + this.readBufferOffset <= (long)this.writeBufferLength + this.writeBufferOffset) { + } else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && (long)this.readBufferLength + this.readBufferOffset <= (long)this.writeBufferLength + this.writeBufferOffset) { var3 = (long)this.readBufferLength + this.readBufferOffset; } @@ -387,4 +382,611 @@ public class BufferedFile { } } + + @ObfuscatedName("gy") + @ObfuscatedSignature( + descriptor = "(Lcd;IIIIIB)V", + garbageValue = "-1" + ) + @Export("drawActor2d") + static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { + if (var0 != null && var0.isVisible()) { + if (var0 instanceof NPC) { + NPCComposition var6 = ((NPC)var0).definition; + if (var6.transforms != null) { + var6 = var6.transform(); + } + + if (var6 == null) { + return; + } + } + + int var76 = Players.Players_count; + int[] var7 = Players.Players_indices; + byte var8 = 0; + int var10; + if (var1 < var76 && var0.playerCycle == Client.cycle && class117.method2516((Player)var0)) { + Player var9 = (Player)var0; + if (var1 < var76) { + var10 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var10); + AbstractFont var11 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); + byte var12 = 9; + var11.drawCentered(var9.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var12, 16777215, 0); + var8 = 18; + } + } + + int var77 = -2; + int var17; + int var23; + int var24; + if (!var0.healthBars.method5563()) { + var10 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var10); + + for (HealthBar var89 = (HealthBar)var0.healthBars.last(); var89 != null; var89 = (HealthBar)var0.healthBars.previous()) { + HealthBarUpdate var81 = var89.get(Client.cycle); + if (var81 == null) { + if (var89.isEmpty()) { + var89.remove(); + } + } else { + HealthBarDefinition var13 = var89.definition; + SpritePixels var82 = var13.getBackSprite(); + SpritePixels var83 = var13.getFrontSprite(); + var17 = 0; + int var84; + if (var82 != null && var83 != null) { + if (var13.widthPadding * 2 < var83.subWidth) { + var17 = var13.widthPadding; + } + + var84 = var83.subWidth - var17 * 2; + } else { + var84 = var13.width; + } + + int var18 = 255; + boolean var85 = true; + int var86 = Client.cycle - var81.cycle; + int var87 = var84 * var81.health2 / var13.width; + int var88; + int var94; + if (var81.cycleOffset > var86) { + var88 = var13.field1679 == 0 ? 0 : var13.field1679 * (var86 / var13.field1679); + var23 = var84 * var81.health / var13.width; + var94 = var88 * (var87 - var23) / var81.cycleOffset + var23; + } else { + var94 = var87; + var88 = var13.int5 + var81.cycleOffset - var86; + if (var13.int3 >= 0) { + var18 = (var88 << 8) / (var13.int5 - var13.int3); + } + } + + if (var81.health2 > 0 && var94 < 1) { + var94 = 1; + } + + if (var82 != null && var83 != null) { + if (var84 == var94) { + var94 += var17 * 2; + } else { + var94 += var17; + } + + var88 = var82.subHeight; + var77 += var88; + var23 = var2 + Client.viewportTempX - (var84 >> 1); + var24 = var3 + Client.viewportTempY - var77; + var23 -= var17; + if (var18 >= 0 && var18 < 255) { + var82.drawTransAt(var23, var24, var18); + Rasterizer2D.Rasterizer2D_expandClip(var23, var24, var23 + var94, var88 + var24); + var83.drawTransAt(var23, var24, var18); + } else { + var82.drawTransBgAt(var23, var24); + Rasterizer2D.Rasterizer2D_expandClip(var23, var24, var23 + var94, var88 + var24); + var83.drawTransBgAt(var23, var24); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); + var77 += 2; + } else { + var77 += 5; + if (Client.viewportTempX > -1) { + var88 = var2 + Client.viewportTempX - (var84 >> 1); + var23 = var3 + Client.viewportTempY - var77; + Rasterizer2D.Rasterizer2D_fillRectangle(var88, var23, var94, 5, 65280); + Rasterizer2D.Rasterizer2D_fillRectangle(var94 + var88, var23, var84 - var94, 5, 16711680); + } + + var77 += 2; + } + } + } + } + + if (var77 == -2) { + var77 += 7; + } + + var77 += var8; + int var79; + if (var1 < var76) { + Player var78 = (Player)var0; + if (var78.isHidden) { + return; + } + + if (var78.headIconPk != -1 || var78.headIconPrayer != -1) { + var79 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var79); + if (Client.viewportTempX > -1) { + if (var78.headIconPk != -1) { + var77 += 25; + class21.headIconPkSprites[var78.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var77); + } + + if (var78.headIconPrayer != -1) { + var77 += 25; + HealthBarUpdate.headIconPrayerSprites[var78.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var77); + } + } + } + + if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { + var79 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var79); + if (Client.viewportTempX > -1) { + var77 += UserComparator4.headIconHintSprites[1].subHeight; + UserComparator4.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var77); + } + } + } else { + NPCComposition var93 = ((NPC)var0).definition; + if (var93.transforms != null) { + var93 = var93.transform(); + } + + if (var93.headIconPrayer >= 0 && var93.headIconPrayer < HealthBarUpdate.headIconPrayerSprites.length) { + var79 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var79); + if (Client.viewportTempX > -1) { + HealthBarUpdate.headIconPrayerSprites[var93.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); + } + } + + if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var76] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { + var79 = var0.defaultHeight + 15; + class124.worldToScreen(var0.x, var0.y, var79); + if (Client.viewportTempX > -1) { + UserComparator4.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); + } + } + } + + if (var0.overheadText != null && (var1 >= var76 || !var0.field1121 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { + var10 = var0.defaultHeight; + class124.worldToScreen(var0.x, var0.y, var10); + if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { + Client.overheadTextXOffsets[Client.overheadTextCount] = Interpreter.fontBold12.stringWidth(var0.overheadText) / 2; + Client.overheadTextAscents[Client.overheadTextCount] = Interpreter.fontBold12.ascent; + Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; + Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; + Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; + Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; + Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; + Client.overheadText[Client.overheadTextCount] = var0.overheadText; + ++Client.overheadTextCount; + } + } + + for (var10 = 0; var10 < 4; ++var10) { + var79 = var0.hitSplatCycles[var10]; + int var90 = var0.hitSplatTypes[var10]; + HitSplatDefinition var91 = null; + int var14 = 0; + if (var90 >= 0) { + if (var79 <= Client.cycle) { + continue; + } + + var91 = ItemContainer.method2057(var0.hitSplatTypes[var10]); + var14 = var91.field1806; + if (var91 != null && var91.transforms != null) { + var91 = var91.transform(); + if (var91 == null) { + var0.hitSplatCycles[var10] = -1; + continue; + } + } + } else if (var79 < 0) { + continue; + } + + int var15 = var0.hitSplatTypes2[var10]; + HitSplatDefinition var16 = null; + if (var15 >= 0) { + var16 = ItemContainer.method2057(var15); + if (var16 != null && var16.transforms != null) { + var16 = var16.transform(); + } + } + + if (var79 - var14 <= Client.cycle) { + if (var91 == null) { + var0.hitSplatCycles[var10] = -1; + } else { + var17 = var0.defaultHeight / 2; + class124.worldToScreen(var0.x, var0.y, var17); + if (Client.viewportTempX > -1) { + if (var10 == 1) { + Client.viewportTempY -= 20; + } + + if (var10 == 2) { + Client.viewportTempX -= 15; + Client.viewportTempY -= 10; + } + + if (var10 == 3) { + Client.viewportTempX += 15; + Client.viewportTempY -= 10; + } + + SpritePixels var19 = null; + SpritePixels var20 = null; + SpritePixels var21 = null; + SpritePixels var22 = null; + var23 = 0; + var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; + int var29 = 0; + int var30 = 0; + SpritePixels var31 = null; + SpritePixels var32 = null; + SpritePixels var33 = null; + SpritePixels var34 = null; + int var35 = 0; + int var36 = 0; + int var37 = 0; + int var38 = 0; + int var39 = 0; + int var40 = 0; + int var41 = 0; + int var42 = 0; + int var43 = 0; + var19 = var91.method3159(); + int var44; + if (var19 != null) { + var23 = var19.subWidth; + var44 = var19.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var27 = var19.xOffset; + } + + var20 = var91.method3160(); + if (var20 != null) { + var24 = var20.subWidth; + var44 = var20.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var28 = var20.xOffset; + } + + var21 = var91.method3161(); + if (var21 != null) { + var25 = var21.subWidth; + var44 = var21.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var29 = var21.xOffset; + } + + var22 = var91.method3177(); + if (var22 != null) { + var26 = var22.subWidth; + var44 = var22.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var30 = var22.xOffset; + } + + if (var16 != null) { + var31 = var16.method3159(); + if (var31 != null) { + var35 = var31.subWidth; + var44 = var31.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var39 = var31.xOffset; + } + + var32 = var16.method3160(); + if (var32 != null) { + var36 = var32.subWidth; + var44 = var32.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var40 = var32.xOffset; + } + + var33 = var16.method3161(); + if (var33 != null) { + var37 = var33.subWidth; + var44 = var33.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var41 = var33.xOffset; + } + + var34 = var16.method3177(); + if (var34 != null) { + var38 = var34.subWidth; + var44 = var34.subHeight; + if (var44 > var43) { + var43 = var44; + } + + var42 = var34.xOffset; + } + } + + Font var80 = var91.getFont(); + if (var80 == null) { + var80 = UserComparator8.fontPlain11; + } + + Font var45; + if (var16 != null) { + var45 = var16.getFont(); + if (var45 == null) { + var45 = UserComparator8.fontPlain11; + } + } else { + var45 = UserComparator8.fontPlain11; + } + + String var46 = null; + String var47 = null; + boolean var48 = false; + int var49 = 0; + var46 = var91.getString(var0.hitSplatValues[var10]); + int var92 = var80.stringWidth(var46); + if (var16 != null) { + var47 = var16.getString(var0.hitSplatValues2[var10]); + var49 = var45.stringWidth(var47); + } + + int var50 = 0; + int var51 = 0; + if (var24 > 0) { + if (var21 == null && var22 == null) { + var50 = 1; + } else { + var50 = var92 / var24 + 1; + } + } + + if (var16 != null && var36 > 0) { + if (var33 == null && var34 == null) { + var51 = 1; + } else { + var51 = var49 / var36 + 1; + } + } + + int var52 = 0; + int var53 = var52; + if (var23 > 0) { + var52 += var23; + } + + var52 += 2; + int var54 = var52; + if (var25 > 0) { + var52 += var25; + } + + int var55 = var52; + int var56 = var52; + int var57; + if (var24 > 0) { + var57 = var24 * var50; + var52 += var57; + var56 += (var57 - var92) / 2; + } else { + var52 += var92; + } + + var57 = var52; + if (var26 > 0) { + var52 += var26; + } + + int var58 = 0; + int var59 = 0; + int var60 = 0; + int var61 = 0; + int var62 = 0; + int var63; + if (var16 != null) { + var52 += 2; + var58 = var52; + if (var35 > 0) { + var52 += var35; + } + + var52 += 2; + var59 = var52; + if (var37 > 0) { + var52 += var37; + } + + var60 = var52; + var62 = var52; + if (var36 > 0) { + var63 = var51 * var36; + var52 += var63; + var62 += (var63 - var49) / 2; + } else { + var52 += var49; + } + + var61 = var52; + if (var38 > 0) { + var52 += var38; + } + } + + var63 = var0.hitSplatCycles[var10] - Client.cycle; + int var64 = var91.field1811 - var63 * var91.field1811 / var91.field1806; + int var65 = var63 * var91.field1810 / var91.field1806 + -var91.field1810; + int var66 = var64 + (var2 + Client.viewportTempX - (var52 >> 1)); + int var67 = var65 + (var3 + Client.viewportTempY - 12); + int var68 = var67; + int var69 = var67 + var43; + int var70 = var67 + var91.field1798 + 15; + int var71 = var70 - var80.maxAscent; + int var72 = var70 + var80.maxDescent; + if (var71 < var67) { + var68 = var71; + } + + if (var72 > var69) { + var69 = var72; + } + + int var73 = 0; + int var74; + int var75; + if (var16 != null) { + var73 = var67 + var16.field1798 + 15; + var74 = var73 - var45.maxAscent; + var75 = var73 + var45.maxDescent; + if (var74 < var68) { + ; + } + + if (var75 > var69) { + ; + } + } + + var74 = 255; + if (var91.field1813 >= 0) { + var74 = (var63 << 8) / (var91.field1806 - var91.field1813); + } + + if (var74 >= 0 && var74 < 255) { + if (var19 != null) { + var19.drawTransAt(var53 + var66 - var27, var67, var74); + } + + if (var21 != null) { + var21.drawTransAt(var54 + var66 - var29, var67, var74); + } + + if (var20 != null) { + for (var75 = 0; var75 < var50; ++var75) { + var20.drawTransAt(var75 * var24 + (var66 + var55 - var28), var67, var74); + } + } + + if (var22 != null) { + var22.drawTransAt(var66 + var57 - var30, var67, var74); + } + + var80.drawAlpha(var46, var56 + var66, var70, var91.textColor, 0, var74); + if (var16 != null) { + if (var31 != null) { + var31.drawTransAt(var66 + var58 - var39, var67, var74); + } + + if (var33 != null) { + var33.drawTransAt(var66 + var59 - var41, var67, var74); + } + + if (var32 != null) { + for (var75 = 0; var75 < var51; ++var75) { + var32.drawTransAt(var36 * var75 + (var66 + var60 - var40), var67, var74); + } + } + + if (var34 != null) { + var34.drawTransAt(var66 + var61 - var42, var67, var74); + } + + var45.drawAlpha(var47, var66 + var62, var73, var16.textColor, 0, var74); + } + } else { + if (var19 != null) { + var19.drawTransBgAt(var53 + var66 - var27, var67); + } + + if (var21 != null) { + var21.drawTransBgAt(var66 + var54 - var29, var67); + } + + if (var20 != null) { + for (var75 = 0; var75 < var50; ++var75) { + var20.drawTransBgAt(var24 * var75 + (var55 + var66 - var28), var67); + } + } + + if (var22 != null) { + var22.drawTransBgAt(var57 + var66 - var30, var67); + } + + var80.draw(var46, var56 + var66, var70, var91.textColor | -16777216, 0); + if (var16 != null) { + if (var31 != null) { + var31.drawTransBgAt(var58 + var66 - var39, var67); + } + + if (var33 != null) { + var33.drawTransBgAt(var66 + var59 - var41, var67); + } + + if (var32 != null) { + for (var75 = 0; var75 < var51; ++var75) { + var32.drawTransBgAt(var75 * var36 + (var60 + var66 - var40), var67); + } + } + + if (var34 != null) { + var34.drawTransBgAt(var66 + var61 - var42, var67); + } + + var45.draw(var47, var66 + var62, var73, var16.textColor | -16777216, 0); + } + } + } + } + } + } + + } + } } diff --git a/runescape-client/src/main/java/BufferedNetSocket.java b/runescape-client/src/main/java/BufferedNetSocket.java index ddcae2e337..e0210f429f 100644 --- a/runescape-client/src/main/java/BufferedNetSocket.java +++ b/runescape-client/src/main/java/BufferedNetSocket.java @@ -1,33 +1,30 @@ -import java.applet.Applet; import java.io.IOException; import java.net.Socket; -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import netscape.javascript.JSObject; -@ObfuscatedName("mr") +@ObfuscatedName("mn") @Implements("BufferedNetSocket") public class BufferedNetSocket extends AbstractSocket { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("socket") Socket socket; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmw;" + descriptor = "Lmf;" ) @Export("source") BufferedSource source; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lmj;" + descriptor = "Lmz;" ) @Export("sink") BufferedSink sink; - BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { + public BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { this.socket = var1; this.socket.setSoTimeout(30000); this.socket.setTcpNoDelay(true); @@ -37,10 +34,10 @@ public class BufferedNetSocket extends AbstractSocket { this.sink = new BufferedSink(this.socket.getOutputStream(), var3); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "4535" + descriptor = "(B)V", + garbageValue = "82" ) @Export("close") public void close() { @@ -54,50 +51,50 @@ public class BufferedNetSocket extends AbstractSocket { this.source.close(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "61" + descriptor = "(I)I", + garbageValue = "1780579727" ) @Export("readUnsignedByte") public int readUnsignedByte() throws IOException { return this.source.readUnsignedByte(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1430321597" + garbageValue = "-973037380" ) @Export("available") public int available() throws IOException { return this.source.available(); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "823949627" + garbageValue = "1444896063" ) @Export("isAvailable") public boolean isAvailable(int var1) throws IOException { return this.source.isAvailable(var1); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "593938417" + descriptor = "([BIIB)I", + garbageValue = "-95" ) @Export("read") public int read(byte[] var1, int var2, int var3) throws IOException { return this.source.read(var1, var2, var3); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "-4" + descriptor = "([BIII)V", + garbageValue = "34744814" ) @Export("write") public void write(byte[] var1, int var2, int var3) throws IOException { @@ -108,63 +105,37 @@ public class BufferedNetSocket extends AbstractSocket { this.close(); } - @ObfuscatedName("m") + @ObfuscatedName("ix") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ILjava/lang/String;I)Z", - garbageValue = "106915676" + descriptor = "(Ljt;I)Z", + garbageValue = "217783620" ) - static boolean method6116(String var0, int var1, String var2) { - if (var1 == 0) { - try { - if (!class29.field172.startsWith("win")) { - throw new Exception(); - } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { - throw new Exception(); - } else { - String var13 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; - - for (int var4 = 0; var4 < var0.length(); ++var4) { - if (var13.indexOf(var0.charAt(var4)) == -1) { - throw new Exception(); - } - } - - Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); - return true; - } - } catch (Throwable var8) { - return false; - } - } else if (var1 == 1) { - try { - Applet var7 = class29.applet; - Object[] var5 = new Object[]{(new URL(class29.applet.getCodeBase(), var0)).toString()}; - Object var3 = JSObject.getWindow(var7).call(var2, var5); - return var3 != null; - } catch (Throwable var9) { - return false; - } - } else if (var1 == 2) { - try { - class29.applet.getAppletContext().showDocument(new URL(class29.applet.getCodeBase(), var0), "_blank"); - return true; - } catch (Exception var10) { - return false; - } - } else if (var1 == 3) { - try { - class27.method398(class29.applet, "loggedout"); - } catch (Throwable var12) { - } - - try { - class29.applet.getAppletContext().showDocument(new URL(class29.applet.getCodeBase(), var0), "_top"); - return true; - } catch (Exception var11) { - return false; - } + @Export("runCs1") + static final boolean runCs1(Widget var0) { + if (var0.cs1Comparisons == null) { + return false; } else { - throw new IllegalArgumentException(); + for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { + int var2 = FriendsChat.method5992(var0, var1); + int var3 = var0.cs1ComparisonValues[var1]; + if (var0.cs1Comparisons[var1] == 2) { + if (var2 >= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 3) { + if (var2 <= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 4) { + if (var2 == var3) { + return false; + } + } else if (var3 != var2) { + return false; + } + } + + return true; } } } diff --git a/runescape-client/src/main/java/BufferedSink.java b/runescape-client/src/main/java/BufferedSink.java index a88a3da66d..611353540a 100644 --- a/runescape-client/src/main/java/BufferedSink.java +++ b/runescape-client/src/main/java/BufferedSink.java @@ -6,37 +6,37 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mj") +@ObfuscatedName("mz") @Implements("BufferedSink") public class BufferedSink implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("thread") Thread thread; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("outputStream") OutputStream outputStream; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -382364831 + intValue = 1953104357 ) @Export("capacity") int capacity; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("buffer") byte[] buffer; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1612352925 + intValue = -575194159 ) @Export("position") int position; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 842191613 + intValue = 454898237 ) @Export("limit") int limit; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("exception") IOException exception; @ObfuscatedName("a") @@ -54,10 +54,10 @@ public class BufferedSink implements Runnable { this.thread.start(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1810125841" + garbageValue = "-1922710165" ) @Export("isClosed") boolean isClosed() { @@ -79,10 +79,10 @@ public class BufferedSink implements Runnable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "([BIII)V", - garbageValue = "315466326" + garbageValue = "-2088903664" ) @Export("write") void write(byte[] var1, int var2, int var3) throws IOException { @@ -119,10 +119,10 @@ public class BufferedSink implements Runnable { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "25" + descriptor = "(I)V", + garbageValue = "1739455200" ) @Export("close") void close() { @@ -197,36 +197,4 @@ public class BufferedSink implements Runnable { } while(!this.isClosed()); } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "148906173" - ) - public static int method6167(int var0, int var1) { - int var2; - if (var1 > var0) { - var2 = var0; - var0 = var1; - var1 = var2; - } - - while (var1 != 0) { - var2 = var0 % var1; - var0 = var1; - var1 = var2; - } - - return var0; - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)I", - garbageValue = "-2019684203" - ) - @Export("stringCp1252NullTerminatedByteSize") - public static int stringCp1252NullTerminatedByteSize(String var0) { - return var0.length() + 1; - } } diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index 6c45b253d4..8c6187a80c 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -7,37 +7,37 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mw") +@ObfuscatedName("mf") @Implements("BufferedSource") public class BufferedSource implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("thread") Thread thread; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("inputStream") InputStream inputStream; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 547360643 + intValue = -2074831329 ) @Export("capacity") int capacity; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("buffer") byte[] buffer; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 61624739 + intValue = 669184035 ) @Export("position") int position; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 132752517 + intValue = 730630793 ) @Export("limit") int limit; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("exception") IOException exception; @@ -52,10 +52,10 @@ public class BufferedSource implements Runnable { this.thread.start(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "743964055" + descriptor = "(IB)Z", + garbageValue = "57" ) @Export("isAvailable") boolean isAvailable(int var1) throws IOException { @@ -86,10 +86,10 @@ public class BufferedSource implements Runnable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1995219880" + garbageValue = "-1856553259" ) @Export("available") int available() throws IOException { @@ -110,10 +110,10 @@ public class BufferedSource implements Runnable { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1859107666" + garbageValue = "2099170047" ) @Export("readUnsignedByte") int readUnsignedByte() throws IOException { @@ -133,10 +133,10 @@ public class BufferedSource implements Runnable { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "([BIII)I", - garbageValue = "-191576253" + garbageValue = "1042795969" ) @Export("read") int read(byte[] var1, int var2, int var3) throws IOException { @@ -174,10 +174,10 @@ public class BufferedSource implements Runnable { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "-54" + garbageValue = "-90" ) @Export("close") void close() { diff --git a/runescape-client/src/main/java/ByteArrayNode.java b/runescape-client/src/main/java/ByteArrayNode.java index e6800165fb..21f7ee8002 100644 --- a/runescape-client/src/main/java/ByteArrayNode.java +++ b/runescape-client/src/main/java/ByteArrayNode.java @@ -2,10 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("nc") +@ObfuscatedName("np") @Implements("ByteArrayNode") public class ByteArrayNode extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("byteArray") public byte[] byteArray; diff --git a/runescape-client/src/main/java/ByteArrayPool.java b/runescape-client/src/main/java/ByteArrayPool.java index e1a77a385b..a6690083ee 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -1,59 +1,103 @@ +import java.util.ArrayList; +import java.util.HashMap; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ld") +@ObfuscatedName("lr") @Implements("ByteArrayPool") public class ByteArrayPool { - @ObfuscatedName("n") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1332805501 + intValue = 1396551111 ) @Export("ByteArrayPool_smallCount") static int ByteArrayPool_smallCount; - @ObfuscatedName("c") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1733522365 + intValue = 893539471 ) @Export("ByteArrayPool_mediumCount") static int ByteArrayPool_mediumCount; - @ObfuscatedName("m") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1476651715 + intValue = -726411367 ) @Export("ByteArrayPool_largeCount") static int ByteArrayPool_largeCount; - @ObfuscatedName("k") + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -2028367777 + ) + static int field3890; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -915452121 + ) + static int field3891; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1219309853 + ) + static int field3892; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 547302463 + ) + static int field3899; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1927164801 + ) + static int field3897; + @ObfuscatedName("g") @Export("ByteArrayPool_small") static byte[][] ByteArrayPool_small; - @ObfuscatedName("o") + @ObfuscatedName("v") @Export("ByteArrayPool_medium") static byte[][] ByteArrayPool_medium; - @ObfuscatedName("g") + @ObfuscatedName("s") @Export("ByteArrayPool_large") static byte[][] ByteArrayPool_large; + @ObfuscatedName("c") + static byte[][] field3898; @ObfuscatedName("z") - @Export("ByteArrayPool_alternativeSizes") - public static int[] ByteArrayPool_alternativeSizes; - @ObfuscatedName("u") - @Export("ByteArrayPool_arrays") - public static byte[][][] ByteArrayPool_arrays; + public static ArrayList field3893; + @ObfuscatedName("ca") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("worldSelectRightSprite") + static IndexedSprite worldSelectRightSprite; static { ByteArrayPool_smallCount = 0; ByteArrayPool_mediumCount = 0; ByteArrayPool_largeCount = 0; + field3890 = 0; + field3891 = 1000; + field3892 = 250; + field3899 = 100; + field3897 = 50; ByteArrayPool_small = new byte[1000][]; ByteArrayPool_medium = new byte[250][]; - ByteArrayPool_large = new byte[50][]; + ByteArrayPool_large = new byte[100][]; + field3898 = new byte[50][]; + field3893 = new ArrayList(); + field3893.clear(); + field3893.add(100); + field3893.add(5000); + field3893.add(10000); + field3893.add(30000); + new HashMap(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(IZB)[B", - garbageValue = "36" + garbageValue = "-56" ) @Export("ByteArrayPool_getArrayBool") static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { @@ -76,8 +120,8 @@ public class ByteArrayPool { return var4; } - if (var0 != 30000) { - if (var0 < 30000) { + if (var0 != 10000) { + if (var0 < 10000) { } } else if (ByteArrayPool_largeCount > 0) { var4 = ByteArrayPool_large[--ByteArrayPool_largeCount]; @@ -85,14 +129,23 @@ public class ByteArrayPool { return var4; } - if (ByteArrayPool_arrays != null) { - for (int var2 = 0; var2 < ByteArrayPool_alternativeSizes.length; ++var2) { - if (ByteArrayPool_alternativeSizes[var2] != var0) { - if (var0 < ByteArrayPool_alternativeSizes[var2]) { + if (var0 != 30000) { + if (var0 < 30000) { + } + } else if (field3890 > 0) { + var4 = field3898[--field3890]; + field3898[field3890] = null; + return var4; + } + + if (class117.ByteArrayPool_arrays != null) { + for (int var2 = 0; var2 < GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes.length; ++var2) { + if (GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes[var2] != var0) { + if (var0 < GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes[var2]) { } - } else if (TileItem.ByteArrayPool_altSizeArrayCounts[var2] > 0) { - byte[] var3 = ByteArrayPool_arrays[var2][--TileItem.ByteArrayPool_altSizeArrayCounts[var2]]; - ByteArrayPool_arrays[var2][TileItem.ByteArrayPool_altSizeArrayCounts[var2]] = null; + } else if (Message.ByteArrayPool_altSizeArrayCounts[var2] > 0) { + byte[] var3 = class117.ByteArrayPool_arrays[var2][--Message.ByteArrayPool_altSizeArrayCounts[var2]]; + class117.ByteArrayPool_arrays[var2][Message.ByteArrayPool_altSizeArrayCounts[var2]] = null; return var3; } } @@ -101,16 +154,18 @@ public class ByteArrayPool { return new byte[var0]; } - @ObfuscatedName("c") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Lot;Ljava/lang/String;B)I", - garbageValue = "0" + descriptor = "(I)[I", + garbageValue = "1095042246" ) - public static int method5814(Buffer var0, String var1) { - int var2 = var0.offset; - byte[] var3 = Clock.method2797(var1); - var0.writeSmartByteShort(var3.length); - var0.offset += class264.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); - return var0.offset - var2; + public static int[] method5897() { + int[] var0 = new int[KeyHandler.field136]; + + for (int var1 = 0; var1 < KeyHandler.field136; ++var1) { + var0[var1] = KeyHandler.field135[var1]; + } + + return var0; } } diff --git a/runescape-client/src/main/java/Calendar.java b/runescape-client/src/main/java/Calendar.java index d98a80115c..7a929671ad 100644 --- a/runescape-client/src/main/java/Calendar.java +++ b/runescape-client/src/main/java/Calendar.java @@ -2,17 +2,18 @@ import java.util.TimeZone; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ja") +@ObfuscatedName("jk") @Implements("Calendar") public class Calendar { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("MONTH_NAMES_ENGLISH_GERMAN") static final String[][] MONTH_NAMES_ENGLISH_GERMAN; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("DAYS_OF_THE_WEEK") static final String[] DAYS_OF_THE_WEEK; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("Calendar_calendar") static java.util.Calendar Calendar_calendar; @@ -22,4 +23,30 @@ public class Calendar { java.util.Calendar.getInstance(); Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); } + + @ObfuscatedName("jx") + @ObfuscatedSignature( + descriptor = "(IIIILon;Liw;B)V", + garbageValue = "-108" + ) + @Export("worldToMinimap") + static final void worldToMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { + int var6 = var3 * var3 + var2 * var2; + if (var6 > 4225 && var6 < 90000) { + int var7 = Client.camAngleY & 2047; + int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + double var12 = Math.atan2((double)var10, (double)var11); + int var14 = var5.width / 2 - 25; + int var15 = (int)(Math.sin(var12) * (double)var14); + int var16 = (int)(Math.cos(var12) * (double)var14); + byte var17 = 20; + class21.redHintArrowSprite.method7320(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); + } else { + StudioGame.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); + } + + } } diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index d9cd427caa..a71458b236 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -2,13 +2,23 @@ import java.awt.Component; import java.awt.Graphics; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("i") +@ObfuscatedName("d") @Implements("Canvas") public final class Canvas extends java.awt.Canvas { - @ObfuscatedName("n") + @ObfuscatedName("hx") + @Export("regionMapArchiveIds") + static int[] regionMapArchiveIds; + @ObfuscatedName("io") + @ObfuscatedGetter( + intValue = -1379782225 + ) + @Export("cameraX") + static int cameraX; + @ObfuscatedName("l") @Export("component") Component component; @@ -24,73 +34,175 @@ public final class Canvas extends java.awt.Canvas { this.component.paint(var1); } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-905018631" + descriptor = "(IILfw;Lfy;I)Z", + garbageValue = "-37817578" ) - public static void method371() { - class135.midiPcmStream.clear(); - class247.musicPlayerStatus = 1; - class247.musicTrackArchive = null; + public static final boolean method381(int var0, int var1, RouteStrategy var2, CollisionMap var3) { + int var4 = var0; + int var5 = var1; + byte var6 = 64; + byte var7 = 64; + int var8 = var0 - var6; + int var9 = var1 - var7; + class174.directions[var6][var7] = 99; + class174.distances[var6][var7] = 0; + byte var10 = 0; + int var11 = 0; + class174.bufferX[var10] = var0; + byte var10001 = var10; + int var18 = var10 + 1; + class174.bufferY[var10001] = var1; + int[][] var12 = var3.flags; + + while (var18 != var11) { + var4 = class174.bufferX[var11]; + var5 = class174.bufferY[var11]; + var11 = var11 + 1 & 4095; + int var16 = var4 - var8; + int var17 = var5 - var9; + int var13 = var4 - var3.xInset; + int var14 = var5 - var3.yInset; + if (var2.hasArrived(2, var4, var5, var3)) { + class318.field3870 = var4; + class174.field1994 = var5; + return true; + } + + int var15 = class174.distances[var16][var17] + 1; + if (var16 > 0 && class174.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { + class174.bufferX[var18] = var4 - 1; + class174.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class174.directions[var16 - 1][var17] = 2; + class174.distances[var16 - 1][var17] = var15; + } + + if (var16 < 126 && class174.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { + class174.bufferX[var18] = var4 + 1; + class174.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class174.directions[var16 + 1][var17] = 8; + class174.distances[var16 + 1][var17] = var15; + } + + if (var17 > 0 && class174.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { + class174.bufferX[var18] = var4; + class174.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class174.directions[var16][var17 - 1] = 1; + class174.distances[var16][var17 - 1] = var15; + } + + if (var17 < 126 && class174.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { + class174.bufferX[var18] = var4; + class174.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class174.directions[var16][var17 + 1] = 4; + class174.distances[var16][var17 + 1] = var15; + } + + if (var16 > 0 && var17 > 0 && class174.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { + class174.bufferX[var18] = var4 - 1; + class174.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class174.directions[var16 - 1][var17 - 1] = 3; + class174.distances[var16 - 1][var17 - 1] = var15; + } + + if (var16 < 126 && var17 > 0 && class174.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { + class174.bufferX[var18] = var4 + 1; + class174.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class174.directions[var16 + 1][var17 - 1] = 9; + class174.distances[var16 + 1][var17 - 1] = var15; + } + + if (var16 > 0 && var17 < 126 && class174.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { + class174.bufferX[var18] = var4 - 1; + class174.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class174.directions[var16 - 1][var17 + 1] = 6; + class174.distances[var16 - 1][var17 + 1] = var15; + } + + if (var16 < 126 && var17 < 126 && class174.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { + class174.bufferX[var18] = var4 + 1; + class174.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class174.directions[var16 + 1][var17 + 1] = 12; + class174.distances[var16 + 1][var17 + 1] = var15; + } + } + + class318.field3870 = var4; + class174.field1994 = var5; + return false; } - @ObfuscatedName("hl") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "77" + descriptor = "(IIII)I", + garbageValue = "-1980998200" ) - @Export("addCancelMenuEntry") - static void addCancelMenuEntry() { - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.menuActions[0] = "Cancel"; - Client.menuTargets[0] = ""; - Client.menuOpcodes[0] = 1006; - Client.menuShiftClick[0] = false; - Client.menuOptionsCount = 1; + public static int method374(int var0, int var1, int var2) { + var2 &= 3; + if (var2 == 0) { + return var1; + } else if (var2 == 1) { + return 7 - var0; + } else { + return var2 == 2 ? 7 - var1 : var0; + } } - @ObfuscatedName("jg") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Ljd;III)V", - garbageValue = "-682005079" + descriptor = "(I)Lbc;", + garbageValue = "154215174" ) - @Export("clickWidget") - static final void clickWidget(Widget var0, int var1, int var2) { - if (Client.clickedWidget == null && !Client.isMenuOpen) { - if (var0 != null) { - Widget var4 = Message.method1099(var0); - if (var4 == null) { - var4 = var0.parent; - } + @Export("worldListStart") + static World worldListStart() { + World.World_listCount = 0; + return AttackOption.getNextWorldListWorld(); + } - if (var4 != null) { - Client.clickedWidget = var0; - var4 = Message.method1099(var0); - if (var4 == null) { - var4 = var0.parent; - } + @ObfuscatedName("iz") + @ObfuscatedSignature( + descriptor = "(IIIIIIIII)V", + garbageValue = "1354810212" + ) + @Export("drawWidgets") + static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + ReflectionCheck.field452 = null; + ArchiveLoader.drawInterface(Widget.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); + if (ReflectionCheck.field452 != null) { + ArchiveLoader.drawInterface(ReflectionCheck.field452, -1412584499, var1, var2, var3, var4, Script.field954, UserComparator3.field1338, var7); + ReflectionCheck.field452 = null; + } - Client.clickedWidgetParent = var4; - Client.widgetClickX = var1; - Client.widgetClickY = var2; - class125.widgetDragDuration = 0; - Client.isDraggingWidget = false; - int var5 = class28.method410(); - if (var5 != -1) { - ArchiveDiskAction.tempMenuAction = new MenuAction(); - ArchiveDiskAction.tempMenuAction.param0 = Client.menuArguments1[var5]; - ArchiveDiskAction.tempMenuAction.param1 = Client.menuArguments2[var5]; - ArchiveDiskAction.tempMenuAction.opcode = Client.menuOpcodes[var5]; - ArchiveDiskAction.tempMenuAction.identifier = Client.menuIdentifiers[var5]; - ArchiveDiskAction.tempMenuAction.action = Client.menuActions[var5]; - } - - return; + } else { + if (var7 != -1) { + Client.field710[var7] = true; + } else { + for (int var8 = 0; var8 < 100; ++var8) { + Client.field710[var8] = true; } } } } + + @ObfuscatedName("io") + @ObfuscatedSignature( + descriptor = "(IIIZB)V", + garbageValue = "-34" + ) + static final void method380(int var0, int var1, int var2, boolean var3) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + WorldMapSection1.resizeInterface(Widget.Widget_interfaceComponents[var0], -1, var1, var2, var3); + } + } } diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index 33647b3fdd..89c17edc34 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -3,22 +3,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bv") +@ObfuscatedName("bn") @Implements("ChatChannel") public class ChatChannel { @ObfuscatedName("q") - @Export("cacheSubPaths") - public static String[] cacheSubPaths; - @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "[Lbc;" + descriptor = "[Lbo;" ) @Export("messages") Message[] messages; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1943086625 + intValue = -1188570889 ) @Export("count") int count; @@ -27,10 +25,10 @@ public class ChatChannel { this.messages = new Message[100]; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbc;", - garbageValue = "-108" + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbo;", + garbageValue = "-1190035650" ) @Export("addMessage") Message addMessage(int var1, String var2, String var3, String var4) { @@ -58,71 +56,227 @@ public class ChatChannel { return var5; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)Lbc;", - garbageValue = "-2139303618" + descriptor = "(II)Lbo;", + garbageValue = "949402314" ) @Export("getMessage") Message getMessage(int var1) { return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "2102896661" + descriptor = "(B)I", + garbageValue = "44" ) @Export("size") int size() { return this.count; } - @ObfuscatedName("z") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lbh;Lbh;IZI)I", - garbageValue = "505679826" + descriptor = "(IIII)I", + garbageValue = "-1709302378" ) - @Export("compareWorlds") - static int compareWorlds(World var0, World var1, int var2, boolean var3) { - if (var2 == 1) { - int var4 = var0.population; - int var5 = var1.population; - if (!var3) { - if (var4 == -1) { - var4 = 2001; - } + public static int method1978(int var0, int var1, int var2) { + int var3 = FloorOverlayDefinition.method3343(var2 - var1 + 1); + var3 <<= var1; + var0 |= var3; + return var0; + } - if (var5 == -1) { - var5 = 2001; - } + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(Loy;IB)Z", + garbageValue = "108" + ) + @Export("updateExternalPlayer") + static boolean updateExternalPlayer(PacketBuffer var0, int var1) { + int var2 = var0.readBits(2); + int var3; + int var4; + int var7; + int var8; + int var9; + int var10; + if (var2 == 0) { + if (var0.readBits(1) != 0) { + updateExternalPlayer(var0, var1); } - return var4 - var5; - } else if (var2 == 2) { - return var0.location - var1.location; - } else if (var2 == 3) { - if (var0.activity.equals("-")) { - if (var1.activity.equals("-")) { - return 0; - } else { - return var3 ? -1 : 1; - } - } else if (var1.activity.equals("-")) { - return var3 ? 1 : -1; + var3 = var0.readBits(13); + var4 = var0.readBits(13); + boolean var12 = var0.readBits(1) == 1; + if (var12) { + Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; + } + + if (Client.players[var1] != null) { + throw new RuntimeException(); } else { - return var0.activity.compareTo(var1.activity); + Player var11 = Client.players[var1] = new Player(); + var11.index = var1; + if (Players.field1248[var1] != null) { + var11.read(Players.field1248[var1]); + } + + var11.orientation = Players.Players_orientations[var1]; + var11.targetIndex = Players.Players_targetIndices[var1]; + var7 = Players.Players_regions[var1]; + var8 = var7 >> 28; + var9 = var7 >> 14 & 255; + var10 = var7 & 255; + var11.pathTraversed[0] = Players.field1245[var1]; + var11.plane = (byte)var8; + var11.resetPath((var9 << 13) + var3 - WorldMapSectionType.baseX, (var10 << 13) + var4 - PlayerComposition.baseY); + var11.field1060 = false; + return true; } - } else if (var2 == 4) { - return var0.method1619() ? (var1.method1619() ? 0 : 1) : (var1.method1619() ? -1 : 0); - } else if (var2 == 5) { - return var0.method1614() ? (var1.method1614() ? 0 : 1) : (var1.method1614() ? -1 : 0); - } else if (var2 == 6) { - return var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0); - } else if (var2 == 7) { - return var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0); + } else if (var2 == 1) { + var3 = var0.readBits(2); + var4 = Players.Players_regions[var1]; + Players.Players_regions[var1] = (((var4 >> 28) + var3 & 3) << 28) + (var4 & 268435455); + return false; } else { - return var0.id - var1.id; + int var5; + int var6; + if (var2 == 2) { + var3 = var0.readBits(5); + var4 = var3 >> 3; + var5 = var3 & 7; + var6 = Players.Players_regions[var1]; + var7 = (var6 >> 28) + var4 & 3; + var8 = var6 >> 14 & 255; + var9 = var6 & 255; + if (var5 == 0) { + --var8; + --var9; + } + + if (var5 == 1) { + --var9; + } + + if (var5 == 2) { + ++var8; + --var9; + } + + if (var5 == 3) { + --var8; + } + + if (var5 == 4) { + ++var8; + } + + if (var5 == 5) { + --var8; + ++var9; + } + + if (var5 == 6) { + ++var9; + } + + if (var5 == 7) { + ++var8; + ++var9; + } + + Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); + return false; + } else { + var3 = var0.readBits(18); + var4 = var3 >> 16; + var5 = var3 >> 8 & 255; + var6 = var3 & 255; + var7 = Players.Players_regions[var1]; + var8 = (var7 >> 28) + var4 & 3; + var9 = var5 + (var7 >> 14) & 255; + var10 = var7 + var6 & 255; + Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); + return false; + } } } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "636323655" + ) + static int method1987(int var0, Script var1, boolean var2) { + Widget var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETSCROLLX) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTEXT) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == 2610) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == 2613) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else if (var0 != 2615 && var0 != 2616) { + return 2; + } else { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } + + @ObfuscatedName("fy") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-662979450" + ) + static final void method1985() { + for (int var0 = 0; var0 < Client.npcCount; ++var0) { + int var1 = Client.npcIndices[var0]; + NPC var2 = Client.npcs[var1]; + if (var2 != null) { + class116.updateActorSequence(var2, var2.definition.size); + } + } + + } } diff --git a/runescape-client/src/main/java/ClanChannel.java b/runescape-client/src/main/java/ClanChannel.java index 3d41ba9be8..68a632f186 100644 --- a/runescape-client/src/main/java/ClanChannel.java +++ b/runescape-client/src/main/java/ClanChannel.java @@ -10,28 +10,40 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("eb") @Implements("ClanChannel") public class ClanChannel extends Node { - @ObfuscatedName("n") - boolean field1519; - @ObfuscatedName("c") - boolean field1512; - @ObfuscatedName("m") + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lkr;" + ) + @Export("NetCache_currentResponse") + public static NetFileRequest NetCache_currentResponse; + @ObfuscatedName("dz") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive0") + static Archive archive0; + @ObfuscatedName("l") + boolean field1522; + @ObfuscatedName("q") + boolean field1511; + @ObfuscatedName("f") @Export("members") public List members; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("sortedMembers") int[] sortedMembers; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - longValue = -3790733818570190469L + longValue = 5432750622000558309L ) - long field1516; - @ObfuscatedName("g") + long field1515; + @ObfuscatedName("k") @Export("name") public String name; - @ObfuscatedName("z") - public byte field1518; + @ObfuscatedName("t") + public byte field1517; @ObfuscatedName("a") - public byte field1513; + public byte field1512; static { new BitSet(65536); @@ -41,15 +53,15 @@ public class ClanChannel extends Node { descriptor = "(Lot;)V" ) public ClanChannel(Buffer var1) { - this.field1512 = true; + this.field1511 = true; this.name = null; - this.method2680(var1); + this.method2731(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)[I", - garbageValue = "-2070605103" + garbageValue = "-583573916" ) @Export("getSortedMembers") public int[] getSortedMembers() { @@ -58,19 +70,20 @@ public class ClanChannel extends Node { this.sortedMembers = new int[this.members.size()]; for (int var2 = 0; var2 < this.members.size(); this.sortedMembers[var2] = var2++) { - var1[var2] = ((ClanChannelMember)this.members.get(var2)).username.method7399(); + var1[var2] = ((ClanChannelMember)this.members.get(var2)).username.method7459(); } - MouseHandler.method580(var1, this.sortedMembers); + int[] var3 = this.sortedMembers; + WorldMap.method6612(var1, var3, 0, var1.length - 1); } return this.sortedMembers; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldr;I)V", - garbageValue = "1841973558" + descriptor = "(Ldo;I)V", + garbageValue = "-1606907602" ) @Export("addMember") void addMember(ClanChannelMember var1) { @@ -78,10 +91,10 @@ public class ClanChannel extends Node { this.sortedMembers = null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "32" + garbageValue = "-82" ) @Export("removeMember") void removeMember(int var1) { @@ -89,22 +102,22 @@ public class ClanChannel extends Node { this.sortedMembers = null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1608284005" + descriptor = "(B)I", + garbageValue = "33" ) - public int method2677() { + public int method2729() { return this.members.size(); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)I", - garbageValue = "-1547168983" + garbageValue = "1154960120" ) - public int method2674(String var1) { - if (!this.field1512) { + public int method2739(String var1) { + if (!this.field1511) { throw new RuntimeException("Displaynames not available"); } else { for (int var2 = 0; var2 < this.members.size(); ++var2) { @@ -117,19 +130,19 @@ public class ClanChannel extends Node { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-802719408" + garbageValue = "-1374408697" ) - void method2680(Buffer var1) { + void method2731(Buffer var1) { int var2 = var1.readUnsignedByte(); if ((var2 & 1) != 0) { - this.field1519 = true; + this.field1522 = true; } if ((var2 & 2) != 0) { - this.field1512 = true; + this.field1511 = true; } int var3 = 2; @@ -138,22 +151,22 @@ public class ClanChannel extends Node { } super.key = var1.readLong(); - this.field1516 = var1.readLong(); + this.field1515 = var1.readLong(); this.name = var1.readStringCp1252NullTerminated(); var1.readBoolean(); - this.field1513 = var1.readByte(); - this.field1518 = var1.readByte(); + this.field1512 = var1.readByte(); + this.field1517 = var1.readByte(); int var4 = var1.readUnsignedShort(); if (var4 > 0) { this.members = new ArrayList(var4); for (int var5 = 0; var5 < var4; ++var5) { ClanChannelMember var6 = new ClanChannelMember(); - if (this.field1519) { + if (this.field1522) { var1.readLong(); } - if (this.field1512) { + if (this.field1511) { var6.username = new Username(var1.readStringCp1252NullTerminated()); } @@ -168,4 +181,34 @@ public class ClanChannel extends Node { } } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IB)Lel;", + garbageValue = "-34" + ) + public static VarcInt method2747(int var0) { + VarcInt var1 = (VarcInt)VarcInt.VarcInt_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = VarcInt.VarcInt_archive.takeFile(19, var0); + var1 = new VarcInt(); + if (var2 != null) { + var1.method2924(new Buffer(var2)); + } + + VarcInt.VarcInt_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1415895326" + ) + public static boolean method2748(int var0) { + return (var0 >> 21 & 1) != 0; + } } diff --git a/runescape-client/src/main/java/ClanChannelMember.java b/runescape-client/src/main/java/ClanChannelMember.java index fa53c24a81..2cfb65589f 100644 --- a/runescape-client/src/main/java/ClanChannelMember.java +++ b/runescape-client/src/main/java/ClanChannelMember.java @@ -4,21 +4,27 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dr") +@ObfuscatedName("do") @Implements("ClanChannelMember") public class ClanChannelMember { - @ObfuscatedName("n") + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("logoSprite") + static IndexedSprite logoSprite; + @ObfuscatedName("l") @Export("rank") public byte rank; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -588092421 + intValue = -817842065 ) @Export("world") public int world; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("username") public Username username; diff --git a/runescape-client/src/main/java/ClanMate.java b/runescape-client/src/main/java/ClanMate.java index 72b7d2a33e..aecb231e05 100644 --- a/runescape-client/src/main/java/ClanMate.java +++ b/runescape-client/src/main/java/ClanMate.java @@ -3,18 +3,18 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lq") +@ObfuscatedName("lj") @Implements("ClanMate") public class ClanMate extends Buddy { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("friend") TriBool friend; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("ignored") TriBool ignored; @@ -24,20 +24,20 @@ public class ClanMate extends Buddy { this.ignored = TriBool.TriBool_unknown; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1897016674" + descriptor = "(S)V", + garbageValue = "-31734" ) @Export("clearIsFriend") void clearIsFriend() { this.friend = TriBool.TriBool_unknown; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-336350427" + garbageValue = "393373028" ) @Export("isFriend") public final boolean isFriend() { @@ -48,30 +48,30 @@ public class ClanMate extends Buddy { return this.friend == TriBool.TriBool_true; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-398895759" + descriptor = "(B)V", + garbageValue = "-13" ) @Export("fillIsFriend") void fillIsFriend() { - this.friend = class20.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + this.friend = Message.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1635891604" + garbageValue = "-1505172516" ) @Export("clearIsIgnored") void clearIsIgnored() { this.ignored = TriBool.TriBool_unknown; } - @ObfuscatedName("l") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-1" + descriptor = "(I)Z", + garbageValue = "-528525433" ) @Export("isIgnored") public final boolean isIgnored() { @@ -85,40 +85,10 @@ public class ClanMate extends Buddy { @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2025540605" + garbageValue = "-2082229769" ) @Export("fillIsIgnored") void fillIsIgnored() { - this.ignored = class20.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("gr") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "118" - ) - @Export("addNpcsToScene") - static final void addNpcsToScene(boolean var0) { - for (int var1 = 0; var1 < Client.npcCount; ++var1) { - NPC var2 = Client.npcs[Client.npcIndices[var1]]; - if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { - int var3 = var2.x >> 7; - int var4 = var2.y >> 7; - if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { - if (var2.field1137 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { - if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { - continue; - } - - Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; - } - - long var5 = ClanSettings.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); - var2.playerCycle = Client.cycle; - CollisionMap.scene.drawEntity(class391.Client_plane, var2.x, var2.y, GraphicsObject.getTileHeight(var2.field1137 * 64 - 64 + var2.x, var2.field1137 * 64 - 64 + var2.y, class391.Client_plane), var2.field1137 * 64 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); - } - } - } - + this.ignored = Message.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; } } diff --git a/runescape-client/src/main/java/ClanSettings.java b/runescape-client/src/main/java/ClanSettings.java index 154f759220..75add4a89d 100644 --- a/runescape-client/src/main/java/ClanSettings.java +++ b/runescape-client/src/main/java/ClanSettings.java @@ -4,97 +4,92 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("di") +@ObfuscatedName("dk") @Implements("ClanSettings") public class ClanSettings { - @ObfuscatedName("jh") - @ObfuscatedGetter( - intValue = -122094661 - ) - static int field1473; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("useHashes") boolean useHashes; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("useNames") boolean useNames; + @ObfuscatedName("j") + @ObfuscatedGetter( + longValue = 7796320747279199629L + ) + long field1446; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1295795639 + ) + int field1447; @ObfuscatedName("k") - @ObfuscatedGetter( - longValue = -4248189823971455173L - ) - long field1450; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -794153821 - ) - int field1451; - @ObfuscatedName("g") @Export("name") public String name; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 2143631137 + intValue = -1935991065 ) - int field1453; + int field1449; @ObfuscatedName("a") @Export("allowGuests") public boolean allowGuests; - @ObfuscatedName("u") - public byte field1448; @ObfuscatedName("e") - public byte field1456; - @ObfuscatedName("l") - public byte field1457; + public byte field1450; + @ObfuscatedName("i") + public byte field1452; @ObfuscatedName("y") - public byte field1458; - @ObfuscatedName("v") + public byte field1459; + @ObfuscatedName("w") + public byte field1466; + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 920397121 + intValue = 1332721669 ) @Export("memberCount") public int memberCount; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("memberHashes") long[] memberHashes; @ObfuscatedName("s") @Export("memberRanks") public byte[] memberRanks; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("sortedMembers") int[] sortedMembers; - @ObfuscatedName("d") - int[] field1455; - @ObfuscatedName("q") - public int[] field1464; - @ObfuscatedName("j") - public boolean[] field1465; + @ObfuscatedName("b") + int[] field1463; @ObfuscatedName("x") + public int[] field1460; + @ObfuscatedName("p") + public boolean[] field1461; + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = 739555235 + intValue = 1162827635 ) @Export("currentOwner") public int currentOwner; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = -424494715 + intValue = 236960675 ) - public int field1467; - @ObfuscatedName("t") + public int field1451; + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 494071123 + intValue = 999682497 ) @Export("bannedMemberCount") public int bannedMemberCount; @ObfuscatedName("r") @Export("bannedMemberHashes") long[] bannedMemberHashes; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("memberNames") public String[] memberNames; - @ObfuscatedName("w") + @ObfuscatedName("u") @Export("bannedMemberNames") public String[] bannedMemberNames; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( descriptor = "Lnz;" ) @@ -105,20 +100,20 @@ public class ClanSettings { descriptor = "(Lot;)V" ) public ClanSettings(Buffer var1) { - this.field1451 = 0; + this.field1447 = 0; this.name = null; - this.field1453 = 0; + this.field1449 = 0; this.currentOwner = -1; - this.field1467 = -1; - this.method2572(var1); + this.field1451 = -1; + this.method2601(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1876969444" + garbageValue = "404680173" ) - void method2553(int var1) { + void method2582(int var1) { if (this.useHashes) { if (this.memberHashes != null) { System.arraycopy(this.memberHashes, 0, this.memberHashes = new long[var1], 0, this.memberCount); @@ -141,32 +136,32 @@ public class ClanSettings { this.memberRanks = new byte[var1]; } - if (this.field1455 != null) { - System.arraycopy(this.field1455, 0, this.field1455 = new int[var1], 0, this.memberCount); + if (this.field1463 != null) { + System.arraycopy(this.field1463, 0, this.field1463 = new int[var1], 0, this.memberCount); } else { - this.field1455 = new int[var1]; + this.field1463 = new int[var1]; } - if (this.field1464 != null) { - System.arraycopy(this.field1464, 0, this.field1464 = new int[var1], 0, this.memberCount); + if (this.field1460 != null) { + System.arraycopy(this.field1460, 0, this.field1460 = new int[var1], 0, this.memberCount); } else { - this.field1464 = new int[var1]; + this.field1460 = new int[var1]; } - if (this.field1465 != null) { - System.arraycopy(this.field1465, 0, this.field1465 = new boolean[var1], 0, this.memberCount); + if (this.field1461 != null) { + System.arraycopy(this.field1461, 0, this.field1461 = new boolean[var1], 0, this.memberCount); } else { - this.field1465 = new boolean[var1]; + this.field1461 = new boolean[var1]; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "3" + descriptor = "(II)V", + garbageValue = "-390978502" ) - void method2554(int var1) { + void method2602(int var1) { if (this.useHashes) { if (this.bannedMemberHashes != null) { System.arraycopy(this.bannedMemberHashes, 0, this.bannedMemberHashes = new long[var1], 0, this.bannedMemberCount); @@ -185,12 +180,12 @@ public class ClanSettings { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)I", - garbageValue = "-19234" + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "1080888296" ) - public int method2555(String var1) { + public int method2584(String var1) { if (var1 != null && var1.length() != 0) { for (int var2 = 0; var2 < this.memberCount; ++var2) { if (this.memberNames[var2].equals(var1)) { @@ -204,20 +199,20 @@ public class ClanSettings { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "837971516" + descriptor = "(IIIB)I", + garbageValue = "45" ) - public int method2556(int var1, int var2, int var3) { + public int method2585(int var1, int var2, int var3) { int var4 = var3 == 31 ? -1 : (1 << var3 + 1) - 1; - return (this.field1455[var1] & var4) >>> var2; + return (this.field1463[var1] & var4) >>> var2; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/Integer;", - garbageValue = "1337727344" + descriptor = "(IB)Ljava/lang/Integer;", + garbageValue = "26" ) @Export("getTitleGroupValue") public Integer getTitleGroupValue(int var1) { @@ -229,10 +224,10 @@ public class ClanSettings { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)[I", - garbageValue = "-863400953" + garbageValue = "-1998425612" ) @Export("getSortedMembers") public int[] getSortedMembers() { @@ -247,29 +242,30 @@ public class ClanSettings { } } - MouseHandler.method580(var1, this.sortedMembers); + int[] var3 = this.sortedMembers; + WorldMap.method6612(var1, var3, 0, var1.length - 1); } return this.sortedMembers; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(JLjava/lang/String;IB)V", - garbageValue = "112" + garbageValue = "60" ) - void method2559(long var1, String var3, int var4) { + void method2646(long var1, String var3, int var4) { if (var3 != null && var3.length() == 0) { var3 = null; } if (var1 > 0L != this.useHashes) { throw new RuntimeException(""); - } else if (var3 != null != this.useNames) { + } else if (this.useNames != (var3 != null)) { throw new RuntimeException(""); } else { if (var1 > 0L && (this.memberHashes == null || this.memberCount >= this.memberHashes.length) || var3 != null && (this.memberNames == null || this.memberCount >= this.memberNames.length)) { - this.method2553(this.memberCount + 5); + this.method2582(this.memberCount + 5); } if (this.memberHashes != null) { @@ -287,9 +283,9 @@ public class ClanSettings { this.memberRanks[this.memberCount] = 0; } - this.field1455[this.memberCount] = 0; - this.field1464[this.memberCount] = var4; - this.field1465[this.memberCount] = false; + this.field1463[this.memberCount] = 0; + this.field1460[this.memberCount] = var4; + this.field1461[this.memberCount] = false; ++this.memberCount; this.sortedMembers = null; } @@ -297,10 +293,10 @@ public class ClanSettings { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "2097117011" + descriptor = "(IB)V", + garbageValue = "23" ) - void method2560(int var1) { + void method2589(int var1) { if (var1 >= 0 && var1 < this.memberCount) { --this.memberCount; this.sortedMembers = null; @@ -308,16 +304,16 @@ public class ClanSettings { this.memberHashes = null; this.memberNames = null; this.memberRanks = null; - this.field1455 = null; - this.field1464 = null; - this.field1465 = null; + this.field1463 = null; + this.field1460 = null; + this.field1461 = null; this.currentOwner = -1; - this.field1467 = -1; + this.field1451 = -1; } else { System.arraycopy(this.memberRanks, var1 + 1, this.memberRanks, var1, this.memberCount - var1); - System.arraycopy(this.field1455, var1 + 1, this.field1455, var1, this.memberCount - var1); - System.arraycopy(this.field1464, var1 + 1, this.field1464, var1, this.memberCount - var1); - System.arraycopy(this.field1465, var1 + 1, this.field1465, var1, this.memberCount - var1); + System.arraycopy(this.field1463, var1 + 1, this.field1463, var1, this.memberCount - var1); + System.arraycopy(this.field1460, var1 + 1, this.field1460, var1, this.memberCount - var1); + System.arraycopy(this.field1461, var1 + 1, this.field1461, var1, this.memberCount - var1); if (this.memberHashes != null) { System.arraycopy(this.memberHashes, var1 + 1, this.memberHashes, var1, this.memberCount - var1); } @@ -334,32 +330,32 @@ public class ClanSettings { } } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1840538836" + garbageValue = "-878605016" ) @Export("updateOwner") void updateOwner() { if (this.memberCount == 0) { this.currentOwner = -1; - this.field1467 = -1; + this.field1451 = -1; } else { this.currentOwner = -1; - this.field1467 = -1; + this.field1451 = -1; int var1 = 0; byte var2 = this.memberRanks[0]; for (int var3 = 1; var3 < this.memberCount; ++var3) { if (this.memberRanks[var3] > var2) { if (var2 == 125) { - this.field1467 = var1; + this.field1451 = var1; } var1 = var3; var2 = this.memberRanks[var3]; - } else if (this.field1467 == -1 && this.memberRanks[var3] == 125) { - this.field1467 = var3; + } else if (this.field1451 == -1 && this.memberRanks[var3] == 125) { + this.field1451 = var3; } } @@ -371,23 +367,23 @@ public class ClanSettings { } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(JLjava/lang/String;I)V", - garbageValue = "1091435278" + garbageValue = "2091341339" ) - void method2562(long var1, String var3) { + void method2637(long var1, String var3) { if (var3 != null && var3.length() == 0) { var3 = null; } - if (var1 > 0L != this.useHashes) { + if (this.useHashes != var1 > 0L) { throw new RuntimeException(""); - } else if (this.useNames != (var3 != null)) { + } else if (var3 != null != this.useNames) { throw new RuntimeException(""); } else { if (var1 > 0L && (this.bannedMemberHashes == null || this.bannedMemberCount >= this.bannedMemberHashes.length) || var3 != null && (this.bannedMemberNames == null || this.bannedMemberCount >= this.bannedMemberNames.length)) { - this.method2554(this.bannedMemberCount + 5); + this.method2602(this.bannedMemberCount + 5); } if (this.bannedMemberHashes != null) { @@ -402,12 +398,12 @@ public class ClanSettings { } } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "126" + descriptor = "(II)V", + garbageValue = "1252789986" ) - void method2589(int var1) { + void method2592(int var1) { --this.bannedMemberCount; if (this.bannedMemberCount == 0) { this.bannedMemberHashes = null; @@ -424,14 +420,14 @@ public class ClanSettings { } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(IBI)I", - garbageValue = "131072" + descriptor = "(IBS)I", + garbageValue = "-6827" ) - int method2581(int var1, byte var2) { + int method2619(int var1, byte var2) { if (var2 != 126 && var2 != 127) { - if (this.currentOwner == var1 && (this.field1467 == -1 || this.memberRanks[this.field1467] < 125)) { + if (this.currentOwner == var1 && (this.field1451 == -1 || this.memberRanks[this.field1451] < 125)) { return -1; } else if (this.memberRanks[var1] == var2) { return -1; @@ -445,15 +441,15 @@ public class ClanSettings { } } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "-1783852977" + garbageValue = "1553488108" ) - boolean method2565(int var1) { + boolean method2594(int var1) { if (this.currentOwner != var1 && this.memberRanks[var1] != 126) { this.memberRanks[this.currentOwner] = 125; - this.field1467 = this.currentOwner; + this.field1451 = this.currentOwner; this.memberRanks[var1] = 126; this.currentOwner = var1; return true; @@ -462,47 +458,47 @@ public class ClanSettings { } } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(IZI)I", - garbageValue = "-1048131256" + garbageValue = "976194960" ) - int method2590(int var1, boolean var2) { - if (this.field1465[var1] == var2) { + int method2595(int var1, boolean var2) { + if (this.field1461[var1] == var2) { return -1; } else { - this.field1465[var1] = var2; + this.field1461[var1] = var2; return var1; } } @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(IIIII)I", - garbageValue = "1776479044" + descriptor = "(IIIIB)I", + garbageValue = "2" ) - int method2614(int var1, int var2, int var3, int var4) { + int method2596(int var1, int var2, int var3, int var4) { int var5 = (1 << var3) - 1; int var6 = var4 == 31 ? -1 : (1 << var4 + 1) - 1; int var7 = var6 ^ var5; var2 <<= var3; var2 &= var7; - int var8 = this.field1455[var1]; + int var8 = this.field1463[var1]; if ((var8 & var7) == var2) { return -1; } else { var8 &= ~var7; - this.field1455[var1] = var8 | var2; + this.field1463[var1] = var8 | var2; return var1; } } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(IIB)Z", - garbageValue = "87" + descriptor = "(III)Z", + garbageValue = "2016619423" ) - boolean method2568(int var1, int var2) { + boolean method2597(int var1, int var2) { if (this.parameters != null) { Node var3 = this.parameters.get((long)var1); if (var3 != null) { @@ -526,12 +522,12 @@ public class ClanSettings { return true; } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(IIIII)Z", - garbageValue = "1354627129" + garbageValue = "-16777216" ) - boolean method2569(int var1, int var2, int var3, int var4) { + boolean method2598(int var1, int var2, int var3, int var4) { int var5 = (1 << var3) - 1; int var6 = var4 == 31 ? -1 : (1 << var4 + 1) - 1; int var7 = var6 ^ var5; @@ -561,18 +557,18 @@ public class ClanSettings { return true; } - @ObfuscatedName("q") - boolean method2570(int var1, long var2) { + @ObfuscatedName("x") + boolean method2599(int var1, long var2) { if (this.parameters != null) { Node var4 = this.parameters.get((long)var1); if (var4 != null) { - if (var4 instanceof class366) { - class366 var5 = (class366)var4; - if (var2 == var5.field4052) { + if (var4 instanceof class367) { + class367 var5 = (class367)var4; + if (var5.field4072 == var2) { return false; } - var5.field4052 = var2; + var5.field4072 = var2; return true; } @@ -582,16 +578,16 @@ public class ClanSettings { this.parameters = new IterableNodeHashTable(4); } - this.parameters.put(new class366(var2), (long)var1); + this.parameters.put(new class367(var2), (long)var1); return true; } - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)Z", - garbageValue = "28" + descriptor = "(ILjava/lang/String;I)Z", + garbageValue = "-1075042811" ) - boolean method2571(int var1, String var2) { + boolean method2614(int var1, String var2) { if (var2 == null) { var2 = ""; } else if (var2.length() > 80) { @@ -624,12 +620,12 @@ public class ClanSettings { return true; } - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "1646828781" + garbageValue = "-2130306293" ) - void method2572(Buffer var1) { + void method2601(Buffer var1) { int var2 = var1.readUnsignedByte(); if (var2 >= 1 && var2 <= 6) { int var3 = var1.readUnsignedByte(); @@ -651,10 +647,10 @@ public class ClanSettings { this.bannedMemberNames = null; } - this.field1451 = var1.readInt(); - this.field1453 = var1.readInt(); - if (var2 <= 3 && this.field1453 != 0) { - this.field1453 += 16912800; + this.field1447 = var1.readInt(); + this.field1449 = var1.readInt(); + if (var2 <= 3 && this.field1449 != 0) { + this.field1449 += 16912800; } this.memberCount = var1.readUnsignedShort(); @@ -665,10 +661,10 @@ public class ClanSettings { } this.allowGuests = var1.readUnsignedByte() == 1; - this.field1448 = var1.readByte(); - this.field1456 = var1.readByte(); - this.field1457 = var1.readByte(); - this.field1458 = var1.readByte(); + this.field1450 = var1.readByte(); + this.field1452 = var1.readByte(); + this.field1459 = var1.readByte(); + this.field1466 = var1.readByte(); int var4; if (this.memberCount > 0) { if (this.useHashes && (this.memberHashes == null || this.memberHashes.length < this.memberCount)) { @@ -683,16 +679,16 @@ public class ClanSettings { this.memberRanks = new byte[this.memberCount]; } - if (this.field1455 == null || this.field1455.length < this.memberCount) { - this.field1455 = new int[this.memberCount]; + if (this.field1463 == null || this.field1463.length < this.memberCount) { + this.field1463 = new int[this.memberCount]; } - if (this.field1464 == null || this.field1464.length < this.memberCount) { - this.field1464 = new int[this.memberCount]; + if (this.field1460 == null || this.field1460.length < this.memberCount) { + this.field1460 = new int[this.memberCount]; } - if (this.field1465 == null || this.field1465.length < this.memberCount) { - this.field1465 = new boolean[this.memberCount]; + if (this.field1461 == null || this.field1461.length < this.memberCount) { + this.field1461 = new boolean[this.memberCount]; } for (var4 = 0; var4 < this.memberCount; ++var4) { @@ -706,19 +702,19 @@ public class ClanSettings { this.memberRanks[var4] = var1.readByte(); if (var2 >= 2) { - this.field1455[var4] = var1.readInt(); + this.field1463[var4] = var1.readInt(); } if (var2 >= 5) { - this.field1464[var4] = var1.readUnsignedShort(); + this.field1460[var4] = var1.readUnsignedShort(); } else { - this.field1464[var4] = 0; + this.field1460[var4] = 0; } if (var2 >= 6) { - this.field1465[var4] = var1.readUnsignedByte() == 1; + this.field1461[var4] = var1.readUnsignedByte() == 1; } else { - this.field1465[var4] = false; + this.field1461[var4] = false; } } @@ -748,7 +744,7 @@ public class ClanSettings { if (var2 >= 3) { var4 = var1.readUnsignedShort(); if (var4 > 0) { - this.parameters = new IterableNodeHashTable(var4 < 16 ? ItemContainer.method2041(var4) : 16); + this.parameters = new IterableNodeHashTable(var4 < 16 ? InvDefinition.method2881(var4) : 16); while (var4-- > 0) { int var5 = var1.readInt(); @@ -759,7 +755,7 @@ public class ClanSettings { this.parameters.put(new IntegerNode(var12), (long)var6); } else if (var7 == 1) { long var10 = var1.readLong(); - this.parameters.put(new class366(var10), (long)var6); + this.parameters.put(new class367(var10), (long)var6); } else if (var7 == 2) { String var8 = var1.readStringCp1252NullTerminated(); this.parameters.put(new ObjectNode(var8), (long)var6); @@ -773,60 +769,50 @@ public class ClanSettings { } } - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(DDIB)[D", - garbageValue = "83" + descriptor = "(Lky;IIIBZI)V", + garbageValue = "-1472110152" ) - public static double[] method2587(double var0, double var2, int var4) { - int var5 = var4 * 2 + 1; - double[] var6 = new double[var5]; - int var7 = -var4; + @Export("requestNetFile") + static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { + long var6 = (long)((var1 << 16) + var2); + NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); + if (var8 == null) { + var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); + if (var8 == null) { + var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); + if (var8 != null) { + if (var5) { + var8.removeDual(); + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingPriorityWritesCount; + } - for (int var8 = 0; var7 <= var4; ++var8) { - double var11 = Tile.method4044(((double)var7 - var0) / var2) / var2; - var6[var8] = var11; - ++var7; + } else { + if (!var5) { + var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); + if (var8 != null) { + return; + } + } + + var8 = new NetFileRequest(); + var8.archive = var0; + var8.crc = var3; + var8.padding = var4; + if (var5) { + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + ++NetCache.NetCache_pendingPriorityWritesCount; + } else { + NetCache.NetCache_pendingWritesQueue.addFirst(var8); + NetCache.NetCache_pendingWrites.put(var8, var6); + ++NetCache.NetCache_pendingWritesCount; + } + + } + } } - - return var6; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(IIIZIB)J", - garbageValue = "-34" - ) - @Export("calculateTag") - public static long calculateTag(int var0, int var1, int var2, boolean var3, int var4) { - long var5 = (long)((var0 & 127) << 0 | (var1 & 127) << 7 | (var2 & 3) << 14) | ((long)var4 & 4294967295L) << 17; - if (var3) { - var5 |= 65536L; - } - - return var5; - } - - @ObfuscatedName("gb") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-997709886" - ) - static final void method2624() { - Client.field602 = 0; - int var0 = (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX; - int var1 = (class129.localPlayer.y >> 7) + class320.baseY; - if (var0 >= 3053 && var0 <= 3156 && var1 >= 3056 && var1 <= 3136) { - Client.field602 = 1; - } - - if (var0 >= 3072 && var0 <= 3118 && var1 >= 9492 && var1 <= 9535) { - Client.field602 = 1; - } - - if (Client.field602 == 1 && var0 >= 3139 && var0 <= 3199 && var1 >= 3008 && var1 <= 3062) { - Client.field602 = 0; - } - } } diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 918f12cbde..179306965b 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1,12 +1,11 @@ import com.jagex.oldscape.pub.OAuthTokens; -import java.io.File; import java.io.IOException; -import java.io.RandomAccessFile; import java.net.MalformedURLException; import java.net.Socket; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import net.runelite.mapping.Export; @@ -19,1335 +18,1344 @@ import netscape.javascript.JSObject; @Implements("Client") @ObfuscatedName("client") public final class Client extends GameEngine implements Usernamed, OAuthTokens { - @ObfuscatedName("rf") + @ObfuscatedName("rv") @ObfuscatedSignature( - descriptor = "[Ldi;" + descriptor = "[Ldk;" ) @Export("currentClanSettings") static ClanSettings[] currentClanSettings; - @ObfuscatedName("pg") + @ObfuscatedName("py") @ObfuscatedGetter( - intValue = -1502166781 + intValue = -375150113 + ) + static int field699; + @ObfuscatedName("pn") + @ObfuscatedGetter( + intValue = 658821549 ) @Export("rootWidgetCount") static int rootWidgetCount; - @ObfuscatedName("pc") + @ObfuscatedName("qh") @ObfuscatedGetter( - intValue = -1159577377 + longValue = 8672650031376335607L ) - static int field696; - @ObfuscatedName("qe") - @ObfuscatedGetter( - longValue = -5529471275658625843L - ) - static long field705; - @ObfuscatedName("rv") - static boolean field728; + static long field708; + @ObfuscatedName("pd") + static boolean[] field710; + @ObfuscatedName("pl") + static boolean[] field525; @ObfuscatedName("pi") - static boolean[] field697; - @ObfuscatedName("pu") - static boolean[] field687; - @ObfuscatedName("pm") - static boolean[] field766; - @ObfuscatedName("qc") + static boolean[] field701; + @ObfuscatedName("qz") @Export("isResizable") static boolean isResizable; - @ObfuscatedName("uv") + @ObfuscatedName("ut") @ObfuscatedGetter( - intValue = 1629294251 + intValue = 1652688663 ) - public static int field760; - @ObfuscatedName("qi") - @ObfuscatedGetter( - intValue = -136985491 - ) - @Export("gameDrawingMode") - static int gameDrawingMode; - @ObfuscatedName("pa") + public static int field763; + @ObfuscatedName("ra") + static boolean field663; + @ObfuscatedName("pk") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("widgetFlags") static NodeHashTable widgetFlags; @ObfuscatedName("pf") - @Export("rootWidgetWidths") - static int[] rootWidgetWidths; - @ObfuscatedName("pr") @Export("rootWidgetXs") static int[] rootWidgetXs; - @ObfuscatedName("pw") + @ObfuscatedName("pg") + @Export("rootWidgetWidths") + static int[] rootWidgetWidths; + @ObfuscatedName("qs") + @ObfuscatedGetter( + intValue = -2049999317 + ) + @Export("gameDrawingMode") + static int gameDrawingMode; + @ObfuscatedName("pu") @Export("rootWidgetYs") static int[] rootWidgetYs; - @ObfuscatedName("qs") + @ObfuscatedName("up") + @ObfuscatedSignature( + descriptor = "Lbx;" + ) + static final ApproximateRouteStrategy field649; + @ObfuscatedName("qi") @Export("rootWidgetHeights") static int[] rootWidgetHeights; - @ObfuscatedName("uc") + @ObfuscatedName("pj") @ObfuscatedSignature( - descriptor = "Lbr;" - ) - static final ApproximateRouteStrategy field765; - @ObfuscatedName("pz") - @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("scriptEvents") static NodeDeque scriptEvents; - @ObfuscatedName("ri") - @ObfuscatedGetter( - intValue = 1440661425 - ) - @Export("destinationX") - static int destinationX; - @ObfuscatedName("qz") - @ObfuscatedGetter( - intValue = 1277209671 - ) - @Export("tradeChatMode") - static int tradeChatMode; - @ObfuscatedName("uo") - static int[] field514; - @ObfuscatedName("uq") - static int[] field767; - @ObfuscatedName("rp") - @ObfuscatedGetter( - intValue = -1315995035 - ) - @Export("destinationY") - static int destinationY; - @ObfuscatedName("qm") - @ObfuscatedGetter( - intValue = 1347950167 - ) - @Export("publicChatMode") - static int publicChatMode; - @ObfuscatedName("ry") - @ObfuscatedGetter( - intValue = 1925764631 - ) - @Export("currentTrackGroupId") - static int currentTrackGroupId; - @ObfuscatedName("tr") - @ObfuscatedGetter( - intValue = 1334725941 - ) - static int field755; - @ObfuscatedName("py") - @ObfuscatedGetter( - intValue = -152978977 - ) - @Export("mouseWheelRotation") - static int mouseWheelRotation; - @ObfuscatedName("tk") - @ObfuscatedSignature( - descriptor = "Liu;" - ) - @Export("playerAppearance") - static PlayerComposition playerAppearance; - @ObfuscatedName("tl") - @ObfuscatedGetter( - intValue = -381217061 - ) - static int field756; - @ObfuscatedName("rr") - @ObfuscatedGetter( - intValue = 1830373527 - ) - @Export("soundEffectCount") - static int soundEffectCount; - @ObfuscatedName("sm") - @Export("soundEffectIds") - static int[] soundEffectIds; - @ObfuscatedName("sk") - @Export("queuedSoundEffectLoops") - static int[] queuedSoundEffectLoops; - @ObfuscatedName("si") - @Export("queuedSoundEffectDelays") - static int[] queuedSoundEffectDelays; - @ObfuscatedName("ss") - @ObfuscatedSignature( - descriptor = "[Lav;" - ) - @Export("soundEffects") - static SoundEffect[] soundEffects; - @ObfuscatedName("rw") - @ObfuscatedGetter( - intValue = -1670067255 - ) - @Export("minimapState") - static int minimapState; - @ObfuscatedName("se") - @Export("soundLocations") - static int[] soundLocations; - @ObfuscatedName("uu") - @Export("archiveLoaders") - static ArrayList archiveLoaders; - @ObfuscatedName("un") - @ObfuscatedGetter( - intValue = 1463103177 - ) - @Export("archiveLoadersDone") - static int archiveLoadersDone; - @ObfuscatedName("ra") + @ObfuscatedName("rk") @ObfuscatedSignature( descriptor = "[Leb;" ) @Export("currentClanChannels") static ClanChannel[] currentClanChannels; - @ObfuscatedName("qn") - @Export("crossWorldMessageIds") - static long[] crossWorldMessageIds; - @ObfuscatedName("qo") + @ObfuscatedName("uh") + static int[] field668; + @ObfuscatedName("ui") + static int[] field491; + @ObfuscatedName("ru") @ObfuscatedGetter( - intValue = 2056199965 + intValue = -637088723 ) - @Export("crossWorldMessageIdsIndex") - static int crossWorldMessageIdsIndex; - @ObfuscatedName("st") - @Export("isCameraLocked") - static boolean isCameraLocked; - @ObfuscatedName("re") + @Export("currentTrackGroupId") + static int currentTrackGroupId; + @ObfuscatedName("rg") @ObfuscatedGetter( - intValue = -1767039691 + intValue = 2125770367 ) - static int field719; - @ObfuscatedName("sw") - static boolean[] field736; - @ObfuscatedName("qd") + @Export("destinationX") + static int destinationX; + @ObfuscatedName("rj") @ObfuscatedGetter( - longValue = 7251701289015568381L + intValue = 1753796131 ) - static long field716; - @ObfuscatedName("su") - static int[] field484; - @ObfuscatedName("sn") - static int[] field738; - @ObfuscatedName("sp") - static int[] field686; - @ObfuscatedName("sj") - static int[] field740; - @ObfuscatedName("sr") - static short field723; - @ObfuscatedName("sd") - static short field742; - @ObfuscatedName("tm") - static short field711; - @ObfuscatedName("tu") - static short field748; - @ObfuscatedName("ti") - @ObfuscatedSignature( - descriptor = "Lnj;" - ) - @Export("platformInfoProvider") - static PlatformInfoProvider platformInfoProvider; - @ObfuscatedName("to") - static short field746; - @ObfuscatedName("rk") - @ObfuscatedGetter( - intValue = -1664867833 - ) - @Export("mapIconCount") - static int mapIconCount; - @ObfuscatedName("ty") - @ObfuscatedGetter( - intValue = 770370497 - ) - @Export("viewportZoom") - static int viewportZoom; - @ObfuscatedName("tg") - static short field642; - @ObfuscatedName("tn") - @ObfuscatedGetter( - intValue = 632006503 - ) - @Export("viewportWidth") - static int viewportWidth; - @ObfuscatedName("rb") - @Export("mapIconXs") - static int[] mapIconXs; - @ObfuscatedName("rx") - @Export("mapIconYs") - static int[] mapIconYs; - @ObfuscatedName("rz") - @ObfuscatedSignature( - descriptor = "[Loc;" - ) - @Export("mapIcons") - static SpritePixels[] mapIcons; - @ObfuscatedName("tw") - @ObfuscatedGetter( - intValue = -1078545723 - ) - @Export("viewportHeight") - static int viewportHeight; + @Export("destinationY") + static int destinationY; @ObfuscatedName("ts") @ObfuscatedGetter( - intValue = 2049402333 + intValue = -1053103983 + ) + static int field758; + @ObfuscatedName("tt") + @ObfuscatedSignature( + descriptor = "Lie;" + ) + @Export("playerAppearance") + static PlayerComposition playerAppearance; + @ObfuscatedName("ty") + @ObfuscatedGetter( + intValue = -298323055 + ) + static int field759; + @ObfuscatedName("px") + @ObfuscatedGetter( + intValue = 142845295 + ) + @Export("mouseWheelRotation") + static int mouseWheelRotation; + @ObfuscatedName("rn") + @ObfuscatedGetter( + intValue = 1136310005 + ) + @Export("minimapState") + static int minimapState; + @ObfuscatedName("se") + @Export("isCameraLocked") + static boolean isCameraLocked; + @ObfuscatedName("sw") + static boolean[] field739; + @ObfuscatedName("uf") + @Export("archiveLoaders") + static ArrayList archiveLoaders; + @ObfuscatedName("uq") + @ObfuscatedGetter( + intValue = -263735291 + ) + @Export("archiveLoadersDone") + static int archiveLoadersDone; + @ObfuscatedName("qq") + @ObfuscatedGetter( + longValue = 8595970348071073099L + ) + static long field719; + @ObfuscatedName("ri") + @ObfuscatedGetter( + intValue = -1871733035 + ) + static int field722; + @ObfuscatedName("rf") + @ObfuscatedGetter( + intValue = -1582886561 + ) + @Export("soundEffectCount") + static int soundEffectCount; + @ObfuscatedName("to") + @ObfuscatedGetter( + intValue = -409614591 ) @Export("viewportOffsetX") static int viewportOffsetX; - @ObfuscatedName("tv") + @ObfuscatedName("qk") + @Export("crossWorldMessageIds") + static long[] crossWorldMessageIds; + @ObfuscatedName("si") + @Export("queuedSoundEffectDelays") + static int[] queuedSoundEffectDelays; + @ObfuscatedName("tj") @ObfuscatedGetter( - intValue = 1291619735 + intValue = -980892169 ) @Export("viewportOffsetY") static int viewportOffsetY; - @ObfuscatedName("ql") + @ObfuscatedName("td") @ObfuscatedGetter( - intValue = -1814616365 + intValue = -1067117511 ) - static int field713; - @ObfuscatedName("tx") - @Export("zoomWidth") - static short zoomWidth; + @Export("viewportWidth") + static int viewportWidth; + @ObfuscatedName("sy") + @Export("soundEffectIds") + static int[] soundEffectIds; + @ObfuscatedName("tf") + @ObfuscatedGetter( + intValue = -678405889 + ) + @Export("viewportHeight") + static int viewportHeight; + @ObfuscatedName("sr") + @Export("queuedSoundEffectLoops") + static int[] queuedSoundEffectLoops; + @ObfuscatedName("sc") + @ObfuscatedSignature( + descriptor = "[Lau;" + ) + @Export("soundEffects") + static SoundEffect[] soundEffects; @ObfuscatedName("sl") + @Export("soundLocations") + static int[] soundLocations; + @ObfuscatedName("sq") + static short field744; + @ObfuscatedName("sb") + static short field747; + @ObfuscatedName("tv") + static short field750; + @ObfuscatedName("qy") + @ObfuscatedGetter( + intValue = -1268631863 + ) + @Export("crossWorldMessageIdsIndex") + static int crossWorldMessageIdsIndex; + @ObfuscatedName("tk") + static short field501; + @ObfuscatedName("tb") + static short field749; + @ObfuscatedName("tn") + @ObfuscatedGetter( + intValue = -717512689 + ) + @Export("viewportZoom") + static int viewportZoom; + @ObfuscatedName("ta") + static short field748; + @ObfuscatedName("rc") + @ObfuscatedGetter( + intValue = 1460584323 + ) + @Export("mapIconCount") + static int mapIconCount; + @ObfuscatedName("rx") + @Export("mapIconXs") + static int[] mapIconXs; + @ObfuscatedName("tq") + @ObfuscatedSignature( + descriptor = "Lnk;" + ) + @Export("platformInfoProvider") + static PlatformInfoProvider platformInfoProvider; + @ObfuscatedName("ry") + @Export("mapIconYs") + static int[] mapIconYs; + @ObfuscatedName("rm") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("mapIcons") + static SpritePixels[] mapIcons; + @ObfuscatedName("qr") + @ObfuscatedGetter( + intValue = -1912998745 + ) + static int field726; + @ObfuscatedName("sv") + static int[] field741; + @ObfuscatedName("sk") @Export("zoomHeight") static short zoomHeight; - @ObfuscatedName("tb") + @ObfuscatedName("tw") + @Export("zoomWidth") + static short zoomWidth; + @ObfuscatedName("sa") + static int[] field740; + @ObfuscatedName("sx") + static int[] field743; + @ObfuscatedName("sp") + static int[] field742; + @ObfuscatedName("qd") + static int[] field718; + @ObfuscatedName("pp") @ObfuscatedSignature( - descriptor = "[Lkq;" + descriptor = "Lkf;" + ) + static NodeDeque field731; + @ObfuscatedName("qj") + static int[] field532; + @ObfuscatedName("pb") + @ObfuscatedSignature( + descriptor = "Lkf;" + ) + static NodeDeque field695; + @ObfuscatedName("th") + @ObfuscatedSignature( + descriptor = "[Lkp;" ) @Export("grandExchangeOffers") static GrandExchangeOffer[] grandExchangeOffers; - @ObfuscatedName("qq") - static int[] field595; - @ObfuscatedName("uw") + @ObfuscatedName("ud") @ObfuscatedGetter( - intValue = 132225329 + intValue = 632323647 ) - static int field763; - @ObfuscatedName("qk") - static int[] field714; - @ObfuscatedName("pq") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - static NodeDeque field745; - @ObfuscatedName("pj") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - static NodeDeque field693; + static int field521; @ObfuscatedName("qa") - static int[] field707; + @ObfuscatedGetter( + intValue = 1532586045 + ) + @Export("publicChatMode") + static int publicChatMode; + @ObfuscatedName("qg") + static int[] field554; @ObfuscatedName("qx") - static String field647; - @ObfuscatedName("ta") + @ObfuscatedGetter( + intValue = -1804888553 + ) + @Export("tradeChatMode") + static int tradeChatMode; + @ObfuscatedName("ql") + static String field550; + @ObfuscatedName("tc") @ObfuscatedSignature( - descriptor = "Lbw;" + descriptor = "Lbu;" ) @Export("GrandExchangeEvents_worldComparator") static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - @Export("options_buttons_2Sprite") - static IndexedSprite options_buttons_2Sprite; @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "[Lfk;" + descriptor = "[Lfy;" ) @Export("collisionMaps") static CollisionMap[] collisionMaps; - @ObfuscatedName("ax") - static boolean field659; - @ObfuscatedName("bd") + @ObfuscatedName("g") + @Export("Tiles_hueMultiplier") + static int[] Tiles_hueMultiplier; + @ObfuscatedName("af") + static boolean field684; + @ObfuscatedName("bz") @ObfuscatedGetter( - intValue = -161321205 + intValue = 512033263 ) @Export("worldId") public static int worldId; @ObfuscatedName("bt") @ObfuscatedGetter( - intValue = 1318606403 + intValue = 988736307 ) @Export("worldProperties") static int worldProperties; - @ObfuscatedName("bp") + @ObfuscatedName("bf") @ObfuscatedGetter( - intValue = 1124653611 + intValue = -127514409 ) @Export("gameBuild") static int gameBuild; - @ObfuscatedName("br") + @ObfuscatedName("bx") @Export("isMembersWorld") public static boolean isMembersWorld; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @Export("isLowDetail") static boolean isLowDetail; - @ObfuscatedName("bu") + @ObfuscatedName("bs") @ObfuscatedGetter( - intValue = -857630623 + intValue = 979848567 ) - static int field485; - @ObfuscatedName("bn") + static int field524; + @ObfuscatedName("bd") @ObfuscatedGetter( - intValue = 315368685 + intValue = -372020577 ) @Export("clientType") static int clientType; - @ObfuscatedName("bk") + @ObfuscatedName("bb") @ObfuscatedGetter( - intValue = 292962467 + intValue = 386953519 ) - static int field487; - @ObfuscatedName("bm") + static int field681; + @ObfuscatedName("bh") @Export("onMobile") static boolean onMobile; - @ObfuscatedName("cw") + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + static IndexedSprite field563; + @ObfuscatedName("ca") @ObfuscatedGetter( - intValue = -2089106389 + intValue = -446123719 ) @Export("gameState") static int gameState; - @ObfuscatedName("cj") + @ObfuscatedName("co") @Export("isLoading") static boolean isLoading; - @ObfuscatedName("ct") + @ObfuscatedName("ck") @ObfuscatedGetter( - intValue = 12559439 + intValue = 1925844067 ) @Export("cycle") static int cycle; - @ObfuscatedName("cz") + @ObfuscatedName("cb") @ObfuscatedGetter( - longValue = -433147915463775909L + longValue = -3232131472632765751L ) @Export("mouseLastLastPressedTimeMillis") static long mouseLastLastPressedTimeMillis; + @ObfuscatedName("db") + @ObfuscatedGetter( + intValue = 811493421 + ) + static int field495; + @ObfuscatedName("dx") + @ObfuscatedGetter( + intValue = -373046411 + ) + static int field496; @ObfuscatedName("dd") @ObfuscatedGetter( - intValue = -1327623191 + longValue = 4198601607293137673L ) - static int field494; - @ObfuscatedName("dk") - @ObfuscatedGetter( - intValue = -404339809 - ) - static int field675; - @ObfuscatedName("ds") - @ObfuscatedGetter( - longValue = -3858358018324836759L - ) - static long field496; - @ObfuscatedName("df") + static long field650; + @ObfuscatedName("dp") @Export("hadFocus") static boolean hadFocus; - @ObfuscatedName("db") + @ObfuscatedName("dq") @Export("displayFps") static boolean displayFps; - @ObfuscatedName("dn") + @ObfuscatedName("du") @ObfuscatedGetter( - intValue = 1613310513 + intValue = 1713117061 ) @Export("rebootTimer") static int rebootTimer; - @ObfuscatedName("dh") + @ObfuscatedName("dc") @ObfuscatedGetter( - intValue = 629282381 + intValue = -311239939 ) @Export("hintArrowType") static int hintArrowType; - @ObfuscatedName("do") + @ObfuscatedName("dy") @ObfuscatedGetter( - intValue = 936842369 + intValue = -687927463 ) @Export("hintArrowNpcIndex") static int hintArrowNpcIndex; - @ObfuscatedName("dp") + @ObfuscatedName("dl") @ObfuscatedGetter( - intValue = -1578164193 + intValue = 738191303 ) @Export("hintArrowPlayerIndex") static int hintArrowPlayerIndex; - @ObfuscatedName("dx") + @ObfuscatedName("df") @ObfuscatedGetter( - intValue = -251112059 + intValue = -1730965 ) @Export("hintArrowX") static int hintArrowX; - @ObfuscatedName("dl") + @ObfuscatedName("dj") @ObfuscatedGetter( - intValue = -84407875 + intValue = -184366361 ) @Export("hintArrowY") static int hintArrowY; - @ObfuscatedName("du") + @ObfuscatedName("dm") @ObfuscatedGetter( - intValue = -1460490415 + intValue = -1857497037 ) @Export("hintArrowHeight") static int hintArrowHeight; - @ObfuscatedName("dj") + @ObfuscatedName("dt") @ObfuscatedGetter( - intValue = -1031141295 + intValue = -1806632551 ) @Export("hintArrowSubX") static int hintArrowSubX; - @ObfuscatedName("dy") + @ObfuscatedName("dr") @ObfuscatedGetter( - intValue = 1578450373 + intValue = -1199522407 ) @Export("hintArrowSubY") static int hintArrowSubY; - @ObfuscatedName("dc") + @ObfuscatedName("dg") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) @Export("playerAttackOption") static AttackOption playerAttackOption; - @ObfuscatedName("dm") + @ObfuscatedName("dv") @ObfuscatedSignature( - descriptor = "Lcm;" + descriptor = "Lcu;" ) @Export("npcAttackOption") static AttackOption npcAttackOption; - @ObfuscatedName("de") + @ObfuscatedName("dw") @ObfuscatedGetter( - intValue = -887858119 + intValue = 88174603 ) @Export("titleLoadingStage") static int titleLoadingStage; - @ObfuscatedName("dt") + @ObfuscatedName("ds") @ObfuscatedGetter( - intValue = 1483631971 + intValue = 1228529663 ) @Export("js5ConnectState") static int js5ConnectState; @ObfuscatedName("da") @ObfuscatedGetter( - intValue = -857787961 + intValue = 434552597 ) - static int field512; - @ObfuscatedName("ed") + static int field513; + @ObfuscatedName("ep") @ObfuscatedGetter( - intValue = -1837083259 + intValue = -543080313 ) @Export("js5Errors") static int js5Errors; - @ObfuscatedName("es") + @ObfuscatedName("ed") @ObfuscatedGetter( - intValue = -768167923 + intValue = 541263159 ) @Export("loginState") static int loginState; - @ObfuscatedName("en") + @ObfuscatedName("ey") @ObfuscatedGetter( - intValue = 89682979 - ) - static int field546; - @ObfuscatedName("ef") - @ObfuscatedGetter( - intValue = 1955360825 + intValue = -278054881 ) static int field516; - @ObfuscatedName("er") + @ObfuscatedName("ex") @ObfuscatedGetter( - intValue = -1445444765 + intValue = -135680147 ) - static int field517; - @ObfuscatedName("ek") + static int field680; + @ObfuscatedName("eo") + @ObfuscatedGetter( + intValue = 99674011 + ) + static int field539; + @ObfuscatedName("el") @ObfuscatedSignature( - descriptor = "Ldp;" + descriptor = "Ldl;" ) - static class112 field518; - @ObfuscatedName("eg") + static class112 field519; + @ObfuscatedName("em") @ObfuscatedSignature( - descriptor = "Lox;" + descriptor = "Lom;" ) - static class403 field519; - @ObfuscatedName("fl") - static String field520; - @ObfuscatedName("fk") + static class404 field520; + @ObfuscatedName("fy") @Export("Login_isUsernameRemembered") static boolean Login_isUsernameRemembered; @ObfuscatedName("fw") @ObfuscatedSignature( - descriptor = "Lba;" + descriptor = "Lby;" ) @Export("secureRandomFuture") static SecureRandomFuture secureRandomFuture; - @ObfuscatedName("fh") + @ObfuscatedName("fv") @Export("randomDatData") static byte[] randomDatData; @ObfuscatedName("gd") @ObfuscatedSignature( - descriptor = "[Lcr;" + descriptor = "[Lcw;" ) @Export("npcs") static NPC[] npcs; - @ObfuscatedName("gg") + @ObfuscatedName("gf") @ObfuscatedGetter( - intValue = 1945408703 + intValue = 1449803711 ) @Export("npcCount") static int npcCount; - @ObfuscatedName("gt") + @ObfuscatedName("gu") @Export("npcIndices") static int[] npcIndices; - @ObfuscatedName("gs") + @ObfuscatedName("gh") @ObfuscatedGetter( - intValue = 853284993 + intValue = -181273181 ) - static int field560; - @ObfuscatedName("gn") - static int[] field533; - @ObfuscatedName("gy") + static int field713; + @ObfuscatedName("gb") + static int[] field535; + @ObfuscatedName("ge") @ObfuscatedSignature( - descriptor = "Lcs;" + descriptor = "Lcc;" ) @Export("packetWriter") public static final PacketWriter packetWriter; - @ObfuscatedName("gc") + @ObfuscatedName("gk") @ObfuscatedGetter( - intValue = 1544012175 + intValue = 1080604705 ) @Export("logoutTimer") static int logoutTimer; - @ObfuscatedName("ga") + @ObfuscatedName("gw") @Export("hadNetworkError") static boolean hadNetworkError; - @ObfuscatedName("gz") + @ObfuscatedName("ga") @Export("useBufferedSocket") static boolean useBufferedSocket; - @ObfuscatedName("gq") - static boolean field538; - @ObfuscatedName("gk") + @ObfuscatedName("gr") + static boolean field540; + @ObfuscatedName("gm") @ObfuscatedSignature( - descriptor = "Llh;" + descriptor = "Llb;" ) @Export("timer") static Timer timer; - @ObfuscatedName("gh") + @ObfuscatedName("gx") @Export("fontsMap") static HashMap fontsMap; - @ObfuscatedName("ht") + @ObfuscatedName("hj") @ObfuscatedGetter( - intValue = 284319285 - ) - static int field639; - @ObfuscatedName("hs") - @ObfuscatedGetter( - intValue = -1264950889 - ) - static int field656; - @ObfuscatedName("hb") - @ObfuscatedGetter( - intValue = -500782197 - ) - static int field641; - @ObfuscatedName("hm") - @ObfuscatedGetter( - intValue = 1183305117 - ) - static int field544; - @ObfuscatedName("hz") - @ObfuscatedGetter( - intValue = -1923762161 - ) - static int field545; - @ObfuscatedName("hk") - @Export("isInInstance") - static boolean isInInstance; - @ObfuscatedName("hc") - @Export("instanceChunkTemplates") - static int[][][] instanceChunkTemplates; - @ObfuscatedName("hw") - static final int[] field549; - @ObfuscatedName("hl") - @ObfuscatedGetter( - intValue = 324743823 + intValue = 429642241 ) static int field764; - @ObfuscatedName("ij") + @ObfuscatedName("hz") @ObfuscatedGetter( - intValue = -1474727833 + intValue = -2047349491 ) - static int field551; - @ObfuscatedName("ig") + static int field544; + @ObfuscatedName("hd") @ObfuscatedGetter( - intValue = -1552520763 + intValue = 7955115 ) - static int field552; - @ObfuscatedName("ip") + static int field545; + @ObfuscatedName("hg") @ObfuscatedGetter( - intValue = -354722705 + intValue = 1758878319 ) - static int field603; - @ObfuscatedName("il") + static int field546; + @ObfuscatedName("hy") @ObfuscatedGetter( - intValue = 993718639 + intValue = 776809837 ) - static int field600; + static int field534; + @ObfuscatedName("hr") + @Export("regionMapArchives") + static byte[][] regionMapArchives; + @ObfuscatedName("hq") + @Export("isInInstance") + static boolean isInInstance; + @ObfuscatedName("ha") + @Export("instanceChunkTemplates") + static int[][][] instanceChunkTemplates; + @ObfuscatedName("hm") + static final int[] field690; + @ObfuscatedName("hu") + @ObfuscatedGetter( + intValue = 62911743 + ) + static int field536; + @ObfuscatedName("hv") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("mapMarkerSprites") + static SpritePixels[] mapMarkerSprites; @ObfuscatedName("it") @Export("selectedItemName") static String selectedItemName; - @ObfuscatedName("ie") - static boolean field555; - @ObfuscatedName("ih") + @ObfuscatedName("iy") @ObfuscatedGetter( - intValue = -2039158441 + intValue = 918156389 + ) + static int field553; + @ObfuscatedName("id") + @ObfuscatedGetter( + intValue = 1728658311 + ) + static int field514; + @ObfuscatedName("is") + @ObfuscatedGetter( + intValue = -1457029895 + ) + static int field555; + @ObfuscatedName("in") + @ObfuscatedGetter( + intValue = 839369183 + ) + static int field697; + @ObfuscatedName("ip") + static boolean field551; + @ObfuscatedName("iu") + @ObfuscatedGetter( + intValue = -669095929 ) @Export("alternativeScrollbarWidth") static int alternativeScrollbarWidth; - @ObfuscatedName("id") + @ObfuscatedName("im") @ObfuscatedGetter( - intValue = 370668467 + intValue = 1491632285 ) @Export("camAngleX") static int camAngleX; - @ObfuscatedName("iq") + @ObfuscatedName("ib") @ObfuscatedGetter( - intValue = -520197213 + intValue = 365891595 ) @Export("camAngleY") static int camAngleY; - @ObfuscatedName("ii") + @ObfuscatedName("iw") @ObfuscatedGetter( - intValue = 299599437 + intValue = 903011995 ) @Export("camAngleDY") static int camAngleDY; - @ObfuscatedName("ia") + @ObfuscatedName("iv") @ObfuscatedGetter( - intValue = -1028525999 + intValue = -242387739 ) @Export("camAngleDX") static int camAngleDX; - @ObfuscatedName("iy") + @ObfuscatedName("ic") @ObfuscatedGetter( - intValue = -490020359 + intValue = 1304297933 ) @Export("mouseCamClickedX") static int mouseCamClickedX; - @ObfuscatedName("ik") + @ObfuscatedName("ia") @ObfuscatedGetter( - intValue = 1729737161 + intValue = -517728459 ) @Export("mouseCamClickedY") static int mouseCamClickedY; - @ObfuscatedName("iu") + @ObfuscatedName("ie") @ObfuscatedGetter( - intValue = -1137422519 + intValue = -1645388963 ) @Export("oculusOrbState") static int oculusOrbState; - @ObfuscatedName("js") + @ObfuscatedName("je") @ObfuscatedGetter( - intValue = -509788291 + intValue = 650404899 ) @Export("camFollowHeight") static int camFollowHeight; - @ObfuscatedName("jj") + @ObfuscatedName("jo") @ObfuscatedGetter( - intValue = -444985715 - ) - static int field565; - @ObfuscatedName("jp") - @ObfuscatedGetter( - intValue = 1174034645 - ) - static int field566; - @ObfuscatedName("ja") - @ObfuscatedGetter( - intValue = 516207977 + intValue = -1300279595 ) static int field567; - @ObfuscatedName("jv") + @ObfuscatedName("jr") @ObfuscatedGetter( - intValue = 2061027769 + intValue = -1313239981 + ) + static int field727; + @ObfuscatedName("jk") + @ObfuscatedGetter( + intValue = -1802973869 + ) + static int field661; + @ObfuscatedName("ja") + @ObfuscatedGetter( + intValue = -1229982081 ) @Export("oculusOrbNormalSpeed") static int oculusOrbNormalSpeed; - @ObfuscatedName("jb") + @ObfuscatedName("jp") @ObfuscatedGetter( - intValue = 972759825 + intValue = 1796605093 ) @Export("oculusOrbSlowedSpeed") static int oculusOrbSlowedSpeed; - @ObfuscatedName("jg") - @ObfuscatedGetter( - intValue = -1605750321 - ) - public static int field570; @ObfuscatedName("jl") - static boolean field741; - @ObfuscatedName("jr") @ObfuscatedGetter( - intValue = 1514333031 + intValue = -1959883561 ) static int field572; - @ObfuscatedName("jt") + @ObfuscatedName("jb") static boolean field573; - @ObfuscatedName("jn") + @ObfuscatedName("jq") @ObfuscatedGetter( - intValue = 1766056555 + intValue = -1418768187 ) - static int field483; - @ObfuscatedName("je") + static int field574; + @ObfuscatedName("jg") + static boolean field575; + @ObfuscatedName("ju") @ObfuscatedGetter( - intValue = -431765033 + intValue = -616234769 + ) + static int field565; + @ObfuscatedName("jv") + @ObfuscatedGetter( + intValue = -1042076149 ) @Export("overheadTextCount") static int overheadTextCount; - @ObfuscatedName("jy") + @ObfuscatedName("jh") @ObfuscatedGetter( - intValue = -1047897529 + intValue = 1840257993 ) @Export("overheadTextLimit") static int overheadTextLimit; - @ObfuscatedName("jw") + @ObfuscatedName("ji") @Export("overheadTextXs") static int[] overheadTextXs; - @ObfuscatedName("ju") + @ObfuscatedName("jz") @Export("overheadTextYs") static int[] overheadTextYs; - @ObfuscatedName("ji") + @ObfuscatedName("jw") @Export("overheadTextAscents") static int[] overheadTextAscents; - @ObfuscatedName("jk") + @ObfuscatedName("jj") @Export("overheadTextXOffsets") static int[] overheadTextXOffsets; - @ObfuscatedName("jo") + @ObfuscatedName("js") @Export("overheadTextColors") static int[] overheadTextColors; - @ObfuscatedName("jf") + @ObfuscatedName("jy") @Export("overheadTextEffects") static int[] overheadTextEffects; - @ObfuscatedName("jz") + @ObfuscatedName("jm") @Export("overheadTextCyclesRemaining") static int[] overheadTextCyclesRemaining; - @ObfuscatedName("jx") + @ObfuscatedName("jd") @Export("overheadText") static String[] overheadText; - @ObfuscatedName("jq") + @ObfuscatedName("jx") @Export("tileLastDrawnActor") static int[][] tileLastDrawnActor; - @ObfuscatedName("ke") + @ObfuscatedName("ks") @ObfuscatedGetter( - intValue = 2031565073 + intValue = 1896228975 ) @Export("viewportDrawCount") static int viewportDrawCount; - @ObfuscatedName("kx") + @ObfuscatedName("ky") @ObfuscatedGetter( - intValue = 483959673 + intValue = -2020922955 ) @Export("viewportTempX") static int viewportTempX; - @ObfuscatedName("kl") + @ObfuscatedName("kr") @ObfuscatedGetter( - intValue = -45338133 + intValue = 1448085957 ) @Export("viewportTempY") static int viewportTempY; - @ObfuscatedName("kk") + @ObfuscatedName("kl") @ObfuscatedGetter( - intValue = -1867073259 + intValue = -1456477803 ) @Export("mouseCrossX") static int mouseCrossX; - @ObfuscatedName("ks") + @ObfuscatedName("kb") @ObfuscatedGetter( - intValue = 331732865 + intValue = -1624201253 ) @Export("mouseCrossY") static int mouseCrossY; - @ObfuscatedName("km") + @ObfuscatedName("kg") @ObfuscatedGetter( - intValue = 1154123781 + intValue = 2032961995 ) @Export("mouseCrossState") static int mouseCrossState; - @ObfuscatedName("kw") + @ObfuscatedName("kk") @ObfuscatedGetter( - intValue = -1376995193 + intValue = 1021032213 ) @Export("mouseCrossColor") static int mouseCrossColor; - @ObfuscatedName("ku") + @ObfuscatedName("kq") @Export("showMouseCross") static boolean showMouseCross; - @ObfuscatedName("kf") + @ObfuscatedName("ki") @ObfuscatedGetter( - intValue = 501205941 + intValue = -1860756085 ) - static int field727; - @ObfuscatedName("kv") + static int field620; + @ObfuscatedName("kx") @ObfuscatedGetter( - intValue = 1393158353 + intValue = -870124891 ) - static int field593; - @ObfuscatedName("kd") + static int field597; + @ObfuscatedName("kc") @ObfuscatedGetter( - intValue = -503443311 + intValue = -1873119605 ) @Export("dragItemSlotSource") static int dragItemSlotSource; - @ObfuscatedName("kp") + @ObfuscatedName("kj") @ObfuscatedGetter( - intValue = 1221064633 + intValue = -1697444733 ) @Export("draggedWidgetX") static int draggedWidgetX; - @ObfuscatedName("kr") + @ObfuscatedName("kh") @ObfuscatedGetter( - intValue = 280045387 + intValue = 804166773 ) @Export("draggedWidgetY") static int draggedWidgetY; - @ObfuscatedName("kj") + @ObfuscatedName("ku") @ObfuscatedGetter( - intValue = 708762881 + intValue = -1951958309 ) @Export("dragItemSlotDestination") static int dragItemSlotDestination; - @ObfuscatedName("kt") - static boolean field668; - @ObfuscatedName("ka") + @ObfuscatedName("kv") + static boolean field602; + @ObfuscatedName("kn") @ObfuscatedGetter( - intValue = -1968980689 + intValue = 1412990731 ) @Export("itemDragDuration") static int itemDragDuration; - @ObfuscatedName("ki") + @ObfuscatedName("kw") @ObfuscatedGetter( - intValue = 69082609 + intValue = -605440881 ) - static int field602; - @ObfuscatedName("kg") + static int field559; + @ObfuscatedName("kz") @Export("showLoadingMessages") static boolean showLoadingMessages; - @ObfuscatedName("kc") + @ObfuscatedName("ka") @ObfuscatedSignature( - descriptor = "[Lco;" + descriptor = "[Lci;" ) @Export("players") static Player[] players; - @ObfuscatedName("kh") + @ObfuscatedName("km") @ObfuscatedGetter( - intValue = -1370080405 + intValue = -356697653 ) @Export("localPlayerIndex") static int localPlayerIndex; - @ObfuscatedName("lk") + @ObfuscatedName("le") @ObfuscatedGetter( - intValue = -1224578851 + intValue = 556755365 ) - static int field608; - @ObfuscatedName("lu") + static int field630; + @ObfuscatedName("lt") @Export("renderSelf") static boolean renderSelf; - @ObfuscatedName("lm") + @ObfuscatedName("ls") @ObfuscatedGetter( - intValue = -1161740481 + intValue = 662672375 ) @Export("drawPlayerNames") static int drawPlayerNames; - @ObfuscatedName("lr") + @ObfuscatedName("lx") @ObfuscatedGetter( - intValue = 2111456203 + intValue = 963863569 ) - static int field495; - @ObfuscatedName("ly") - static int[] field610; - @ObfuscatedName("li") + static int field611; + @ObfuscatedName("lv") + static int[] field612; + @ObfuscatedName("lr") @Export("playerMenuOpcodes") static final int[] playerMenuOpcodes; - @ObfuscatedName("lh") + @ObfuscatedName("lw") @Export("playerMenuActions") static String[] playerMenuActions; - @ObfuscatedName("lf") + @ObfuscatedName("lb") @Export("playerOptionsPriorities") static boolean[] playerOptionsPriorities; - @ObfuscatedName("ln") + @ObfuscatedName("lo") @Export("defaultRotations") static int[] defaultRotations; - @ObfuscatedName("lo") + @ObfuscatedName("li") @ObfuscatedGetter( - intValue = -1971520031 + intValue = 26459347 ) @Export("combatTargetPlayerIndex") static int combatTargetPlayerIndex; - @ObfuscatedName("lv") + @ObfuscatedName("lf") @ObfuscatedSignature( - descriptor = "[[[Lkn;" + descriptor = "[[[Lkf;" ) @Export("groundItems") static NodeDeque[][][] groundItems; - @ObfuscatedName("lw") + @ObfuscatedName("lk") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("pendingSpawns") static NodeDeque pendingSpawns; - @ObfuscatedName("lt") + @ObfuscatedName("ln") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("projectiles") static NodeDeque projectiles; - @ObfuscatedName("lg") + @ObfuscatedName("ld") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("graphicsObjects") static NodeDeque graphicsObjects; - @ObfuscatedName("ls") + @ObfuscatedName("lp") @Export("currentLevels") static int[] currentLevels; - @ObfuscatedName("la") + @ObfuscatedName("lz") @Export("levels") static int[] levels; - @ObfuscatedName("lx") + @ObfuscatedName("lg") @Export("experience") static int[] experience; - @ObfuscatedName("lq") + @ObfuscatedName("lm") @ObfuscatedGetter( - intValue = 1357806369 + intValue = -656086715 ) @Export("leftClickOpensMenu") static int leftClickOpensMenu; - @ObfuscatedName("le") + @ObfuscatedName("lj") @Export("isMenuOpen") static boolean isMenuOpen; - @ObfuscatedName("mv") + @ObfuscatedName("mc") @ObfuscatedGetter( - intValue = 2115834337 + intValue = -1352565651 ) @Export("menuOptionsCount") static int menuOptionsCount; - @ObfuscatedName("mr") + @ObfuscatedName("mk") @Export("menuArguments1") static int[] menuArguments1; - @ObfuscatedName("mw") + @ObfuscatedName("mn") @Export("menuArguments2") static int[] menuArguments2; - @ObfuscatedName("mj") + @ObfuscatedName("mf") @Export("menuOpcodes") static int[] menuOpcodes; - @ObfuscatedName("ms") + @ObfuscatedName("mz") @Export("menuIdentifiers") static int[] menuIdentifiers; - @ObfuscatedName("mh") + @ObfuscatedName("mm") @Export("menuActions") static String[] menuActions; - @ObfuscatedName("mp") + @ObfuscatedName("ms") @Export("menuTargets") static String[] menuTargets; - @ObfuscatedName("mt") + @ObfuscatedName("mr") @Export("menuShiftClick") static boolean[] menuShiftClick; - @ObfuscatedName("mo") + @ObfuscatedName("me") @Export("followerOpsLowPriority") static boolean followerOpsLowPriority; - @ObfuscatedName("mb") + @ObfuscatedName("md") @Export("shiftClickDrop") static boolean shiftClickDrop; - @ObfuscatedName("me") + @ObfuscatedName("mt") @Export("tapToDrop") static boolean tapToDrop; - @ObfuscatedName("mf") + @ObfuscatedName("mu") @Export("showMouseOverText") static boolean showMouseOverText; - @ObfuscatedName("mi") + @ObfuscatedName("mh") @ObfuscatedGetter( - intValue = 764299201 + intValue = -424522549 ) @Export("viewportX") static int viewportX; - @ObfuscatedName("mk") + @ObfuscatedName("mp") @ObfuscatedGetter( - intValue = -2102226031 + intValue = -106836395 ) @Export("viewportY") static int viewportY; - @ObfuscatedName("mg") + @ObfuscatedName("ml") @ObfuscatedGetter( - intValue = -982825125 + intValue = -891724889 ) - static int field583; - @ObfuscatedName("mu") + static int field557; + @ObfuscatedName("mb") @ObfuscatedGetter( - intValue = 920774567 + intValue = -2060316951 ) - static int field640; - @ObfuscatedName("mz") + static int field642; + @ObfuscatedName("mx") @ObfuscatedGetter( - intValue = -155667391 + intValue = -1211673873 ) @Export("isItemSelected") static int isItemSelected; - @ObfuscatedName("nw") + @ObfuscatedName("nu") @Export("isSpellSelected") static boolean isSpellSelected; - @ObfuscatedName("ne") + @ObfuscatedName("np") @ObfuscatedGetter( - intValue = 1890577267 + intValue = 1960701091 ) @Export("selectedSpellChildIndex") static int selectedSpellChildIndex; - @ObfuscatedName("nx") + @ObfuscatedName("ng") @ObfuscatedGetter( - intValue = -1561877611 + intValue = -882140087 ) - static int field645; - @ObfuscatedName("nq") + static int field647; + @ObfuscatedName("nv") @Export("selectedSpellActionName") static String selectedSpellActionName; - @ObfuscatedName("nh") + @ObfuscatedName("nm") @Export("selectedSpellName") static String selectedSpellName; - @ObfuscatedName("nj") + @ObfuscatedName("nr") @ObfuscatedGetter( - intValue = 1156082253 + intValue = 38935301 ) @Export("rootInterface") static int rootInterface; - @ObfuscatedName("nv") + @ObfuscatedName("nk") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("interfaceParents") static NodeHashTable interfaceParents; + @ObfuscatedName("nf") + @ObfuscatedGetter( + intValue = -508691007 + ) + static int field509; @ObfuscatedName("nz") @ObfuscatedGetter( - intValue = -1541222897 + intValue = 790876457 ) - static int field650; - @ObfuscatedName("nk") + static int field673; + @ObfuscatedName("ni") @ObfuscatedGetter( - intValue = 453026875 - ) - static int field543; - @ObfuscatedName("ns") - @ObfuscatedGetter( - intValue = 549435403 + intValue = -1532573151 ) @Export("chatEffects") static int chatEffects; - @ObfuscatedName("nb") + @ObfuscatedName("nw") @ObfuscatedGetter( - intValue = -2124523247 + intValue = 337838357 ) - static int field609; - @ObfuscatedName("nf") + static int field655; + @ObfuscatedName("nt") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("meslayerContinueWidget") static Widget meslayerContinueWidget; - @ObfuscatedName("na") + @ObfuscatedName("ny") @ObfuscatedGetter( - intValue = -1504668177 + intValue = -883247427 ) @Export("runEnergy") static int runEnergy; - @ObfuscatedName("nn") + @ObfuscatedName("ns") @ObfuscatedGetter( - intValue = 1093671261 + intValue = 788246481 ) @Export("weight") static int weight; - @ObfuscatedName("nm") + @ObfuscatedName("nj") @ObfuscatedGetter( - intValue = 1451625247 + intValue = 1942504279 ) @Export("staffModLevel") - static int staffModLevel; - @ObfuscatedName("ng") + public static int staffModLevel; + @ObfuscatedName("nq") @ObfuscatedGetter( - intValue = 998536869 + intValue = -1722694677 ) @Export("followerIndex") static int followerIndex; - @ObfuscatedName("ni") + @ObfuscatedName("no") @Export("playerMod") static boolean playerMod; - @ObfuscatedName("nt") + @ObfuscatedName("nc") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("viewportWidget") static Widget viewportWidget; - @ObfuscatedName("ny") + @ObfuscatedName("nb") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("clickedWidget") static Widget clickedWidget; - @ObfuscatedName("nl") + @ObfuscatedName("ne") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("clickedWidgetParent") static Widget clickedWidgetParent; - @ObfuscatedName("oj") + @ObfuscatedName("ow") @ObfuscatedGetter( - intValue = 263368687 + intValue = -2051161493 ) @Export("widgetClickX") static int widgetClickX; - @ObfuscatedName("oa") + @ObfuscatedName("oi") @ObfuscatedGetter( - intValue = 506075963 + intValue = -799572455 ) @Export("widgetClickY") static int widgetClickY; - @ObfuscatedName("oo") + @ObfuscatedName("od") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("draggedOnWidget") static Widget draggedOnWidget; - @ObfuscatedName("on") - static boolean field666; @ObfuscatedName("os") + static boolean field595; + @ObfuscatedName("of") @ObfuscatedGetter( - intValue = -2067171883 + intValue = 1828492715 ) - static int field623; - @ObfuscatedName("ol") - @ObfuscatedGetter( - intValue = -925480379 - ) - static int field658; - @ObfuscatedName("ou") - static boolean field669; + static int field669; @ObfuscatedName("op") @ObfuscatedGetter( - intValue = -214392951 + intValue = -382731895 ) - static int field739; - @ObfuscatedName("oq") + static int field670; + @ObfuscatedName("oc") + static boolean field671; + @ObfuscatedName("oh") @ObfuscatedGetter( - intValue = 173271023 + intValue = -1406735933 ) - static int field671; - @ObfuscatedName("ot") + static int field672; + @ObfuscatedName("ou") + @ObfuscatedGetter( + intValue = -1787006661 + ) + static int field608; + @ObfuscatedName("oy") @Export("isDraggingWidget") static boolean isDraggingWidget; - @ObfuscatedName("ov") + @ObfuscatedName("om") @ObfuscatedGetter( - intValue = 1293527401 + intValue = -1259941325 ) @Export("cycleCntr") static int cycleCntr; - @ObfuscatedName("og") + @ObfuscatedName("oa") @Export("changedVarps") static int[] changedVarps; - @ObfuscatedName("oy") + @ObfuscatedName("oj") @ObfuscatedGetter( - intValue = -909406265 + intValue = 1032665603 ) @Export("changedVarpCount") static int changedVarpCount; - @ObfuscatedName("or") + @ObfuscatedName("oo") @Export("changedItemContainers") static int[] changedItemContainers; - @ObfuscatedName("oh") + @ObfuscatedName("ov") @ObfuscatedGetter( - intValue = 2125569939 + intValue = -1437858425 ) - static int field677; - @ObfuscatedName("oi") + static int field679; + @ObfuscatedName("ob") @Export("changedSkills") static int[] changedSkills; - @ObfuscatedName("oc") + @ObfuscatedName("oz") @ObfuscatedGetter( - intValue = -546672755 + intValue = 2041153631 ) @Export("changedSkillsCount") static int changedSkillsCount; - @ObfuscatedName("ob") - static int[] field680; - @ObfuscatedName("ok") + @ObfuscatedName("on") + static int[] field682; + @ObfuscatedName("ol") @ObfuscatedGetter( - intValue = 2137131125 + intValue = -187547255 ) - static int field715; - @ObfuscatedName("oe") + static int field683; + @ObfuscatedName("og") @ObfuscatedGetter( - intValue = 2084676315 + intValue = -660834771 ) @Export("chatCycle") static int chatCycle; - @ObfuscatedName("px") + @ObfuscatedName("pv") @ObfuscatedGetter( - intValue = 866500147 + intValue = 355698679 ) - static int field683; - @ObfuscatedName("pk") + static int field685; + @ObfuscatedName("pa") @ObfuscatedGetter( - intValue = -652383277 + intValue = -22605919 ) - static int field630; - @ObfuscatedName("pn") - @ObfuscatedGetter( - intValue = -1547168983 - ) - static int field664; - @ObfuscatedName("pe") - @ObfuscatedGetter( - intValue = -1683296527 - ) - static int field672; - @ObfuscatedName("pp") - @ObfuscatedGetter( - intValue = -1462466613 - ) - static int field703; - @ObfuscatedName("po") - @ObfuscatedGetter( - intValue = -246199425 - ) - static int field688; + static int field686; @ObfuscatedName("pt") @ObfuscatedGetter( - intValue = 55712201 + intValue = -997249107 ) - static int field695; - @ObfuscatedName("fn") - String field521; - @ObfuscatedName("fz") + static int field687; + @ObfuscatedName("pz") + @ObfuscatedGetter( + intValue = 1875355069 + ) + static int field594; + @ObfuscatedName("pc") + @ObfuscatedGetter( + intValue = -907092363 + ) + static int field577; + @ObfuscatedName("pm") + @ObfuscatedGetter( + intValue = 1660311595 + ) + static int field489; + @ObfuscatedName("pw") + @ObfuscatedGetter( + intValue = 674723093 + ) + static int field691; + @ObfuscatedName("ff") + String field547; + @ObfuscatedName("fd") @ObfuscatedSignature( descriptor = "Ls;" ) class14 field522; - @ObfuscatedName("fe") + @ObfuscatedName("fn") @ObfuscatedSignature( - descriptor = "Lx;" + descriptor = "Lz;" ) - class19 field556; - @ObfuscatedName("fj") + class19 field523; + @ObfuscatedName("fu") @ObfuscatedSignature( descriptor = "Lot;" ) - Buffer field526; - @ObfuscatedName("fb") + Buffer field527; + @ObfuscatedName("fc") @ObfuscatedSignature( descriptor = "La;" ) - class7 field527; + class7 field528; static { - field659 = true; + field684 = true; worldId = 1; worldProperties = 0; gameBuild = 0; isMembersWorld = false; isLowDetail = false; - field485 = -1; + field524 = -1; clientType = -1; - field487 = -1; + field681 = -1; onMobile = false; gameState = 0; isLoading = true; cycle = 0; mouseLastLastPressedTimeMillis = -1L; - field494 = -1; - field675 = -1; - field496 = -1L; + field495 = -1; + field496 = -1; + field650 = -1L; hadFocus = true; displayFps = false; rebootTimer = 0; @@ -1363,44 +1371,44 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { npcAttackOption = AttackOption.AttackOption_hidden; titleLoadingStage = 0; js5ConnectState = 0; - field512 = 0; + field513 = 0; js5Errors = 0; loginState = 0; - field546 = 0; field516 = 0; - field517 = 0; - field518 = class112.field1357; - field519 = class403.field4332; + field680 = 0; + field539 = 0; + field519 = class112.field1359; + field520 = class404.field4344; Login_isUsernameRemembered = false; secureRandomFuture = new SecureRandomFuture(); randomDatData = null; npcs = new NPC[32768]; npcCount = 0; npcIndices = new int[32768]; - field560 = 0; - field533 = new int[250]; + field713 = 0; + field535 = new int[250]; packetWriter = new PacketWriter(); logoutTimer = 0; hadNetworkError = false; useBufferedSocket = true; - field538 = false; + field540 = false; timer = new Timer(); fontsMap = new HashMap(); - field639 = 0; - field656 = 1; - field641 = 0; + field764 = 0; field544 = 1; field545 = 0; + field546 = 1; + field534 = 0; collisionMaps = new CollisionMap[4]; isInInstance = false; instanceChunkTemplates = new int[4][13][13]; - field549 = 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}; - field764 = 0; - field551 = 2301979; - field552 = 5063219; - field603 = 3353893; - field600 = 7759444; - field555 = false; + field690 = 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}; + field536 = 0; + field553 = 2301979; + field514 = 5063219; + field555 = 3353893; + field697 = 7759444; + field551 = false; alternativeScrollbarWidth = 0; camAngleX = 128; camAngleY = 0; @@ -1410,16 +1418,16 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { mouseCamClickedY = 0; oculusOrbState = 0; camFollowHeight = 50; - field565 = 0; - field566 = 0; field567 = 0; + field727 = 0; + field661 = 0; oculusOrbNormalSpeed = 12; oculusOrbSlowedSpeed = 6; - field570 = 0; - field741 = false; field572 = 0; field573 = false; - field483 = 0; + field574 = 0; + field575 = false; + field565 = 0; overheadTextCount = 0; overheadTextLimit = 50; overheadTextXs = new int[overheadTextLimit]; @@ -1439,23 +1447,23 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { mouseCrossState = 0; mouseCrossColor = 0; showMouseCross = true; - field727 = 0; - field593 = 0; + field620 = 0; + field597 = 0; dragItemSlotSource = 0; draggedWidgetX = 0; draggedWidgetY = 0; dragItemSlotDestination = 0; - field668 = false; + field602 = false; itemDragDuration = 0; - field602 = 0; + field559 = 0; showLoadingMessages = true; players = new Player[2048]; localPlayerIndex = -1; - field608 = 0; + field630 = 0; renderSelf = true; drawPlayerNames = 0; - field495 = 0; - field610 = new int[1000]; + field611 = 0; + field612 = new int[1000]; playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; playerMenuActions = new String[8]; playerOptionsPriorities = new boolean[8]; @@ -1484,21 +1492,21 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { showMouseOverText = true; viewportX = -1; viewportY = -1; - field583 = 0; - field640 = 50; + field557 = 0; + field642 = 50; isItemSelected = 0; selectedItemName = null; isSpellSelected = false; selectedSpellChildIndex = -1; - field645 = -1; + field647 = -1; selectedSpellActionName = null; selectedSpellName = null; rootInterface = -1; interfaceParents = new NodeHashTable(8); - field650 = 0; - field543 = -1; + field509 = 0; + field673 = -1; chatEffects = 0; - field609 = 0; + field655 = 0; meslayerContinueWidget = null; runEnergy = 0; weight = 0; @@ -1511,60 +1519,60 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { widgetClickX = 0; widgetClickY = 0; draggedOnWidget = null; - field666 = false; - field623 = -1; - field658 = -1; - field669 = false; - field739 = -1; - field671 = -1; + field595 = false; + field669 = -1; + field670 = -1; + field671 = false; + field672 = -1; + field608 = -1; isDraggingWidget = false; cycleCntr = 1; changedVarps = new int[32]; changedVarpCount = 0; changedItemContainers = new int[32]; - field677 = 0; + field679 = 0; changedSkills = new int[32]; changedSkillsCount = 0; - field680 = new int[32]; - field715 = 0; - chatCycle = 0; + field682 = new int[32]; field683 = 0; - field630 = 0; - field664 = 0; - field672 = 0; - field703 = 0; - field688 = 0; - field695 = 0; + chatCycle = 0; + field685 = 0; + field686 = 0; + field687 = 0; + field594 = 0; + field577 = 0; + field489 = 0; + field691 = 0; mouseWheelRotation = 0; scriptEvents = new NodeDeque(); - field745 = new NodeDeque(); - field693 = new NodeDeque(); + field731 = new NodeDeque(); + field695 = new NodeDeque(); widgetFlags = new NodeHashTable(512); rootWidgetCount = 0; - field696 = -2; - field697 = new boolean[100]; - field766 = new boolean[100]; - field687 = new boolean[100]; + field699 = -2; + field710 = new boolean[100]; + field701 = new boolean[100]; + field525 = new boolean[100]; rootWidgetXs = new int[100]; rootWidgetYs = new int[100]; rootWidgetWidths = new int[100]; rootWidgetHeights = new int[100]; gameDrawingMode = 0; - field705 = 0L; + field708 = 0L; isResizable = true; - field707 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; + field554 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; publicChatMode = 0; tradeChatMode = 0; - field647 = ""; + field550 = ""; crossWorldMessageIds = new long[100]; crossWorldMessageIdsIndex = 0; - field713 = 0; - field714 = new int[128]; - field595 = new int[128]; - field716 = -1L; - currentClanSettings = new ClanSettings[1]; - currentClanChannels = new ClanChannel[1]; - field719 = -1; + field726 = 0; + field532 = new int[128]; + field718 = new int[128]; + field719 = -1L; + currentClanSettings = new ClanSettings[2]; + currentClanChannels = new ClanChannel[2]; + field722 = -1; mapIconCount = 0; mapIconXs = new int[1000]; mapIconYs = new int[1000]; @@ -1573,7 +1581,7 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { destinationY = 0; minimapState = 0; currentTrackGroupId = -1; - field728 = false; + field663 = false; soundEffectCount = 0; soundEffectIds = new int[50]; queuedSoundEffectLoops = new int[50]; @@ -1581,47 +1589,47 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { soundLocations = new int[50]; soundEffects = new SoundEffect[50]; isCameraLocked = false; - field736 = new boolean[5]; - field484 = new int[5]; - field738 = new int[5]; - field686 = new int[5]; + field739 = new boolean[5]; field740 = new int[5]; - field723 = 256; - field742 = 205; + field741 = new int[5]; + field742 = new int[5]; + field743 = new int[5]; + field744 = 256; + field747 = 205; zoomHeight = 256; zoomWidth = 320; - field642 = 1; - field746 = 32767; - field711 = 1; - field748 = 32767; + field748 = 1; + field749 = 32767; + field750 = 1; + field501 = 32767; viewportOffsetX = 0; viewportOffsetY = 0; viewportWidth = 0; viewportHeight = 0; viewportZoom = 0; playerAppearance = new PlayerComposition(); - field755 = -1; - field756 = -1; + field758 = -1; + field759 = -1; platformInfoProvider = new DesktopPlatformInfoProvider(); grandExchangeOffers = new GrandExchangeOffer[8]; GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); - field760 = -1; + field763 = -1; archiveLoaders = new ArrayList(10); archiveLoadersDone = 0; - field763 = 0; - field765 = new ApproximateRouteStrategy(); - field514 = new int[50]; - field767 = new int[50]; + field521 = 0; + field649 = new ApproximateRouteStrategy(); + field668 = new int[50]; + field491 = new int[50]; } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "104493179" + garbageValue = "-1526531599" ) @Export("resizeGame") protected final void resizeGame() { - field705 = Occluder.method4335() + 500L; + field708 = UserComparator4.method2406() + 500L; this.resizeJS(); if (rootInterface != -1) { this.resizeRoot(true); @@ -1629,62 +1637,65 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } - @ObfuscatedName("w") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "64" + descriptor = "(I)V", + garbageValue = "940201361" ) @Export("setUp") protected final void setUp() { int[] var1 = new int[]{20, 260, 10000}; int[] var2 = new int[]{1000, 100, 500}; if (var1 != null && var2 != null) { - ByteArrayPool.ByteArrayPool_alternativeSizes = var1; - TileItem.ByteArrayPool_altSizeArrayCounts = new int[var1.length]; - ByteArrayPool.ByteArrayPool_arrays = new byte[var1.length][][]; + GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes = var1; + Message.ByteArrayPool_altSizeArrayCounts = new int[var1.length]; + class117.ByteArrayPool_arrays = new byte[var1.length][][]; - for (int var3 = 0; var3 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var3) { - ByteArrayPool.ByteArrayPool_arrays[var3] = new byte[var2[var3]][]; + for (int var3 = 0; var3 < GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes.length; ++var3) { + class117.ByteArrayPool_arrays[var3] = new byte[var2[var3]][]; + ByteArrayPool.field3893.add(var1[var3]); } + + Collections.sort(ByteArrayPool.field3893); } else { - ByteArrayPool.ByteArrayPool_alternativeSizes = null; - TileItem.ByteArrayPool_altSizeArrayCounts = null; - ByteArrayPool.ByteArrayPool_arrays = null; + GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes = null; + Message.ByteArrayPool_altSizeArrayCounts = null; + class117.ByteArrayPool_arrays = null; + ByteArrayPool.field3893.clear(); + ByteArrayPool.field3893.add(100); + ByteArrayPool.field3893.add(5000); + ByteArrayPool.field3893.add(10000); + ByteArrayPool.field3893.add(30000); } - GameBuild.worldPort = gameBuild == 0 ? 43594 : worldId + 40000; - AbstractWorldMapIcon.js5Port = gameBuild == 0 ? 443 : worldId + 50000; - ClientPreferences.currentPort = GameBuild.worldPort; - User.field3948 = class260.field3030; - class11.field54 = class260.field3024; - class28.field167 = class260.field3026; - UserComparator9.field1330 = class260.field3027; - class262.urlRequester = new UrlRequester(); + WorldMapLabelSize.worldPort = gameBuild == 0 ? 43594 : worldId + 40000; + UserList.js5Port = gameBuild == 0 ? 443 : worldId + 50000; + RouteStrategy.currentPort = WorldMapLabelSize.worldPort; + PlayerComposition.field3023 = class260.field3034; + class185.field2101 = class260.field3030; + SceneTilePaint.field2600 = class260.field3033; + WorldMapLabel.field2180 = class260.field3031; + WorldMapSection0.urlRequester = new UrlRequester(); this.setUpKeyboard(); - this.setUpMouse(); - class135.mouseWheel = this.mouseWheel(); - ApproximateRouteStrategy.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); - VarbitComposition.clientPreferences = Interpreter.method1861(); + this.method452(); + AccessFile.mouseWheel = this.mouseWheel(); + HealthBarUpdate.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); + WorldMapDecorationType.clientPreferences = class67.method1887(); this.setUpClipboard(); - String var4 = PcmPlayer.null_string; - class29.applet = this; - if (var4 != null) { - class29.field172 = var4; - } - + GZipDecompressor.method7450(this, UrlRequester.field1303); if (gameBuild != 0) { displayFps = true; } - ReflectionCheck.setWindowedMode(VarbitComposition.clientPreferences.windowMode); - class20.friendSystem = new FriendSystem(SoundCache.loginType); + class392.setWindowedMode(WorldMapDecorationType.clientPreferences.windowMode); + Message.friendSystem = new FriendSystem(WorldMapSectionType.loginType); this.field522 = new class14("tokenRequest", 1, 1); } - @ObfuscatedName("i") + @ObfuscatedName("ab") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1304769230" + garbageValue = "1675225894" ) @Export("doCycle") protected final void doCycle() { @@ -1698,1065 +1709,112 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } if (var1 == null) { - WorldMapIcon_0.method3730(); - class1.playPcmPlayers(); - int var50; + int var5; + try { + if (class247.musicPlayerStatus == 1) { + var5 = class247.midiPcmStream.method4705(); + if (var5 > 0 && class247.midiPcmStream.isReady()) { + var5 -= class247.pcmSampleLength; + if (var5 < 0) { + var5 = 0; + } + + class247.midiPcmStream.setPcmStreamVolume(var5); + } else { + class247.midiPcmStream.clear(); + class247.midiPcmStream.removeAll(); + if (class113.musicTrackArchive != null) { + class247.musicPlayerStatus = 2; + } else { + class247.musicPlayerStatus = 0; + } + + BuddyRankComparator.musicTrack = null; + class247.soundCache = null; + } + } + } catch (Exception var9) { + var9.printStackTrace(); + class247.midiPcmStream.clear(); + class247.musicPlayerStatus = 0; + BuddyRankComparator.musicTrack = null; + class247.soundCache = null; + class113.musicTrackArchive = null; + } + + class356.playPcmPlayers(); synchronized(KeyHandler.KeyHandler_instance) { ++KeyHandler.KeyHandler_idleCycles; - KeyHandler.field135 = KeyHandler.field137; - KeyHandler.field114 = 0; - KeyHandler.field132 = 0; - Arrays.fill(KeyHandler.field124, false); - Arrays.fill(KeyHandler.field125, false); - if (KeyHandler.field128 < 0) { + KeyHandler.field139 = KeyHandler.field126; + KeyHandler.field136 = 0; + KeyHandler.field140 = 0; + Arrays.fill(KeyHandler.field128, false); + Arrays.fill(KeyHandler.field129, false); + if (KeyHandler.field123 < 0) { Arrays.fill(KeyHandler.KeyHandler_pressedKeys, false); - KeyHandler.field128 = KeyHandler.field143; + KeyHandler.field123 = KeyHandler.field144; } else { - while (KeyHandler.field128 != KeyHandler.field143) { - var50 = KeyHandler.field126[KeyHandler.field143]; - KeyHandler.field143 = KeyHandler.field143 + 1 & 127; - if (var50 < 0) { - var50 = ~var50; - if (KeyHandler.KeyHandler_pressedKeys[var50]) { - KeyHandler.KeyHandler_pressedKeys[var50] = false; - KeyHandler.field125[var50] = true; - KeyHandler.field139[KeyHandler.field132] = var50; - ++KeyHandler.field132; + while (KeyHandler.field144 != KeyHandler.field123) { + int var6 = KeyHandler.field130[KeyHandler.field144]; + KeyHandler.field144 = KeyHandler.field144 + 1 & 127; + if (var6 < 0) { + var6 = ~var6; + if (KeyHandler.KeyHandler_pressedKeys[var6]) { + KeyHandler.KeyHandler_pressedKeys[var6] = false; + KeyHandler.field129[var6] = true; + KeyHandler.field137[KeyHandler.field140] = var6; + ++KeyHandler.field140; } } else { - if (!KeyHandler.KeyHandler_pressedKeys[var50] && KeyHandler.field114 < KeyHandler.field131.length - 1) { - KeyHandler.field124[var50] = true; - KeyHandler.field131[++KeyHandler.field114 - 1] = var50; + if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field136 < KeyHandler.field135.length - 1) { + KeyHandler.field128[var6] = true; + KeyHandler.field135[++KeyHandler.field136 - 1] = var6; } - KeyHandler.KeyHandler_pressedKeys[var50] = true; + KeyHandler.KeyHandler_pressedKeys[var6] = true; } } } - if (KeyHandler.field114 > 0) { + if (KeyHandler.field136 > 0) { KeyHandler.KeyHandler_idleCycles = 0; } - KeyHandler.field137 = KeyHandler.field136; + KeyHandler.field126 = KeyHandler.field127; } - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; - MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; - MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; - MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; - MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; - MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; - MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; - MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; - MouseHandler.MouseHandler_lastButtonVolatile = 0; - } - - int var51; - if (class135.mouseWheel != null) { - var51 = class135.mouseWheel.useRotation(); - mouseWheelRotation = var51; + KeyHandler.method364(); + if (AccessFile.mouseWheel != null) { + var5 = AccessFile.mouseWheel.useRotation(); + mouseWheelRotation = var5; } if (gameState == 0) { - Fonts.load(); - class122.clock.mark(); + class11.load(); + LoginPacket.clock.mark(); - for (var51 = 0; var51 < 32; ++var51) { - GameEngine.graphicsTickTimes[var51] = 0L; + for (var5 = 0; var5 < 32; ++var5) { + GameEngine.graphicsTickTimes[var5] = 0L; } - for (var51 = 0; var51 < 32; ++var51) { - GameEngine.clientTickTimes[var51] = 0L; + for (var5 = 0; var5 < 32; ++var5) { + GameEngine.clientTickTimes[var5] = 0L; } GameEngine.gameCyclesToDo = 0; } else if (gameState == 5) { - DevicePcmPlayerProvider.method366(this, class129.fontPlain12); - Fonts.load(); - class122.clock.mark(); - - for (var51 = 0; var51 < 32; ++var51) { - GameEngine.graphicsTickTimes[var51] = 0L; - } - - for (var51 = 0; var51 < 32; ++var51) { - GameEngine.clientTickTimes[var51] = 0L; - } - - GameEngine.gameCyclesToDo = 0; + class87.method2196(this, class262.fontPlain12); + class11.load(); + ObjectSound.method1719(); } else if (gameState != 10 && gameState != 11) { if (gameState == 20) { - DevicePcmPlayerProvider.method366(this, class129.fontPlain12); + class87.method2196(this, class262.fontPlain12); this.doCycleLoggedOut(); } else if (gameState == 25) { - NPC.method2221(false); - field639 = 0; - boolean var81 = true; - - for (var50 = 0; var50 < WorldMapData_0.regionLandArchives.length; ++var50) { - if (class262.regionMapArchiveIds[var50] != -1 && WorldMapData_0.regionLandArchives[var50] == null) { - WorldMapData_0.regionLandArchives[var50] = ObjectComposition.archive5.takeFile(class262.regionMapArchiveIds[var50], 0); - if (WorldMapData_0.regionLandArchives[var50] == null) { - var81 = false; - ++field639; - } - } - - if (UserComparator6.regionLandArchiveIds[var50] != -1 && class16.regionMapArchives[var50] == null) { - class16.regionMapArchives[var50] = ObjectComposition.archive5.takeFileEncrypted(UserComparator6.regionLandArchiveIds[var50], 0, class244.xteaKeys[var50]); - if (class16.regionMapArchives[var50] == null) { - var81 = false; - ++field639; - } - } - } - - if (!var81) { - field545 = 1; - } else { - field641 = 0; - var81 = true; - - int var52; - int var53; - for (var50 = 0; var50 < WorldMapData_0.regionLandArchives.length; ++var50) { - byte[] var3 = class16.regionMapArchives[var50]; - if (var3 != null) { - var52 = (class87.regions[var50] >> 8) * 64 - FloorOverlayDefinition.baseX; - var53 = (class87.regions[var50] & 255) * 64 - class320.baseY; - if (isInInstance) { - var52 = 10; - var53 = 10; - } - - var81 &= class1.method16(var3, var52, var53); - } - } - - if (!var81) { - field545 = 2; - } else { - if (field545 != 0) { - WorldMapData_1.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); - } - - class1.playPcmPlayers(); - CollisionMap.scene.clear(); - - for (var50 = 0; var50 < 4; ++var50) { - collisionMaps[var50].clear(); - } - - int var54; - for (var50 = 0; var50 < 4; ++var50) { - for (var54 = 0; var54 < 104; ++var54) { - for (var52 = 0; var52 < 104; ++var52) { - Tiles.Tiles_renderFlags[var50][var54][var52] = 0; - } - } - } - - class1.playPcmPlayers(); - Tiles.Tiles_minPlane = 99; - class6.Tiles_underlays = new byte[4][104][104]; - Tiles.Tiles_overlays = new byte[4][104][104]; - Tiles.Tiles_shapes = new byte[4][104][104]; - Tiles.field977 = new byte[4][104][104]; - class113.field1367 = new int[4][105][105]; - FloorUnderlayDefinition.field1769 = new byte[4][105][105]; - class28.field169 = new int[105][105]; - DirectByteArrayCopier.Tiles_hue = new int[104]; - WorldMapSprite.Tiles_saturation = new int[104]; - Tiles.Tiles_lightness = new int[104]; - Tiles.Tiles_hueMultiplier = new int[104]; - RunException.field4410 = new int[104]; - var50 = WorldMapData_0.regionLandArchives.length; - - for (ObjectSound var71 = (ObjectSound)ObjectSound.objectSounds.last(); var71 != null; var71 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var71.stream1 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var71.stream1); - var71.stream1 = null; - } - - if (var71.stream2 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var71.stream2); - var71.stream2 = null; - } - } - - ObjectSound.objectSounds.clear(); - NPC.method2221(true); - int var7; - int var8; - int var10; - int var11; - int var12; - int var13; - int[] var10000; - int var56; - if (!isInInstance) { - var54 = 0; - - label1372: - while (true) { - byte[] var6; - if (var54 >= var50) { - for (var54 = 0; var54 < var50; ++var54) { - var52 = (class87.regions[var54] >> 8) * 64 - FloorOverlayDefinition.baseX; - var53 = (class87.regions[var54] & 255) * 64 - class320.baseY; - var6 = WorldMapData_0.regionLandArchives[var54]; - if (var6 == null && class7.field26 < 800) { - class1.playPcmPlayers(); - GameBuild.method5068(var52, var53, 64, 64); - } - } - - NPC.method2221(true); - var54 = 0; - - while (true) { - if (var54 >= var50) { - break label1372; - } - - byte[] var4 = class16.regionMapArchives[var54]; - if (var4 != null) { - var53 = (class87.regions[var54] >> 8) * 64 - FloorOverlayDefinition.baseX; - var56 = (class87.regions[var54] & 255) * 64 - class320.baseY; - class1.playPcmPlayers(); - class13.method180(var4, var53, var56, CollisionMap.scene, collisionMaps); - } - - ++var54; - } - } - - var52 = (class87.regions[var54] >> 8) * 64 - FloorOverlayDefinition.baseX; - var53 = (class87.regions[var54] & 255) * 64 - class320.baseY; - var6 = WorldMapData_0.regionLandArchives[var54]; - if (var6 != null) { - class1.playPcmPlayers(); - var7 = class325.field3891 * 8 - 48; - var8 = class7.field26 * 8 - 48; - CollisionMap[] var9 = collisionMaps; - var10 = 0; - - label1369: - while (true) { - if (var10 >= 4) { - Buffer var55 = new Buffer(var6); - var11 = 0; - - while (true) { - if (var11 >= 4) { - break label1369; - } - - for (var12 = 0; var12 < 64; ++var12) { - for (var13 = 0; var13 < 64; ++var13) { - StructComposition.loadTerrain(var55, var11, var52 + var12, var13 + var53, var7, var8, 0); - } - } - - ++var11; - } - } - - for (var11 = 0; var11 < 64; ++var11) { - for (var12 = 0; var12 < 64; ++var12) { - if (var11 + var52 > 0 && var11 + var52 < 103 && var53 + var12 > 0 && var12 + var53 < 103) { - var10000 = var9[var10].flags[var11 + var52]; - var10000[var53 + var12] &= -16777217; - } - } - } - - ++var10; - } - } - - ++var54; - } - } - - int var14; - int var15; - int var16; - int var17; - int var21; - int var22; - int var23; - int var24; - int var25; - int var26; - int var27; - int var28; - int var29; - int var30; - int var33; - int var34; - int var35; - int var36; - int var37; - int var39; - int var41; - int var42; - int var43; - int var44; - int var45; - int var46; - int var57; - if (isInInstance) { - var54 = 0; - - label1318: - while (true) { - if (var54 >= 4) { - for (var54 = 0; var54 < 13; ++var54) { - for (var52 = 0; var52 < 13; ++var52) { - var53 = instanceChunkTemplates[0][var54][var52]; - if (var53 == -1) { - GameBuild.method5068(var54 * 8, var52 * 8, 8, 8); - } - } - } - - NPC.method2221(true); - var54 = 0; - - while (true) { - if (var54 >= 4) { - break label1318; - } - - class1.playPcmPlayers(); - - for (var52 = 0; var52 < 13; ++var52) { - label1241: - for (var53 = 0; var53 < 13; ++var53) { - var56 = instanceChunkTemplates[var54][var52][var53]; - if (var56 != -1) { - var7 = var56 >> 24 & 3; - var8 = var56 >> 1 & 3; - var57 = var56 >> 14 & 1023; - var10 = var56 >> 3 & 2047; - var11 = (var57 / 8 << 8) + var10 / 8; - - for (var12 = 0; var12 < class87.regions.length; ++var12) { - if (class87.regions[var12] == var11 && class16.regionMapArchives[var12] != null) { - byte[] var58 = class16.regionMapArchives[var12]; - var14 = var52 * 8; - var15 = var53 * 8; - var16 = (var57 & 7) * 8; - var17 = (var10 & 7) * 8; - Scene var18 = CollisionMap.scene; - CollisionMap[] var19 = collisionMaps; - Buffer var20 = new Buffer(var58); - var21 = -1; - - while (true) { - var22 = var20.method7009(); - if (var22 == 0) { - continue label1241; - } - - var21 += var22; - var23 = 0; - - while (true) { - var24 = var20.readUShortSmart(); - if (var24 == 0) { - break; - } - - var23 += var24 - 1; - var25 = var23 & 63; - var26 = var23 >> 6 & 63; - var27 = var23 >> 12; - var28 = var20.readUnsignedByte(); - var29 = var28 >> 2; - var30 = var28 & 3; - if (var7 == var27 && var26 >= var16 && var26 < var16 + 8 && var25 >= var17 && var25 < var17 + 8) { - ObjectComposition var31 = HitSplatDefinition.getObjectDefinition(var21); - var34 = var26 & 7; - var35 = var25 & 7; - var37 = var31.sizeX; - int var38 = var31.sizeY; - if ((var30 & 1) == 1) { - var39 = var37; - var37 = var38; - var38 = var39; - } - - var36 = var8 & 3; - if (var36 == 0) { - var33 = var34; - } else if (var36 == 1) { - var33 = var35; - } else if (var36 == 2) { - var33 = 7 - var34 - (var37 - 1); - } else { - var33 = 7 - var35 - (var38 - 1); - } - - var39 = var14 + var33; - var42 = var26 & 7; - var43 = var25 & 7; - var45 = var31.sizeX; - var46 = var31.sizeY; - int var47; - if ((var30 & 1) == 1) { - var47 = var45; - var45 = var46; - var46 = var47; - } - - var44 = var8 & 3; - if (var44 == 0) { - var41 = var43; - } else if (var44 == 1) { - var41 = 7 - var42 - (var45 - 1); - } else if (var44 == 2) { - var41 = 7 - var43 - (var46 - 1); - } else { - var41 = var42; - } - - var47 = var41 + var15; - if (var39 > 0 && var47 > 0 && var39 < 103 && var47 < 103) { - int var48 = var54; - if ((Tiles.Tiles_renderFlags[1][var39][var47] & 2) == 2) { - var48 = var54 - 1; - } - - CollisionMap var49 = null; - if (var48 >= 0) { - var49 = var19[var48]; - } - - class140.method2715(var54, var39, var47, var21, var30 + var8 & 3, var29, var18, var49); - } - } - } - } - } - } - } - } - } - - ++var54; - } - } - - class1.playPcmPlayers(); - - for (var52 = 0; var52 < 13; ++var52) { - for (var53 = 0; var53 < 13; ++var53) { - boolean var82 = false; - var7 = instanceChunkTemplates[var54][var52][var53]; - if (var7 != -1) { - var8 = var7 >> 24 & 3; - var57 = var7 >> 1 & 3; - var10 = var7 >> 14 & 1023; - var11 = var7 >> 3 & 2047; - var12 = (var10 / 8 << 8) + var11 / 8; - - for (var13 = 0; var13 < class87.regions.length; ++var13) { - if (class87.regions[var13] == var12 && WorldMapData_0.regionLandArchives[var13] != null) { - class134.method2665(WorldMapData_0.regionLandArchives[var13], var54, var52 * 8, var53 * 8, var8, (var10 & 7) * 8, (var11 & 7) * 8, var57, collisionMaps); - var82 = true; - break; - } - } - } - - if (!var82) { - var8 = var54; - var57 = var52 * 8; - var10 = var53 * 8; - - for (var11 = 0; var11 < 8; ++var11) { - for (var12 = 0; var12 < 8; ++var12) { - Tiles.Tiles_heights[var8][var11 + var57][var12 + var10] = 0; - } - } - - if (var57 > 0) { - for (var11 = 1; var11 < 8; ++var11) { - Tiles.Tiles_heights[var8][var57][var11 + var10] = Tiles.Tiles_heights[var8][var57 - 1][var10 + var11]; - } - } - - if (var10 > 0) { - for (var11 = 1; var11 < 8; ++var11) { - Tiles.Tiles_heights[var8][var57 + var11][var10] = Tiles.Tiles_heights[var8][var11 + var57][var10 - 1]; - } - } - - if (var57 > 0 && Tiles.Tiles_heights[var8][var57 - 1][var10] != 0) { - Tiles.Tiles_heights[var8][var57][var10] = Tiles.Tiles_heights[var8][var57 - 1][var10]; - } else if (var10 > 0 && Tiles.Tiles_heights[var8][var57][var10 - 1] != 0) { - Tiles.Tiles_heights[var8][var57][var10] = Tiles.Tiles_heights[var8][var57][var10 - 1]; - } else if (var57 > 0 && var10 > 0 && Tiles.Tiles_heights[var8][var57 - 1][var10 - 1] != 0) { - Tiles.Tiles_heights[var8][var57][var10] = Tiles.Tiles_heights[var8][var57 - 1][var10 - 1]; - } - } - } - } - - ++var54; - } - } - - NPC.method2221(true); - class1.playPcmPlayers(); - Scene var72 = CollisionMap.scene; - CollisionMap[] var73 = collisionMaps; - - for (var53 = 0; var53 < 4; ++var53) { - for (var56 = 0; var56 < 104; ++var56) { - for (var7 = 0; var7 < 104; ++var7) { - if ((Tiles.Tiles_renderFlags[var53][var56][var7] & 1) == 1) { - var8 = var53; - if ((Tiles.Tiles_renderFlags[1][var56][var7] & 2) == 2) { - var8 = var53 - 1; - } - - if (var8 >= 0) { - var73[var8].setBlockedByFloor(var56, var7); - } - } - } - } - } - - Tiles.rndHue += (int)(Math.random() * 5.0D) - 2; - if (Tiles.rndHue < -8) { - Tiles.rndHue = -8; - } - - if (Tiles.rndHue > 8) { - Tiles.rndHue = 8; - } - - Tiles.rndLightness += (int)(Math.random() * 5.0D) - 2; - if (Tiles.rndLightness < -16) { - Tiles.rndLightness = -16; - } - - if (Tiles.rndLightness > 16) { - Tiles.rndLightness = 16; - } - - int var59; - int var60; - int var61; - for (var53 = 0; var53 < 4; ++var53) { - byte[][] var74 = FloorUnderlayDefinition.field1769[var53]; - var12 = (int)Math.sqrt(5100.0D); - var13 = var12 * 768 >> 8; - - for (var14 = 1; var14 < 103; ++var14) { - for (var15 = 1; var15 < 103; ++var15) { - var16 = Tiles.Tiles_heights[var53][var15 + 1][var14] - Tiles.Tiles_heights[var53][var15 - 1][var14]; - var17 = Tiles.Tiles_heights[var53][var15][var14 + 1] - Tiles.Tiles_heights[var53][var15][var14 - 1]; - var59 = (int)Math.sqrt((double)(var16 * var16 + var17 * var17 + 65536)); - var60 = (var16 << 8) / var59; - var61 = 65536 / var59; - var21 = (var17 << 8) / var59; - var22 = (var21 * -50 + var60 * -50 + var61 * -10) / var13 + 96; - var23 = (var74[var15 - 1][var14] >> 2) + (var74[var15][var14 - 1] >> 2) + (var74[var15 + 1][var14] >> 3) + (var74[var15][var14 + 1] >> 3) + (var74[var15][var14] >> 1); - class28.field169[var15][var14] = var22 - var23; - } - } - - for (var14 = 0; var14 < 104; ++var14) { - DirectByteArrayCopier.Tiles_hue[var14] = 0; - WorldMapSprite.Tiles_saturation[var14] = 0; - Tiles.Tiles_lightness[var14] = 0; - Tiles.Tiles_hueMultiplier[var14] = 0; - RunException.field4410[var14] = 0; - } - - for (var14 = -5; var14 < 109; ++var14) { - for (var15 = 0; var15 < 104; ++var15) { - var16 = var14 + 5; - int var10002; - if (var16 >= 0 && var16 < 104) { - var17 = class6.Tiles_underlays[var53][var16][var15] & 255; - if (var17 > 0) { - FloorUnderlayDefinition var76 = TaskHandler.method2740(var17 - 1); - var10000 = DirectByteArrayCopier.Tiles_hue; - var10000[var15] += var76.hue; - var10000 = WorldMapSprite.Tiles_saturation; - var10000[var15] += var76.saturation; - var10000 = Tiles.Tiles_lightness; - var10000[var15] += var76.lightness; - var10000 = Tiles.Tiles_hueMultiplier; - var10000[var15] += var76.hueMultiplier; - var10002 = RunException.field4410[var15]++; - } - } - - var17 = var14 - 5; - if (var17 >= 0 && var17 < 104) { - var59 = class6.Tiles_underlays[var53][var17][var15] & 255; - if (var59 > 0) { - FloorUnderlayDefinition var77 = TaskHandler.method2740(var59 - 1); - var10000 = DirectByteArrayCopier.Tiles_hue; - var10000[var15] -= var77.hue; - var10000 = WorldMapSprite.Tiles_saturation; - var10000[var15] -= var77.saturation; - var10000 = Tiles.Tiles_lightness; - var10000[var15] -= var77.lightness; - var10000 = Tiles.Tiles_hueMultiplier; - var10000[var15] -= var77.hueMultiplier; - var10002 = RunException.field4410[var15]--; - } - } - } - - if (var14 >= 1 && var14 < 103) { - var15 = 0; - var16 = 0; - var17 = 0; - var59 = 0; - var60 = 0; - - for (var61 = -5; var61 < 109; ++var61) { - var21 = var61 + 5; - if (var21 >= 0 && var21 < 104) { - var15 += DirectByteArrayCopier.Tiles_hue[var21]; - var16 += WorldMapSprite.Tiles_saturation[var21]; - var17 += Tiles.Tiles_lightness[var21]; - var59 += Tiles.Tiles_hueMultiplier[var21]; - var60 += RunException.field4410[var21]; - } - - var22 = var61 - 5; - if (var22 >= 0 && var22 < 104) { - var15 -= DirectByteArrayCopier.Tiles_hue[var22]; - var16 -= WorldMapSprite.Tiles_saturation[var22]; - var17 -= Tiles.Tiles_lightness[var22]; - var59 -= Tiles.Tiles_hueMultiplier[var22]; - var60 -= RunException.field4410[var22]; - } - - if (var61 >= 1 && var61 < 103 && (!isLowDetail || (Tiles.Tiles_renderFlags[0][var14][var61] & 2) != 0 || (Tiles.Tiles_renderFlags[var53][var14][var61] & 16) == 0)) { - if (var53 < Tiles.Tiles_minPlane) { - Tiles.Tiles_minPlane = var53; - } - - var23 = class6.Tiles_underlays[var53][var14][var61] & 255; - var24 = Tiles.Tiles_overlays[var53][var14][var61] & 255; - if (var23 > 0 || var24 > 0) { - var25 = Tiles.Tiles_heights[var53][var14][var61]; - var26 = Tiles.Tiles_heights[var53][var14 + 1][var61]; - var27 = Tiles.Tiles_heights[var53][var14 + 1][var61 + 1]; - var28 = Tiles.Tiles_heights[var53][var14][var61 + 1]; - var29 = class28.field169[var14][var61]; - var30 = class28.field169[var14 + 1][var61]; - int var62 = class28.field169[var14 + 1][var61 + 1]; - int var32 = class28.field169[var14][var61 + 1]; - var33 = -1; - var34 = -1; - if (var23 > 0) { - var35 = var15 * 256 / var59; - var36 = var16 / var60; - var37 = var17 / var60; - var33 = PlatformInfo.hslToRgb(var35, var36, var37); - var35 = var35 + Tiles.rndHue & 255; - var37 += Tiles.rndLightness; - if (var37 < 0) { - var37 = 0; - } else if (var37 > 255) { - var37 = 255; - } - - var34 = PlatformInfo.hslToRgb(var35, var36, var37); - } - - FloorOverlayDefinition var63; - if (var53 > 0) { - boolean var79 = true; - if (var23 == 0 && Tiles.Tiles_shapes[var53][var14][var61] != 0) { - var79 = false; - } - - if (var24 > 0) { - var37 = var24 - 1; - var63 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var37); - FloorOverlayDefinition var64; - if (var63 != null) { - var64 = var63; - } else { - byte[] var65 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var37); - var63 = new FloorOverlayDefinition(); - if (var65 != null) { - var63.decode(new Buffer(var65), var37); - } - - var63.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var63, (long)var37); - var64 = var63; - } - - if (!var64.hideUnderlay) { - var79 = false; - } - } - - if (var79 && var25 == var26 && var25 == var27 && var28 == var25) { - var10000 = class113.field1367[var53][var14]; - var10000[var61] |= 2340; - } - } - - var35 = 0; - if (var34 != -1) { - var35 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapCacheName.method3873(var34, 96)]; - } - - if (var24 == 0) { - var72.addTile(var53, var14, var61, 0, 0, -1, var25, var26, var27, var28, WorldMapCacheName.method3873(var33, var29), WorldMapCacheName.method3873(var33, var30), WorldMapCacheName.method3873(var33, var62), WorldMapCacheName.method3873(var33, var32), 0, 0, 0, 0, var35, 0); - } else { - var36 = Tiles.Tiles_shapes[var53][var14][var61] + 1; - byte var80 = Tiles.field977[var53][var14][var61]; - var39 = var24 - 1; - FloorOverlayDefinition var66 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var39); - if (var66 != null) { - var63 = var66; - } else { - byte[] var67 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var39); - var66 = new FloorOverlayDefinition(); - if (var67 != null) { - var66.decode(new Buffer(var67), var39); - } - - var66.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var66, (long)var39); - var63 = var66; - } - - var41 = var63.texture; - if (var41 >= 0) { - var43 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var41); - var42 = -1; - } else if (var63.primaryRgb == 16711935) { - var42 = -2; - var41 = -1; - var43 = -2; - } else { - var42 = PlatformInfo.hslToRgb(var63.hue, var63.saturation, var63.lightness); - var44 = var63.hue + Tiles.rndHue & 255; - var45 = var63.lightness + Tiles.rndLightness; - if (var45 < 0) { - var45 = 0; - } else if (var45 > 255) { - var45 = 255; - } - - var43 = PlatformInfo.hslToRgb(var44, var63.saturation, var45); - } - - var44 = 0; - if (var43 != -2) { - var44 = Rasterizer3D.Rasterizer3D_colorPalette[Language.method5397(var43, 96)]; - } - - if (var63.secondaryRgb != -1) { - var45 = var63.secondaryHue + Tiles.rndHue & 255; - var46 = var63.secondaryLightness + Tiles.rndLightness; - if (var46 < 0) { - var46 = 0; - } else if (var46 > 255) { - var46 = 255; - } - - var43 = PlatformInfo.hslToRgb(var45, var63.secondarySaturation, var46); - var44 = Rasterizer3D.Rasterizer3D_colorPalette[Language.method5397(var43, 96)]; - } - - var72.addTile(var53, var14, var61, var36, var80, var41, var25, var26, var27, var28, WorldMapCacheName.method3873(var33, var29), WorldMapCacheName.method3873(var33, var30), WorldMapCacheName.method3873(var33, var62), WorldMapCacheName.method3873(var33, var32), Language.method5397(var42, var29), Language.method5397(var42, var30), Language.method5397(var42, var62), Language.method5397(var42, var32), var35, var44); - } - } - } - } - } - } - - for (var14 = 1; var14 < 103; ++var14) { - for (var15 = 1; var15 < 103; ++var15) { - var72.setTileMinPlane(var53, var15, var14, SecureRandomCallable.method2010(var53, var15, var14)); - } - } - - class6.Tiles_underlays[var53] = null; - Tiles.Tiles_overlays[var53] = null; - Tiles.Tiles_shapes[var53] = null; - Tiles.field977[var53] = null; - FloorUnderlayDefinition.field1769[var53] = null; - } - - var72.method4290(-50, -10, -50); - - for (var53 = 0; var53 < 104; ++var53) { - for (var56 = 0; var56 < 104; ++var56) { - if ((Tiles.Tiles_renderFlags[1][var53][var56] & 2) == 2) { - var72.setLinkBelow(var53, var56); - } - } - } - - var53 = 1; - var56 = 2; - var7 = 4; - - for (var8 = 0; var8 < 4; ++var8) { - if (var8 > 0) { - var53 <<= 3; - var56 <<= 3; - var7 <<= 3; - } - - for (var57 = 0; var57 <= var8; ++var57) { - for (var10 = 0; var10 <= 104; ++var10) { - for (var11 = 0; var11 <= 104; ++var11) { - short var78; - if ((class113.field1367[var57][var11][var10] & var53) != 0) { - var12 = var10; - var13 = var10; - var14 = var57; - - for (var15 = var57; var12 > 0 && (class113.field1367[var57][var11][var12 - 1] & var53) != 0; --var12) { - } - - while (var13 < 104 && (class113.field1367[var57][var11][var13 + 1] & var53) != 0) { - ++var13; - } - - label967: - while (var14 > 0) { - for (var16 = var12; var16 <= var13; ++var16) { - if ((class113.field1367[var14 - 1][var11][var16] & var53) == 0) { - break label967; - } - } - - --var14; - } - - label956: - while (var15 < var8) { - for (var16 = var12; var16 <= var13; ++var16) { - if ((class113.field1367[var15 + 1][var11][var16] & var53) == 0) { - break label956; - } - } - - ++var15; - } - - var16 = (var13 - var12 + 1) * (var15 + 1 - var14); - if (var16 >= 8) { - var78 = 240; - var59 = Tiles.Tiles_heights[var15][var11][var12] - var78; - var60 = Tiles.Tiles_heights[var14][var11][var12]; - Scene.Scene_addOccluder(var8, 1, var11 * 128, var11 * 128, var12 * 128, var13 * 128 + 128, var59, var60); - - for (var61 = var14; var61 <= var15; ++var61) { - for (var21 = var12; var21 <= var13; ++var21) { - var10000 = class113.field1367[var61][var11]; - var10000[var21] &= ~var53; - } - } - } - } - - if ((class113.field1367[var57][var11][var10] & var56) != 0) { - var12 = var11; - var13 = var11; - var14 = var57; - - for (var15 = var57; var12 > 0 && (class113.field1367[var57][var12 - 1][var10] & var56) != 0; --var12) { - } - - while (var13 < 104 && (class113.field1367[var57][var13 + 1][var10] & var56) != 0) { - ++var13; - } - - label1020: - while (var14 > 0) { - for (var16 = var12; var16 <= var13; ++var16) { - if ((class113.field1367[var14 - 1][var16][var10] & var56) == 0) { - break label1020; - } - } - - --var14; - } - - label1009: - while (var15 < var8) { - for (var16 = var12; var16 <= var13; ++var16) { - if ((class113.field1367[var15 + 1][var16][var10] & var56) == 0) { - break label1009; - } - } - - ++var15; - } - - var16 = (var13 - var12 + 1) * (var15 + 1 - var14); - if (var16 >= 8) { - var78 = 240; - var59 = Tiles.Tiles_heights[var15][var12][var10] - var78; - var60 = Tiles.Tiles_heights[var14][var12][var10]; - Scene.Scene_addOccluder(var8, 2, var12 * 128, var13 * 128 + 128, var10 * 128, var10 * 128, var59, var60); - - for (var61 = var14; var61 <= var15; ++var61) { - for (var21 = var12; var21 <= var13; ++var21) { - var10000 = class113.field1367[var61][var21]; - var10000[var10] &= ~var56; - } - } - } - } - - if ((class113.field1367[var57][var11][var10] & var7) != 0) { - var12 = var11; - var13 = var11; - var14 = var10; - - for (var15 = var10; var14 > 0 && (class113.field1367[var57][var11][var14 - 1] & var7) != 0; --var14) { - } - - while (var15 < 104 && (class113.field1367[var57][var11][var15 + 1] & var7) != 0) { - ++var15; - } - - label1073: - while (var12 > 0) { - for (var16 = var14; var16 <= var15; ++var16) { - if ((class113.field1367[var57][var12 - 1][var16] & var7) == 0) { - break label1073; - } - } - - --var12; - } - - label1062: - while (var13 < 104) { - for (var16 = var14; var16 <= var15; ++var16) { - if ((class113.field1367[var57][var13 + 1][var16] & var7) == 0) { - break label1062; - } - } - - ++var13; - } - - if ((var15 - var14 + 1) * (var13 - var12 + 1) >= 4) { - var16 = Tiles.Tiles_heights[var57][var12][var14]; - Scene.Scene_addOccluder(var8, 4, var12 * 128, var13 * 128 + 128, var14 * 128, var15 * 128 + 128, var16, var16); - - for (var17 = var12; var17 <= var13; ++var17) { - for (var59 = var14; var59 <= var15; ++var59) { - var10000 = class113.field1367[var57][var17]; - var10000[var59] &= ~var7; - } - } - } - } - } - } - } - } - - NPC.method2221(true); - var53 = Tiles.Tiles_minPlane; - if (var53 > class391.Client_plane) { - var53 = class391.Client_plane; - } - - if (var53 < class391.Client_plane - 1) { - var53 = class391.Client_plane - 1; - } - - if (isLowDetail) { - CollisionMap.scene.init(Tiles.Tiles_minPlane); - } else { - CollisionMap.scene.init(0); - } - - for (var56 = 0; var56 < 104; ++var56) { - for (var7 = 0; var7 < 104; ++var7) { - SoundSystem.updateItemPile(var56, var7); - } - } - - class1.playPcmPlayers(); - class113.method2478(); - ObjectComposition.ObjectDefinition_cachedModelData.clear(); - PacketBufferNode var75; - if (ArchiveDiskActionHandler.client.hasFrame()) { - var75 = FriendSystem.getPacketBufferNode(ClientPacket.field2688, packetWriter.isaacCipher); - var75.packetBuffer.writeInt(1057001181); - packetWriter.addNode(var75); - } - - if (!isInInstance) { - var56 = (class325.field3891 - 6) / 8; - var7 = (class325.field3891 + 6) / 8; - var8 = (class7.field26 - 6) / 8; - var57 = (class7.field26 + 6) / 8; - - for (var10 = var56 - 1; var10 <= var7 + 1; ++var10) { - for (var11 = var8 - 1; var11 <= var57 + 1; ++var11) { - if (var10 < var56 || var10 > var7 || var11 < var8 || var11 > var57) { - ObjectComposition.archive5.loadRegionFromName("m" + var10 + "_" + var11); - ObjectComposition.archive5.loadRegionFromName("l" + var10 + "_" + var11); - } - } - } - } - - HealthBarUpdate.updateGameState(30); - class1.playPcmPlayers(); - class6.Tiles_underlays = null; - Tiles.Tiles_overlays = null; - Tiles.Tiles_shapes = null; - Tiles.field977 = null; - class113.field1367 = null; - FloorUnderlayDefinition.field1769 = null; - class28.field169 = null; - DirectByteArrayCopier.Tiles_hue = null; - WorldMapSprite.Tiles_saturation = null; - Tiles.Tiles_lightness = null; - Tiles.Tiles_hueMultiplier = null; - RunException.field4410 = null; - var75 = FriendSystem.getPacketBufferNode(ClientPacket.field2719, packetWriter.isaacCipher); - packetWriter.addNode(var75); - class122.clock.mark(); - - for (var7 = 0; var7 < 32; ++var7) { - GameEngine.graphicsTickTimes[var7] = 0L; - } - - for (var7 = 0; var7 < 32; ++var7) { - GameEngine.clientTickTimes[var7] = 0L; - } - - GameEngine.gameCyclesToDo = 0; - } - } + WorldMapLabelSize.method3448(); } } else { - DevicePcmPlayerProvider.method366(this, class129.fontPlain12); + class87.method2196(this, class262.fontPlain12); } if (gameState == 30) { @@ -2772,114 +1830,156 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } } - @ObfuscatedName("aq") + @ObfuscatedName("ad") @ObfuscatedSignature( descriptor = "(ZI)V", - garbageValue = "-1834579741" + garbageValue = "-296185885" ) @Export("draw") protected final void draw(boolean var1) { - boolean var2 = WorldMapRegion.method3595(); - if (var2 && field728 && UserComparator10.pcmPlayer0 != null) { - UserComparator10.pcmPlayer0.tryDiscard(); + boolean var2; + label167: { + try { + if (class247.musicPlayerStatus == 2) { + if (BuddyRankComparator.musicTrack == null) { + BuddyRankComparator.musicTrack = MusicTrack.readTrack(class113.musicTrackArchive, Skills.musicTrackGroupId, class137.musicTrackFileId); + if (BuddyRankComparator.musicTrack == null) { + var2 = false; + break label167; + } + } + + if (class247.soundCache == null) { + class247.soundCache = new SoundCache(class247.soundEffectsArchive, GrandExchangeOfferWorldComparator.musicSamplesArchive); + } + + if (class247.midiPcmStream.loadMusicTrack(BuddyRankComparator.musicTrack, class247.musicPatchesArchive, class247.soundCache, 22050)) { + class247.midiPcmStream.clearAll(); + class247.midiPcmStream.setPcmStreamVolume(class247.musicTrackVolume); + class247.midiPcmStream.setMusicTrack(BuddyRankComparator.musicTrack, class247.musicTrackBoolean); + class247.musicPlayerStatus = 0; + BuddyRankComparator.musicTrack = null; + class247.soundCache = null; + class113.musicTrackArchive = null; + var2 = true; + break label167; + } + } + } catch (Exception var6) { + var6.printStackTrace(); + class247.midiPcmStream.clear(); + class247.musicPlayerStatus = 0; + BuddyRankComparator.musicTrack = null; + class247.soundCache = null; + class113.musicTrackArchive = null; + } + + var2 = false; } - if ((gameState == 10 || gameState == 20 || gameState == 30) && field705 != 0L && Occluder.method4335() > field705) { - ReflectionCheck.setWindowedMode(class12.getWindowedMode()); + if (var2 && field663 && class126.pcmPlayer0 != null) { + class126.pcmPlayer0.tryDiscard(); } - int var3; + if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field708 && UserComparator4.method2406() > field708) { + class392.setWindowedMode(class12.getWindowedMode()); + } + + int var4; if (var1) { - for (var3 = 0; var3 < 100; ++var3) { - field697[var3] = true; + for (var4 = 0; var4 < 100; ++var4) { + field710[var4] = true; } } if (gameState == 0) { this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); } else if (gameState == 5) { - ApproximateRouteStrategy.drawTitle(class11.fontBold12, class87.fontPlain11, class129.fontPlain12); + Player.drawTitle(Interpreter.fontBold12, UserComparator8.fontPlain11, class262.fontPlain12); } else if (gameState != 10 && gameState != 11) { if (gameState == 20) { - ApproximateRouteStrategy.drawTitle(class11.fontBold12, class87.fontPlain11, class129.fontPlain12); + Player.drawTitle(Interpreter.fontBold12, UserComparator8.fontPlain11, class262.fontPlain12); } else if (gameState == 25) { - if (field545 == 1) { - if (field639 > field656) { - field656 = field639; + if (field534 == 1) { + if (field764 > field544) { + field544 = field764; } - var3 = (field656 * 50 - field639 * 50) / field656; - WorldMapData_1.drawLoadingMessage("Loading - please wait." + "
" + " (" + var3 + "%" + ")", false); - } else if (field545 == 2) { - if (field641 > field544) { - field544 = field641; + var4 = (field544 * 50 - field764 * 50) / field544; + ScriptFrame.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else if (field534 == 2) { + if (field545 > field546) { + field546 = field545; } - var3 = (field544 * 50 - field641 * 50) / field544 + 50; - WorldMapData_1.drawLoadingMessage("Loading - please wait." + "
" + " (" + var3 + "%" + ")", false); + var4 = (field546 * 50 - field545 * 50) / field546 + 50; + ScriptFrame.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); } else { - WorldMapData_1.drawLoadingMessage("Loading - please wait.", false); + ScriptFrame.drawLoadingMessage("Loading - please wait.", false); } } else if (gameState == 30) { this.drawLoggedIn(); } else if (gameState == 40) { - WorldMapData_1.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); + ScriptFrame.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); } else if (gameState == 45) { - WorldMapData_1.drawLoadingMessage("Please wait...", false); + ScriptFrame.drawLoadingMessage("Please wait...", false); } } else { - ApproximateRouteStrategy.drawTitle(class11.fontBold12, class87.fontPlain11, class129.fontPlain12); + Player.drawTitle(Interpreter.fontBold12, UserComparator8.fontPlain11, class262.fontPlain12); } if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { - for (var3 = 0; var3 < rootWidgetCount; ++var3) { - if (field766[var3]) { - class11.rasterProvider.draw(rootWidgetXs[var3], rootWidgetYs[var3], rootWidgetWidths[var3], rootWidgetHeights[var3]); - field766[var3] = false; + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + if (field701[var4]) { + class244.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]); + field701[var4] = false; } } } else if (gameState > 0) { - class11.rasterProvider.drawFull(0, 0); + class244.rasterProvider.drawFull(0, 0); - for (var3 = 0; var3 < rootWidgetCount; ++var3) { - field766[var3] = false; + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + field701[var4] = false; } } } - @ObfuscatedName("ad") + @ObfuscatedName("as") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "42" + garbageValue = "41" ) @Export("kill0") protected final void kill0() { - if (GrandExchangeEvent.varcs.hasUnwrittenChanges()) { - GrandExchangeEvent.varcs.write(); + if (Tile.varcs.hasUnwrittenChanges()) { + Tile.varcs.write(); } - if (class184.mouseRecorder != null) { - class184.mouseRecorder.isRunning = false; + if (ClientPreferences.mouseRecorder != null) { + ClientPreferences.mouseRecorder.isRunning = false; } - class184.mouseRecorder = null; + ClientPreferences.mouseRecorder = null; packetWriter.close(); - HitSplatDefinition.method3115(); - class116.method2492(); - class135.mouseWheel = null; - if (UserComparator10.pcmPlayer0 != null) { - UserComparator10.pcmPlayer0.shutdown(); + HealthBarUpdate.method2161(); + Language.method5469(); + AccessFile.mouseWheel = null; + if (class126.pcmPlayer0 != null) { + class126.pcmPlayer0.shutdown(); } - if (FriendsChat.pcmPlayer1 != null) { - FriendsChat.pcmPlayer1.shutdown(); + if (class116.pcmPlayer1 != null) { + class116.pcmPlayer1.shutdown(); + } + + if (NetCache.NetCache_socket != null) { + NetCache.NetCache_socket.close(); } - WallDecoration.method4494(); synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field3676 != 0) { - ArchiveDiskActionHandler.field3676 = 1; + if (ArchiveDiskActionHandler.field3671 != 0) { + ArchiveDiskActionHandler.field3671 = 1; try { ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); @@ -2888,15 +1988,15 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } } - if (class262.urlRequester != null) { - class262.urlRequester.close(); - class262.urlRequester = null; + if (WorldMapSection0.urlRequester != null) { + WorldMapSection0.urlRequester.close(); + WorldMapSection0.urlRequester = null; } try { JagexCache.JagexCache_dat2File.close(); - for (int var4 = 0; var4 < JagexCache.idxCount; ++var4) { + for (int var4 = 0; var4 < Bounds.idxCount; ++var4) { JagexCache.JagexCache_idxFiles[var4].close(); } @@ -2905,46 +2005,261 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } catch (Exception var6) { } - this.field522.method191(); + this.field522.method172(); } - @ObfuscatedName("au") + @ObfuscatedName("ag") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1327639479" + garbageValue = "1826906753" ) - protected final void vmethod1443() { + protected final void vmethod1165() { } - @ObfuscatedName("ey") + @ObfuscatedName("ej") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-636078656" + descriptor = "(B)Z", + garbageValue = "-28" ) - boolean method1139() { - return field520 != null && !field520.trim().isEmpty(); + boolean method1338() { + return WorldMapSectionType.field2140 != null && !WorldMapSectionType.field2140.trim().isEmpty(); } - @ObfuscatedName("ea") + @ObfuscatedName("ek") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "1825227949" + garbageValue = "-52448415" ) - void method1474(String var1) throws MalformedURLException, IOException { - class10 var2 = new class10(new URL(class16.field84 + "public/v1/games/YCfdbvr2pM1zUYMxJRexZY/play"), class9.field34); - var2.method104("Authorization", "Bearer " + var1); - this.field556 = this.field522.method186(var2); + void method1110(String var1) throws MalformedURLException, IOException { + class10 var2 = new class10(new URL(Varcs.field1264 + "public/v1/games/YCfdbvr2pM1zUYMxJRexZY/play"), class9.field43); + var2.method91("Authorization", "Bearer " + var1); + this.field523 = this.field522.method178(var2); } - @ObfuscatedName("ee") + @ObfuscatedName("eg") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-390413724" + descriptor = "(B)V", + garbageValue = "13" ) @Export("doCycleJs5") void doCycleJs5() { if (gameState != 1000) { - boolean var1 = Player.method2117(); + long var2 = UserComparator4.method2406(); + int var4 = (int)(var2 - NetCache.field3715); + NetCache.field3715 = var2; + if (var4 > 200) { + var4 = 200; + } + + NetCache.NetCache_loadTime += var4; + boolean var1; + if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { + var1 = true; + } else if (NetCache.NetCache_socket == null) { + var1 = false; + } else { + try { + label238: { + if (NetCache.NetCache_loadTime > 30000) { + throw new IOException(); + } + + NetFileRequest var5; + Buffer var6; + while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { + var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); + var6 = new Buffer(4); + var6.writeByte(1); + var6.writeMedium((int)var5.key); + NetCache.NetCache_socket.write(var6.array, 0, 4); + NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key); + --NetCache.NetCache_pendingPriorityWritesCount; + ++NetCache.NetCache_pendingPriorityResponsesCount; + } + + while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { + var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); + var6 = new Buffer(4); + var6.writeByte(0); + var6.writeMedium((int)var5.key); + NetCache.NetCache_socket.write(var6.array, 0, 4); + var5.removeDual(); + NetCache.NetCache_pendingResponses.put(var5, var5.key); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingResponsesCount; + } + + for (int var17 = 0; var17 < 100; ++var17) { + int var18 = NetCache.NetCache_socket.available(); + if (var18 < 0) { + throw new IOException(); + } + + if (var18 == 0) { + break; + } + + NetCache.NetCache_loadTime = 0; + byte var7 = 0; + if (ClanChannel.NetCache_currentResponse == null) { + var7 = 8; + } else if (NetCache.field3726 == 0) { + var7 = 1; + } + + int var8; + int var9; + int var10; + int var12; + byte[] var10000; + int var10001; + Buffer var25; + if (var7 > 0) { + var8 = var7 - NetCache.NetCache_responseHeaderBuffer.offset; + if (var8 > var18) { + var8 = var18; + } + + NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var8); + if (NetCache.field3724 != 0) { + for (var9 = 0; var9 < var8; ++var9) { + var10000 = NetCache.NetCache_responseHeaderBuffer.array; + var10001 = var9 + NetCache.NetCache_responseHeaderBuffer.offset; + var10000[var10001] ^= NetCache.field3724; + } + } + + var25 = NetCache.NetCache_responseHeaderBuffer; + var25.offset += var8; + if (NetCache.NetCache_responseHeaderBuffer.offset < var7) { + break; + } + + if (ClanChannel.NetCache_currentResponse == null) { + NetCache.NetCache_responseHeaderBuffer.offset = 0; + var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var10 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); + int var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var12 = NetCache.NetCache_responseHeaderBuffer.readInt(); + long var13 = (long)(var10 + (var9 << 16)); + NetFileRequest var15 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var13); + UrlRequester.field1301 = true; + if (var15 == null) { + var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13); + UrlRequester.field1301 = false; + } + + if (var15 == null) { + throw new IOException(); + } + + int var16 = var11 == 0 ? 5 : 9; + ClanChannel.NetCache_currentResponse = var15; + StudioGame.NetCache_responseArchiveBuffer = new Buffer(var12 + var16 + ClanChannel.NetCache_currentResponse.padding); + StudioGame.NetCache_responseArchiveBuffer.writeByte(var11); + StudioGame.NetCache_responseArchiveBuffer.writeInt(var12); + NetCache.field3726 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else if (NetCache.field3726 == 0) { + if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { + NetCache.field3726 = 1; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else { + ClanChannel.NetCache_currentResponse = null; + } + } + } else { + var8 = StudioGame.NetCache_responseArchiveBuffer.array.length - ClanChannel.NetCache_currentResponse.padding; + var9 = 512 - NetCache.field3726; + if (var9 > var8 - StudioGame.NetCache_responseArchiveBuffer.offset) { + var9 = var8 - StudioGame.NetCache_responseArchiveBuffer.offset; + } + + if (var9 > var18) { + var9 = var18; + } + + NetCache.NetCache_socket.read(StudioGame.NetCache_responseArchiveBuffer.array, StudioGame.NetCache_responseArchiveBuffer.offset, var9); + if (NetCache.field3724 != 0) { + for (var10 = 0; var10 < var9; ++var10) { + var10000 = StudioGame.NetCache_responseArchiveBuffer.array; + var10001 = StudioGame.NetCache_responseArchiveBuffer.offset + var10; + var10000[var10001] ^= NetCache.field3724; + } + } + + var25 = StudioGame.NetCache_responseArchiveBuffer; + var25.offset += var9; + NetCache.field3726 += var9; + if (var8 == StudioGame.NetCache_responseArchiveBuffer.offset) { + if (ClanChannel.NetCache_currentResponse.key == 16711935L) { + TriBool.NetCache_reference = StudioGame.NetCache_responseArchiveBuffer; + + for (var10 = 0; var10 < 256; ++var10) { + Archive var19 = NetCache.NetCache_archives[var10]; + if (var19 != null) { + TriBool.NetCache_reference.offset = var10 * 8 + 5; + var12 = TriBool.NetCache_reference.readInt(); + int var20 = TriBool.NetCache_reference.readInt(); + var19.loadIndex(var12, var20); + } + } + } else { + NetCache.NetCache_crc.reset(); + NetCache.NetCache_crc.update(StudioGame.NetCache_responseArchiveBuffer.array, 0, var8); + var10 = (int)NetCache.NetCache_crc.getValue(); + if (var10 != ClanChannel.NetCache_currentResponse.crc) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var23) { + } + + ++NetCache.NetCache_crcMismatches; + NetCache.NetCache_socket = null; + NetCache.field3724 = (byte)((int)(Math.random() * 255.0D + 1.0D)); + var1 = false; + break label238; + } + + NetCache.NetCache_crcMismatches = 0; + NetCache.NetCache_ioExceptions = 0; + ClanChannel.NetCache_currentResponse.archive.write((int)(ClanChannel.NetCache_currentResponse.key & 65535L), StudioGame.NetCache_responseArchiveBuffer.array, (ClanChannel.NetCache_currentResponse.key & 16711680L) == 16711680L, UrlRequester.field1301); + } + + ClanChannel.NetCache_currentResponse.remove(); + if (UrlRequester.field1301) { + --NetCache.NetCache_pendingPriorityResponsesCount; + } else { + --NetCache.NetCache_pendingResponsesCount; + } + + NetCache.field3726 = 0; + ClanChannel.NetCache_currentResponse = null; + StudioGame.NetCache_responseArchiveBuffer = null; + } else { + if (NetCache.field3726 != 512) { + break; + } + + NetCache.field3726 = 0; + } + } + } + + var1 = true; + } + } catch (IOException var24) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var22) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + var1 = false; + } + } + if (!var1) { this.doCycleJs5Connect(); } @@ -2952,158 +2267,86 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } } - @ObfuscatedName("es") + @ObfuscatedName("ec") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-363959310" + garbageValue = "-2091398005" ) @Export("doCycleJs5Connect") void doCycleJs5Connect() { if (NetCache.NetCache_crcMismatches >= 4) { this.error("js5crc"); - HealthBarUpdate.updateGameState(1000); + UserList.updateGameState(1000); } else { if (NetCache.NetCache_ioExceptions >= 4) { if (gameState <= 5) { this.error("js5io"); - HealthBarUpdate.updateGameState(1000); + UserList.updateGameState(1000); return; } - field512 = 3000; + field513 = 3000; NetCache.NetCache_ioExceptions = 3; } - if (--field512 + 1 <= 0) { + if (--field513 + 1 <= 0) { try { if (js5ConnectState == 0) { - HealthBar.js5SocketTask = GameEngine.taskHandler.newSocketTask(class279.worldHost, ClientPreferences.currentPort); + class19.js5SocketTask = GameEngine.taskHandler.newSocketTask(EnumComposition.worldHost, RouteStrategy.currentPort); ++js5ConnectState; } if (js5ConnectState == 1) { - if (HealthBar.js5SocketTask.status == 2) { + if (class19.js5SocketTask.status == 2) { this.js5Error(-1); return; } - if (HealthBar.js5SocketTask.status == 1) { + if (class19.js5SocketTask.status == 1) { ++js5ConnectState; } } if (js5ConnectState == 2) { if (useBufferedSocket) { - class1.js5Socket = UserComparator4.method2379((Socket)HealthBar.js5SocketTask.result, 40000, 5000); + Socket var2 = (Socket)class19.js5SocketTask.result; + BufferedNetSocket var1 = new BufferedNetSocket(var2, 40000, 5000); + class78.js5Socket = var1; } else { - class1.js5Socket = new NetSocket((Socket)HealthBar.js5SocketTask.result, GameEngine.taskHandler, 5000); + class78.js5Socket = new NetSocket((Socket)class19.js5SocketTask.result, GameEngine.taskHandler, 5000); } - Buffer var1 = new Buffer(5); - var1.writeByte(15); - var1.writeInt(199); - class1.js5Socket.write(var1.array, 0, 5); + Buffer var5 = new Buffer(5); + var5.writeByte(15); + var5.writeInt(200); + class78.js5Socket.write(var5.array, 0, 5); ++js5ConnectState; - JagexCache.field1558 = Occluder.method4335(); + class229.field2643 = UserComparator4.method2406(); } if (js5ConnectState == 3) { - if (class1.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { - int var5 = class1.js5Socket.readUnsignedByte(); - if (var5 != 0) { - this.js5Error(var5); + if (class78.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { + int var3 = class78.js5Socket.readUnsignedByte(); + if (var3 != 0) { + this.js5Error(var3); return; } ++js5ConnectState; - } else if (Occluder.method4335() - JagexCache.field1558 > 30000L) { + } else if (UserComparator4.method2406() - class229.field2643 > 30000L) { this.js5Error(-2); return; } } if (js5ConnectState == 4) { - AbstractSocket var12 = class1.js5Socket; - boolean var2 = gameState > 20; - if (NetCache.NetCache_socket != null) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var10) { - } - - NetCache.NetCache_socket = null; - } - - NetCache.NetCache_socket = var12; - Buffer var3; - if (NetCache.NetCache_socket != null) { - try { - var3 = new Buffer(4); - var3.writeByte(var2 ? 2 : 3); - var3.writeMedium(0); - NetCache.NetCache_socket.write(var3.array, 0, 4); - } catch (IOException var9) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var8) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - NetCache.NetCache_responseHeaderBuffer.offset = 0; - Coord.NetCache_currentResponse = null; - class138.NetCache_responseArchiveBuffer = null; - NetCache.field3736 = 0; - - while (true) { - NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); - if (var13 == null) { - while (true) { - var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); - if (var13 == null) { - if (NetCache.field3735 != 0) { - try { - var3 = new Buffer(4); - var3.writeByte(4); - var3.writeByte(NetCache.field3735); - var3.writeShort(0); - NetCache.NetCache_socket.write(var3.array, 0, 4); - } catch (IOException var7) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var6) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - NetCache.NetCache_loadTime = 0; - KeyHandler.field149 = Occluder.method4335(); - HealthBar.js5SocketTask = null; - class1.js5Socket = null; - js5ConnectState = 0; - js5Errors = 0; - return; - } - - NetCache.NetCache_pendingWritesQueue.addLast(var13); - NetCache.NetCache_pendingWrites.put(var13, var13.key); - ++NetCache.NetCache_pendingWritesCount; - --NetCache.NetCache_pendingResponsesCount; - } - } - - NetCache.NetCache_pendingPriorityWrites.put(var13, var13.key); - ++NetCache.NetCache_pendingPriorityWritesCount; - --NetCache.NetCache_pendingPriorityResponsesCount; - } + class132.method2698(class78.js5Socket, gameState > 20); + class19.js5SocketTask = null; + class78.js5Socket = null; + js5ConnectState = 0; + js5Errors = 0; } - } catch (IOException var11) { + } catch (IOException var4) { this.js5Error(-3); } @@ -3111,48 +2354,48 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } } - @ObfuscatedName("en") + @ObfuscatedName("ei") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-266990437" + garbageValue = "1846558213" ) @Export("js5Error") void js5Error(int var1) { - HealthBar.js5SocketTask = null; - class1.js5Socket = null; + class19.js5SocketTask = null; + class78.js5Socket = null; js5ConnectState = 0; - if (ClientPreferences.currentPort == GameBuild.worldPort) { - ClientPreferences.currentPort = AbstractWorldMapIcon.js5Port; + if (RouteStrategy.currentPort == WorldMapLabelSize.worldPort) { + RouteStrategy.currentPort = UserList.js5Port; } else { - ClientPreferences.currentPort = GameBuild.worldPort; + RouteStrategy.currentPort = WorldMapLabelSize.worldPort; } ++js5Errors; if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { if (gameState <= 5) { this.error("js5connect_full"); - HealthBarUpdate.updateGameState(1000); + UserList.updateGameState(1000); } else { - field512 = 3000; + field513 = 3000; } } else if (js5Errors >= 2 && var1 == 6) { this.error("js5connect_outofdate"); - HealthBarUpdate.updateGameState(1000); + UserList.updateGameState(1000); } else if (js5Errors >= 4) { if (gameState <= 5) { this.error("js5connect"); - HealthBarUpdate.updateGameState(1000); + UserList.updateGameState(1000); } else { - field512 = 3000; + field513 = 3000; } } } - @ObfuscatedName("fo") + @ObfuscatedName("ey") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1584365045" + descriptor = "(B)V", + garbageValue = "76" ) @Export("doCycleLoggedOut") final void doCycleLoggedOut() { @@ -3161,445 +2404,466 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { try { if (loginState == 0) { - if (UserComparator9.secureRandom == null && (secureRandomFuture.isDone() || field546 > 250)) { - UserComparator9.secureRandom = secureRandomFuture.get(); + if (Tile.secureRandom == null && (secureRandomFuture.isDone() || field516 > 250)) { + Tile.secureRandom = secureRandomFuture.get(); secureRandomFuture.shutdown(); secureRandomFuture = null; } - if (UserComparator9.secureRandom != null) { + if (Tile.secureRandom != null) { if (var1 != null) { ((AbstractSocket)var1).close(); var1 = null; } - class65.socketTask = null; + UrlRequester.socketTask = null; hadNetworkError = false; - field546 = 0; - if (field519.method7084()) { + field516 = 0; + if (field520.method7148()) { try { - this.method1474(field520); - class135.method2672(20); - } catch (Throwable var18) { - class4.RunException_sendStackTrace((String)null, var18); - Message.getLoginError(65); + this.method1110(WorldMapSectionType.field2140); + CollisionMap.method3418(20); + } catch (Throwable var22) { + Timer.RunException_sendStackTrace((String)null, var22); + World.getLoginError(65); return; } } else { - class135.method2672(1); + CollisionMap.method3418(1); } } } if (loginState == 20) { - if (!this.field556.method306()) { + if (!this.field523.method286()) { return; } - if (this.field556.method292()) { - class4.RunException_sendStackTrace(this.field556.method291(), (Throwable)null); - Message.getLoginError(65); + if (this.field523.method285()) { + Timer.RunException_sendStackTrace(this.field523.method295(), (Throwable)null); + World.getLoginError(65); return; } - class21 var3 = this.field556.method294(); + class21 var3 = this.field523.method287(); if (var3.method317() != 200) { - class4.RunException_sendStackTrace("Response code: " + var3.method317() + "Response body: " + var3.method316(), (Throwable)null); - Message.getLoginError(65); + Timer.RunException_sendStackTrace("Response code: " + var3.method317() + "Response body: " + var3.method312(), (Throwable)null); + World.getLoginError(65); return; } - field546 = 0; - this.field521 = var3.method316(); - class135.method2672(1); + field516 = 0; + this.field547 = var3.method312(); + CollisionMap.method3418(1); } if (loginState == 1) { - if (class65.socketTask == null) { - class65.socketTask = GameEngine.taskHandler.newSocketTask(class279.worldHost, ClientPreferences.currentPort); + if (UrlRequester.socketTask == null) { + UrlRequester.socketTask = GameEngine.taskHandler.newSocketTask(EnumComposition.worldHost, RouteStrategy.currentPort); } - if (class65.socketTask.status == 2) { + if (UrlRequester.socketTask.status == 2) { throw new IOException(); } - if (class65.socketTask.status == 1) { + if (UrlRequester.socketTask.status == 1) { if (useBufferedSocket) { - var1 = UserComparator4.method2379((Socket)class65.socketTask.result, 40000, 5000); + Socket var4 = (Socket)UrlRequester.socketTask.result; + BufferedNetSocket var25 = new BufferedNetSocket(var4, 40000, 5000); + var1 = var25; } else { - var1 = new NetSocket((Socket)class65.socketTask.result, GameEngine.taskHandler, 5000); + var1 = new NetSocket((Socket)UrlRequester.socketTask.result, GameEngine.taskHandler, 5000); } packetWriter.setSocket((AbstractSocket)var1); - class65.socketTask = null; - class135.method2672(2); + UrlRequester.socketTask = null; + CollisionMap.method3418(2); } } - PacketBufferNode var20; + PacketBufferNode var28; if (loginState == 2) { packetWriter.clearBuffer(); - var20 = WorldMapScaleHandler.method3906(); - var20.packetBuffer.writeByte(LoginPacket.field2873.id); - packetWriter.addNode(var20); + var28 = Tile.method4117(); + var28.clientPacket = null; + var28.clientPacketLength = 0; + var28.packetBuffer = new PacketBuffer(5000); + var28.packetBuffer.writeByte(LoginPacket.field2885.id); + packetWriter.addNode(var28); packetWriter.flush(); var2.offset = 0; - class135.method2672(3); + CollisionMap.method3418(3); } - int var4; - boolean var11; + boolean var14; + int var15; if (loginState == 3) { - if (UserComparator10.pcmPlayer0 != null) { - UserComparator10.pcmPlayer0.method710(); + if (class126.pcmPlayer0 != null) { + class126.pcmPlayer0.method696(); } - if (FriendsChat.pcmPlayer1 != null) { - FriendsChat.pcmPlayer1.method710(); + if (class116.pcmPlayer1 != null) { + class116.pcmPlayer1.method696(); } - var11 = true; + var14 = true; if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { - var11 = false; + var14 = false; } - if (var11) { - var4 = ((AbstractSocket)var1).readUnsignedByte(); - if (UserComparator10.pcmPlayer0 != null) { - UserComparator10.pcmPlayer0.method710(); + if (var14) { + var15 = ((AbstractSocket)var1).readUnsignedByte(); + if (class126.pcmPlayer0 != null) { + class126.pcmPlayer0.method696(); } - if (FriendsChat.pcmPlayer1 != null) { - FriendsChat.pcmPlayer1.method710(); + if (class116.pcmPlayer1 != null) { + class116.pcmPlayer1.method696(); } - if (var4 != 0) { - Message.getLoginError(var4); + if (var15 != 0) { + World.getLoginError(var15); return; } var2.offset = 0; - class135.method2672(4); + CollisionMap.method3418(4); } } - int var27; + int var40; if (loginState == 4) { if (var2.offset < 8) { - var27 = ((AbstractSocket)var1).available(); - if (var27 > 8 - var2.offset) { - var27 = 8 - var2.offset; + var40 = ((AbstractSocket)var1).available(); + if (var40 > 8 - var2.offset) { + var40 = 8 - var2.offset; } - if (var27 > 0) { - ((AbstractSocket)var1).read(var2.array, var2.offset, var27); - var2.offset += var27; + if (var40 > 0) { + ((AbstractSocket)var1).read(var2.array, var2.offset, var40); + var2.offset += var40; } } if (var2.offset == 8) { var2.offset = 0; - HealthBarDefinition.field1681 = var2.readLong(); - class135.method2672(5); + Language.field3800 = var2.readLong(); + CollisionMap.method3418(5); } } - int var6; if (loginState == 5) { packetWriter.packetBuffer.offset = 0; packetWriter.clearBuffer(); - PacketBuffer var21 = new PacketBuffer(500); - int[] var12 = new int[]{UserComparator9.secureRandom.nextInt(), UserComparator9.secureRandom.nextInt(), UserComparator9.secureRandom.nextInt(), UserComparator9.secureRandom.nextInt()}; - var21.offset = 0; - var21.writeByte(1); - var21.writeInt(var12[0]); - var21.writeInt(var12[1]); - var21.writeInt(var12[2]); - var21.writeInt(var12[3]); - var21.writeLong(HealthBarDefinition.field1681); + PacketBuffer var26 = new PacketBuffer(500); + int[] var30 = new int[]{Tile.secureRandom.nextInt(), Tile.secureRandom.nextInt(), Tile.secureRandom.nextInt(), Tile.secureRandom.nextInt()}; + var26.offset = 0; + var26.writeByte(1); + var26.writeInt(var30[0]); + var26.writeInt(var30[1]); + var26.writeInt(var30[2]); + var26.writeInt(var30[3]); + var26.writeLong(Language.field3800); if (gameState == 40) { - var21.writeInt(TaskHandler.field1546[0]); - var21.writeInt(TaskHandler.field1546[1]); - var21.writeInt(TaskHandler.field1546[2]); - var21.writeInt(TaskHandler.field1546[3]); + var26.writeInt(class78.field1016[0]); + var26.writeInt(class78.field1016[1]); + var26.writeInt(class78.field1016[2]); + var26.writeInt(class78.field1016[3]); } else { - var21.writeByte(field518.rsOrdinal()); - switch(field518.field1360) { + var26.writeByte(field519.rsOrdinal()); + switch(field519.field1361) { case 0: - var21.offset += 4; + var26.writeInt((Integer)WorldMapDecorationType.clientPreferences.parameters.get(SoundCache.method771(Login.Login_username))); break; case 1: - case 3: - var21.writeMedium(class274.field3274); - ++var21.offset; - break; case 2: - var21.writeInt((Integer)VarbitComposition.clientPreferences.parameters.get(GameBuild.method5072(Login.Login_username))); + var26.writeMedium(MouseHandler.field236); + ++var26.offset; + break; + case 3: + var26.offset += 4; } - if (field519.method7084()) { - var21.writeByte(class403.field4323.rsOrdinal()); - var21.writeStringCp1252NullTerminated(this.field521); + if (field520.method7148()) { + var26.writeByte(class404.field4348.rsOrdinal()); + var26.writeStringCp1252NullTerminated(this.field547); } else { - var21.writeByte(class403.field4332.rsOrdinal()); - var21.writeStringCp1252NullTerminated(Login.Login_password); + var26.writeByte(class404.field4344.rsOrdinal()); + var26.writeStringCp1252NullTerminated(Login.Login_password); } } - var21.encryptRsa(class67.field867, class67.field868); - TaskHandler.field1546 = var12; - PacketBufferNode var5 = WorldMapScaleHandler.method3906(); - var5.packetBuffer.offset = 0; + var26.encryptRsa(class67.field864, class67.field866); + class78.field1016 = var30; + PacketBufferNode var6 = Tile.method4117(); + var6.clientPacket = null; + var6.clientPacketLength = 0; + var6.packetBuffer = new PacketBuffer(5000); + var6.packetBuffer.offset = 0; if (gameState == 40) { - var5.packetBuffer.writeByte(LoginPacket.field2871.id); + var6.packetBuffer.writeByte(LoginPacket.field2886.id); } else { - var5.packetBuffer.writeByte(LoginPacket.field2868.id); + var6.packetBuffer.writeByte(LoginPacket.field2891.id); } - var5.packetBuffer.writeShort(0); - var6 = var5.packetBuffer.offset; - var5.packetBuffer.writeInt(199); - var5.packetBuffer.writeInt(1); - var5.packetBuffer.writeByte(clientType); - var5.packetBuffer.writeByte(field487); - var5.packetBuffer.writeBytes(var21.array, 0, var21.offset); - int var7 = var5.packetBuffer.offset; - var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); - var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); - var5.packetBuffer.writeShort(InvDefinition.canvasWidth); - var5.packetBuffer.writeShort(GameEngine.canvasHeight); - ClientPreferences.method2195(var5.packetBuffer); - var5.packetBuffer.writeStringCp1252NullTerminated(WorldMapIcon_0.field2104); - var5.packetBuffer.writeInt(KeyHandler.field145); - Buffer var8 = new Buffer(ParamComposition.platformInfo.size()); - ParamComposition.platformInfo.write(var8); - var5.packetBuffer.writeBytes(var8.array, 0, var8.array.length); - var5.packetBuffer.writeByte(clientType); - var5.packetBuffer.writeInt(0); - var5.packetBuffer.writeIntME(MouseRecorder.archive10.hash); - var5.packetBuffer.method6860(WorldMapRectangle.archive0.hash); - var5.packetBuffer.method6860(class260.archive3.hash); - var5.packetBuffer.writeIntME(ReflectionCheck.archive4.hash); - var5.packetBuffer.method6860(0); - var5.packetBuffer.writeInt(World.archive8.hash); - var5.packetBuffer.writeInt(ApproximateRouteStrategy.archive14.hash); - var5.packetBuffer.writeInt(WorldMapSection0.archive15.hash); - var5.packetBuffer.method6861(class276.archive6.hash); - var5.packetBuffer.method6860(class115.archive2.hash); - var5.packetBuffer.writeIntME(ObjectComposition.archive5.hash); - var5.packetBuffer.method6861(class28.archive20.hash); - var5.packetBuffer.method6861(class391.archive13.hash); - var5.packetBuffer.method6861(MenuAction.archive1.hash); - var5.packetBuffer.method6860(class318.archive11.hash); - var5.packetBuffer.method6861(class120.archive17.hash); - var5.packetBuffer.writeIntME(class135.archive7.hash); - var5.packetBuffer.method6860(class120.archive18.hash); - var5.packetBuffer.method6860(VarcInt.archive9.hash); - var5.packetBuffer.method6860(Interpreter.archive19.hash); - var5.packetBuffer.writeInt(SecureRandomCallable.archive12.hash); - var5.packetBuffer.xteaEncrypt(var12, var7, var5.packetBuffer.offset); - var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6); - packetWriter.addNode(var5); + var6.packetBuffer.writeShort(0); + int var7 = var6.packetBuffer.offset; + var6.packetBuffer.writeInt(200); + var6.packetBuffer.writeInt(1); + var6.packetBuffer.writeByte(clientType); + var6.packetBuffer.writeByte(field681); + var6.packetBuffer.writeBytes(var26.array, 0, var26.offset); + int var8 = var6.packetBuffer.offset; + var6.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); + var6.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); + var6.packetBuffer.writeShort(Huffman.canvasWidth); + var6.packetBuffer.writeShort(MouseRecorder.canvasHeight); + PacketBuffer var9 = var6.packetBuffer; + int var12; + if (randomDatData != null) { + var9.writeBytes(randomDatData, 0, randomDatData.length); + } else { + byte[] var11 = new byte[24]; + + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var11); + + for (var12 = 0; var12 < 24 && var11[var12] == 0; ++var12) { + } + + if (var12 >= 24) { + throw new IOException(); + } + } catch (Exception var23) { + for (int var13 = 0; var13 < 24; ++var13) { + var11[var13] = -1; + } + } + + var9.writeBytes(var11, 0, var11.length); + } + + var6.packetBuffer.writeStringCp1252NullTerminated(ItemContainer.field1009); + var6.packetBuffer.writeInt(KeyHandler.field142); + Buffer var10 = new Buffer(MenuAction.platformInfo.size()); + MenuAction.platformInfo.write(var10); + var6.packetBuffer.writeBytes(var10.array, 0, var10.array.length); + var6.packetBuffer.writeByte(clientType); + var6.packetBuffer.writeInt(0); + var6.packetBuffer.writeIntME(UserComparator8.archive10.hash); + var6.packetBuffer.writeInt(Tiles.archive6.hash); + var6.packetBuffer.writeInt(0); + var6.packetBuffer.writeIntME(class54.archive20.hash); + var6.packetBuffer.method6940(RouteStrategy.archive2.hash); + var6.packetBuffer.method6942(ClanChannel.archive0.hash); + var6.packetBuffer.method6942(class150.archive3.hash); + var6.packetBuffer.writeIntME(class12.archive15.hash); + var6.packetBuffer.writeIntME(ItemContainer.archive17.hash); + var6.packetBuffer.writeIntME(Interpreter.archive9.hash); + var6.packetBuffer.writeInt(Skeleton.archive7.hash); + var6.packetBuffer.method6940(class260.archive4.hash); + var6.packetBuffer.writeIntME(ApproximateRouteStrategy.archive5.hash); + var6.packetBuffer.method6942(class176.archive8.hash); + var6.packetBuffer.method6940(UserComparator6.archive12.hash); + var6.packetBuffer.method6940(TextureProvider.archive18.hash); + var6.packetBuffer.method6940(class54.archive13.hash); + var6.packetBuffer.writeInt(MouseRecorder.archive1.hash); + var6.packetBuffer.writeIntME(ViewportMouse.archive19.hash); + var6.packetBuffer.writeIntME(class4.archive11.hash); + var6.packetBuffer.method6940(class28.archive14.hash); + var6.packetBuffer.xteaEncrypt(var30, var8, var6.packetBuffer.offset); + var6.packetBuffer.writeLengthShort(var6.packetBuffer.offset - var7); + packetWriter.addNode(var6); packetWriter.flush(); - packetWriter.isaacCipher = new IsaacCipher(var12); - int[] var9 = new int[4]; + packetWriter.isaacCipher = new IsaacCipher(var30); + int[] var39 = new int[4]; - for (int var10 = 0; var10 < 4; ++var10) { - var9[var10] = var12[var10] + 50; + for (var12 = 0; var12 < 4; ++var12) { + var39[var12] = var30[var12] + 50; } - var2.newIsaacCipher(var9); - class135.method2672(6); + var2.newIsaacCipher(var39); + CollisionMap.method3418(6); } if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { - var27 = ((AbstractSocket)var1).readUnsignedByte(); - if (var27 == 21 && gameState == 20) { - class135.method2672(12); - } else if (var27 == 2) { - class135.method2672(14); - } else if (var27 == 15 && gameState == 40) { + var40 = ((AbstractSocket)var1).readUnsignedByte(); + if (var40 == 21 && gameState == 20) { + CollisionMap.method3418(12); + } else if (var40 == 2) { + CollisionMap.method3418(14); + } else if (var40 == 15 && gameState == 40) { packetWriter.serverPacketLength = -1; - class135.method2672(19); - } else if (var27 == 64) { - class135.method2672(10); - } else if (var27 == 23 && field516 < 1) { - ++field516; - class135.method2672(0); - } else if (var27 == 29) { - class135.method2672(17); + CollisionMap.method3418(19); + } else if (var40 == 64) { + CollisionMap.method3418(10); + } else if (var40 == 23 && field680 < 1) { + ++field680; + CollisionMap.method3418(0); + } else if (var40 == 29) { + CollisionMap.method3418(17); } else { - if (var27 != 69) { - Message.getLoginError(var27); + if (var40 != 69) { + World.getLoginError(var40); return; } - class135.method2672(7); + CollisionMap.method3418(7); } } if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) { ((AbstractSocket)var1).read(var2.array, 0, 2); var2.offset = 0; - class128.field1477 = var2.readUnsignedShort(); - class135.method2672(8); + class381.field4217 = var2.readUnsignedShort(); + CollisionMap.method3418(8); } - if (loginState == 8 && ((AbstractSocket)var1).available() >= class128.field1477) { + if (loginState == 8 && ((AbstractSocket)var1).available() >= class381.field4217) { var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, var2.offset, class128.field1477); - class6 var22 = Tile.method4042()[var2.readUnsignedByte()]; + ((AbstractSocket)var1).read(var2.array, var2.offset, class381.field4217); + class6[] var27 = new class6[]{class6.field17}; + class6 var31 = var27[var2.readUnsignedByte()]; try { - switch(var22.field12) { - case 0: - class0 var28 = new class0(); - this.field527 = new class7(var2, var28); - class135.method2672(9); - break; - default: - throw new IllegalArgumentException(); - } - } catch (Exception var17) { - Message.getLoginError(22); + class3 var5 = HorizontalAlignment.method3014(var31); + this.field528 = new class7(var2, var5); + CollisionMap.method3418(9); + } catch (Exception var21) { + World.getLoginError(22); return; } } - if (loginState == 9 && this.field527.method53()) { - this.field526 = this.field527.method61(); - this.field527.method54(); - this.field527 = null; - if (this.field526 == null) { - Message.getLoginError(22); + if (loginState == 9 && this.field528.method47()) { + this.field527 = this.field528.method49(); + this.field528.method48(); + this.field528 = null; + if (this.field527 == null) { + World.getLoginError(22); return; } packetWriter.clearBuffer(); - var20 = WorldMapScaleHandler.method3906(); - var20.packetBuffer.writeByte(LoginPacket.field2870.id); - var20.packetBuffer.writeShort(this.field526.offset); - var20.packetBuffer.method6809(this.field526); - packetWriter.addNode(var20); + var28 = Tile.method4117(); + var28.clientPacket = null; + var28.clientPacketLength = 0; + var28.packetBuffer = new PacketBuffer(5000); + var28.packetBuffer.writeByte(LoginPacket.field2888.id); + var28.packetBuffer.writeShort(this.field527.offset); + var28.packetBuffer.method6890(this.field527); + packetWriter.addNode(var28); packetWriter.flush(); - this.field526 = null; - class135.method2672(6); + this.field527 = null; + CollisionMap.method3418(6); } if (loginState == 10 && ((AbstractSocket)var1).available() > 0) { - WorldMapLabelSize.field2012 = ((AbstractSocket)var1).readUnsignedByte(); - class135.method2672(11); + ModeWhere.field3818 = ((AbstractSocket)var1).readUnsignedByte(); + CollisionMap.method3418(11); } - if (loginState == 11 && ((AbstractSocket)var1).available() >= WorldMapLabelSize.field2012) { - ((AbstractSocket)var1).read(var2.array, 0, WorldMapLabelSize.field2012); + if (loginState == 11 && ((AbstractSocket)var1).available() >= ModeWhere.field3818) { + ((AbstractSocket)var1).read(var2.array, 0, ModeWhere.field3818); var2.offset = 0; - class135.method2672(6); + CollisionMap.method3418(6); } if (loginState == 12 && ((AbstractSocket)var1).available() > 0) { - field517 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; - class135.method2672(13); + field539 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; + CollisionMap.method3418(13); } if (loginState == 13) { - field546 = 0; - PlatformInfo.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field517 / 60 + " seconds."); - if (--field517 <= 0) { - class135.method2672(0); + field516 = 0; + class17.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field539 / 60 + " seconds."); + if (--field539 <= 0) { + CollisionMap.method3418(0); } } else { if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) { - ModeWhere.field3814 = ((AbstractSocket)var1).readUnsignedByte(); - class135.method2672(15); + WorldMapLabel.field2176 = ((AbstractSocket)var1).readUnsignedByte(); + CollisionMap.method3418(15); } - if (loginState == 15 && ((AbstractSocket)var1).available() >= ModeWhere.field3814) { - var11 = ((AbstractSocket)var1).readUnsignedByte() == 1; + int var17; + boolean var41; + if (loginState == 15 && ((AbstractSocket)var1).available() >= WorldMapLabel.field2176) { + var14 = ((AbstractSocket)var1).readUnsignedByte() == 1; ((AbstractSocket)var1).read(var2.array, 0, 4); var2.offset = 0; - boolean var23 = false; - if (var11) { - var4 = var2.readByteIsaac() << 24; - var4 |= var2.readByteIsaac() << 16; - var4 |= var2.readByteIsaac() << 8; - var4 |= var2.readByteIsaac(); - int var13 = GameBuild.method5072(Login.Login_username); - if (VarbitComposition.clientPreferences.parameters.size() >= 10 && !VarbitComposition.clientPreferences.parameters.containsKey(var13)) { - Iterator var14 = VarbitComposition.clientPreferences.parameters.entrySet().iterator(); - var14.next(); - var14.remove(); + var41 = false; + if (var14) { + var15 = var2.readByteIsaac() << 24; + var15 |= var2.readByteIsaac() << 16; + var15 |= var2.readByteIsaac() << 8; + var15 |= var2.readByteIsaac(); + var17 = SoundCache.method771(Login.Login_username); + if (WorldMapDecorationType.clientPreferences.parameters.size() >= 10 && !WorldMapDecorationType.clientPreferences.parameters.containsKey(var17)) { + Iterator var38 = WorldMapDecorationType.clientPreferences.parameters.entrySet().iterator(); + var38.next(); + var38.remove(); } - VarbitComposition.clientPreferences.parameters.put(var13, var4); + WorldMapDecorationType.clientPreferences.parameters.put(var17, var15); } if (Login_isUsernameRemembered) { - VarbitComposition.clientPreferences.rememberedUsername = Login.Login_username; + WorldMapDecorationType.clientPreferences.rememberedUsername = Login.Login_username; } else { - VarbitComposition.clientPreferences.rememberedUsername = null; + WorldMapDecorationType.clientPreferences.rememberedUsername = null; } - DevicePcmPlayerProvider.savePreferences(); + ScriptFrame.savePreferences(); staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); localPlayerIndex <<= 8; localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); - field608 = ((AbstractSocket)var1).readUnsignedByte(); + field630 = ((AbstractSocket)var1).readUnsignedByte(); ((AbstractSocket)var1).read(var2.array, 0, 1); var2.offset = 0; - ServerPacket[] var25 = WorldMapIcon_1.ServerPacket_values(); - var6 = var2.readSmartByteShortIsaac(); - if (var6 < 0 || var6 >= var25.length) { - throw new IOException(var6 + " " + var2.offset); + ServerPacket[] var33 = WallDecoration.ServerPacket_values(); + int var18 = var2.readSmartByteShortIsaac(); + if (var18 < 0 || var18 >= var33.length) { + throw new IOException(var18 + " " + var2.offset); } - packetWriter.serverPacket = var25[var6]; + packetWriter.serverPacket = var33[var18]; packetWriter.serverPacketLength = packetWriter.serverPacket.length; ((AbstractSocket)var1).read(var2.array, 0, 2); var2.offset = 0; packetWriter.serverPacketLength = var2.readUnsignedShort(); try { - class27.method398(ArchiveDiskActionHandler.client, "zap"); - } catch (Throwable var16) { + Client var19 = class21.client; + JSObject.getWindow(var19).call("zap", (Object[])null); + } catch (Throwable var20) { } - class135.method2672(16); + CollisionMap.method3418(16); } - if (loginState == 16) { - if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { - var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); - timer.method5824(); - MouseHandler.method607(); - class319.updatePlayer(var2); - class325.field3891 = -1; - class274.loadRegions(false, var2); - packetWriter.serverPacket = null; - } - - } else { + if (loginState != 16) { if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) { var2.offset = 0; ((AbstractSocket)var1).read(var2.array, 0, 2); var2.offset = 0; - ObjectSound.field811 = var2.readUnsignedShort(); - class135.method2672(18); + class113.field1364 = var2.readUnsignedShort(); + CollisionMap.method3418(18); } - if (loginState == 18 && ((AbstractSocket)var1).available() >= ObjectSound.field811) { + if (loginState == 18 && ((AbstractSocket)var1).available() >= class113.field1364) { var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, 0, ObjectSound.field811); + ((AbstractSocket)var1).read(var2.array, 0, class113.field1364); var2.offset = 0; - String var24 = var2.readStringCp1252NullTerminated(); - String var29 = var2.readStringCp1252NullTerminated(); - String var26 = var2.readStringCp1252NullTerminated(); - PlatformInfo.setLoginResponseString(var24, var29, var26); - HealthBarUpdate.updateGameState(10); + String var34 = var2.readStringCp1252NullTerminated(); + String var37 = var2.readStringCp1252NullTerminated(); + String var35 = var2.readStringCp1252NullTerminated(); + class17.setLoginResponseString(var34, var37, var35); + UserList.updateGameState(10); } if (loginState == 19) { @@ -3616,53 +2880,202 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); var2.offset = 0; - var27 = packetWriter.serverPacketLength; - timer.method5826(); - DynamicObject.method1956(); - class319.updatePlayer(var2); - if (var27 != var2.offset) { + var40 = packetWriter.serverPacketLength; + timer.method5908(); + NPC.method2235(); + ArchiveDiskActionHandler.updatePlayer(var2); + if (var40 != var2.offset) { throw new RuntimeException(); } } } else { - ++field546; - if (field546 > 2000) { - if (field516 < 1) { - if (ClientPreferences.currentPort == GameBuild.worldPort) { - ClientPreferences.currentPort = AbstractWorldMapIcon.js5Port; + ++field516; + if (field516 > 2000) { + if (field680 < 1) { + if (WorldMapLabelSize.worldPort == RouteStrategy.currentPort) { + RouteStrategy.currentPort = UserList.js5Port; } else { - ClientPreferences.currentPort = GameBuild.worldPort; + RouteStrategy.currentPort = WorldMapLabelSize.worldPort; } - ++field516; - class135.method2672(0); + ++field680; + CollisionMap.method3418(0); } else { - Message.getLoginError(-3); + World.getLoginError(-3); } } } + } else { + if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); + timer.method5906(); + mouseLastLastPressedTimeMillis = -1L; + ClientPreferences.mouseRecorder.index = 0; + KitDefinition.hasFocus = true; + hadFocus = true; + field719 = -1L; + class6.method45(); + packetWriter.clearBuffer(); + packetWriter.packetBuffer.offset = 0; + packetWriter.serverPacket = null; + packetWriter.field1281 = null; + packetWriter.field1293 = null; + packetWriter.field1288 = null; + packetWriter.serverPacketLength = 0; + packetWriter.field1290 = 0; + rebootTimer = 0; + logoutTimer = 0; + hintArrowType = 0; + class7.method46(); + class130.method2677(0); + class1.method13(); + isItemSelected = 0; + isSpellSelected = false; + soundEffectCount = 0; + camAngleY = 0; + oculusOrbState = 0; + Widget.field3165 = null; + minimapState = 0; + field722 = -1; + destinationX = 0; + destinationY = 0; + playerAttackOption = AttackOption.AttackOption_hidden; + npcAttackOption = AttackOption.AttackOption_hidden; + npcCount = 0; + Players.Players_count = 0; + + for (var40 = 0; var40 < 2048; ++var40) { + Players.field1248[var40] = null; + Players.field1245[var40] = 1; + } + + for (var40 = 0; var40 < 2048; ++var40) { + players[var40] = null; + } + + for (var40 = 0; var40 < 32768; ++var40) { + npcs[var40] = null; + } + + combatTargetPlayerIndex = -1; + projectiles.clear(); + graphicsObjects.clear(); + + for (var40 = 0; var40 < 4; ++var40) { + for (var15 = 0; var15 < 104; ++var15) { + for (var17 = 0; var17 < 104; ++var17) { + groundItems[var40][var15][var17] = null; + } + } + } + + pendingSpawns = new NodeDeque(); + Message.friendSystem.clear(); + + for (var40 = 0; var40 < VarpDefinition.VarpDefinition_fileCount; ++var40) { + VarpDefinition var36 = ApproximateRouteStrategy.VarpDefinition_get(var40); + if (var36 != null) { + Varps.Varps_temp[var40] = 0; + Varps.Varps_main[var40] = 0; + } + } + + Tile.varcs.clearTransient(); + followerIndex = -1; + if (rootInterface != -1) { + var40 = rootInterface; + if (var40 != -1 && class157.Widget_loadedInterfaces[var40]) { + Widget.Widget_archive.clearFilesGroup(var40); + if (Widget.Widget_interfaceComponents[var40] != null) { + var41 = true; + + for (var17 = 0; var17 < Widget.Widget_interfaceComponents[var40].length; ++var17) { + if (Widget.Widget_interfaceComponents[var40][var17] != null) { + if (Widget.Widget_interfaceComponents[var40][var17].type != 2) { + Widget.Widget_interfaceComponents[var40][var17] = null; + } else { + var41 = false; + } + } + } + + if (var41) { + Widget.Widget_interfaceComponents[var40] = null; + } + + class157.Widget_loadedInterfaces[var40] = false; + } + } + } + + for (InterfaceParent var29 = (InterfaceParent)interfaceParents.first(); var29 != null; var29 = (InterfaceParent)interfaceParents.next()) { + WorldMapLabelSize.closeInterface(var29, true); + } + + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + meslayerContinueWidget = null; + menuOptionsCount = 0; + isMenuOpen = false; + playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); + + for (var40 = 0; var40 < 8; ++var40) { + playerMenuActions[var40] = null; + playerOptionsPriorities[var40] = false; + } + + ItemContainer.itemContainers = new NodeHashTable(32); + isLoading = true; + + for (var40 = 0; var40 < 100; ++var40) { + field710[var40] = true; + } + + PacketBufferNode var32 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2718, packetWriter.isaacCipher); + var32.packetBuffer.writeByte(class12.getWindowedMode()); + var32.packetBuffer.writeShort(Huffman.canvasWidth); + var32.packetBuffer.writeShort(MouseRecorder.canvasHeight); + packetWriter.addNode(var32); + class264.friendsChat = null; + class114.guestClanSettings = null; + Arrays.fill(currentClanSettings, (Object)null); + GrandExchangeOfferNameComparator.guestClanChannel = null; + Arrays.fill(currentClanChannels, (Object)null); + + for (var40 = 0; var40 < 8; ++var40) { + grandExchangeOffers[var40] = new GrandExchangeOffer(); + } + + class6.grandExchangeEvents = null; + ArchiveDiskActionHandler.updatePlayer(var2); + HealthBarDefinition.field1671 = -1; + WorldMapArea.loadRegions(false, var2); + packetWriter.serverPacket = null; + } + } } - } catch (IOException var19) { - if (field516 < 1) { - if (ClientPreferences.currentPort == GameBuild.worldPort) { - ClientPreferences.currentPort = AbstractWorldMapIcon.js5Port; + } catch (IOException var24) { + if (field680 < 1) { + if (RouteStrategy.currentPort == WorldMapLabelSize.worldPort) { + RouteStrategy.currentPort = UserList.js5Port; } else { - ClientPreferences.currentPort = GameBuild.worldPort; + RouteStrategy.currentPort = WorldMapLabelSize.worldPort; } - ++field516; - class135.method2672(0); + ++field680; + CollisionMap.method3418(0); } else { - Message.getLoginError(-2); + World.getLoginError(-2); } } } - @ObfuscatedName("fz") + @ObfuscatedName("fp") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1813315889" + garbageValue = "-1935915349" ) @Export("doCycleLoggedIn") final void doCycleLoggedIn() { @@ -3676,14 +3089,13 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { if (hadNetworkError) { hadNetworkError = false; - class245.method4590(); + class20.method302(); } else { if (!isMenuOpen) { - Canvas.addCancelMenuEntry(); + class174.addCancelMenuEntry(); } - int var1; - for (var1 = 0; var1 < 100 && this.method1228(packetWriter); ++var1) { + for (int var1 = 0; var1 < 100 && this.method1307(packetWriter); ++var1) { } if (gameState == 30) { @@ -3699,16 +3111,16 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { int var3; PacketBufferNode var32; if (!var31) { - PacketBufferNode var14; - int var15; - if (timer.field3889) { - var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2669, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(0); - var15 = var14.packetBuffer.offset; - timer.write(var14.packetBuffer); - var14.packetBuffer.method6812(var14.packetBuffer.offset - var15); - packetWriter.addNode(var14); - timer.method5825(); + PacketBufferNode var15; + int var16; + if (timer.field3905) { + var15 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2724, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + var16 = var15.packetBuffer.offset; + timer.write(var15.packetBuffer); + var15.packetBuffer.method6918(var15.packetBuffer.offset - var16); + packetWriter.addNode(var15); + timer.method5907(); } int var4; @@ -3719,58 +3131,57 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { int var9; int var10; int var11; - PacketBuffer var10000; - synchronized(class184.mouseRecorder.lock) { - if (!field659) { - class184.mouseRecorder.index = 0; - } else if (MouseHandler.MouseHandler_lastButton != 0 || class184.mouseRecorder.index >= 40) { + int var12; + synchronized(ClientPreferences.mouseRecorder.lock) { + if (!field684) { + ClientPreferences.mouseRecorder.index = 0; + } else if (MouseHandler.MouseHandler_lastButton != 0 || ClientPreferences.mouseRecorder.index >= 40) { var32 = null; var3 = 0; var4 = 0; var5 = 0; var6 = 0; - for (var7 = 0; var7 < class184.mouseRecorder.index && (var32 == null || var32.packetBuffer.offset - var3 < 246); ++var7) { + for (var7 = 0; var7 < ClientPreferences.mouseRecorder.index && (var32 == null || var32.packetBuffer.offset - var3 < 246); ++var7) { var4 = var7; - var8 = class184.mouseRecorder.ys[var7]; + var8 = ClientPreferences.mouseRecorder.ys[var7]; if (var8 < -1) { var8 = -1; } else if (var8 > 65534) { var8 = 65534; } - var9 = class184.mouseRecorder.xs[var7]; + var9 = ClientPreferences.mouseRecorder.xs[var7]; if (var9 < -1) { var9 = -1; } else if (var9 > 65534) { var9 = 65534; } - if (var9 != field494 || var8 != field675) { + if (var9 != field495 || var8 != field496) { if (var32 == null) { - var32 = FriendSystem.getPacketBufferNode(ClientPacket.field2726, packetWriter.isaacCipher); + var32 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2686, packetWriter.isaacCipher); var32.packetBuffer.writeByte(0); var3 = var32.packetBuffer.offset; - var10000 = var32.packetBuffer; + PacketBuffer var10000 = var32.packetBuffer; var10000.offset += 2; var5 = 0; var6 = 0; } - int var12; - if (field496 != -1L) { - var10 = var9 - field494; - var11 = var8 - field675; - var12 = (int)((class184.mouseRecorder.millis[var7] - field496) / 20L); - var5 = (int)((long)var5 + (class184.mouseRecorder.millis[var7] - field496) % 20L); + if (-1L != field650) { + var10 = var9 - field495; + var11 = var8 - field496; + var12 = (int)((ClientPreferences.mouseRecorder.millis[var7] - field650) / 20L); + var5 = (int)((long)var5 + (ClientPreferences.mouseRecorder.millis[var7] - field650) % 20L); } else { var10 = var9; var11 = var8; var12 = Integer.MAX_VALUE; } - field494 = var9; - field675 = var8; + field495 = var9; + field496 = var8; if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { var10 += 32; var11 += 32; @@ -3797,12 +3208,12 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } ++var6; - field496 = class184.mouseRecorder.millis[var7]; + field650 = ClientPreferences.mouseRecorder.millis[var7]; } } if (var32 != null) { - var32.packetBuffer.method6812(var32.packetBuffer.offset - var3); + var32.packetBuffer.method6918(var32.packetBuffer.offset - var3); var7 = var32.packetBuffer.offset; var32.packetBuffer.offset = var3; var32.packetBuffer.writeByte(var5 / var6); @@ -3811,280 +3222,145 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { packetWriter.addNode(var32); } - if (var4 >= class184.mouseRecorder.index) { - class184.mouseRecorder.index = 0; + if (var4 >= ClientPreferences.mouseRecorder.index) { + ClientPreferences.mouseRecorder.index = 0; } else { - MouseRecorder var46 = class184.mouseRecorder; - var46.index -= var4; - System.arraycopy(class184.mouseRecorder.xs, var4, class184.mouseRecorder.xs, 0, class184.mouseRecorder.index); - System.arraycopy(class184.mouseRecorder.ys, var4, class184.mouseRecorder.ys, 0, class184.mouseRecorder.index); - System.arraycopy(class184.mouseRecorder.millis, var4, class184.mouseRecorder.millis, 0, class184.mouseRecorder.index); + MouseRecorder var44 = ClientPreferences.mouseRecorder; + var44.index -= var4; + System.arraycopy(ClientPreferences.mouseRecorder.xs, var4, ClientPreferences.mouseRecorder.xs, 0, ClientPreferences.mouseRecorder.index); + System.arraycopy(ClientPreferences.mouseRecorder.ys, var4, ClientPreferences.mouseRecorder.ys, 0, ClientPreferences.mouseRecorder.index); + System.arraycopy(ClientPreferences.mouseRecorder.millis, var4, ClientPreferences.mouseRecorder.millis, 0, ClientPreferences.mouseRecorder.index); } } } - PacketBufferNode var18; - if (MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { - long var16 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis; - if (var16 > 32767L) { - var16 = 32767L; + PacketBufferNode var19; + if (MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { + long var17 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis; + if (var17 > 32767L) { + var17 = 32767L; } mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis; var3 = MouseHandler.MouseHandler_lastPressedY; if (var3 < 0) { var3 = 0; - } else if (var3 > GameEngine.canvasHeight) { - var3 = GameEngine.canvasHeight; + } else if (var3 > MouseRecorder.canvasHeight) { + var3 = MouseRecorder.canvasHeight; } var4 = MouseHandler.MouseHandler_lastPressedX; if (var4 < 0) { var4 = 0; - } else if (var4 > InvDefinition.canvasWidth) { - var4 = InvDefinition.canvasWidth; + } else if (var4 > Huffman.canvasWidth) { + var4 = Huffman.canvasWidth; } - var5 = (int)var16; - var18 = FriendSystem.getPacketBufferNode(ClientPacket.field2742, packetWriter.isaacCipher); - var18.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); - var18.packetBuffer.writeShort(var4); - var18.packetBuffer.writeShort(var3); - packetWriter.addNode(var18); + var5 = (int)var17; + var19 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2710, packetWriter.isaacCipher); + var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); + var19.packetBuffer.writeShort(var4); + var19.packetBuffer.writeShort(var3); + packetWriter.addNode(var19); } - if (KeyHandler.field114 > 0) { - var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2730, packetWriter.isaacCipher); - var14.packetBuffer.writeShort(0); - var15 = var14.packetBuffer.offset; - long var19 = Occluder.method4335(); + if (KeyHandler.field136 > 0) { + var15 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2667, packetWriter.isaacCipher); + var15.packetBuffer.writeShort(0); + var16 = var15.packetBuffer.offset; + long var20 = UserComparator4.method2406(); - for (var5 = 0; var5 < KeyHandler.field114; ++var5) { - long var21 = var19 - field716; - if (var21 > 16777215L) { - var21 = 16777215L; + for (var5 = 0; var5 < KeyHandler.field136; ++var5) { + long var22 = var20 - field719; + if (var22 > 16777215L) { + var22 = 16777215L; } - field716 = var19; - var14.packetBuffer.method6858((int)var21); - var14.packetBuffer.writeByte(KeyHandler.field131[var5]); + field719 = var20; + var15.packetBuffer.method7117(KeyHandler.field135[var5]); + var15.packetBuffer.method6938((int)var22); } - var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15); - packetWriter.addNode(var14); + var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var16); + packetWriter.addNode(var15); } - if (field572 > 0) { - --field572; + if (field574 > 0) { + --field574; } if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { - field573 = true; + field575 = true; } - if (field573 && field572 <= 0) { - field572 = 20; - field573 = false; - var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2647, packetWriter.isaacCipher); - var14.packetBuffer.method6851(camAngleX); - var14.packetBuffer.method6951(camAngleY); - packetWriter.addNode(var14); + if (field575 && field574 <= 0) { + field574 = 20; + field575 = false; + var15 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2720, packetWriter.isaacCipher); + var15.packetBuffer.method6931(camAngleY); + var15.packetBuffer.writeShort(camAngleX); + packetWriter.addNode(var15); } - if (Archive.hasFocus && !hadFocus) { + if (KitDefinition.hasFocus && !hadFocus) { hadFocus = true; - var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2701, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(1); - packetWriter.addNode(var14); + var15 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2690, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(1); + packetWriter.addNode(var15); } - if (!Archive.hasFocus && hadFocus) { + if (!KitDefinition.hasFocus && hadFocus) { hadFocus = false; - var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2701, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(0); - packetWriter.addNode(var14); + var15 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2690, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + packetWriter.addNode(var15); } - if (class65.worldMap != null) { - class65.worldMap.method6351(); - } - - if (PlatformInfo.ClanChat_inClanChat) { - if (class78.friendsChat != null) { - class78.friendsChat.sort(); - } - - class11.method115(); - PlatformInfo.ClanChat_inClanChat = false; - } - - Decimator.method1038(); - if (field719 != class391.Client_plane) { - field719 = class391.Client_plane; - var1 = class391.Client_plane; - int[] var33 = class113.sceneMinimapSprite.pixels; - var3 = var33.length; - - for (var4 = 0; var4 < var3; ++var4) { - var33[var4] = 0; - } - - for (var4 = 1; var4 < 103; ++var4) { - var5 = (103 - var4) * 2048 + 24628; - - for (var6 = 1; var6 < 103; ++var6) { - if ((Tiles.Tiles_renderFlags[var1][var6][var4] & 24) == 0) { - CollisionMap.scene.drawTileMinimap(var33, var5, 512, var1, var6, var4); - } - - if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var6][var4] & 8) != 0) { - CollisionMap.scene.drawTileMinimap(var33, var5, 512, var1 + 1, var6, var4); - } - - var5 += 4; - } - } - - var4 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); - var5 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; - class113.sceneMinimapSprite.setRaster(); - - for (var6 = 1; var6 < 103; ++var6) { - for (var7 = 1; var7 < 103; ++var7) { - if ((Tiles.Tiles_renderFlags[var1][var7][var6] & 24) == 0) { - class327.drawObject(var1, var7, var6, var4, var5); - } - - if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var7][var6] & 8) != 0) { - class327.drawObject(var1 + 1, var7, var6, var4, var5); - } - } - } - - mapIconCount = 0; - - for (var6 = 0; var6 < 104; ++var6) { - for (var7 = 0; var7 < 104; ++var7) { - long var23 = CollisionMap.scene.getFloorDecorationTag(class391.Client_plane, var6, var7); - if (var23 != 0L) { - var10 = HealthBarDefinition.Entity_unpackID(var23); - var11 = HitSplatDefinition.getObjectDefinition(var10).mapIconId; - if (var11 >= 0 && class54.WorldMapElement_get(var11).field1629) { - mapIcons[mapIconCount] = class54.WorldMapElement_get(var11).getSpriteBool(false); - mapIconXs[mapIconCount] = var6; - mapIconYs[mapIconCount] = var7; - ++mapIconCount; - } - } - } - } - - class11.rasterProvider.apply(); + if (TileItem.worldMap != null) { + TileItem.worldMap.method6417(); } + PacketWriter.method2354(); + SoundCache.method768(); + ModeWhere.method5487(); if (gameState != 30) { return; } - class6.method44(); - - int var10002; - for (var1 = 0; var1 < soundEffectCount; ++var1) { - var10002 = queuedSoundEffectDelays[var1]--; - if (queuedSoundEffectDelays[var1] >= -10) { - SoundEffect var34 = soundEffects[var1]; - if (var34 == null) { - var10000 = null; - var34 = SoundEffect.readSoundEffect(ReflectionCheck.archive4, soundEffectIds[var1], 0); - if (var34 == null) { - continue; - } - - int[] var47 = queuedSoundEffectDelays; - var47[var1] += var34.calculateDelay(); - soundEffects[var1] = var34; - } - - if (queuedSoundEffectDelays[var1] < 0) { - if (soundLocations[var1] != 0) { - var4 = (soundLocations[var1] & 255) * 128; - var5 = soundLocations[var1] >> 16 & 255; - var6 = var5 * 128 + 64 - class129.localPlayer.x; - if (var6 < 0) { - var6 = -var6; - } - - var7 = soundLocations[var1] >> 8 & 255; - var8 = var7 * 128 + 64 - class129.localPlayer.y; - if (var8 < 0) { - var8 = -var8; - } - - var9 = var6 + var8 - 128; - if (var9 > var4) { - queuedSoundEffectDelays[var1] = -100; - continue; - } - - if (var9 < 0) { - var9 = 0; - } - - var3 = (var4 - var9) * VarbitComposition.clientPreferences.areaSoundEffectsVolume / var4; - } else { - var3 = VarbitComposition.clientPreferences.soundEffectsVolume; - } - - if (var3 > 0) { - RawSound var25 = var34.toRawSound().resample(Language.decimator); - RawPcmStream var26 = RawPcmStream.createRawPcmStream(var25, 100, var3); - var26.setNumLoops(queuedSoundEffectLoops[var1] - 1); - MusicPatchPcmStream.pcmStreamMixer.addSubStream(var26); - } - - queuedSoundEffectDelays[var1] = -100; - } - } else { - --soundEffectCount; - - for (var15 = var1; var15 < soundEffectCount; ++var15) { - soundEffectIds[var15] = soundEffectIds[var15 + 1]; - soundEffects[var15] = soundEffects[var15 + 1]; - queuedSoundEffectLoops[var15] = queuedSoundEffectLoops[var15 + 1]; - queuedSoundEffectDelays[var15] = queuedSoundEffectDelays[var15 + 1]; - soundLocations[var15] = soundLocations[var15 + 1]; - } - - --var1; - } - } - - if (field728 && !FriendSystem.method1727()) { - if (VarbitComposition.clientPreferences.musicVolume != 0 && currentTrackGroupId != -1) { - Decimator.method1051(class276.archive6, currentTrackGroupId, 0, VarbitComposition.clientPreferences.musicVolume, false); - } - - field728 = false; - } - - ++packetWriter.field1279; - if (packetWriter.field1279 > 750) { - class245.method4590(); + HorizontalAlignment.method3008(); + WorldMapData_0.method3441(); + ++packetWriter.field1290; + if (packetWriter.field1290 > 750) { + class20.method302(); return; } - class361.method6283(); + MouseHandler.method611(); + ChatChannel.method1985(); + int[] var38 = Players.Players_indices; - for (var1 = 0; var1 < npcCount; ++var1) { - var15 = npcIndices[var1]; - NPC var27 = npcs[var15]; - if (var27 != null) { - SceneTilePaint.updateActorSequence(var27, var27.definition.size); + for (var16 = 0; var16 < Players.Players_count; ++var16) { + Player var24 = players[var38[var16]]; + if (var24 != null && var24.overheadTextCyclesRemaining > 0) { + --var24.overheadTextCyclesRemaining; + if (var24.overheadTextCyclesRemaining == 0) { + var24.overheadText = null; + } } } - ItemComposition.method3211(); - ++field764; + for (var16 = 0; var16 < npcCount; ++var16) { + var3 = npcIndices[var16]; + NPC var25 = npcs[var3]; + if (var25 != null && var25.overheadTextCyclesRemaining > 0) { + --var25.overheadTextCyclesRemaining; + if (var25.overheadTextCyclesRemaining == 0) { + var25.overheadText = null; + } + } + } + + ++field536; if (mouseCrossColor != 0) { mouseCrossState += 20; if (mouseCrossState >= 400) { @@ -4092,294 +3368,552 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } } - if (FriendsChat.field3934 != null) { - ++field727; - if (field727 >= 15) { - Actor.invalidateWidget(FriendsChat.field3934); - FriendsChat.field3934 = null; + if (class7.field31 != null) { + ++field620; + if (field620 >= 15) { + class16.invalidateWidget(class7.field31); + class7.field31 = null; } } - Widget var38 = class301.mousedOverWidgetIf1; - Widget var35 = BufferedFile.field4227; - class301.mousedOverWidgetIf1 = null; - BufferedFile.field4227 = null; + Widget var39 = VarpDefinition.mousedOverWidgetIf1; + Widget var33 = PlayerType.field3661; + VarpDefinition.mousedOverWidgetIf1 = null; + PlayerType.field3661 = null; draggedOnWidget = null; - field669 = false; - field666 = false; - field713 = 0; + field671 = false; + field595 = false; + field726 = 0; - while (KitDefinition.isKeyDown() && field713 < 128) { - if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && SpriteMask.field2994 == 66) { - String var41 = class10.method112(); - ArchiveDiskActionHandler.client.method443(var41); - } else if (oculusOrbState != 1 || class78.field1010 <= 0) { - field595[field713] = SpriteMask.field2994; - field714[field713] = class78.field1010; - ++field713; + while (CollisionMap.isKeyDown() && field726 < 128) { + if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && class4.field13 == 66) { + String var41 = class78.method2062(); + class21.client.method450(var41); + } else if (oculusOrbState != 1 || Skeleton.field2376 <= 0) { + field718[field726] = class4.field13; + field532[field726] = Skeleton.field2376; + ++field726; } } - if (Player.method2094() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { - var3 = class129.localPlayer.plane - mouseWheelRotation; - if (var3 < 0) { - var3 = 0; - } else if (var3 > 3) { - var3 = 3; + boolean var34 = staffModLevel >= 2; + if (var34 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { + var4 = class67.localPlayer.plane - mouseWheelRotation; + if (var4 < 0) { + var4 = 0; + } else if (var4 > 3) { + var4 = 3; } - if (var3 != class129.localPlayer.plane) { - var4 = class129.localPlayer.pathX[0] + FloorOverlayDefinition.baseX; - var5 = class129.localPlayer.pathY[0] + class320.baseY; - var18 = FriendSystem.getPacketBufferNode(ClientPacket.field2707, packetWriter.isaacCipher); - var18.packetBuffer.writeShort(var5); - var18.packetBuffer.method6861(0); - var18.packetBuffer.method6841(var3); - var18.packetBuffer.method6851(var4); - packetWriter.addNode(var18); + if (var4 != class67.localPlayer.plane) { + UrlRequest.method2386(class67.localPlayer.pathX[0] + WorldMapSectionType.baseX, class67.localPlayer.pathY[0] + PlayerComposition.baseY, var4, false); } mouseWheelRotation = 0; } if (rootInterface != -1) { - class18.updateRootInterface(rootInterface, 0, 0, InvDefinition.canvasWidth, GameEngine.canvasHeight, 0, 0); + class87.updateRootInterface(rootInterface, 0, 0, Huffman.canvasWidth, MouseRecorder.canvasHeight, 0, 0); } ++cycleCntr; while (true) { - Widget var39; + Widget var26; Widget var40; - ScriptEvent var43; + ScriptEvent var42; do { - var43 = (ScriptEvent)field745.removeLast(); - if (var43 == null) { + var42 = (ScriptEvent)field731.removeLast(); + if (var42 == null) { while (true) { do { - var43 = (ScriptEvent)field693.removeLast(); - if (var43 == null) { + var42 = (ScriptEvent)field695.removeLast(); + if (var42 == null) { while (true) { do { - var43 = (ScriptEvent)scriptEvents.removeLast(); - if (var43 == null) { + var42 = (ScriptEvent)scriptEvents.removeLast(); + if (var42 == null) { this.menu(); - if (class65.worldMap != null) { - class65.worldMap.method6361(class391.Client_plane, (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX, (class129.localPlayer.y >> 7) + class320.baseY, false); - class65.worldMap.loadCache(); - } - + SequenceDefinition.method3381(); if (clickedWidget != null) { - this.method1159(); + this.method1349(); } - if (Decimator.dragInventoryWidget != null) { - Actor.invalidateWidget(Decimator.dragInventoryWidget); + if (GameEngine.dragInventoryWidget != null) { + class16.invalidateWidget(GameEngine.dragInventoryWidget); ++itemDragDuration; if (MouseHandler.MouseHandler_currentButton == 0) { - if (field668) { - if (GameBuild.hoveredItemContainer == Decimator.dragInventoryWidget && dragItemSlotDestination != dragItemSlotSource) { - Widget var45 = Decimator.dragInventoryWidget; - byte var36 = 0; - if (field609 == 1 && var45.contentType == 206) { - var36 = 1; + if (field602) { + if (Projectile.hoveredItemContainer == GameEngine.dragInventoryWidget && dragItemSlotDestination != dragItemSlotSource) { + Widget var43 = GameEngine.dragInventoryWidget; + byte var35 = 0; + if (field655 == 1 && var43.contentType == 206) { + var35 = 1; } - if (var45.itemIds[dragItemSlotDestination] <= 0) { - var36 = 0; + if (var43.itemIds[dragItemSlotDestination] <= 0) { + var35 = 0; } - var6 = Decimator.getWidgetFlags(var45); - boolean var37 = (var6 >> 29 & 1) != 0; - if (var37) { - var7 = dragItemSlotSource; - var8 = dragItemSlotDestination; - var45.itemIds[var8] = var45.itemIds[var7]; - var45.itemQuantities[var8] = var45.itemQuantities[var7]; - var45.itemIds[var7] = -1; - var45.itemQuantities[var7] = 0; - } else if (var36 == 1) { - var7 = dragItemSlotSource; - var8 = dragItemSlotDestination; + if (class114.method2493(WorldMapRegion.getWidgetFlags(var43))) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; + var43.itemIds[var7] = var43.itemIds[var6]; + var43.itemQuantities[var7] = var43.itemQuantities[var6]; + var43.itemIds[var6] = -1; + var43.itemQuantities[var6] = 0; + } else if (var35 == 1) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; - while (var7 != var8) { - if (var7 > var8) { - var45.swapItems(var7 - 1, var7); - --var7; - } else if (var7 < var8) { - var45.swapItems(var7 + 1, var7); - ++var7; + while (var6 != var7) { + if (var6 > var7) { + var43.swapItems(var6 - 1, var6); + --var6; + } else if (var6 < var7) { + var43.swapItems(var6 + 1, var6); + ++var6; } } } else { - var45.swapItems(dragItemSlotDestination, dragItemSlotSource); + var43.swapItems(dragItemSlotDestination, dragItemSlotSource); } - PacketBufferNode var28 = FriendSystem.getPacketBufferNode(ClientPacket.field2678, packetWriter.isaacCipher); - var28.packetBuffer.writeIntME(Decimator.dragInventoryWidget.id); - var28.packetBuffer.method6951(dragItemSlotSource); - var28.packetBuffer.method6819(var36); - var28.packetBuffer.method6851(dragItemSlotDestination); - packetWriter.addNode(var28); + var19 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2755, packetWriter.isaacCipher); + var19.packetBuffer.method7117(var35); + var19.packetBuffer.method7029(dragItemSlotSource); + var19.packetBuffer.method7029(dragItemSlotDestination); + var19.packetBuffer.writeInt(GameEngine.dragInventoryWidget.id); + packetWriter.addNode(var19); } } else if (this.shouldLeftClickOpenMenu()) { this.openMenu(draggedWidgetX, draggedWidgetY); } else if (menuOptionsCount > 0) { - var3 = draggedWidgetX; - var4 = draggedWidgetY; - MenuAction var42 = ArchiveDiskAction.tempMenuAction; - IgnoreList.menuAction(var42.param0, var42.param1, var42.opcode, var42.identifier, var42.action, var42.action, var3, var4); - ArchiveDiskAction.tempMenuAction = null; + Renderable.method4395(draggedWidgetX, draggedWidgetY); } - field727 = 10; + field620 = 10; MouseHandler.MouseHandler_lastButton = 0; - Decimator.dragInventoryWidget = null; + GameEngine.dragInventoryWidget = null; } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) { - field668 = true; + field602 = true; } } if (Scene.shouldSendWalk()) { - var3 = Scene.Scene_selectedX; - var4 = Scene.Scene_selectedY; - PacketBufferNode var44 = FriendSystem.getPacketBufferNode(ClientPacket.field2722, packetWriter.isaacCipher); - var44.packetBuffer.writeByte(5); - var44.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - var44.packetBuffer.method6951(var3 + FloorOverlayDefinition.baseX); - var44.packetBuffer.method6852(var4 + class320.baseY); - packetWriter.addNode(var44); - Scene.method4193(); + var4 = Scene.Scene_selectedX; + var5 = Scene.Scene_selectedY; + var19 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2703, packetWriter.isaacCipher); + var19.packetBuffer.writeByte(5); + var19.packetBuffer.method7029(var4 + WorldMapSectionType.baseX); + var19.packetBuffer.method6931(var5 + PlayerComposition.baseY); + var19.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + packetWriter.addNode(var19); + Scene.method4243(); mouseCrossX = MouseHandler.MouseHandler_lastPressedX; mouseCrossY = MouseHandler.MouseHandler_lastPressedY; mouseCrossColor = 1; mouseCrossState = 0; - destinationX = var3; - destinationY = var4; + destinationX = var4; + destinationY = var5; } - if (var38 != class301.mousedOverWidgetIf1) { - if (var38 != null) { - Actor.invalidateWidget(var38); + if (var39 != VarpDefinition.mousedOverWidgetIf1) { + if (var39 != null) { + class16.invalidateWidget(var39); } - if (class301.mousedOverWidgetIf1 != null) { - Actor.invalidateWidget(class301.mousedOverWidgetIf1); + if (VarpDefinition.mousedOverWidgetIf1 != null) { + class16.invalidateWidget(VarpDefinition.mousedOverWidgetIf1); } } - if (var35 != BufferedFile.field4227 && field583 == field640) { - if (var35 != null) { - Actor.invalidateWidget(var35); + if (var33 != PlayerType.field3661 && field642 == field557) { + if (var33 != null) { + class16.invalidateWidget(var33); } - if (BufferedFile.field4227 != null) { - Actor.invalidateWidget(BufferedFile.field4227); + if (PlayerType.field3661 != null) { + class16.invalidateWidget(PlayerType.field3661); } } - if (BufferedFile.field4227 != null) { - if (field583 < field640) { - ++field583; - if (field640 == field583) { - Actor.invalidateWidget(BufferedFile.field4227); + if (PlayerType.field3661 != null) { + if (field557 < field642) { + ++field557; + if (field557 == field642) { + class16.invalidateWidget(PlayerType.field3661); } } - } else if (field583 > 0) { - --field583; + } else if (field557 > 0) { + --field557; + } + + int var27; + if (oculusOrbState == 0) { + var4 = class67.localPlayer.x; + var5 = class67.localPlayer.y; + if (class132.oculusOrbFocalPointX - var4 < -500 || class132.oculusOrbFocalPointX - var4 > 500 || LoginScreenAnimation.oculusOrbFocalPointY - var5 < -500 || LoginScreenAnimation.oculusOrbFocalPointY - var5 > 500) { + class132.oculusOrbFocalPointX = var4; + LoginScreenAnimation.oculusOrbFocalPointY = var5; + } + + if (var4 != class132.oculusOrbFocalPointX) { + class132.oculusOrbFocalPointX += (var4 - class132.oculusOrbFocalPointX) / 16; + } + + if (var5 != LoginScreenAnimation.oculusOrbFocalPointY) { + LoginScreenAnimation.oculusOrbFocalPointY += (var5 - LoginScreenAnimation.oculusOrbFocalPointY) / 16; + } + + var6 = class132.oculusOrbFocalPointX >> 7; + var7 = LoginScreenAnimation.oculusOrbFocalPointY >> 7; + var8 = MidiPcmStream.getTileHeight(class132.oculusOrbFocalPointX, LoginScreenAnimation.oculusOrbFocalPointY, VertexNormal.Client_plane); + var9 = 0; + if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) { + for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) { + for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) { + var12 = VertexNormal.Client_plane; + if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) { + ++var12; + } + + var27 = var8 - Tiles.Tiles_heights[var12][var10][var11]; + if (var27 > var9) { + var9 = var27; + } + } + } + } + + var10 = var9 * 192; + if (var10 > 98048) { + var10 = 98048; + } + + if (var10 < 32768) { + var10 = 32768; + } + + if (var10 > field565) { + field565 += (var10 - field565) / 24; + } else if (var10 < field565) { + field565 += (var10 - field565) / 80; + } + + class194.field2186 = MidiPcmStream.getTileHeight(class67.localPlayer.x, class67.localPlayer.y, VertexNormal.Client_plane) - camFollowHeight; + } else if (oculusOrbState == 1) { + GrandExchangeOffer.method5422(); + short var36 = -1; + if (KeyHandler.KeyHandler_pressedKeys[33]) { + var36 = 0; + } else if (KeyHandler.KeyHandler_pressedKeys[49]) { + var36 = 1024; + } + + if (KeyHandler.KeyHandler_pressedKeys[48]) { + if (var36 == 0) { + var36 = 1792; + } else if (var36 == 1024) { + var36 = 1280; + } else { + var36 = 1536; + } + } else if (KeyHandler.KeyHandler_pressedKeys[50]) { + if (var36 == 0) { + var36 = 256; + } else if (var36 == 1024) { + var36 = 768; + } else { + var36 = 512; + } + } + + byte var37 = 0; + if (KeyHandler.KeyHandler_pressedKeys[35]) { + var37 = -1; + } else if (KeyHandler.KeyHandler_pressedKeys[51]) { + var37 = 1; + } + + var6 = 0; + if (var36 >= 0 || var37 != 0) { + var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed * 1796605093 * -601734355 : oculusOrbNormalSpeed * -1229982081 * -1571436161; + var6 *= 16; + field727 = var36; + field661 = var37; + } + + if (field567 < var6) { + field567 += var6 / 8; + if (field567 > var6) { + field567 = var6; + } + } else if (field567 > var6) { + field567 = field567 * 9 / 10; + } + + if (field567 > 0) { + var7 = field567 / 16; + if (field727 >= 0) { + var4 = field727 - HealthBarUpdate.cameraYaw & 2047; + var8 = Rasterizer3D.Rasterizer3D_sine[var4]; + var9 = Rasterizer3D.Rasterizer3D_cosine[var4]; + class132.oculusOrbFocalPointX += var8 * var7 / 65536; + LoginScreenAnimation.oculusOrbFocalPointY += var9 * var7 / 65536; + } + + if (field661 != 0) { + class194.field2186 += var7 * field661; + if (class194.field2186 > 0) { + class194.field2186 = 0; + } + } + } else { + field727 = -1; + field661 = -1; + } + + if (KeyHandler.KeyHandler_pressedKeys[13]) { + KitDefinition.method2956(); + } + } + + if (MouseHandler.MouseHandler_currentButton == 4 && VarbitComposition.mouseCam) { + var4 = MouseHandler.MouseHandler_y - mouseCamClickedY; + camAngleDX = var4 * 2; + mouseCamClickedY = var4 != -1 && var4 != 1 ? (mouseCamClickedY + MouseHandler.MouseHandler_y) / 2 : MouseHandler.MouseHandler_y * -618093599 * 2082398241; + var5 = mouseCamClickedX - MouseHandler.MouseHandler_x; + camAngleDY = var5 * 2; + mouseCamClickedX = var5 != -1 && var5 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x * 1104277309 * -782573547; + } else { + if (KeyHandler.KeyHandler_pressedKeys[96]) { + camAngleDY += (-24 - camAngleDY) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[97]) { + camAngleDY += (24 - camAngleDY) / 2; + } else { + camAngleDY /= 2; + } + + if (KeyHandler.KeyHandler_pressedKeys[98]) { + camAngleDX += (12 - camAngleDX) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[99]) { + camAngleDX += (-12 - camAngleDX) / 2; + } else { + camAngleDX /= 2; + } + + mouseCamClickedY = MouseHandler.MouseHandler_y; + mouseCamClickedX = MouseHandler.MouseHandler_x; + } + + camAngleY = camAngleDY / 2 + camAngleY & 2047; + camAngleX += camAngleDX / 2; + if (camAngleX < 128) { + camAngleX = 128; + } + + if (camAngleX > 383) { + camAngleX = 383; } - class275.method5067(); if (isCameraLocked) { - class17.method231(); + var4 = PcmPlayer.field284 * 128 + 64; + var5 = class120.field1408 * 128 + 64; + var6 = MidiPcmStream.getTileHeight(var4, var5, VertexNormal.Client_plane) - PacketBufferNode.field2786; + if (Canvas.cameraX < var4) { + Canvas.cameraX = (var4 - Canvas.cameraX) * class281.field3324 / 1000 + Canvas.cameraX + Login.field906; + if (Canvas.cameraX > var4) { + Canvas.cameraX = var4; + } + } + + if (Canvas.cameraX > var4) { + Canvas.cameraX -= class281.field3324 * (Canvas.cameraX - var4) / 1000 + Login.field906; + if (Canvas.cameraX < var4) { + Canvas.cameraX = var4; + } + } + + if (class14.cameraY < var6) { + class14.cameraY = (var6 - class14.cameraY) * class281.field3324 / 1000 + class14.cameraY + Login.field906; + if (class14.cameraY > var6) { + class14.cameraY = var6; + } + } + + if (class14.cameraY > var6) { + class14.cameraY -= class281.field3324 * (class14.cameraY - var6) / 1000 + Login.field906; + if (class14.cameraY < var6) { + class14.cameraY = var6; + } + } + + if (VarpDefinition.cameraZ < var5) { + VarpDefinition.cameraZ = (var5 - VarpDefinition.cameraZ) * class281.field3324 / 1000 + VarpDefinition.cameraZ + Login.field906; + if (VarpDefinition.cameraZ > var5) { + VarpDefinition.cameraZ = var5; + } + } + + if (VarpDefinition.cameraZ > var5) { + VarpDefinition.cameraZ -= class281.field3324 * (VarpDefinition.cameraZ - var5) / 1000 + Login.field906; + if (VarpDefinition.cameraZ < var5) { + VarpDefinition.cameraZ = var5; + } + } + + var4 = Varcs.field1272 * 128 + 64; + var5 = World.field774 * 128 + 64; + var6 = MidiPcmStream.getTileHeight(var4, var5, VertexNormal.Client_plane) - class9.field44; + var7 = var4 - Canvas.cameraX; + var8 = var6 - class14.cameraY; + var9 = var5 - VarpDefinition.cameraZ; + var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); + var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; + var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; + if (var11 < 128) { + var11 = 128; + } + + if (var11 > 383) { + var11 = 383; + } + + if (WorldMapIcon_1.cameraPitch < var11) { + WorldMapIcon_1.cameraPitch = (var11 - WorldMapIcon_1.cameraPitch) * AbstractArchive.field3712 / 1000 + WorldMapIcon_1.cameraPitch + SequenceDefinition.field1954; + if (WorldMapIcon_1.cameraPitch > var11) { + WorldMapIcon_1.cameraPitch = var11; + } + } + + if (WorldMapIcon_1.cameraPitch > var11) { + WorldMapIcon_1.cameraPitch -= AbstractArchive.field3712 * (WorldMapIcon_1.cameraPitch - var11) / 1000 + SequenceDefinition.field1954; + if (WorldMapIcon_1.cameraPitch < var11) { + WorldMapIcon_1.cameraPitch = var11; + } + } + + var27 = var12 - HealthBarUpdate.cameraYaw; + if (var27 > 1024) { + var27 -= 2048; + } + + if (var27 < -1024) { + var27 += 2048; + } + + if (var27 > 0) { + HealthBarUpdate.cameraYaw = HealthBarUpdate.cameraYaw + SequenceDefinition.field1954 + var27 * AbstractArchive.field3712 / 1000; + HealthBarUpdate.cameraYaw &= 2047; + } + + if (var27 < 0) { + HealthBarUpdate.cameraYaw -= -var27 * AbstractArchive.field3712 / 1000 + SequenceDefinition.field1954; + HealthBarUpdate.cameraYaw &= 2047; + } + + int var14 = var12 - HealthBarUpdate.cameraYaw; + if (var14 > 1024) { + var14 -= 2048; + } + + if (var14 < -1024) { + var14 += 2048; + } + + if (var14 < 0 && var27 > 0 || var14 > 0 && var27 < 0) { + HealthBarUpdate.cameraYaw = var12; + } } - for (var3 = 0; var3 < 5; ++var3) { - var10002 = field740[var3]++; + for (var4 = 0; var4 < 5; ++var4) { + int var10002 = field743[var4]++; } - GrandExchangeEvent.varcs.tryWrite(); - var3 = SoundSystem.method780(); - var4 = KeyHandler.KeyHandler_idleCycles; - if (var3 > 15000 && var4 > 15000) { + Tile.varcs.tryWrite(); + var4 = ++MouseHandler.MouseHandler_idleCycles - 1; + var6 = JagexCache.method2815(); + PacketBufferNode var28; + if (var4 > 15000 && var6 > 15000) { logoutTimer = 250; - MenuAction.method1875(14500); - var18 = FriendSystem.getPacketBufferNode(ClientPacket.field2696, packetWriter.isaacCipher); - packetWriter.addNode(var18); + class130.method2677(14500); + var28 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2727, packetWriter.isaacCipher); + packetWriter.addNode(var28); } - class20.friendSystem.processFriendUpdates(); + Message.friendSystem.processFriendUpdates(); ++packetWriter.pendingWrites; if (packetWriter.pendingWrites > 50) { - var18 = FriendSystem.getPacketBufferNode(ClientPacket.field2704, packetWriter.isaacCipher); - packetWriter.addNode(var18); + var28 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2706, packetWriter.isaacCipher); + packetWriter.addNode(var28); } try { packetWriter.flush(); } catch (IOException var29) { - class245.method4590(); + class20.method302(); } return; } - var39 = var43.widget; - if (var39.childIndex < 0) { + var26 = var42.widget; + if (var26.childIndex < 0) { break; } - var40 = class87.getWidget(var39.parentId); - } while(var40 == null || var40.children == null || var39.childIndex >= var40.children.length || var39 != var40.children[var39.childIndex]); + var40 = HealthBarUpdate.getWidget(var26.parentId); + } while(var40 == null || var40.children == null || var26.childIndex >= var40.children.length || var26 != var40.children[var26.childIndex]); - class139.runScriptEvent(var43); + ViewportMouse.runScriptEvent(var42); } } - var39 = var43.widget; - if (var39.childIndex < 0) { + var26 = var42.widget; + if (var26.childIndex < 0) { break; } - var40 = class87.getWidget(var39.parentId); - } while(var40 == null || var40.children == null || var39.childIndex >= var40.children.length || var39 != var40.children[var39.childIndex]); + var40 = HealthBarUpdate.getWidget(var26.parentId); + } while(var40 == null || var40.children == null || var26.childIndex >= var40.children.length || var26 != var40.children[var26.childIndex]); - class139.runScriptEvent(var43); + ViewportMouse.runScriptEvent(var42); } } - var39 = var43.widget; - if (var39.childIndex < 0) { + var26 = var42.widget; + if (var26.childIndex < 0) { break; } - var40 = class87.getWidget(var39.parentId); - } while(var40 == null || var40.children == null || var39.childIndex >= var40.children.length || var39 != var40.children[var39.childIndex]); + var40 = HealthBarUpdate.getWidget(var26.parentId); + } while(var40 == null || var40.children == null || var26.childIndex >= var40.children.length || var26 != var40.children[var26.childIndex]); - class139.runScriptEvent(var43); + ViewportMouse.runScriptEvent(var42); } } - var32 = FriendSystem.getPacketBufferNode(ClientPacket.field2737, packetWriter.isaacCipher); + var32 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2704, packetWriter.isaacCipher); var32.packetBuffer.writeByte(0); var3 = var32.packetBuffer.offset; - class139.performReflectionCheck(var32.packetBuffer); - var32.packetBuffer.method6812(var32.packetBuffer.offset - var3); + KitDefinition.performReflectionCheck(var32.packetBuffer); + var32.packetBuffer.method6918(var32.packetBuffer.offset - var3); packetWriter.addNode(var32); } } } } - @ObfuscatedName("gu") + @ObfuscatedName("fr") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "58" + descriptor = "(I)V", + garbageValue = "295331823" ) @Export("resizeJS") void resizeJS() { - int var1 = InvDefinition.canvasWidth; - int var2 = GameEngine.canvasHeight; + int var1 = Huffman.canvasWidth; + int var2 = MouseRecorder.canvasHeight; if (super.contentWidth < var1) { var1 = super.contentWidth; } @@ -4388,227 +3922,146 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { var2 = super.contentHeight; } - if (VarbitComposition.clientPreferences != null) { + if (WorldMapDecorationType.clientPreferences != null) { try { - Client var3 = ArchiveDiskActionHandler.client; - Object[] var4 = new Object[]{class12.getWindowedMode()}; - JSObject.getWindow(var3).call("resize", var4); - } catch (Throwable var5) { + class27.method406(class21.client, "resize", new Object[]{class12.getWindowedMode()}); + } catch (Throwable var4) { } } } - @ObfuscatedName("gy") + @ObfuscatedName("fx") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1201756774" + garbageValue = "1818223582" ) @Export("drawLoggedIn") final void drawLoggedIn() { int var1; if (rootInterface != -1) { var1 = rootInterface; - if (class317.loadInterface(var1)) { - class113.drawModelComponents(class139.Widget_interfaceComponents[var1], -1); + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var1)) { + class9.drawModelComponents(Widget.Widget_interfaceComponents[var1], -1); } } for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field697[var1]) { - field766[var1] = true; + if (field710[var1]) { + field701[var1] = true; } - field687[var1] = field697[var1]; - field697[var1] = false; + field525[var1] = field710[var1]; + field710[var1] = false; } - field696 = cycle; + field699 = cycle; viewportX = -1; viewportY = -1; - GameBuild.hoveredItemContainer = null; + Projectile.hoveredItemContainer = null; if (rootInterface != -1) { rootWidgetCount = 0; - class28.drawWidgets(rootInterface, 0, 0, InvDefinition.canvasWidth, GameEngine.canvasHeight, 0, 0, -1); + Canvas.drawWidgets(rootInterface, 0, 0, Huffman.canvasWidth, MouseRecorder.canvasHeight, 0, 0, -1); } Rasterizer2D.Rasterizer2D_resetClip(); if (showMouseCross) { if (mouseCrossColor == 1) { - class13.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + SecureRandomFuture.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); } if (mouseCrossColor == 2) { - class13.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + SecureRandomFuture.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); } } - int var2; - int var3; if (!isMenuOpen) { if (viewportX != -1) { var1 = viewportX; - var2 = viewportY; + int var2 = viewportY; if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) { - var3 = class28.method410(); - String var4; + int var3 = menuOptionsCount - 1; + String var5; if (isItemSelected == 1 && menuOptionsCount < 2) { - var4 = "Use" + " " + selectedItemName + " " + "->"; + var5 = "Use" + " " + selectedItemName + " " + "->"; } else if (isSpellSelected && menuOptionsCount < 2) { - var4 = selectedSpellActionName + " " + selectedSpellName + " " + "->"; + var5 = selectedSpellActionName + " " + selectedSpellName + " " + "->"; } else { - String var5; + String var6; if (var3 < 0) { - var5 = ""; + var6 = ""; } else if (menuTargets[var3].length() > 0) { - var5 = menuActions[var3] + " " + menuTargets[var3]; + var6 = menuActions[var3] + " " + menuTargets[var3]; } else { - var5 = menuActions[var3]; + var6 = menuActions[var3]; } - var4 = var5; + var5 = var6; } if (menuOptionsCount > 2) { - var4 = var4 + class54.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options"; + var5 = var5 + FloorUnderlayDefinition.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options"; } - class11.fontBold12.drawRandomAlphaAndSpacing(var4, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000); + Interpreter.fontBold12.drawRandomAlphaAndSpacing(var5, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000); } } } else { - class394.method6737(); + SecureRandomCallable.method2035(); } if (gameDrawingMode == 3) { for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field687[var1]) { + if (field525[var1]) { Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); - } else if (field766[var1]) { + } else if (field701[var1]) { Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); } } } - var1 = class391.Client_plane; - var2 = class129.localPlayer.x; - var3 = class129.localPlayer.y; - int var12 = field764; - - for (ObjectSound var14 = (ObjectSound)ObjectSound.objectSounds.last(); var14 != null; var14 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var14.soundEffectId != -1 || var14.soundEffectIds != null) { - int var6 = 0; - if (var2 > var14.field806) { - var6 += var2 - var14.field806; - } else if (var2 < var14.x) { - var6 += var14.x - var2; - } - - if (var3 > var14.field801) { - var6 += var3 - var14.field801; - } else if (var3 < var14.y) { - var6 += var14.y - var3; - } - - if (var6 - 64 <= var14.field804 && VarbitComposition.clientPreferences.areaSoundEffectsVolume != 0 && var1 == var14.plane) { - var6 -= 64; - if (var6 < 0) { - var6 = 0; - } - - int var7 = (var14.field804 - var6) * VarbitComposition.clientPreferences.areaSoundEffectsVolume / var14.field804; - Object var10000; - if (var14.stream1 == null) { - if (var14.soundEffectId >= 0) { - var10000 = null; - SoundEffect var8 = SoundEffect.readSoundEffect(ReflectionCheck.archive4, var14.soundEffectId, 0); - if (var8 != null) { - RawSound var9 = var8.toRawSound().resample(Language.decimator); - RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7); - var10.setNumLoops(-1); - MusicPatchPcmStream.pcmStreamMixer.addSubStream(var10); - var14.stream1 = var10; - } - } - } else { - var14.stream1.method801(var7); - } - - if (var14.stream2 == null) { - if (var14.soundEffectIds != null && (var14.field808 -= var12) <= 0) { - int var13 = (int)(Math.random() * (double)var14.soundEffectIds.length); - var10000 = null; - SoundEffect var15 = SoundEffect.readSoundEffect(ReflectionCheck.archive4, var14.soundEffectIds[var13], 0); - if (var15 != null) { - RawSound var16 = var15.toRawSound().resample(Language.decimator); - RawPcmStream var11 = RawPcmStream.createRawPcmStream(var16, 100, var7); - var11.setNumLoops(0); - MusicPatchPcmStream.pcmStreamMixer.addSubStream(var11); - var14.stream2 = var11; - var14.field808 = var14.field805 + (int)(Math.random() * (double)(var14.field800 - var14.field805)); - } - } - } else { - var14.stream2.method801(var7); - if (!var14.stream2.hasNext()) { - var14.stream2 = null; - } - } - } else { - if (var14.stream1 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var14.stream1); - var14.stream1 = null; - } - - if (var14.stream2 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var14.stream2); - var14.stream2 = null; - } - } - } - } - - field764 = 0; + class194.method3875(VertexNormal.Client_plane, class67.localPlayer.x, class67.localPlayer.y, field536); + field536 = 0; } - @ObfuscatedName("hr") + @ObfuscatedName("hj") @ObfuscatedSignature( - descriptor = "(Lcs;I)Z", - garbageValue = "-45338133" + descriptor = "(Lcc;I)Z", + garbageValue = "-382316023" ) - final boolean method1228(PacketWriter var1) { + final boolean method1307(PacketWriter var1) { AbstractSocket var2 = var1.getSocket(); PacketBuffer var3 = var1.packetBuffer; if (var2 == null) { return false; } else { int var6; - String var20; + String var18; try { int var5; if (var1.serverPacket == null) { - if (var1.field1285) { + if (var1.field1289) { if (!var2.isAvailable(1)) { return false; } var2.read(var1.packetBuffer.array, 0, 1); - var1.field1279 = 0; - var1.field1285 = false; + var1.field1290 = 0; + var1.field1289 = false; } var3.offset = 0; - if (var3.method6763()) { + if (var3.method6848()) { if (!var2.isAvailable(1)) { return false; } var2.read(var1.packetBuffer.array, 1, 1); - var1.field1279 = 0; + var1.field1290 = 0; } - var1.field1285 = true; - ServerPacket[] var4 = WorldMapIcon_1.ServerPacket_values(); + var1.field1289 = true; + ServerPacket[] var4 = WallDecoration.ServerPacket_values(); var5 = var3.readSmartByteShortIsaac(); if (var5 < 0 || var5 >= var4.length) { throw new IOException(var5 + " " + var3.offset); @@ -4643,461 +4096,168 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { var3.offset = 0; var2.read(var3.array, 0, var1.serverPacketLength); - var1.field1279 = 0; - timer.method5821(); - var1.field1290 = var1.field1289; - var1.field1289 = var1.field1288; - var1.field1288 = var1.serverPacket; - if (ServerPacket.field2795 == var1.serverPacket) { - class67.method1877(); - weight = var3.readShort(); - field695 = cycleCntr; + var1.field1290 = 0; + timer.method5903(); + var1.field1288 = var1.field1293; + var1.field1293 = var1.field1281; + var1.field1281 = var1.serverPacket; + int var17; + Widget var63; + if (ServerPacket.field2862 == var1.serverPacket) { + var17 = var3.method6944(); + var63 = HealthBarUpdate.getWidget(var17); + + for (var6 = 0; var6 < var63.itemIds.length; ++var6) { + var63.itemIds[var6] = -1; + var63.itemIds[var6] = 0; + } + + class16.invalidateWidget(var63); var1.serverPacket = null; return true; } - if (ServerPacket.field2810 == var1.serverPacket) { - class134.updateNpcs(true, var3); + byte var68; + if (ServerPacket.field2809 == var1.serverPacket) { + AbstractArchive.method5325(); + var68 = var3.readByte(); + if (var1.serverPacketLength == 1) { + if (var68 >= 0) { + currentClanSettings[var68] = null; + } else { + class114.guestClanSettings = null; + } + + var1.serverPacket = null; + return true; + } + + if (var68 >= 0) { + currentClanSettings[var68] = new ClanSettings(var3); + } else { + class114.guestClanSettings = new ClanSettings(var3); + } + var1.serverPacket = null; return true; } - if (ServerPacket.field2791 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2751); + if (ServerPacket.field2881 == var1.serverPacket) { + field594 = cycleCntr; + var68 = var3.readByte(); + class133 var73 = new class133(var3); + ClanChannel var77; + if (var68 >= 0) { + var77 = currentClanChannels[var68]; + } else { + var77 = GrandExchangeOfferNameComparator.guestClanChannel; + } + + var73.method2701(var77); + var1.serverPacket = null; + return true; + } + + boolean var64; + if (ServerPacket.field2847 == var1.serverPacket) { + var64 = var3.readUnsignedByte() == 1; + if (var64) { + class119.field1395 = UserComparator4.method2406() - var3.readLong(); + class6.grandExchangeEvents = new GrandExchangeEvents(var3, true); + } else { + class6.grandExchangeEvents = null; + } + + field489 = cycleCntr; + var1.serverPacket = null; + return true; + } + + int var7; + int var8; + int var9; + if (ServerPacket.field2844 == var1.serverPacket) { + var17 = var3.method6933(); + var5 = var3.method6945(); + var6 = var17 >> 10 & 31; + var7 = var17 >> 5 & 31; + var8 = var17 & 31; + var9 = (var7 << 11) + (var6 << 19) + (var8 << 3); + Widget var54 = HealthBarUpdate.getWidget(var5); + if (var9 != var54.color) { + var54.color = var9; + class16.invalidateWidget(var54); + } + + var1.serverPacket = null; + return true; + } + + String var76; + if (ServerPacket.field2861 == var1.serverPacket) { + byte[] var50 = new byte[var1.serverPacketLength]; + var3.method6853(var50, 0, var50.length); + Buffer var71 = new Buffer(var50); + var76 = var71.readStringCp1252NullTerminated(); + LoginScreenAnimation.openURL(var76, true, false); + var1.serverPacket = null; + return true; + } + + InterfaceParent var20; + if (ServerPacket.field2820 == var1.serverPacket) { + var17 = var3.method7059(); + var5 = var3.method6927(); + var6 = var3.method6876(); + var20 = (InterfaceParent)interfaceParents.get((long)var6); + if (var20 != null) { + WorldMapLabelSize.closeInterface(var20, var17 != var20.group); + } + + class4.method23(var6, var17, var5); var1.serverPacket = null; return true; } if (ServerPacket.field2802 == var1.serverPacket) { - destinationX = var3.readUnsignedByte(); - if (destinationX == 255) { - destinationX = 0; - } - - destinationY = var3.readUnsignedByte(); - if (destinationY == 255) { - destinationY = 0; - } - + class295.method5382(var3.readStringCp1252NullTerminated()); var1.serverPacket = null; return true; } - if (ServerPacket.field2788 == var1.serverPacket) { - tradeChatMode = var3.method6844(); - publicChatMode = var3.method7007(); - var1.serverPacket = null; - return true; - } - - int var17; - Widget var53; - if (ServerPacket.field2780 == var1.serverPacket) { - var17 = var3.method6953(); - var5 = var3.method6826(); - var6 = var3.method6853(); - if (var6 == 65535) { - var6 = -1; - } - - var53 = class87.getWidget(var17); - ItemComposition var55; - if (!var53.isIf3) { - if (var6 == -1) { - var53.modelType = 0; - var1.serverPacket = null; - return true; - } - - var55 = class65.ItemDefinition_get(var6); - var53.modelType = 4; - var53.modelId = var6; - var53.modelAngleX = var55.xan2d; - var53.modelAngleY = var55.yan2d; - var53.modelZoom = var55.zoom2d * 100 / var5; - Actor.invalidateWidget(var53); - } else { - var53.itemId = var6; - var53.itemQuantity = var5; - var55 = class65.ItemDefinition_get(var6); - var53.modelAngleX = var55.xan2d; - var53.modelAngleY = var55.yan2d; - var53.modelAngleZ = var55.zan2d; - var53.modelOffsetX = var55.offsetX2d; - var53.modelOffsetY = var55.offsetY2d; - var53.modelZoom = var55.zoom2d; - if (var55.isStackable == 1) { - var53.itemQuantityMode = 1; - } else { - var53.itemQuantityMode = 2; - } - - if (var53.field3089 > 0) { - var53.modelZoom = var53.modelZoom * 32 / var53.field3089; - } else if (var53.rawWidth > 0) { - var53.modelZoom = var53.modelZoom * 32 / var53.rawWidth; - } - - Actor.invalidateWidget(var53); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2831 == var1.serverPacket) { - var17 = var3.readUnsignedShort(); - rootInterface = var17; - this.resizeRoot(false); - class18.Widget_resetModelFrames(var17); - UserComparator7.runWidgetOnLoadListener(rootInterface); - - for (var5 = 0; var5 < 100; ++var5) { - field697[var5] = true; - } - - var1.serverPacket = null; - return true; - } - - String var72; - if (ServerPacket.field2835 == var1.serverPacket) { - var17 = var3.readUShortSmart(); - boolean var60 = var3.readUnsignedByte() == 1; - var72 = ""; - boolean var74 = false; - if (var60) { - var72 = var3.readStringCp1252NullTerminated(); - if (class20.friendSystem.isIgnored(new Username(var72, SoundCache.loginType))) { - var74 = true; - } - } - - String var54 = var3.readStringCp1252NullTerminated(); - if (!var74) { - SecureRandomCallable.addGameMessage(var17, var72, var54); - } - - var1.serverPacket = null; - return true; - } - - int var15; - String var25; - byte var67; - if (ServerPacket.field2856 == var1.serverPacket) { - var67 = var3.readByte(); - var20 = var3.readStringCp1252NullTerminated(); - long var21 = (long)var3.readUnsignedShort(); - long var23 = (long)var3.readMedium(); - PlayerType var57 = (PlayerType)class260.findEnumerated(StructComposition.PlayerType_values(), var3.readUnsignedByte()); - long var11 = (var21 << 32) + var23; - boolean var58 = false; - ClanChannel var14 = null; - var14 = var67 >= 0 ? currentClanChannels[var67] : WorldMapSectionType.guestClanChannel; - if (var14 == null) { - var58 = true; - } else { - var15 = 0; - - while (true) { - if (var15 >= 100) { - if (var57.isUser && class20.friendSystem.isIgnored(new Username(var20, SoundCache.loginType))) { - var58 = true; - } - break; - } - - if (var11 == crossWorldMessageIds[var15]) { - var58 = true; - break; - } - - ++var15; - } - } - - if (!var58) { - crossWorldMessageIds[crossWorldMessageIdsIndex] = var11; - crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; - var25 = AbstractFont.escapeBrackets(FloorDecoration.method4029(var3)); - int var16 = var67 >= 0 ? 41 : 44; - if (var57.modIcon != -1) { - FriendSystem.addChatMessage(var16, ApproximateRouteStrategy.method1122(var57.modIcon) + var20, var25, var14.name); - } else { - FriendSystem.addChatMessage(var16, var20, var25, var14.name); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2837 == var1.serverPacket) { - JagexCache.field1559 = var3.method6849(); - WorldMapEvent.field2216 = var3.method6849(); - var1.serverPacket = null; - return true; - } - - int var13; - long var26; - long var28; - String var32; - String var46; - if (ServerPacket.field2790 == var1.serverPacket) { - var46 = var3.readStringCp1252NullTerminated(); - var26 = (long)var3.readUnsignedShort(); - var28 = (long)var3.readMedium(); - PlayerType var9 = (PlayerType)class260.findEnumerated(StructComposition.PlayerType_values(), var3.readUnsignedByte()); - long var30 = var28 + (var26 << 32); - boolean var12 = false; - - for (var13 = 0; var13 < 100; ++var13) { - if (crossWorldMessageIds[var13] == var30) { - var12 = true; - break; - } - } - - if (class20.friendSystem.isIgnored(new Username(var46, SoundCache.loginType))) { - var12 = true; - } - - if (!var12 && field602 == 0) { - crossWorldMessageIds[crossWorldMessageIdsIndex] = var30; - crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; - var32 = AbstractFont.escapeBrackets(class113.method2480(FloorDecoration.method4029(var3))); - byte var77; - if (var9.isPrivileged) { - var77 = 7; - } else { - var77 = 3; - } - - if (var9.modIcon != -1) { - SecureRandomCallable.addGameMessage(var77, ApproximateRouteStrategy.method1122(var9.modIcon) + var46, var32); - } else { - SecureRandomCallable.addGameMessage(var77, var46, var32); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2806 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2749); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2833 == var1.serverPacket) { - for (var17 = 0; var17 < players.length; ++var17) { - if (players[var17] != null) { - players[var17].sequence = -1; - } - } - - for (var17 = 0; var17 < npcs.length; ++var17) { - if (npcs[var17] != null) { - npcs[var17].sequence = -1; - } - } - - var1.serverPacket = null; - return true; - } - - long var34; - long var37; - if (ServerPacket.field2840 == var1.serverPacket) { - var46 = var3.readStringCp1252NullTerminated(); - var26 = var3.readLong(); - var28 = (long)var3.readUnsignedShort(); - var34 = (long)var3.readMedium(); - PlayerType var78 = (PlayerType)class260.findEnumerated(StructComposition.PlayerType_values(), var3.readUnsignedByte()); - var37 = (var28 << 32) + var34; - boolean var76 = false; - - for (var15 = 0; var15 < 100; ++var15) { - if (crossWorldMessageIds[var15] == var37) { - var76 = true; - break; - } - } - - if (var78.isUser && class20.friendSystem.isIgnored(new Username(var46, SoundCache.loginType))) { - var76 = true; - } - - if (!var76 && field602 == 0) { - crossWorldMessageIds[crossWorldMessageIdsIndex] = var37; - crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; - var25 = AbstractFont.escapeBrackets(class113.method2480(FloorDecoration.method4029(var3))); - if (var78.modIcon != -1) { - FriendSystem.addChatMessage(9, ApproximateRouteStrategy.method1122(var78.modIcon) + var46, var25, UserComparator8.base37DecodeLong(var26)); - } else { - FriendSystem.addChatMessage(9, var46, var25, UserComparator8.base37DecodeLong(var26)); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2809 == var1.serverPacket) { - if (class117.field1388 == null) { - class117.field1388 = new class352(class125.HitSplatDefinition_cachedSprites); - } - - class407 var51 = class125.HitSplatDefinition_cachedSprites.method6250(var3); - class117.field1388.field4023.vmethod6606(var51.field4339, var51.field4340); - field680[++field715 - 1 & 31] = var51.field4339; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2861 == var1.serverPacket) { - var46 = var3.readStringCp1252NullTerminated(); - Object[] var71 = new Object[var46.length() + 1]; - - for (var6 = var46.length() - 1; var6 >= 0; --var6) { - if (var46.charAt(var6) == 's') { - var71[var6 + 1] = var3.readStringCp1252NullTerminated(); - } else { - var71[var6 + 1] = new Integer(var3.readInt()); - } - } - - var71[0] = new Integer(var3.readInt()); - ScriptEvent var75 = new ScriptEvent(); - var75.args = var71; - class139.runScriptEvent(var75); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2821 == var1.serverPacket) { - Frames.readReflectionCheck(var3, var1.serverPacketLength); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2849 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2760); - var1.serverPacket = null; - return true; - } - - InterfaceParent var7; - if (ServerPacket.field2822 == var1.serverPacket) { - var17 = var3.method6940(); - var5 = var3.readInt(); - var6 = var3.method6849(); - var7 = (InterfaceParent)interfaceParents.get((long)var5); - if (var7 != null) { - WorldMapID.closeInterface(var7, var17 != var7.group); - } - - VertexNormal.method4475(var5, var17, var6); - var1.serverPacket = null; - return true; - } - - Widget var18; - if (ServerPacket.field2832 == var1.serverPacket) { - var17 = var3.readShort(); - var5 = var3.method6953(); - var18 = class87.getWidget(var5); - if (var17 != var18.sequenceId || var17 == -1) { - var18.sequenceId = var17; - var18.modelFrame = 0; - var18.modelFrameCycle = 0; - Actor.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2796 == var1.serverPacket) { - Actor.method2132(var3.readStringCp1252NullTerminated()); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2839 == var1.serverPacket) { - var3.offset += 28; - if (var3.checkCrc()) { - class262.method4999(var3, var3.offset - 28); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2808 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.method6855(); + Widget var21; + if (ServerPacket.field2794 == var1.serverPacket) { + var17 = var3.method6945(); + var5 = var3.method6933(); var6 = var3.readUnsignedShort(); - var53 = class87.getWidget(var17); - var53.field3101 = var6 + (var5 << 16); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2799 == var1.serverPacket) { - World var50 = new World(); - var50.host = var3.readStringCp1252NullTerminated(); - var50.id = var3.readUnsignedShort(); - var5 = var3.readInt(); - var50.properties = var5; - HealthBarUpdate.updateGameState(45); - var2.close(); - var2 = null; - ScriptFrame.changeWorld(var50); - var1.serverPacket = null; - return false; - } - - Widget var70; - if (ServerPacket.field2864 == var1.serverPacket) { - var17 = var3.method6826(); - var70 = class87.getWidget(var17); - - for (var6 = 0; var6 < var70.itemIds.length; ++var6) { - var70.itemIds[var6] = -1; - var70.itemIds[var6] = 0; + var7 = var3.method7059(); + var21 = HealthBarUpdate.getWidget(var17); + if (var7 != var21.modelAngleX || var6 != var21.modelAngleY || var5 != var21.modelZoom) { + var21.modelAngleX = var7; + var21.modelAngleY = var6; + var21.modelZoom = var5; + class16.invalidateWidget(var21); } - Actor.invalidateWidget(var70); var1.serverPacket = null; return true; } - if (ServerPacket.field2798 == var1.serverPacket) { - class67.method1877(); - runEnergy = var3.readUnsignedByte(); - field695 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2803 == var1.serverPacket) { - var17 = var3.readShort(); - var5 = var3.method6857(); - var6 = var3.readInt(); - var53 = class87.getWidget(var6); - if (var17 != var53.rawX || var5 != var53.rawY || var53.xAlignment != 0 || var53.yAlignment != 0) { - var53.rawX = var17; - var53.rawY = var5; - var53.xAlignment = 0; - var53.yAlignment = 0; - Actor.invalidateWidget(var53); - this.alignWidget(var53); - if (var53.type == 0) { - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var6 >> 16], var53, false); + Widget var69; + if (ServerPacket.field2865 == var1.serverPacket) { + var17 = var3.method6945(); + var5 = var3.method6937(); + var6 = var3.method6936(); + var69 = HealthBarUpdate.getWidget(var17); + if (var6 != var69.rawX || var5 != var69.rawY || var69.xAlignment != 0 || var69.yAlignment != 0) { + var69.rawX = var6; + var69.rawY = var5; + var69.xAlignment = 0; + var69.yAlignment = 0; + class16.invalidateWidget(var69); + this.alignWidget(var69); + if (var69.type == 0) { + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var17 >> 16], var69, false); } } @@ -5105,114 +4265,152 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { return true; } - if (ServerPacket.field2781 == var1.serverPacket) { - isCameraLocked = false; + if (ServerPacket.field2853 == var1.serverPacket) { + class120.method2530(); + var17 = var3.method6927(); + var5 = var3.method6926(); + var6 = var3.method6876(); + experience[var17] = var6; + currentLevels[var17] = var5; + levels[var17] = 1; - for (var17 = 0; var17 < 5; ++var17) { - field736[var17] = false; - } - - var1.serverPacket = null; - return true; - } - - int var19; - if (ServerPacket.field2851 == var1.serverPacket) { - var17 = var3.readUnsignedByte(); - var5 = var3.readUnsignedByte(); - var6 = var3.readUnsignedByte(); - var19 = var3.readUnsignedByte(); - field736[var17] = true; - field484[var17] = var5; - field738[var17] = var6; - field686[var17] = var19; - field740[var17] = 0; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2858 == var1.serverPacket) { - class117.field1388 = new class352(class125.HitSplatDefinition_cachedSprites); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2784 == var1.serverPacket) { - class67.method1877(); - var17 = var3.method7007(); - var5 = var3.method6826(); - var6 = var3.method7007(); - experience[var6] = var5; - currentLevels[var6] = var17; - levels[var6] = 1; - - for (var19 = 0; var19 < 98; ++var19) { - if (var5 >= Skills.Skills_experienceTable[var19]) { - levels[var6] = var19 + 2; + for (var7 = 0; var7 < 98; ++var7) { + if (var6 >= Skills.Skills_experienceTable[var7]) { + levels[var17] = var7 + 2; } } - changedSkills[++changedSkillsCount - 1 & 31] = var6; + changedSkills[++changedSkillsCount - 1 & 31] = var17; var1.serverPacket = null; return true; } - if (ServerPacket.field2804 == var1.serverPacket) { - Varcs.method2302(); - var67 = var3.readByte(); - if (var1.serverPacketLength == 1) { - if (var67 >= 0) { - currentClanSettings[var67] = null; - } else { - AttackOption.guestClanSettings = null; - } - - var1.serverPacket = null; - return true; - } - - if (var67 >= 0) { - currentClanSettings[var67] = new ClanSettings(var3); - } else { - AttackOption.guestClanSettings = new ClanSettings(var3); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2843 == var1.serverPacket) { - var17 = var3.method6953(); - var5 = var3.method6940(); - var18 = class87.getWidget(var17); - if (var18.modelType != 1 || var5 != var18.modelId) { - var18.modelType = 1; - var18.modelId = var5; - Actor.invalidateWidget(var18); - } - + if (ServerPacket.field2815 == var1.serverPacket) { + WorldMapArea.loadRegions(true, var1.packetBuffer); var1.serverPacket = null; return true; } if (ServerPacket.field2828 == var1.serverPacket) { - field672 = cycleCntr; - var67 = var3.readByte(); - if (var1.serverPacketLength == 1) { - if (var67 >= 0) { - currentClanChannels[var67] = null; - } else { - WorldMapSectionType.guestClanChannel = null; + if (var1.serverPacketLength == 0) { + class264.friendsChat = null; + } else { + if (class264.friendsChat == null) { + class264.friendsChat = new FriendsChat(WorldMapSectionType.loginType, class21.client); } - var1.serverPacket = null; - return true; + class264.friendsChat.readUpdate(var3); } - if (var67 >= 0) { - currentClanChannels[var67] = new ClanChannel(var3); + Archive.method5187(); + var1.serverPacket = null; + return true; + } + + long var12; + int var15; + long var22; + long var24; + long var26; + String var28; + String var46; + if (ServerPacket.field2864 == var1.serverPacket) { + var46 = var3.readStringCp1252NullTerminated(); + var22 = var3.readLong(); + var24 = (long)var3.readUnsignedShort(); + var26 = (long)var3.readMedium(); + PlayerType var51 = (PlayerType)class128.findEnumerated(class19.PlayerType_values(), var3.readUnsignedByte()); + var12 = var26 + (var24 << 32); + boolean var57 = false; + + for (var15 = 0; var15 < 100; ++var15) { + if (crossWorldMessageIds[var15] == var12) { + var57 = true; + break; + } + } + + if (var51.isUser && Message.friendSystem.isIgnored(new Username(var46, WorldMapSectionType.loginType))) { + var57 = true; + } + + if (!var57 && field559 == 0) { + crossWorldMessageIds[crossWorldMessageIdsIndex] = var12; + crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; + var28 = AbstractFont.escapeBrackets(Tiles.method2025(SecureRandomFuture.method1951(var3))); + if (var51.modIcon != -1) { + Players.addChatMessage(9, ReflectionCheck.method1064(var51.modIcon) + var46, var28, FloorDecoration.base37DecodeLong(var22)); + } else { + Players.addChatMessage(9, var46, var28, FloorDecoration.base37DecodeLong(var22)); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2845 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2773); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2824 == var1.serverPacket) { + var64 = var3.readBoolean(); + if (var64) { + if (Widget.field3165 == null) { + Widget.field3165 = new class300(); + } } else { - WorldMapSectionType.guestClanChannel = new ClanChannel(var3); + Widget.field3165 = null; + } + + var1.serverPacket = null; + return true; + } + + Widget var19; + if (ServerPacket.field2799 == var1.serverPacket) { + var46 = var3.readStringCp1252NullTerminated(); + var5 = var3.readInt(); + var19 = HealthBarUpdate.getWidget(var5); + if (!var46.equals(var19.text)) { + var19.text = var46; + class16.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2810 == var1.serverPacket) { + Coord.field3013 = null; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2839 == var1.serverPacket) { + var46 = var3.readStringCp1252NullTerminated(); + var18 = AbstractFont.escapeBrackets(Tiles.method2025(SecureRandomFuture.method1951(var3))); + GraphicsDefaults.addGameMessage(6, var46, var18); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2841 == var1.serverPacket) { + UrlRequest.field1313 = var3.method6927(); + WorldMapElement.field1622 = var3.method6926(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2859 == var1.serverPacket) { + for (var17 = 0; var17 < Varps.Varps_main.length; ++var17) { + if (Varps.Varps_temp[var17] != Varps.Varps_main[var17]) { + Varps.Varps_main[var17] = Varps.Varps_temp[var17]; + NetSocket.changeGameOptions(var17); + changedVarps[++changedVarpCount - 1 & 31] = var17; + } } var1.serverPacket = null; @@ -5220,132 +4418,36 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { } if (ServerPacket.field2852 == var1.serverPacket) { - var17 = var3.method6940(); - if (var17 == 65535) { - var17 = -1; - } - - FriendSystem.playSong(var17); + HealthBarDefinition.method2981(class240.field2772); var1.serverPacket = null; return true; } - if (ServerPacket.field2817 == var1.serverPacket) { - var17 = var3.method6859(); - var5 = var3.method6855(); - if (var5 == 65535) { - var5 = -1; - } - - class196.method3819(var5, var17); - var1.serverPacket = null; - return true; - } - - int var39; - int var40; - if (ServerPacket.field2785 == var1.serverPacket) { - var17 = var3.method6953(); - var5 = var3.method6940(); - var6 = var5 >> 10 & 31; - var19 = var5 >> 5 & 31; - var39 = var5 & 31; - var40 = (var19 << 11) + (var6 << 19) + (var39 << 3); - Widget var56 = class87.getWidget(var17); - if (var40 != var56.color) { - var56.color = var40; - Actor.invalidateWidget(var56); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2846 == var1.serverPacket) { - var17 = var3.method6917(); - var70 = class87.getWidget(var17); - var70.modelType = 3; - var70.modelId = class129.localPlayer.appearance.getChatHeadId(); - Actor.invalidateWidget(var70); - var1.serverPacket = null; - return true; - } - - Widget var8; - if (ServerPacket.field2814 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.readInt(); - InterfaceParent var73 = (InterfaceParent)interfaceParents.get((long)var5); - var7 = (InterfaceParent)interfaceParents.get((long)var17); - if (var7 != null) { - WorldMapID.closeInterface(var7, var73 == null || var73.group != var7.group); - } - - if (var73 != null) { - var73.remove(); - interfaceParents.put(var73, (long)var17); - } - - var8 = class87.getWidget(var5); - if (var8 != null) { - Actor.invalidateWidget(var8); - } - - var8 = class87.getWidget(var17); - if (var8 != null) { - Actor.invalidateWidget(var8); - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var8.id >>> 16], var8, true); - } - - if (rootInterface != -1) { - class13.runIntfCloseListeners(rootInterface, 1); + if (ServerPacket.field2829 == var1.serverPacket) { + if (class264.friendsChat != null) { + class264.friendsChat.method5971(var3); } + Archive.method5187(); var1.serverPacket = null; return true; } if (ServerPacket.field2787 == var1.serverPacket) { - JagexCache.field1559 = var3.readUnsignedByte(); - WorldMapEvent.field2216 = var3.method7007(); + UrlRequest.field1313 = var3.method6926(); + WorldMapElement.field1622 = var3.readUnsignedByte(); - while (var3.offset < var1.serverPacketLength) { - var17 = var3.readUnsignedByte(); - class240 var69 = HealthBarDefinition.method2890()[var17]; - ScriptFrame.method1086(var69); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2801 == var1.serverPacket) { - class274.loadRegions(false, var1.packetBuffer); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2857 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2755); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2779 == var1.serverPacket) { - WorldMapEvent.field2216 = var3.method6844(); - JagexCache.field1559 = var3.method7007(); - - for (var17 = JagexCache.field1559; var17 < JagexCache.field1559 + 8; ++var17) { - for (var5 = WorldMapEvent.field2216; var5 < WorldMapEvent.field2216 + 8; ++var5) { - if (groundItems[class391.Client_plane][var17][var5] != null) { - groundItems[class391.Client_plane][var17][var5] = null; - SoundSystem.updateItemPile(var17, var5); + for (var17 = UrlRequest.field1313; var17 < UrlRequest.field1313 + 8; ++var17) { + for (var5 = WorldMapElement.field1622; var5 < WorldMapElement.field1622 + 8; ++var5) { + if (groundItems[VertexNormal.Client_plane][var17][var5] != null) { + groundItems[VertexNormal.Client_plane][var17][var5] = null; + HealthBarUpdate.updateItemPile(var17, var5); } } } for (PendingSpawn var49 = (PendingSpawn)pendingSpawns.last(); var49 != null; var49 = (PendingSpawn)pendingSpawns.previous()) { - if (var49.x >= JagexCache.field1559 && var49.x < JagexCache.field1559 + 8 && var49.y >= WorldMapEvent.field2216 && var49.y < WorldMapEvent.field2216 + 8 && var49.plane == class391.Client_plane) { + if (var49.x >= UrlRequest.field1313 && var49.x < UrlRequest.field1313 + 8 && var49.y >= WorldMapElement.field1622 && var49.y < WorldMapElement.field1622 + 8 && var49.plane == VertexNormal.Client_plane) { var49.hitpoints = 0; } } @@ -5354,7 +4456,830 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { return true; } - if (ServerPacket.field2794 == var1.serverPacket) { + if (ServerPacket.field2866 == var1.serverPacket) { + var3.offset += 28; + if (var3.checkCrc()) { + class120.method2533(var3, var3.offset - 28); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2797 == var1.serverPacket) { + var17 = var3.method6934(); + rootInterface = var17; + this.resizeRoot(false); + class17.Widget_resetModelFrames(var17); + WorldMapScaleHandler.runWidgetOnLoadListener(rootInterface); + + for (var5 = 0; var5 < 100; ++var5) { + field710[var5] = true; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2813 == var1.serverPacket) { + isCameraLocked = false; + + for (var17 = 0; var17 < 5; ++var17) { + field739[var17] = false; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2879 == var1.serverPacket) { + var17 = var3.readUShortSmart(); + boolean var58 = var3.readUnsignedByte() == 1; + var76 = ""; + boolean var52 = false; + if (var58) { + var76 = var3.readStringCp1252NullTerminated(); + if (Message.friendSystem.isIgnored(new Username(var76, WorldMapSectionType.loginType))) { + var52 = true; + } + } + + String var75 = var3.readStringCp1252NullTerminated(); + if (!var52) { + GraphicsDefaults.addGameMessage(var17, var76, var75); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2869 == var1.serverPacket) { + Message.friendSystem.ignoreList.read(var3, var1.serverPacketLength); + SceneTilePaint.FriendSystem_invalidateIgnoreds(); + field685 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2873 == var1.serverPacket) { + World var48 = new World(); + var48.host = var3.readStringCp1252NullTerminated(); + var48.id = var3.readUnsignedShort(); + var5 = var3.readInt(); + var48.properties = var5; + UserList.updateGameState(45); + var2.close(); + var2 = null; + World.changeWorld(var48); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2801 == var1.serverPacket) { + Message.friendSystem.method1651(); + field685 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2835 == var1.serverPacket) { + var68 = var3.readByte(); + var5 = var3.method6933(); + Varps.Varps_temp[var5] = var68; + if (Varps.Varps_main[var5] != var68) { + Varps.Varps_main[var5] = var68; + } + + NetSocket.changeGameOptions(var5); + changedVarps[++changedVarpCount - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2877 == var1.serverPacket) { + AbstractByteArrayCopier.readReflectionCheck(var3, var1.serverPacketLength); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2874 == var1.serverPacket) { + AttackOption.logOut(); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2882 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2767); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2830 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2768); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2876 == var1.serverPacket) { + rebootTimer = var3.method6933() * 30; + field691 = cycleCntr; + var1.serverPacket = null; + return true; + } + + int var29; + if (ServerPacket.field2814 == var1.serverPacket) { + isCameraLocked = true; + Varcs.field1272 = var3.readUnsignedByte(); + World.field774 = var3.readUnsignedByte(); + class9.field44 = var3.readUnsignedShort(); + SequenceDefinition.field1954 = var3.readUnsignedByte(); + AbstractArchive.field3712 = var3.readUnsignedByte(); + if (AbstractArchive.field3712 >= 100) { + var17 = Varcs.field1272 * 128 + 64; + var5 = World.field774 * 128 + 64; + var6 = MidiPcmStream.getTileHeight(var17, var5, VertexNormal.Client_plane) - class9.field44; + var7 = var17 - Canvas.cameraX; + var8 = var6 - class14.cameraY; + var9 = var5 - VarpDefinition.cameraZ; + var29 = (int)Math.sqrt((double)(var9 * var9 + var7 * var7)); + WorldMapIcon_1.cameraPitch = (int)(Math.atan2((double)var8, (double)var29) * 325.949D) & 2047; + HealthBarUpdate.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; + if (WorldMapIcon_1.cameraPitch < 128) { + WorldMapIcon_1.cameraPitch = 128; + } + + if (WorldMapIcon_1.cameraPitch > 383) { + WorldMapIcon_1.cameraPitch = 383; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2867 == var1.serverPacket) { + var17 = var3.method7059(); + var5 = var3.readInt(); + var19 = HealthBarUpdate.getWidget(var5); + if (var19.modelType != 1 || var17 != var19.modelId) { + var19.modelType = 1; + var19.modelId = var17; + class16.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2849 == var1.serverPacket) { + WorldMapArea.loadRegions(false, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2791 == var1.serverPacket) { + Coord.field3013 = new class353(WorldMapIcon_1.HitSplatDefinition_cachedSprites); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2875 == var1.serverPacket) { + class120.method2530(); + runEnergy = var3.readUnsignedByte(); + field691 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2804 == var1.serverPacket) { + var17 = var3.method6945(); + var5 = var3.method6944(); + var6 = var3.readUnsignedShort(); + if (var6 == 65535) { + var6 = -1; + } + + var69 = HealthBarUpdate.getWidget(var5); + ItemComposition var74; + if (!var69.isIf3) { + if (var6 == -1) { + var69.modelType = 0; + var1.serverPacket = null; + return true; + } + + var74 = class87.ItemDefinition_get(var6); + var69.modelType = 4; + var69.modelId = var6; + var69.modelAngleX = var74.xan2d; + var69.modelAngleY = var74.yan2d; + var69.modelZoom = var74.zoom2d * 100 / var17; + class16.invalidateWidget(var69); + } else { + var69.itemId = var6; + var69.itemQuantity = var17; + var74 = class87.ItemDefinition_get(var6); + var69.modelAngleX = var74.xan2d; + var69.modelAngleY = var74.yan2d; + var69.modelAngleZ = var74.zan2d; + var69.modelOffsetX = var74.offsetX2d; + var69.modelOffsetY = var74.offsetY2d; + var69.modelZoom = var74.zoom2d; + if (var74.isStackable == 1) { + var69.itemQuantityMode = 1; + } else { + var69.itemQuantityMode = 2; + } + + if (var69.field3102 > 0) { + var69.modelZoom = var69.modelZoom * 32 / var69.field3102; + } else if (var69.rawWidth > 0) { + var69.modelZoom = var69.modelZoom * 32 / var69.rawWidth; + } + + class16.invalidateWidget(var69); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2834 == var1.serverPacket) { + var17 = var3.readInt(); + InterfaceParent var67 = (InterfaceParent)interfaceParents.get((long)var17); + if (var67 != null) { + WorldMapLabelSize.closeInterface(var67, true); + } + + if (meslayerContinueWidget != null) { + class16.invalidateWidget(meslayerContinueWidget); + meslayerContinueWidget = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2872 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2775); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2806 == var1.serverPacket) { + var17 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var17 < -70000) { + var5 += 32768; + } + + if (var17 >= 0) { + var19 = HealthBarUpdate.getWidget(var17); + } else { + var19 = null; + } + + for (; var3.offset < var1.serverPacketLength; class65.itemContainerSetItem(var5, var7, var8 - 1, var9)) { + var7 = var3.readUShortSmart(); + var8 = var3.readUnsignedShort(); + var9 = 0; + if (var8 != 0) { + var9 = var3.readUnsignedByte(); + if (var9 == 255) { + var9 = var3.readInt(); + } + } + + if (var19 != null && var7 >= 0 && var7 < var19.itemIds.length) { + var19.itemIds[var7] = var8; + var19.itemQuantities[var7] = var9; + } + } + + if (var19 != null) { + class16.invalidateWidget(var19); + } + + class120.method2530(); + changedItemContainers[++field679 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2798 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2771); + var1.serverPacket = null; + return true; + } + + String var34; + int var56; + if (ServerPacket.field2846 == var1.serverPacket) { + var46 = var3.readStringCp1252NullTerminated(); + var22 = (long)var3.readUnsignedShort(); + var24 = (long)var3.readMedium(); + PlayerType var30 = (PlayerType)class128.findEnumerated(class19.PlayerType_values(), var3.readUnsignedByte()); + long var31 = (var22 << 32) + var24; + boolean var33 = false; + + for (var56 = 0; var56 < 100; ++var56) { + if (var31 == crossWorldMessageIds[var56]) { + var33 = true; + break; + } + } + + if (Message.friendSystem.isIgnored(new Username(var46, WorldMapSectionType.loginType))) { + var33 = true; + } + + if (!var33 && field559 == 0) { + crossWorldMessageIds[crossWorldMessageIdsIndex] = var31; + crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; + var34 = AbstractFont.escapeBrackets(Tiles.method2025(SecureRandomFuture.method1951(var3))); + byte var55; + if (var30.isPrivileged) { + var55 = 7; + } else { + var55 = 3; + } + + if (var30.modIcon != -1) { + GraphicsDefaults.addGameMessage(var55, ReflectionCheck.method1064(var30.modIcon) + var46, var34); + } else { + GraphicsDefaults.addGameMessage(var55, var46, var34); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2833 == var1.serverPacket) { + var68 = var3.readByte(); + var22 = (long)var3.readUnsignedShort(); + var24 = (long)var3.readMedium(); + var26 = (var22 << 32) + var24; + boolean var78 = false; + ClanChannel var36 = var68 >= 0 ? currentClanChannels[var68] : GrandExchangeOfferNameComparator.guestClanChannel; + if (var36 == null) { + var78 = true; + } else { + for (var56 = 0; var56 < 100; ++var56) { + if (var26 == crossWorldMessageIds[var56]) { + var78 = true; + break; + } + } + } + + if (!var78) { + crossWorldMessageIds[crossWorldMessageIdsIndex] = var26; + crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; + var34 = SecureRandomFuture.method1951(var3); + int var14 = var68 >= 0 ? 43 : 46; + Players.addChatMessage(var14, "", var34, var36.name); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2792 == var1.serverPacket) { + var17 = var3.readInt(); + var5 = var3.readInt(); + var6 = Frames.getGcDuration(); + PacketBufferNode var72 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2732, packetWriter.isaacCipher); + var72.packetBuffer.method7117(var6); + var72.packetBuffer.method7066(GameEngine.fps); + var72.packetBuffer.writeIntME(var17); + var72.packetBuffer.method6940(var5); + packetWriter.addNode(var72); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2837 == var1.serverPacket) { + if (Coord.field3013 == null) { + Coord.field3013 = new class353(WorldMapIcon_1.HitSplatDefinition_cachedSprites); + } + + class408 var47 = WorldMapIcon_1.HitSplatDefinition_cachedSprites.method6309(var3); + Coord.field3013.field4042.vmethod6669(var47.field4354, var47.field4353); + field682[++field683 - 1 & 31] = var47.field4354; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2818 == var1.serverPacket) { + class120.method2530(); + weight = var3.readShort(); + field691 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2860 == var1.serverPacket) { + class14.updateNpcs(true, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2823 == var1.serverPacket) { + if (rootInterface != -1) { + ItemContainer.runIntfCloseListeners(rootInterface, 0); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2843 == var1.serverPacket) { + var17 = var3.method6945(); + var5 = var3.method6934(); + var19 = HealthBarUpdate.getWidget(var17); + if (var19 != null && var19.type == 0) { + if (var5 > var19.scrollHeight - var19.height) { + var5 = var19.scrollHeight - var19.height; + } + + if (var5 < 0) { + var5 = 0; + } + + if (var5 != var19.scrollY) { + var19.scrollY = var5; + class16.invalidateWidget(var19); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2805 == var1.serverPacket) { + Message.friendSystem.readUpdate(var3, var1.serverPacketLength); + field685 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2819 == var1.serverPacket) { + var68 = var3.readByte(); + var18 = var3.readStringCp1252NullTerminated(); + long var37 = (long)var3.readUnsignedShort(); + long var39 = (long)var3.readMedium(); + PlayerType var53 = (PlayerType)class128.findEnumerated(class19.PlayerType_values(), var3.readUnsignedByte()); + long var41 = (var37 << 32) + var39; + boolean var13 = false; + ClanChannel var43 = null; + var43 = var68 >= 0 ? currentClanChannels[var68] : GrandExchangeOfferNameComparator.guestClanChannel; + if (var43 == null) { + var13 = true; + } else { + var15 = 0; + + while (true) { + if (var15 >= 100) { + if (var53.isUser && Message.friendSystem.isIgnored(new Username(var18, WorldMapSectionType.loginType))) { + var13 = true; + } + break; + } + + if (var41 == crossWorldMessageIds[var15]) { + var13 = true; + break; + } + + ++var15; + } + } + + if (!var13) { + crossWorldMessageIds[crossWorldMessageIdsIndex] = var41; + crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; + var28 = AbstractFont.escapeBrackets(SecureRandomFuture.method1951(var3)); + int var16 = var68 >= 0 ? 41 : 44; + if (var53.modIcon != -1) { + Players.addChatMessage(var16, ReflectionCheck.method1064(var53.modIcon) + var18, var28, var43.name); + } else { + Players.addChatMessage(var16, var18, var28, var43.name); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2790 == var1.serverPacket) { + var17 = var3.readUnsignedByte(); + if (var3.readUnsignedByte() == 0) { + grandExchangeOffers[var17] = new GrandExchangeOffer(); + var3.offset += 18; + } else { + --var3.offset; + grandExchangeOffers[var17] = new GrandExchangeOffer(var3, false); + } + + field577 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2816 == var1.serverPacket) { + minimapState = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2826 == var1.serverPacket) { + var17 = var3.method6934(); + if (var17 == 65535) { + var17 = -1; + } + + WorldMapSprite.playSong(var17); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2811 == var1.serverPacket) { + var17 = var3.method6934(); + if (var17 == 65535) { + var17 = -1; + } + + var5 = var3.method6939(); + PcmPlayer.method741(var17, var5); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2840 == var1.serverPacket) { + var17 = var3.readUnsignedByte(); + var5 = var3.readUnsignedByte(); + var76 = var3.readStringCp1252NullTerminated(); + if (var17 >= 1 && var17 <= 8) { + if (var76.equalsIgnoreCase("null")) { + var76 = null; + } + + playerMenuActions[var17 - 1] = var76; + playerOptionsPriorities[var17 - 1] = var5 == 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2827 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2770); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2831 == var1.serverPacket) { + var17 = var3.method6933(); + PacketBufferNode.method4653(var17); + changedItemContainers[++field679 - 1 & 31] = var17 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2880 == var1.serverPacket) { + field594 = cycleCntr; + var68 = var3.readByte(); + if (var1.serverPacketLength == 1) { + if (var68 >= 0) { + currentClanChannels[var68] = null; + } else { + GrandExchangeOfferNameComparator.guestClanChannel = null; + } + + var1.serverPacket = null; + return true; + } + + if (var68 >= 0) { + currentClanChannels[var68] = new ClanChannel(var3); + } else { + GrandExchangeOfferNameComparator.guestClanChannel = new ClanChannel(var3); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2789 == var1.serverPacket) { + var17 = var3.method6944(); + var63 = HealthBarUpdate.getWidget(var17); + var63.modelType = 3; + var63.modelId = class67.localPlayer.appearance.getChatHeadId(); + class16.invalidateWidget(var63); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2858 == var1.serverPacket) { + var17 = var3.readInt(); + if (var17 != field572) { + field572 = var17; + HealthBar.method2221(); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2795 == var1.serverPacket) { + ClientPreferences.updatePlayers(var3, var1.serverPacketLength); + class17.method266(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2854 == var1.serverPacket) { + for (var17 = 0; var17 < VarpDefinition.VarpDefinition_fileCount; ++var17) { + VarpDefinition var62 = ApproximateRouteStrategy.VarpDefinition_get(var17); + if (var62 != null) { + Varps.Varps_temp[var17] = 0; + Varps.Varps_main[var17] = 0; + } + } + + class120.method2530(); + changedVarpCount += 32; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2850 == var1.serverPacket) { + var17 = var3.method6937(); + var5 = var3.method6944(); + var19 = HealthBarUpdate.getWidget(var5); + if (var17 != var19.sequenceId || var17 == -1) { + var19.sequenceId = var17; + var19.modelFrame = 0; + var19.modelFrameCycle = 0; + class16.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2808 == var1.serverPacket) { + class14.updateNpcs(false, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2832 == var1.serverPacket) { + var17 = var3.method6933(); + var5 = var3.method6944(); + var19 = HealthBarUpdate.getWidget(var5); + if (var19.modelType != 2 || var17 != var19.modelId) { + var19.modelType = 2; + var19.modelId = var17; + class16.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2855 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2769); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2868 == var1.serverPacket) { + var17 = var3.readUnsignedShort(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedShort(); + class184.queueSoundEffect(var17, var5, var6); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2793 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2776); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2863 == var1.serverPacket) { + var17 = var3.readUnsignedShort(); + var5 = var3.method6933(); + var6 = var3.method6876(); + var69 = HealthBarUpdate.getWidget(var6); + var69.field3038 = var17 + (var5 << 16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2838 == var1.serverPacket) { + publicChatMode = var3.method6927(); + tradeChatMode = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2817 == var1.serverPacket) { + var17 = var3.readUnsignedByte(); + class322.method5894(var17); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2848 == var1.serverPacket) { + var17 = var3.offset + var1.serverPacketLength; + var5 = var3.readUnsignedShort(); + var6 = var3.readUnsignedShort(); + if (var5 != rootInterface) { + rootInterface = var5; + this.resizeRoot(false); + class17.Widget_resetModelFrames(rootInterface); + WorldMapScaleHandler.runWidgetOnLoadListener(rootInterface); + + for (var7 = 0; var7 < 100; ++var7) { + field710[var7] = true; + } + } + + InterfaceParent var10; + for (; var6-- > 0; var10.field1031 = true) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var9 = var3.readUnsignedByte(); + var10 = (InterfaceParent)interfaceParents.get((long)var7); + if (var10 != null && var8 != var10.group) { + WorldMapLabelSize.closeInterface(var10, true); + var10 = null; + } + + if (var10 == null) { + var10 = class4.method23(var7, var8, var9); + } + } + + for (var20 = (InterfaceParent)interfaceParents.first(); var20 != null; var20 = (InterfaceParent)interfaceParents.next()) { + if (var20.field1031) { + var20.field1031 = false; + } else { + WorldMapLabelSize.closeInterface(var20, true); + } + } + + widgetFlags = new NodeHashTable(512); + + while (var3.offset < var17) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var9 = var3.readUnsignedShort(); + var29 = var3.readInt(); + + for (int var35 = var8; var35 <= var9; ++var35) { + var12 = ((long)var7 << 32) + (long)var35; + widgetFlags.put(new IntegerNode(var29), var12); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2856 == var1.serverPacket) { + var17 = var3.method6876(); + var5 = var3.method6934(); + if (var5 == 65535) { + var5 = -1; + } + + var6 = var3.readInt(); + var7 = var3.method6933(); + if (var7 == 65535) { + var7 = -1; + } + + for (var8 = var5; var8 <= var7; ++var8) { + var26 = ((long)var6 << 32) + (long)var8; + Node var11 = widgetFlags.get(var26); + if (var11 != null) { + var11.remove(); + } + + widgetFlags.put(new IntegerNode(var17), var26); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2800 == var1.serverPacket) { hintArrowType = var3.readUnsignedByte(); if (hintArrowType == 1) { hintArrowNpcIndex = var3.readUnsignedShort(); @@ -5400,657 +5325,93 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { return true; } - if (ServerPacket.field2827 == var1.serverPacket) { - byte[] var48 = new byte[var1.serverPacketLength]; - var3.method6767(var48, 0, var48.length); - Buffer var68 = new Buffer(var48); - var72 = var68.readStringCp1252NullTerminated(); - Interpreter.openURL(var72, true, false); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2862 == var1.serverPacket) { - class117.field1388 = null; - var1.serverPacket = null; - return true; - } - - int var41; - if (ServerPacket.field2819 == var1.serverPacket) { - isCameraLocked = true; - class114.field1376 = var3.readUnsignedByte(); - class229.field2624 = var3.readUnsignedByte(); - class28.field170 = var3.readUnsignedShort(); - IgnoreList.field3918 = var3.readUnsignedByte(); - Projectile.field923 = var3.readUnsignedByte(); - if (Projectile.field923 >= 100) { - var17 = class114.field1376 * 128 + 64; - var5 = class229.field2624 * 128 + 64; - var6 = GraphicsObject.getTileHeight(var17, var5, class391.Client_plane) - class28.field170; - var19 = var17 - WorldMapSection2.cameraX; - var39 = var6 - SpotAnimationDefinition.cameraY; - var40 = var5 - DevicePcmPlayerProvider.cameraZ; - var41 = (int)Math.sqrt((double)(var40 * var40 + var19 * var19)); - ApproximateRouteStrategy.cameraPitch = (int)(Math.atan2((double)var39, (double)var41) * 325.949D) & 2047; - Fonts.cameraYaw = (int)(Math.atan2((double)var19, (double)var40) * -325.949D) & 2047; - if (ApproximateRouteStrategy.cameraPitch < 128) { - ApproximateRouteStrategy.cameraPitch = 128; - } - - if (ApproximateRouteStrategy.cameraPitch > 383) { - ApproximateRouteStrategy.cameraPitch = 383; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2786 == var1.serverPacket) { - class20.friendSystem.readUpdate(var3, var1.serverPacketLength); - field683 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2782 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.readUnsignedShort(); - if (var17 < -70000) { - var5 += 32768; - } - - if (var17 >= 0) { - var18 = class87.getWidget(var17); + if (ServerPacket.field2857 == var1.serverPacket) { + AbstractArchive.method5325(); + var68 = var3.readByte(); + class119 var61 = new class119(var3); + ClanSettings var70; + if (var68 >= 0) { + var70 = currentClanSettings[var68]; } else { - var18 = null; - } - - if (var18 != null) { - for (var19 = 0; var19 < var18.itemIds.length; ++var19) { - var18.itemIds[var19] = 0; - var18.itemQuantities[var19] = 0; - } - } - - UserComparator4.clearItemContainer(var5); - var19 = var3.readUnsignedShort(); - - for (var39 = 0; var39 < var19; ++var39) { - var40 = var3.method6849(); - if (var40 == 255) { - var40 = var3.method6917(); - } - - var41 = var3.method6940(); - if (var18 != null && var39 < var18.itemIds.length) { - var18.itemIds[var39] = var41; - var18.itemQuantities[var39] = var40; - } - - Script.itemContainerSetItem(var5, var39, var41 - 1, var40); - } - - if (var18 != null) { - Actor.invalidateWidget(var18); - } - - class67.method1877(); - changedItemContainers[++field677 - 1 & 31] = var5 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2815 == var1.serverPacket) { - isCameraLocked = true; - class114.field1372 = var3.readUnsignedByte(); - ScriptFrame.field447 = var3.readUnsignedByte(); - KeyHandler.field123 = var3.readUnsignedShort(); - class176.field2001 = var3.readUnsignedByte(); - class112.field1361 = var3.readUnsignedByte(); - if (class112.field1361 >= 100) { - WorldMapSection2.cameraX = class114.field1372 * 128 + 64; - DevicePcmPlayerProvider.cameraZ = ScriptFrame.field447 * 128 + 64; - SpotAnimationDefinition.cameraY = GraphicsObject.getTileHeight(WorldMapSection2.cameraX, DevicePcmPlayerProvider.cameraZ, class391.Client_plane) - KeyHandler.field123; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2834 == var1.serverPacket) { - field672 = cycleCntr; - var67 = var3.readByte(); - class133 var66 = new class133(var3); - ClanChannel var64; - if (var67 >= 0) { - var64 = currentClanChannels[var67]; - } else { - var64 = WorldMapSectionType.guestClanChannel; - } - - var66.method2655(var64); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2771 == var1.serverPacket) { - var46 = var3.readStringCp1252NullTerminated(); - var5 = var3.readUnsignedByte(); - var6 = var3.readUnsignedByte(); - if (var6 >= 1 && var6 <= 8) { - if (var46.equalsIgnoreCase("null")) { - var46 = null; - } - - playerMenuActions[var6 - 1] = var46; - playerOptionsPriorities[var6 - 1] = var5 == 0; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2844 == var1.serverPacket) { - var17 = var3.readInt(); - if (var17 != field570) { - field570 = var17; - Login.method1915(); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2847 == var1.serverPacket) { - var17 = var3.readInt(); - InterfaceParent var65 = (InterfaceParent)interfaceParents.get((long)var17); - if (var65 != null) { - WorldMapID.closeInterface(var65, true); - } - - if (meslayerContinueWidget != null) { - Actor.invalidateWidget(meslayerContinueWidget); - meslayerContinueWidget = null; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2823 == var1.serverPacket) { - var17 = var3.readUnsignedByte(); - if (var3.readUnsignedByte() == 0) { - grandExchangeOffers[var17] = new GrandExchangeOffer(); - var3.offset += 18; - } else { - --var3.offset; - grandExchangeOffers[var17] = new GrandExchangeOffer(var3, false); - } - - field703 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2859 == var1.serverPacket) { - for (var17 = 0; var17 < VarpDefinition.VarpDefinition_fileCount; ++var17) { - VarpDefinition var63 = UserComparator7.VarpDefinition_get(var17); - if (var63 != null) { - Varps.Varps_temp[var17] = 0; - Varps.Varps_main[var17] = 0; - } - } - - class67.method1877(); - changedVarpCount += 32; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2845 == var1.serverPacket) { - minimapState = var3.readUnsignedByte(); - var1.serverPacket = null; - return true; - } - - boolean var59; - if (ServerPacket.field2777 == var1.serverPacket) { - var59 = var3.method6849() == 1; - var5 = var3.readInt(); - var18 = class87.getWidget(var5); - if (var59 != var18.isHidden) { - var18.isHidden = var59; - Actor.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2816 == var1.serverPacket) { - if (var1.serverPacketLength == 0) { - class78.friendsChat = null; - } else { - if (class78.friendsChat == null) { - class78.friendsChat = new FriendsChat(SoundCache.loginType, ArchiveDiskActionHandler.client); - } - - class78.friendsChat.readUpdate(var3); - } - - class116.method2497(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2853 == var1.serverPacket) { - var17 = var3.readUnsignedByte(); - class54.method1078(var17); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2774 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.readInt(); - var6 = class260.getGcDuration(); - PacketBufferNode var52 = FriendSystem.getPacketBufferNode(ClientPacket.field2716, packetWriter.isaacCipher); - var52.packetBuffer.method6841(GameEngine.fps); - var52.packetBuffer.method6841(var6); - var52.packetBuffer.method6860(var17); - var52.packetBuffer.method6861(var5); - packetWriter.addNode(var52); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2789 == var1.serverPacket) { - rebootTimer = var3.method6855() * 30; - field695 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2807 == var1.serverPacket) { - var67 = var3.readByte(); - var26 = (long)var3.readUnsignedShort(); - var28 = (long)var3.readMedium(); - var34 = var28 + (var26 << 32); - boolean var79 = false; - ClanChannel var43 = var67 >= 0 ? currentClanChannels[var67] : WorldMapSectionType.guestClanChannel; - if (var43 == null) { - var79 = true; - } else { - for (var13 = 0; var13 < 100; ++var13) { - if (crossWorldMessageIds[var13] == var34) { - var79 = true; - break; - } - } - } - - if (!var79) { - crossWorldMessageIds[crossWorldMessageIdsIndex] = var34; - crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100; - var32 = FloorDecoration.method4029(var3); - int var33 = var67 >= 0 ? 43 : 46; - FriendSystem.addChatMessage(var33, "", var32, var43.name); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2836 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2750); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2829 == var1.serverPacket) { - Varcs.method2302(); - var67 = var3.readByte(); - class119 var62 = new class119(var3); - ClanSettings var61; - if (var67 >= 0) { - var61 = currentClanSettings[var67]; - } else { - var61 = AttackOption.guestClanSettings; - } - - var62.method2509(var61); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2783 == var1.serverPacket) { - for (var17 = 0; var17 < Varps.Varps_main.length; ++var17) { - if (Varps.Varps_temp[var17] != Varps.Varps_main[var17]) { - Varps.Varps_main[var17] = Varps.Varps_temp[var17]; - InvDefinition.changeGameOptions(var17); - changedVarps[++changedVarpCount - 1 & 31] = var17; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2830 == var1.serverPacket) { - class16.logOut(); - var1.serverPacket = null; - return false; - } - - if (ServerPacket.field2850 == var1.serverPacket) { - var17 = var3.readUnsignedShort(); - var5 = var3.readUnsignedByte(); - var6 = var3.readUnsignedShort(); - PcmPlayer.queueSoundEffect(var17, var5, var6); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2824 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2757); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2811 == var1.serverPacket) { - if (rootInterface != -1) { - class13.runIntfCloseListeners(rootInterface, 0); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2838 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.readUnsignedShort(); - if (var17 < -70000) { - var5 += 32768; - } - - if (var17 >= 0) { - var18 = class87.getWidget(var17); - } else { - var18 = null; - } - - for (; var3.offset < var1.serverPacketLength; Script.itemContainerSetItem(var5, var19, var39 - 1, var40)) { - var19 = var3.readUShortSmart(); - var39 = var3.readUnsignedShort(); - var40 = 0; - if (var39 != 0) { - var40 = var3.readUnsignedByte(); - if (var40 == 255) { - var40 = var3.readInt(); - } - } - - if (var18 != null && var19 >= 0 && var19 < var18.itemIds.length) { - var18.itemIds[var19] = var39; - var18.itemQuantities[var19] = var40; - } - } - - if (var18 != null) { - Actor.invalidateWidget(var18); - } - - class67.method1877(); - changedItemContainers[++field677 - 1 & 31] = var5 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2820 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2758); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2855 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2752); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2792 == var1.serverPacket) { - var46 = var3.readStringCp1252NullTerminated(); - var5 = var3.readInt(); - var18 = class87.getWidget(var5); - if (!var46.equals(var18.text)) { - var18.text = var46; - Actor.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2797 == var1.serverPacket) { - class20.friendSystem.ignoreList.read(var3, var1.serverPacketLength); - WorldMapCacheName.FriendSystem_invalidateIgnoreds(); - field683 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2854 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.method6855(); - var18 = class87.getWidget(var17); - if (var18.modelType != 2 || var5 != var18.modelId) { - var18.modelType = 2; - var18.modelId = var5; - Actor.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2775 == var1.serverPacket) { - NetSocket.updatePlayers(var3, var1.serverPacketLength); - method1611(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2848 == var1.serverPacket) { - class274.loadRegions(true, var1.packetBuffer); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2772 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2756); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2841 == var1.serverPacket) { - var17 = var3.method6826(); - var5 = var3.method6940(); - var18 = class87.getWidget(var17); - if (var18 != null && var18.type == 0) { - if (var5 > var18.scrollHeight - var18.height) { - var5 = var18.scrollHeight - var18.height; - } - - if (var5 < 0) { - var5 = 0; - } - - if (var5 != var18.scrollY) { - var18.scrollY = var5; - Actor.invalidateWidget(var18); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2805 == var1.serverPacket) { - var17 = var3.method6853(); - var5 = var3.method6940(); - var6 = var3.method6917(); - var19 = var3.method6853(); - var8 = class87.getWidget(var6); - if (var17 != var8.modelAngleX || var5 != var8.modelAngleY || var19 != var8.modelZoom) { - var8.modelAngleX = var17; - var8.modelAngleY = var5; - var8.modelZoom = var19; - Actor.invalidateWidget(var8); + var70 = class114.guestClanSettings; } + var61.method2522(var70); var1.serverPacket = null; return true; } if (ServerPacket.field2812 == var1.serverPacket) { - class134.updateNpcs(false, var3); - var1.serverPacket = null; - return true; - } + WorldMapElement.field1622 = var3.method6926(); + UrlRequest.field1313 = var3.method6927(); - if (ServerPacket.field2826 == var1.serverPacket) { - if (class78.friendsChat != null) { - class78.friendsChat.method5877(var3); - } - - class116.method2497(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2818 == var1.serverPacket) { - var17 = var3.method6855(); - JagexCache.method2744(var17); - changedItemContainers[++field677 - 1 & 31] = var17 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2769 == var1.serverPacket) { - class20.friendSystem.method1664(); - field683 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2860 == var1.serverPacket) { - var17 = var3.readInt(); - var5 = var3.method6917(); - var6 = var3.method6853(); - if (var6 == 65535) { - var6 = -1; - } - - var19 = var3.method6855(); - if (var19 == 65535) { - var19 = -1; - } - - for (var39 = var19; var39 <= var6; ++var39) { - var34 = ((long)var17 << 32) + (long)var39; - Node var36 = widgetFlags.get(var34); - if (var36 != null) { - var36.remove(); - } - - widgetFlags.put(new IntegerNode(var5), var34); + while (var3.offset < var1.serverPacketLength) { + var17 = var3.readUnsignedByte(); + class240 var60 = ClientPreferences.method2209()[var17]; + HealthBarDefinition.method2981(var60); } var1.serverPacket = null; return true; } - if (ServerPacket.field2793 == var1.serverPacket) { - var17 = var3.readUnsignedByte(); - class247.forceDisconnect(var17); - var1.serverPacket = null; - return false; - } - - if (ServerPacket.field2778 == var1.serverPacket) { - var59 = var3.readUnsignedByte() == 1; - if (var59) { - MenuAction.field861 = Occluder.method4335() - var3.readLong(); - class117.grandExchangeEvents = new GrandExchangeEvents(var3, true); - } else { - class117.grandExchangeEvents = null; + if (ServerPacket.field2796 == var1.serverPacket) { + var64 = var3.method6926() == 1; + var5 = var3.method6944(); + var19 = HealthBarUpdate.getWidget(var5); + if (var64 != var19.isHidden) { + var19.isHidden = var64; + class16.invalidateWidget(var19); } - field688 = cycleCntr; var1.serverPacket = null; return true; } - if (ServerPacket.field2825 == var1.serverPacket) { + if (ServerPacket.field2803 == var1.serverPacket) { var46 = var3.readStringCp1252NullTerminated(); - var20 = AbstractFont.escapeBrackets(class113.method2480(FloorDecoration.method4029(var3))); - SecureRandomCallable.addGameMessage(6, var46, var20); - var1.serverPacket = null; - return true; - } + Object[] var59 = new Object[var46.length() + 1]; - if (ServerPacket.field2863 == var1.serverPacket) { - var17 = var3.offset + var1.serverPacketLength; - var5 = var3.readUnsignedShort(); - var6 = var3.readUnsignedShort(); - if (var5 != rootInterface) { - rootInterface = var5; - this.resizeRoot(false); - class18.Widget_resetModelFrames(rootInterface); - UserComparator7.runWidgetOnLoadListener(rootInterface); - - for (var19 = 0; var19 < 100; ++var19) { - field697[var19] = true; - } - } - - InterfaceParent var10; - for (; var6-- > 0; var10.field1020 = true) { - var19 = var3.readInt(); - var39 = var3.readUnsignedShort(); - var40 = var3.readUnsignedByte(); - var10 = (InterfaceParent)interfaceParents.get((long)var19); - if (var10 != null && var39 != var10.group) { - WorldMapID.closeInterface(var10, true); - var10 = null; - } - - if (var10 == null) { - var10 = VertexNormal.method4475(var19, var39, var40); - } - } - - for (var7 = (InterfaceParent)interfaceParents.first(); var7 != null; var7 = (InterfaceParent)interfaceParents.next()) { - if (var7.field1020) { - var7.field1020 = false; + for (var6 = var46.length() - 1; var6 >= 0; --var6) { + if (var46.charAt(var6) == 's') { + var59[var6 + 1] = var3.readStringCp1252NullTerminated(); } else { - WorldMapID.closeInterface(var7, true); + var59[var6 + 1] = new Integer(var3.readInt()); } } - widgetFlags = new NodeHashTable(512); + var59[0] = new Integer(var3.readInt()); + ScriptEvent var66 = new ScriptEvent(); + var66.args = var59; + ViewportMouse.runScriptEvent(var66); + var1.serverPacket = null; + return true; + } - while (var3.offset < var17) { - var19 = var3.readInt(); - var39 = var3.readUnsignedShort(); - var40 = var3.readUnsignedShort(); - var41 = var3.readInt(); + if (ServerPacket.field2878 == var1.serverPacket) { + var17 = var3.readUnsignedByte(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedByte(); + var7 = var3.readUnsignedByte(); + field739[var17] = true; + field740[var17] = var5; + field741[var17] = var6; + field742[var17] = var7; + field743[var17] = 0; + var1.serverPacket = null; + return true; + } - for (int var42 = var39; var42 <= var40; ++var42) { - var37 = (long)var42 + ((long)var19 << 32); - widgetFlags.put(new IntegerNode(var41), var37); + if (ServerPacket.field2822 == var1.serverPacket) { + for (var17 = 0; var17 < players.length; ++var17) { + if (players[var17] != null) { + players[var17].sequence = -1; + } + } + + for (var17 = 0; var17 < npcs.length; ++var17) { + if (npcs[var17] != null) { + npcs[var17].sequence = -1; } } @@ -6058,83 +5419,175 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { return true; } - if (ServerPacket.field2770 == var1.serverPacket) { - class18.privateChatMode = FloorUnderlayDefinition.method3025(var3.readUnsignedByte()); + if (ServerPacket.field2788 == var1.serverPacket) { + HealthBarDefinition.method2981(class240.field2774); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2871 == var1.serverPacket) { + var17 = var3.readInt(); + var5 = var3.method6876(); + InterfaceParent var65 = (InterfaceParent)interfaceParents.get((long)var17); + var20 = (InterfaceParent)interfaceParents.get((long)var5); + if (var20 != null) { + WorldMapLabelSize.closeInterface(var20, var65 == null || var20.group != var65.group); + } + + if (var65 != null) { + var65.remove(); + interfaceParents.put(var65, (long)var5); + } + + var21 = HealthBarUpdate.getWidget(var17); + if (var21 != null) { + class16.invalidateWidget(var21); + } + + var21 = HealthBarUpdate.getWidget(var5); + if (var21 != null) { + class16.invalidateWidget(var21); + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var21.id >>> 16], var21, true); + } + + if (rootInterface != -1) { + ItemContainer.runIntfCloseListeners(rootInterface, 1); + } + var1.serverPacket = null; return true; } if (ServerPacket.field2842 == var1.serverPacket) { - var59 = var3.readBoolean(); - if (var59) { - if (class16.field82 == null) { - class16.field82 = new class300(); - } + var17 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var17 < -70000) { + var5 += 32768; + } + + if (var17 >= 0) { + var19 = HealthBarUpdate.getWidget(var17); } else { - class16.field82 = null; + var19 = null; + } + + if (var19 != null) { + for (var7 = 0; var7 < var19.itemIds.length; ++var7) { + var19.itemIds[var7] = 0; + var19.itemQuantities[var7] = 0; + } + } + + Language.clearItemContainer(var5); + var7 = var3.readUnsignedShort(); + + for (var8 = 0; var8 < var7; ++var8) { + var9 = var3.method6925(); + if (var9 == 255) { + var9 = var3.method6945(); + } + + var29 = var3.method7059(); + if (var19 != null && var8 < var19.itemIds.length) { + var19.itemIds[var8] = var29; + var19.itemQuantities[var8] = var9; + } + + class65.itemContainerSetItem(var5, var8, var29 - 1, var9); + } + + if (var19 != null) { + class16.invalidateWidget(var19); + } + + class120.method2530(); + changedItemContainers[++field679 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2870 == var1.serverPacket) { + MusicPatchNode2.privateChatMode = class129.method2671(var3.readUnsignedByte()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2836 == var1.serverPacket) { + isCameraLocked = true; + PcmPlayer.field284 = var3.readUnsignedByte(); + class120.field1408 = var3.readUnsignedByte(); + PacketBufferNode.field2786 = var3.readUnsignedShort(); + Login.field906 = var3.readUnsignedByte(); + class281.field3324 = var3.readUnsignedByte(); + if (class281.field3324 >= 100) { + Canvas.cameraX = PcmPlayer.field284 * 128 + 64; + VarpDefinition.cameraZ = class120.field1408 * 128 + 64; + class14.cameraY = MidiPcmStream.getTileHeight(Canvas.cameraX, VarpDefinition.cameraZ, VertexNormal.Client_plane) - PacketBufferNode.field2786; } var1.serverPacket = null; return true; } - if (ServerPacket.field2773 == var1.serverPacket) { - ScriptFrame.method1086(class240.field2753); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2813 == var1.serverPacket) { - var17 = var3.readUnsignedShort(); - byte var47 = var3.method6848(); - Varps.Varps_temp[var17] = var47; - if (Varps.Varps_main[var17] != var47) { - Varps.Varps_main[var17] = var47; + if (ServerPacket.field2851 == var1.serverPacket) { + var17 = var3.method6945(); + var5 = var3.method6933(); + Varps.Varps_temp[var5] = var17; + if (Varps.Varps_main[var5] != var17) { + Varps.Varps_main[var5] = var17; } - InvDefinition.changeGameOptions(var17); - changedVarps[++changedVarpCount - 1 & 31] = var17; + NetSocket.changeGameOptions(var5); + changedVarps[++changedVarpCount - 1 & 31] = var5; var1.serverPacket = null; return true; } - if (ServerPacket.field2800 == var1.serverPacket) { - var17 = var3.method6855(); - var5 = var3.method6917(); - Varps.Varps_temp[var17] = var5; - if (Varps.Varps_main[var17] != var5) { - Varps.Varps_main[var17] = var5; + if (ServerPacket.field2807 == var1.serverPacket) { + var17 = var3.readUnsignedByte(); + Script.forceDisconnect(var17); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2821 == var1.serverPacket) { + destinationX = var3.readUnsignedByte(); + if (destinationX == 255) { + destinationX = 0; + } + + destinationY = var3.readUnsignedByte(); + if (destinationY == 255) { + destinationY = 0; } - InvDefinition.changeGameOptions(var17); - changedVarps[++changedVarpCount - 1 & 31] = var17; var1.serverPacket = null; return true; } - class4.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * -1102397675 * 2060228669 : -1) + "," + (var1.field1289 != null ? var1.field1289.id * -1102397675 * 2060228669 : -1) + "," + (var1.field1290 != null ? var1.field1290.id * -1102397675 * 2060228669 : -1) + "," + var1.serverPacketLength, (Throwable)null); - class16.logOut(); + Timer.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * -215332077 * -971819237 : -1) + "," + (var1.field1293 != null ? var1.field1293.id * -215332077 * -971819237 : -1) + "," + (var1.field1288 != null ? var1.field1288.id * -215332077 * -971819237 : -1) + "," + var1.serverPacketLength, (Throwable)null); + AttackOption.logOut(); } catch (IOException var44) { - class245.method4590(); + class20.method302(); } catch (Exception var45) { - var20 = "" + (var1.serverPacket != null ? var1.serverPacket.id * -1102397675 * 2060228669 : -1) + "," + (var1.field1289 != null ? var1.field1289.id * -1102397675 * 2060228669 : -1) + "," + (var1.field1290 != null ? var1.field1290.id * -1102397675 * 2060228669 : -1) + "," + var1.serverPacketLength + "," + (class129.localPlayer.pathX[0] + FloorOverlayDefinition.baseX) + "," + (class129.localPlayer.pathY[0] + class320.baseY) + ","; + var18 = "" + (var1.serverPacket != null ? var1.serverPacket.id * -215332077 * -971819237 : -1) + "," + (var1.field1293 != null ? var1.field1293.id * -215332077 * -971819237 : -1) + "," + (var1.field1288 != null ? var1.field1288.id * -215332077 * -971819237 : -1) + "," + var1.serverPacketLength + "," + (class67.localPlayer.pathX[0] + WorldMapSectionType.baseX) + "," + (class67.localPlayer.pathY[0] + PlayerComposition.baseY) + ","; for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) { - var20 = var20 + var3.array[var6] + ","; + var18 = var18 + var3.array[var6] + ","; } - class4.RunException_sendStackTrace(var20, var45); - class16.logOut(); + Timer.RunException_sendStackTrace(var18, var45); + AttackOption.logOut(); } return true; } } - @ObfuscatedName("hf") + @ObfuscatedName("ho") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "23" + garbageValue = "4" ) @Export("menu") final void menu() { @@ -6147,12 +5600,12 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { - String var19 = menuTargets[var2]; + String var18 = menuTargets[var2]; menuTargets[var2] = menuTargets[var2 + 1]; - menuTargets[var2 + 1] = var19; - String var20 = menuActions[var2]; + menuTargets[var2 + 1] = var18; + String var19 = menuActions[var2]; menuActions[var2] = menuActions[var2 + 1]; - menuActions[var2 + 1] = var20; + menuActions[var2 + 1] = var19; var5 = menuOpcodes[var2]; menuOpcodes[var2] = menuOpcodes[var2 + 1]; menuOpcodes[var2 + 1] = var5; @@ -6165,253 +5618,262 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { var5 = menuIdentifiers[var2]; menuIdentifiers[var2] = menuIdentifiers[var2 + 1]; menuIdentifiers[var2 + 1] = var5; - boolean var14 = menuShiftClick[var2]; + boolean var6 = menuShiftClick[var2]; menuShiftClick[var2] = menuShiftClick[var2 + 1]; - menuShiftClick[var2 + 1] = var14; + menuShiftClick[var2 + 1] = var6; var1 = false; } } } - if (Decimator.dragInventoryWidget == null) { + if (GameEngine.dragInventoryWidget == null) { if (clickedWidget == null) { - int var21 = MouseHandler.MouseHandler_lastButton; - int var3; - int var4; - int var8; - int var22; - int var23; - if (isMenuOpen) { - if (var21 != 1 && (Script.mouseCam || var21 != 4)) { - var2 = MouseHandler.MouseHandler_x; - var3 = MouseHandler.MouseHandler_y; - if (var2 < WorldMapRegion.menuX - 10 || var2 > VarcInt.menuWidth + WorldMapRegion.menuX + 10 || var3 < ApproximateRouteStrategy.menuY - 10 || var3 > WorldMapLabelSize.menuHeight + ApproximateRouteStrategy.menuY + 10) { - isMenuOpen = false; - var4 = WorldMapRegion.menuX; - var5 = ApproximateRouteStrategy.menuY; - var23 = VarcInt.menuWidth; - var22 = WorldMapLabelSize.menuHeight; + int var21; + label302: { + int var20 = MouseHandler.MouseHandler_lastButton; + int var4; + int var9; + int var14; + if (isMenuOpen) { + int var3; + int var22; + if (var20 != 1 && (VarbitComposition.mouseCam || var20 != 4)) { + var2 = MouseHandler.MouseHandler_x; + var3 = MouseHandler.MouseHandler_y; + if (var2 < LoginScreenAnimation.menuX - 10 || var2 > LoginScreenAnimation.menuX + UserComparator7.menuWidth + 10 || var3 < class392.menuY - 10 || var3 > class392.menuY + ApproximateRouteStrategy.menuHeight + 10) { + isMenuOpen = false; + var4 = LoginScreenAnimation.menuX; + var5 = class392.menuY; + var21 = UserComparator7.menuWidth; + var14 = ApproximateRouteStrategy.menuHeight; - for (var8 = 0; var8 < rootWidgetCount; ++var8) { - if (rootWidgetWidths[var8] + rootWidgetXs[var8] > var4 && rootWidgetXs[var8] < var23 + var4 && rootWidgetYs[var8] + rootWidgetHeights[var8] > var5 && rootWidgetYs[var8] < var22 + var5) { - field697[var8] = true; - } - } - } - } - - if (var21 == 1 || !Script.mouseCam && var21 == 4) { - var2 = WorldMapRegion.menuX; - var3 = ApproximateRouteStrategy.menuY; - var4 = VarcInt.menuWidth; - var5 = MouseHandler.MouseHandler_lastPressedX; - var23 = MouseHandler.MouseHandler_lastPressedY; - var22 = -1; - - int var17; - for (var8 = 0; var8 < menuOptionsCount; ++var8) { - var17 = var3 + (menuOptionsCount - 1 - var8) * 15 + 31; - if (var5 > var2 && var5 < var4 + var2 && var23 > var17 - 13 && var23 < var17 + 3) { - var22 = var8; - } - } - - int var10; - int var11; - if (var22 != -1 && var22 >= 0) { - var8 = menuArguments1[var22]; - var17 = menuArguments2[var22]; - var10 = menuOpcodes[var22]; - var11 = menuIdentifiers[var22]; - String var12 = menuActions[var22]; - String var13 = menuTargets[var22]; - IgnoreList.menuAction(var8, var17, var10, var11, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - isMenuOpen = false; - var8 = WorldMapRegion.menuX; - var17 = ApproximateRouteStrategy.menuY; - var10 = VarcInt.menuWidth; - var11 = WorldMapLabelSize.menuHeight; - - for (int var18 = 0; var18 < rootWidgetCount; ++var18) { - if (rootWidgetWidths[var18] + rootWidgetXs[var18] > var8 && rootWidgetXs[var18] < var8 + var10 && rootWidgetHeights[var18] + rootWidgetYs[var18] > var17 && rootWidgetYs[var18] < var11 + var17) { - field697[var18] = true; - } - } - } - } else { - var2 = class28.method410(); - if ((var21 == 1 || !Script.mouseCam && var21 == 4) && var2 >= 0) { - var3 = menuOpcodes[var2]; - if (var3 == 39 || var3 == 40 || var3 == 41 || var3 == 42 || var3 == 43 || var3 == 33 || var3 == 34 || var3 == 35 || var3 == 36 || var3 == 37 || var3 == 38 || var3 == 1005) { - label308: { - var4 = menuArguments1[var2]; - var5 = menuArguments2[var2]; - Widget var6 = class87.getWidget(var5); - if (!WorldMapID.method3811(Decimator.getWidgetFlags(var6))) { - var8 = Decimator.getWidgetFlags(var6); - boolean var7 = (var8 >> 29 & 1) != 0; - if (!var7) { - break label308; + for (var22 = 0; var22 < rootWidgetCount; ++var22) { + if (rootWidgetWidths[var22] + rootWidgetXs[var22] > var4 && rootWidgetXs[var22] < var21 + var4 && rootWidgetYs[var22] + rootWidgetHeights[var22] > var5 && rootWidgetYs[var22] < var5 + var14) { + field710[var22] = true; } } - - if (Decimator.dragInventoryWidget != null && !field668 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { - var22 = draggedWidgetX; - var8 = draggedWidgetY; - MenuAction var9 = ArchiveDiskAction.tempMenuAction; - IgnoreList.menuAction(var9.param0, var9.param1, var9.opcode, var9.identifier, var9.action, var9.action, var22, var8); - ArchiveDiskAction.tempMenuAction = null; - } - - field668 = false; - itemDragDuration = 0; - if (Decimator.dragInventoryWidget != null) { - Actor.invalidateWidget(Decimator.dragInventoryWidget); - } - - Decimator.dragInventoryWidget = class87.getWidget(var5); - dragItemSlotSource = var4; - draggedWidgetX = MouseHandler.MouseHandler_lastPressedX; - draggedWidgetY = MouseHandler.MouseHandler_lastPressedY; - if (var2 >= 0) { - ArchiveDiskAction.tempMenuAction = new MenuAction(); - ArchiveDiskAction.tempMenuAction.param0 = menuArguments1[var2]; - ArchiveDiskAction.tempMenuAction.param1 = menuArguments2[var2]; - ArchiveDiskAction.tempMenuAction.opcode = menuOpcodes[var2]; - ArchiveDiskAction.tempMenuAction.identifier = menuIdentifiers[var2]; - ArchiveDiskAction.tempMenuAction.action = menuActions[var2]; - } - - Actor.invalidateWidget(Decimator.dragInventoryWidget); - return; } } + + if (var20 == 1 || !VarbitComposition.mouseCam && var20 == 4) { + var2 = LoginScreenAnimation.menuX; + var3 = class392.menuY; + var4 = UserComparator7.menuWidth; + var5 = MouseHandler.MouseHandler_lastPressedX; + var21 = MouseHandler.MouseHandler_lastPressedY; + var14 = -1; + + for (var22 = 0; var22 < menuOptionsCount; ++var22) { + var9 = var3 + (menuOptionsCount - 1 - var22) * 15 + 31; + if (var5 > var2 && var5 < var4 + var2 && var21 > var9 - 13 && var21 < var9 + 3) { + var14 = var22; + } + } + + int var10; + int var11; + if (var14 != -1 && var14 >= 0) { + var22 = menuArguments1[var14]; + var9 = menuArguments2[var14]; + var10 = menuOpcodes[var14]; + var11 = menuIdentifiers[var14]; + String var12 = menuActions[var14]; + String var13 = menuTargets[var14]; + PlatformInfo.menuAction(var22, var9, var10, var11, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + isMenuOpen = false; + var22 = LoginScreenAnimation.menuX; + var9 = class392.menuY; + var10 = UserComparator7.menuWidth; + var11 = ApproximateRouteStrategy.menuHeight; + + for (int var17 = 0; var17 < rootWidgetCount; ++var17) { + if (rootWidgetXs[var17] + rootWidgetWidths[var17] > var22 && rootWidgetXs[var17] < var22 + var10 && rootWidgetYs[var17] + rootWidgetHeights[var17] > var9 && rootWidgetYs[var17] < var11 + var9) { + field710[var17] = true; + } + } + } + } else { + var2 = menuOptionsCount - 1; + if ((var20 == 1 || !VarbitComposition.mouseCam && var20 == 4) && var2 >= 0) { + var4 = menuOpcodes[var2]; + if (var4 == 39 || var4 == 40 || var4 == 41 || var4 == 42 || var4 == 43 || var4 == 33 || var4 == 34 || var4 == 35 || var4 == 36 || var4 == 37 || var4 == 38 || var4 == 1005) { + var5 = menuArguments1[var2]; + var21 = menuArguments2[var2]; + Widget var7 = HealthBarUpdate.getWidget(var21); + var9 = WorldMapRegion.getWidgetFlags(var7); + boolean var8 = (var9 >> 28 & 1) != 0; + if (var8) { + break label302; + } + + Object var10000 = null; + if (class114.method2493(WorldMapRegion.getWidgetFlags(var7))) { + break label302; + } + } + } + + if ((var20 == 1 || !VarbitComposition.mouseCam && var20 == 4) && this.shouldLeftClickOpenMenu()) { + var20 = 2; + } + + if ((var20 == 1 || !VarbitComposition.mouseCam && var20 == 4) && menuOptionsCount > 0 && var2 >= 0) { + var4 = menuArguments1[var2]; + var5 = menuArguments2[var2]; + var21 = menuOpcodes[var2]; + var14 = menuIdentifiers[var2]; + String var15 = menuActions[var2]; + String var16 = menuTargets[var2]; + PlatformInfo.menuAction(var4, var5, var21, var14, var15, var16, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + if (var20 == 2 && menuOptionsCount > 0) { + this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } } - if ((var21 == 1 || !Script.mouseCam && var21 == 4) && this.shouldLeftClickOpenMenu()) { - var21 = 2; - } - - if ((var21 == 1 || !Script.mouseCam && var21 == 4) && menuOptionsCount > 0 && var2 >= 0) { - var3 = menuArguments1[var2]; - var4 = menuArguments2[var2]; - var5 = menuOpcodes[var2]; - var23 = menuIdentifiers[var2]; - String var15 = menuActions[var2]; - String var16 = menuTargets[var2]; - IgnoreList.menuAction(var3, var4, var5, var23, var15, var16, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - if (var21 == 2 && menuOptionsCount > 0) { - this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } + return; } + if (GameEngine.dragInventoryWidget != null && !field602 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { + Renderable.method4395(draggedWidgetX, draggedWidgetY); + } + + field602 = false; + itemDragDuration = 0; + if (GameEngine.dragInventoryWidget != null) { + class16.invalidateWidget(GameEngine.dragInventoryWidget); + } + + GameEngine.dragInventoryWidget = HealthBarUpdate.getWidget(var21); + dragItemSlotSource = var5; + draggedWidgetX = MouseHandler.MouseHandler_lastPressedX; + draggedWidgetY = MouseHandler.MouseHandler_lastPressedY; + if (var2 >= 0) { + NetFileRequest.method5216(var2); + } + + class16.invalidateWidget(GameEngine.dragInventoryWidget); } } } - @ObfuscatedName("ho") + @ObfuscatedName("hn") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "2025457017" + garbageValue = "-1799994804" ) @Export("shouldLeftClickOpenMenu") final boolean shouldLeftClickOpenMenu() { - int var1 = class28.method410(); - return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || GrandExchangeOfferOwnWorldComparator.method1132(var1)) && !menuShiftClick[var1]; + int var1 = menuOptionsCount - 1; + boolean var3 = leftClickOpensMenu == 1 && menuOptionsCount > 2; + if (!var3) { + boolean var4; + if (var1 < 0) { + var4 = false; + } else { + int var5 = menuOpcodes[var1]; + if (var5 >= 2000) { + var5 -= 2000; + } + + if (var5 == 1007) { + var4 = true; + } else { + var4 = false; + } + } + + var3 = var4; + } + + return var3 && !menuShiftClick[var1]; } @ObfuscatedName("hu") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "-512239185" + garbageValue = "1352837868" ) @Export("openMenu") final void openMenu(int var1, int var2) { - NPC.method2214(var1, var2); - CollisionMap.scene.menuOpen(class391.Client_plane, var1, var2, false); + Widget.method4997(var1, var2); + PlayerComposition.scene.menuOpen(VertexNormal.Client_plane, var1, var2, false); isMenuOpen = true; } - @ObfuscatedName("iv") + @ObfuscatedName("iu") @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "0" + descriptor = "(ZI)V", + garbageValue = "-406971088" ) @Export("resizeRoot") final void resizeRoot(boolean var1) { - int var2 = rootInterface; - int var3 = InvDefinition.canvasWidth; - int var4 = GameEngine.canvasHeight; - if (class317.loadInterface(var2)) { - Coord.resizeInterface(class139.Widget_interfaceComponents[var2], -1, var3, var4, var1); - } - + Canvas.method380(rootInterface, Huffman.canvasWidth, MouseRecorder.canvasHeight, var1); } - @ObfuscatedName("ic") + @ObfuscatedName("ir") @ObfuscatedSignature( - descriptor = "(Ljd;I)V", - garbageValue = "-1891102601" + descriptor = "(Ljt;I)V", + garbageValue = "2032857847" ) @Export("alignWidget") void alignWidget(Widget var1) { - Widget var2 = var1.parentId == -1 ? null : class87.getWidget(var1.parentId); + Widget var2 = var1.parentId == -1 ? null : HealthBarUpdate.getWidget(var1.parentId); int var3; int var4; if (var2 == null) { - var3 = InvDefinition.canvasWidth; - var4 = GameEngine.canvasHeight; + var3 = Huffman.canvasWidth; + var4 = MouseRecorder.canvasHeight; } else { var3 = var2.width; var4 = var2.height; } - UrlRequest.alignWidgetSize(var1, var3, var4, false); - class128.alignWidgetPosition(var1, var3, var4); + WorldMapEvent.alignWidgetSize(var1, var3, var4, false); + HorizontalAlignment.alignWidgetPosition(var1, var3, var4); } - @ObfuscatedName("jl") + @ObfuscatedName("jk") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-74" + descriptor = "(S)V", + garbageValue = "1536" ) - final void method1159() { - Actor.invalidateWidget(clickedWidget); - ++class125.widgetDragDuration; - if (field669 && field666) { + final void method1349() { + class16.invalidateWidget(clickedWidget); + ++MouseHandler.widgetDragDuration; + if (field671 && field595) { int var1 = MouseHandler.MouseHandler_x; int var2 = MouseHandler.MouseHandler_y; var1 -= widgetClickX; var2 -= widgetClickY; - if (var1 < field623) { - var1 = field623; + if (var1 < field669) { + var1 = field669; } - if (var1 + clickedWidget.width > field623 + clickedWidgetParent.width) { - var1 = field623 + clickedWidgetParent.width - clickedWidget.width; + if (var1 + clickedWidget.width > field669 + clickedWidgetParent.width) { + var1 = field669 + clickedWidgetParent.width - clickedWidget.width; } - if (var2 < field658) { - var2 = field658; + if (var2 < field670) { + var2 = field670; } - if (var2 + clickedWidget.height > field658 + clickedWidgetParent.height) { - var2 = field658 + clickedWidgetParent.height - clickedWidget.height; + if (var2 + clickedWidget.height > field670 + clickedWidgetParent.height) { + var2 = field670 + clickedWidgetParent.height - clickedWidget.height; } - int var3 = var1 - field739; - int var4 = var2 - field671; + int var3 = var1 - field672; + int var4 = var2 - field608; int var5 = clickedWidget.dragZoneSize; - if (class125.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { + if (MouseHandler.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { isDraggingWidget = true; } - int var6 = var1 - field623 + clickedWidgetParent.scrollX; - int var7 = var2 - field658 + clickedWidgetParent.scrollY; + int var6 = var1 - field669 + clickedWidgetParent.scrollX; + int var7 = var2 - field670 + clickedWidgetParent.scrollY; ScriptEvent var8; if (clickedWidget.onDrag != null && isDraggingWidget) { var8 = new ScriptEvent(); @@ -6419,7 +5881,7 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { var8.mouseX = var6; var8.mouseY = var7; var8.args = clickedWidget.onDrag; - class139.runScriptEvent(var8); + ViewportMouse.runScriptEvent(var8); } if (MouseHandler.MouseHandler_currentButton == 0) { @@ -6431,55 +5893,76 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { var8.mouseY = var7; var8.dragTarget = draggedOnWidget; var8.args = clickedWidget.onDragComplete; - class139.runScriptEvent(var8); + ViewportMouse.runScriptEvent(var8); } - if (draggedOnWidget != null && Message.method1099(clickedWidget) != null) { - PacketBufferNode var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2698, packetWriter.isaacCipher); - var12.packetBuffer.method6861(clickedWidget.id); - var12.packetBuffer.method6951(draggedOnWidget.childIndex); - var12.packetBuffer.method6852(clickedWidget.childIndex); - var12.packetBuffer.method6852(draggedOnWidget.itemId); - var12.packetBuffer.method6852(clickedWidget.itemId); - var12.packetBuffer.method6860(draggedOnWidget.id); - packetWriter.addNode(var12); + if (draggedOnWidget != null) { + Widget var9 = clickedWidget; + int var10 = Friend.method6003(WorldMapRegion.getWidgetFlags(var9)); + Widget var13; + if (var10 == 0) { + var13 = null; + } else { + int var11 = 0; + + while (true) { + if (var11 >= var10) { + var13 = var9; + break; + } + + var9 = HealthBarUpdate.getWidget(var9.parentId); + if (var9 == null) { + var13 = null; + break; + } + + ++var11; + } + } + + if (var13 != null) { + PacketBufferNode var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2684, packetWriter.isaacCipher); + var12.packetBuffer.method6942(clickedWidget.id); + var12.packetBuffer.method7029(clickedWidget.childIndex); + var12.packetBuffer.method6930(draggedOnWidget.childIndex); + var12.packetBuffer.writeShort(draggedOnWidget.itemId); + var12.packetBuffer.method6931(clickedWidget.itemId); + var12.packetBuffer.method6940(draggedOnWidget.id); + packetWriter.addNode(var12); + } } } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(field739 + widgetClickX, field671 + widgetClickY); + this.openMenu(field672 + widgetClickX, widgetClickY + field608); } else if (menuOptionsCount > 0) { - int var11 = field739 + widgetClickX; - int var9 = widgetClickY + field671; - MenuAction var10 = ArchiveDiskAction.tempMenuAction; - IgnoreList.menuAction(var10.param0, var10.param1, var10.opcode, var10.identifier, var10.action, var10.action, var11, var9); - ArchiveDiskAction.tempMenuAction = null; + Renderable.method4395(widgetClickX + field672, field608 + widgetClickY); } clickedWidget = null; } } else { - if (class125.widgetDragDuration > 1) { + if (MouseHandler.widgetDragDuration > 1) { clickedWidget = null; } } } - @ObfuscatedName("kh") + @ObfuscatedName("kz") @ObfuscatedSignature( - descriptor = "(I)Lpp;", - garbageValue = "-2077546643" + descriptor = "(B)Lpm;", + garbageValue = "-28" ) @Export("username") public Username username() { - return class129.localPlayer != null ? class129.localPlayer.username : null; + return class67.localPlayer != null ? class67.localPlayer.username : null; } public final void init() { try { if (this.checkHost()) { - int var4; - for (int var1 = 0; var1 <= 22; ++var1) { + for (int var1 = 0; var1 <= 27; ++var1) { String var2 = this.getParameter(Integer.toString(var1)); if (var2 != null) { switch(var1) { @@ -6509,382 +5992,140 @@ public final class Client extends GameEngine implements Usernamed, OAuthTokens { worldProperties = Integer.parseInt(var2); break; case 6: - var4 = Integer.parseInt(var2); - Language var3; + int var4 = Integer.parseInt(var2); + Language var9; if (var4 >= 0 && var4 < Language.Language_valuesOrdered.length) { - var3 = Language.Language_valuesOrdered[var4]; + var9 = Language.Language_valuesOrdered[var4]; } else { - var3 = null; + var9 = null; } - class323.clientLanguage = var3; + ReflectionCheck.clientLanguage = var9; break; case 7: - WorldMapSection2.field2031 = class124.method2543(Integer.parseInt(var2)); + class29.field171 = class114.method2494(Integer.parseInt(var2)); break; case 8: if (var2.equalsIgnoreCase("true")) { } break; case 9: - WorldMapIcon_0.field2104 = var2; + ItemContainer.field1009 = var2; break; case 10: - class16.field83 = (StudioGame)class260.findEnumerated(DesktopPlatformInfoProvider.method6307(), Integer.parseInt(var2)); - if (class16.field83 == StudioGame.oldscape) { - SoundCache.loginType = LoginType.oldscape; + StudioGame[] var3 = new StudioGame[]{StudioGame.oldscape, StudioGame.runescape, StudioGame.game3, StudioGame.game4, StudioGame.stellardawn, StudioGame.game5}; + class392.field4267 = (StudioGame)class128.findEnumerated(var3, Integer.parseInt(var2)); + if (class392.field4267 == StudioGame.oldscape) { + WorldMapSectionType.loginType = LoginType.oldscape; } else { - SoundCache.loginType = LoginType.field4199; + WorldMapSectionType.loginType = LoginType.field4227; } break; case 11: - class16.field84 = var2; + Varcs.field1264 = var2; break; case 12: worldId = Integer.parseInt(var2); break; case 14: - KeyHandler.field145 = Integer.parseInt(var2); + KeyHandler.field142 = Integer.parseInt(var2); break; case 15: gameBuild = Integer.parseInt(var2); break; case 17: - class328.field3915 = var2; + Messages.field1273 = var2; break; case 21: - field485 = Integer.parseInt(var2); + field524 = Integer.parseInt(var2); break; case 22: - field538 = Integer.parseInt(var2) != 0; + field540 = Integer.parseInt(var2) != 0; } } } - Scene.Scene_isLowDetail = false; - isLowDetail = false; - class279.worldHost = this.getCodeBase().getHost(); - String var17 = WorldMapSection2.field2031.name; - byte var18 = 0; + class391.method6795(); + EnumComposition.worldHost = this.getCodeBase().getHost(); + String var5 = class29.field171.name; + byte var6 = 0; try { - JagexCache.idxCount = 21; - class397.cacheGamebuild = var18; - - try { - SoundSystem.operatingSystemName = System.getProperty("os.name"); - } catch (Exception var35) { - SoundSystem.operatingSystemName = "Unknown"; - } - - class137.formattedOperatingSystemName = SoundSystem.operatingSystemName.toLowerCase(); - - try { - ItemContainer.userHomeDirectory = System.getProperty("user.home"); - if (ItemContainer.userHomeDirectory != null) { - ItemContainer.userHomeDirectory = ItemContainer.userHomeDirectory + "/"; - } - } catch (Exception var34) { - } - - try { - if (class137.formattedOperatingSystemName.startsWith("win")) { - if (ItemContainer.userHomeDirectory == null) { - ItemContainer.userHomeDirectory = System.getenv("USERPROFILE"); - } - } else if (ItemContainer.userHomeDirectory == null) { - ItemContainer.userHomeDirectory = System.getenv("HOME"); - } - - if (ItemContainer.userHomeDirectory != null) { - ItemContainer.userHomeDirectory = ItemContainer.userHomeDirectory + "/"; - } - } catch (Exception var33) { - } - - if (ItemContainer.userHomeDirectory == null) { - ItemContainer.userHomeDirectory = "~/"; - } - - Varcs.cacheParentPaths = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", ItemContainer.userHomeDirectory, "/tmp/", ""}; - ChatChannel.cacheSubPaths = new String[]{".jagex_cache_" + class397.cacheGamebuild, ".file_store_" + class397.cacheGamebuild}; - int var19 = 0; - - label303: - while (var19 < 4) { - String var5 = var19 == 0 ? "" : "" + var19; - GrandExchangeOfferAgeComparator.JagexCache_locationFile = new File(ItemContainer.userHomeDirectory, "jagex_cl_oldschool_" + var17 + var5 + ".dat"); - String var6 = null; - String var7 = null; - boolean var8 = false; - Buffer var10; - int var11; - int var13; - File var43; - if (GrandExchangeOfferAgeComparator.JagexCache_locationFile.exists()) { - try { - AccessFile var9 = new AccessFile(GrandExchangeOfferAgeComparator.JagexCache_locationFile, "rw", 10000L); - - for (var10 = new Buffer((int)var9.length()); var10.offset < var10.array.length; var10.offset += var11) { - var11 = var9.read(var10.array, var10.offset, var10.array.length - var10.offset); - if (var11 == -1) { - throw new IOException(); - } - } - - var10.offset = 0; - var11 = var10.readUnsignedByte(); - if (var11 < 1 || var11 > 3) { - throw new IOException("" + var11); - } - - int var12 = 0; - if (var11 > 1) { - var12 = var10.readUnsignedByte(); - } - - if (var11 <= 2) { - var6 = var10.readStringCp1252NullCircumfixed(); - if (var12 == 1) { - var7 = var10.readStringCp1252NullCircumfixed(); - } - } else { - var6 = var10.readCESU8(); - if (var12 == 1) { - var7 = var10.readCESU8(); - } - } - - var9.close(); - } catch (IOException var37) { - var37.printStackTrace(); - } - - if (var6 != null) { - var43 = new File(var6); - if (!var43.exists()) { - var6 = null; - } - } - - if (var6 != null) { - var43 = new File(var6, "test.dat"); - - boolean var45; - try { - RandomAccessFile var20 = new RandomAccessFile(var43, "rw"); - var13 = var20.read(); - var20.seek(0L); - var20.write(var13); - var20.seek(0L); - var20.close(); - var43.delete(); - var45 = true; - } catch (Exception var32) { - var45 = false; - } - - if (!var45) { - var6 = null; - } - } - } - - if (var6 == null && var19 == 0) { - label279: - for (int var21 = 0; var21 < ChatChannel.cacheSubPaths.length; ++var21) { - for (int var22 = 0; var22 < Varcs.cacheParentPaths.length; ++var22) { - File var23 = new File(Varcs.cacheParentPaths[var22] + ChatChannel.cacheSubPaths[var21] + File.separatorChar + "oldschool" + File.separatorChar); - if (var23.exists()) { - File var24 = new File(var23, "test.dat"); - - boolean var47; - try { - RandomAccessFile var14 = new RandomAccessFile(var24, "rw"); - int var15 = var14.read(); - var14.seek(0L); - var14.write(var15); - var14.seek(0L); - var14.close(); - var24.delete(); - var47 = true; - } catch (Exception var31) { - var47 = false; - } - - if (var47) { - var6 = var23.toString(); - var8 = true; - break label279; - } - } - } - } - } - - if (var6 == null) { - var6 = ItemContainer.userHomeDirectory + File.separatorChar + "jagexcache" + var5 + File.separatorChar + "oldschool" + File.separatorChar + var17 + File.separatorChar; - var8 = true; - } - - File var42; - if (var7 != null) { - var42 = new File(var7); - var43 = new File(var6); - - try { - File[] var52 = var42.listFiles(); - File[] var49 = var52; - - for (var13 = 0; var13 < var49.length; ++var13) { - File var48 = var49[var13]; - File var25 = new File(var43, var48.getName()); - boolean var16 = var48.renameTo(var25); - if (!var16) { - throw new IOException(); - } - } - } catch (Exception var36) { - var36.printStackTrace(); - } - - var8 = true; - } - - if (var8) { - var42 = new File(var6); - var10 = null; - - try { - AccessFile var53 = new AccessFile(GrandExchangeOfferAgeComparator.JagexCache_locationFile, "rw", 10000L); - Buffer var50 = new Buffer(500); - var50.writeByte(3); - var50.writeByte(var10 != null ? 1 : 0); - var50.writeCESU8(var42.getPath()); - if (var10 != null) { - var50.writeCESU8(""); - } - - var53.write(var50.array, 0, var50.offset); - var53.close(); - } catch (IOException var30) { - var30.printStackTrace(); - } - } - - File var26 = new File(var6); - JagexCache.cacheDir = var26; - if (!JagexCache.cacheDir.exists()) { - JagexCache.cacheDir.mkdirs(); - } - - File[] var41 = JagexCache.cacheDir.listFiles(); - if (var41 == null) { - break; - } - - File[] var44 = var41; - int var27 = 0; - - while (true) { - if (var27 >= var44.length) { - break label303; - } - - File var28 = var44[var27]; - - boolean var51; - try { - RandomAccessFile var46 = new RandomAccessFile(var28, "rw"); - var11 = var46.read(); - var46.seek(0L); - var46.write(var11); - var46.seek(0L); - var46.close(); - var51 = true; - } catch (Exception var29) { - var51 = false; - } - - if (!var51) { - ++var19; - break; - } - - ++var27; - } - } - - File var40 = JagexCache.cacheDir; - FileSystem.FileSystem_cacheDir = var40; - if (!FileSystem.FileSystem_cacheDir.exists()) { - throw new RuntimeException(""); - } - - FileSystem.FileSystem_hasPermissions = true; - AbstractUserComparator.method5977(); - JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(class91.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); - JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(class91.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); - JagexCache.JagexCache_idxFiles = new BufferedFile[JagexCache.idxCount]; - - for (var4 = 0; var4 < JagexCache.idxCount; ++var4) { - JagexCache.JagexCache_idxFiles[var4] = new BufferedFile(new AccessFile(class91.getFile("main_file_cache.idx" + var4), "rw", 1048576L), 6000, 0); - } - } catch (Exception var38) { - class4.RunException_sendStackTrace((String)null, var38); + class114.method2485("oldschool", var5, var6, 21); + } catch (Exception var7) { + Timer.RunException_sendStackTrace((String)null, var7); } - ArchiveDiskActionHandler.client = this; + class21.client = this; RunException.clientType = clientType; - if (field487 == -1) { - field487 = 0; + if (field681 == -1) { + field681 = 0; } - field520 = System.getenv("JX_ACCESS_TOKEN"); + WorldMapSectionType.field2140 = System.getenv("JX_ACCESS_TOKEN"); System.getenv("JX_REFRESH_TOKEN"); - this.startThread(765, 503, 199); + this.startThread(765, 503, 200); } - } catch (RuntimeException var39) { - throw ParamComposition.newRunException(var39, "client.init(" + ')'); + } catch (RuntimeException var8) { + throw class91.newRunException(var8, "client.init(" + ')'); } } - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "123" - ) - public static void method1330() { - ItemComposition.ItemDefinition_cached.clear(); - ItemComposition.ItemDefinition_cachedModels.clear(); - ItemComposition.ItemDefinition_cachedSprites.clear(); + public void setOAuthTokens(String var1, String var2) { + if (var1 != null && !var1.trim().isEmpty() && var2 != null && !var2.trim().isEmpty()) { + WorldMapSectionType.field2140 = var1; + class112.method2474(10); + } } - @ObfuscatedName("ab") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "552673422" + descriptor = "(III)I", + garbageValue = "1649359847" ) - static int method1609(int var0) { - return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F)); - } - - @ObfuscatedName("lb") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1278315237" - ) - static void method1611() { - if (class16.field82 != null) { - field760 = cycle; - class16.field82.method5365(); - - for (int var0 = 0; var0 < players.length; ++var0) { - if (players[var0] != null) { - class16.field82.method5364((players[var0].x >> 7) + FloorOverlayDefinition.baseX, (players[var0].y >> 7) + class320.baseY); - } + static int method1588(int var0, int var1) { + if (var0 == -2) { + return 12345678; + } else if (var0 == -1) { + if (var1 < 0) { + var1 = 0; + } else if (var1 > 127) { + var1 = 127; } + + var1 = 127 - var1; + return var1; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + } + + @ObfuscatedName("ft") + @ObfuscatedSignature( + descriptor = "(Lcd;I)V", + garbageValue = "-1157644084" + ) + static final void method1589(Actor var0) { + if (var0.field1165 == cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > KitDefinition.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { + int var1 = var0.field1165 - var0.field1145; + int var2 = cycle - var0.field1145; + int var3 = var0.field1109 * 64 + var0.field1148 * 128; + int var4 = var0.field1109 * 64 + var0.field1126 * 128; + int var5 = var0.field1109 * 64 + var0.field1149 * 128; + int var6 = var0.field1109 * 64 + var0.field1125 * 128; + var0.x = (var5 * var2 + var3 * (var1 - var2)) / var1; + var0.y = (var6 * var2 + var4 * (var1 - var2)) / var1; } + var0.field1164 = 0; + var0.orientation = var0.field1151; + var0.rotation = var0.orientation; } } diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index a631058c96..4fe918ddcc 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -4,659 +4,659 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ix") +@ObfuscatedName("iz") @Implements("ClientPacket") public class ClientPacket implements class238 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2723; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2730; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2642; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2643; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2698; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2645; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2646; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2647; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2648; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2649; @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2650; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2651; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2652; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2663; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2654; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2655; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - static final ClientPacket field2656; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2742; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2658; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2659; - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2640; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2661; - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2662; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2733; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2664; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2665; - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2666; - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2667; - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2668; - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2702; - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2670; - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2671; - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2725; - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2690; - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2674; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - static final ClientPacket field2675; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2676; - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2732; - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2712; - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2679; - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2680; - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2710; - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2682; - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2683; - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2729; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2741; - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2686; - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2708; - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2688; - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2689; - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2746; - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2691; - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2715; - @ObfuscatedName("bt") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2693; - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2694; - @ObfuscatedName("bp") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2695; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2681; - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2722; - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2696; - @ObfuscatedName("bw") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2673; - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2700; - @ObfuscatedName("bj") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2701; - @ObfuscatedName("be") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2678; - @ObfuscatedName("bq") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2707; - @ObfuscatedName("bu") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2704; - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2705; - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2687; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2699; - @ObfuscatedName("bb") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2677; - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2709; - @ObfuscatedName("ba") - @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) public static final ClientPacket field2706; - @ObfuscatedName("bg") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2711; - @ObfuscatedName("bo") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2653; - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2684; - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2714; - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2745; - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2716; - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - static final ClientPacket field2717; - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2718; - @ObfuscatedName("ci") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2697; - @ObfuscatedName("cl") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - static final ClientPacket field2720; - @ObfuscatedName("cu") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2721; - @ObfuscatedName("co") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2669; - @ObfuscatedName("cb") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2736; - @ObfuscatedName("cf") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2724; - @ObfuscatedName("cc") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2703; - @ObfuscatedName("cn") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2726; - @ObfuscatedName("ch") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2727; - @ObfuscatedName("cx") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2728; - @ObfuscatedName("cv") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2719; - @ObfuscatedName("cr") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2713; - @ObfuscatedName("cq") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2731; - @ObfuscatedName("ck") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2644; - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2692; - @ObfuscatedName("cy") - @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2744; - @ObfuscatedName("cp") - @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) public static final ClientPacket field2660; - @ObfuscatedName("cg") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lix;" - ) - public static final ClientPacket field2734; - @ObfuscatedName("cd") - @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) public static final ClientPacket field2737; - @ObfuscatedName("cs") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - public static final ClientPacket field2738; - @ObfuscatedName("ca") + public static final ClientPacket field2662; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - static final ClientPacket field2739; - @ObfuscatedName("cj") + public static final ClientPacket field2663; + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - public static final ClientPacket field2740; - @ObfuscatedName("ct") + public static final ClientPacket field2664; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - public static final ClientPacket field2657; - @ObfuscatedName("cz") + public static final ClientPacket field2665; + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" + ) + public static final ClientPacket field2689; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2667; + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2668; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2690; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Liz;" ) public static final ClientPacket field2672; - @ObfuscatedName("ce") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - public static final ClientPacket field2743; - @ObfuscatedName("dd") + public static final ClientPacket field2711; + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) - public static final ClientPacket field2735; - @ObfuscatedName("dk") + public static final ClientPacket field2699; + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" + ) + public static final ClientPacket field2673; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2670; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2727; + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2676; + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2677; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2694; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2766; + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2680; + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2681; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2682; + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2688; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2684; + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2758; + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2686; + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2687; + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2692; + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2675; + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2696; + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "Liz;" ) public static final ClientPacket field2685; - @ObfuscatedName("ds") + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2707; + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + static final ClientPacket field2748; + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2691; + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2693; + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2679; + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2697; + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2759; + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2713; + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2700; + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2701; + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + static final ClientPacket field2702; + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2703; + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2704; + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2671; + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2750; + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2742; + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2708; + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2709; + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2710; + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2683; + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2712; + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2719; + @ObfuscatedName("bf") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2714; + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2705; + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2716; + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2717; + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2718; + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2666; + @ObfuscatedName("ba") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2720; + @ObfuscatedName("bm") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2695; + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2722; + @ObfuscatedName("bs") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2723; + @ObfuscatedName("bd") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2724; + @ObfuscatedName("bb") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2725; + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2669; + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2721; + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2728; + @ObfuscatedName("by") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2729; + @ObfuscatedName("be") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2730; + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2731; + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2732; + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2733; + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2734; + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2735; + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2736; + @ObfuscatedName("ca") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2678; + @ObfuscatedName("ct") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + static final ClientPacket field2661; + @ObfuscatedName("cy") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2739; + @ObfuscatedName("cg") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2740; + @ObfuscatedName("ci") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2741; + @ObfuscatedName("cx") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2698; + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2743; + @ObfuscatedName("cp") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + static final ClientPacket field2674; + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2745; + @ObfuscatedName("cr") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2746; + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2747; + @ObfuscatedName("cs") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2726; + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2749; + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2755; + @ObfuscatedName("cz") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2751; + @ObfuscatedName("cu") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2752; + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2753; + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2754; + @ObfuscatedName("cf") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2738; + @ObfuscatedName("ch") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2756; + @ObfuscatedName("cc") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + static final ClientPacket field2757; + @ObfuscatedName("cj") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2659; + @ObfuscatedName("co") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2715; + @ObfuscatedName("ck") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2760; + @ObfuscatedName("cb") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2761; + @ObfuscatedName("cm") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2762; + @ObfuscatedName("db") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2763; + @ObfuscatedName("dx") + @ObfuscatedSignature( + descriptor = "Liz;" + ) + public static final ClientPacket field2764; + @ObfuscatedName("dd") @ObfuscatedGetter( - intValue = -148454047 + intValue = 1537742509 ) @Export("id") final int id; - @ObfuscatedName("df") + @ObfuscatedName("dp") @ObfuscatedGetter( - intValue = 1256518079 + intValue = 1511718677 ) @Export("length") final int length; static { - field2723 = new ClientPacket(0, -1); - field2730 = new ClientPacket(1, -2); - field2642 = new ClientPacket(2, 8); - field2643 = new ClientPacket(3, 15); - field2698 = new ClientPacket(4, 16); - field2645 = new ClientPacket(5, -1); - field2646 = new ClientPacket(6, 3); - field2647 = new ClientPacket(7, 4); - field2648 = new ClientPacket(8, 3); - field2649 = new ClientPacket(9, 7); - field2650 = new ClientPacket(10, 8); - field2651 = new ClientPacket(11, 3); - field2652 = new ClientPacket(12, 16); - field2663 = new ClientPacket(13, 8); - field2654 = new ClientPacket(14, -1); - field2655 = new ClientPacket(15, 16); - field2656 = new ClientPacket(16, 2); - field2742 = new ClientPacket(17, 6); - field2658 = new ClientPacket(18, 3); - field2659 = new ClientPacket(19, 7); - field2640 = new ClientPacket(20, 15); - field2661 = new ClientPacket(21, -1); - field2662 = new ClientPacket(22, 4); - field2733 = new ClientPacket(23, 8); - field2664 = new ClientPacket(24, 5); - field2665 = new ClientPacket(25, 4); - field2666 = new ClientPacket(26, -1); - field2667 = new ClientPacket(27, -1); - field2668 = new ClientPacket(28, 8); - field2702 = new ClientPacket(29, 7); - field2670 = new ClientPacket(30, 3); - field2671 = new ClientPacket(31, 8); - field2725 = new ClientPacket(32, -1); - field2690 = new ClientPacket(33, 6); - field2674 = new ClientPacket(34, 8); - field2675 = new ClientPacket(35, -1); - field2676 = new ClientPacket(36, 3); - field2732 = new ClientPacket(37, 7); - field2712 = new ClientPacket(38, 2); - field2679 = new ClientPacket(39, 8); - field2680 = new ClientPacket(40, 11); - field2710 = new ClientPacket(41, 7); - field2682 = new ClientPacket(42, 8); - field2683 = new ClientPacket(43, 15); - field2729 = new ClientPacket(44, 7); - field2741 = new ClientPacket(45, 3); - field2686 = new ClientPacket(46, 3); - field2708 = new ClientPacket(47, 8); - field2688 = new ClientPacket(48, 4); - field2689 = new ClientPacket(49, -1); - field2746 = new ClientPacket(50, 2); - field2691 = new ClientPacket(51, 8); - field2715 = new ClientPacket(52, 3); - field2693 = new ClientPacket(53, 11); - field2694 = new ClientPacket(54, 8); - field2695 = new ClientPacket(55, -1); - field2681 = new ClientPacket(56, 8); - field2722 = new ClientPacket(57, -1); - field2696 = new ClientPacket(58, 0); - field2673 = new ClientPacket(59, -1); - field2700 = new ClientPacket(60, 4); - field2701 = new ClientPacket(61, 1); - field2678 = new ClientPacket(62, 9); - field2707 = new ClientPacket(63, 9); - field2704 = new ClientPacket(64, 0); - field2705 = new ClientPacket(65, 8); - field2687 = new ClientPacket(66, -1); - field2699 = new ClientPacket(67, 0); - field2677 = new ClientPacket(68, 13); - field2709 = new ClientPacket(69, 7); - field2706 = new ClientPacket(70, 3); - field2711 = new ClientPacket(71, -2); - field2653 = new ClientPacket(72, 7); - field2684 = new ClientPacket(73, 0); - field2714 = new ClientPacket(74, -1); - field2745 = new ClientPacket(75, 14); - field2716 = new ClientPacket(76, 10); - field2717 = new ClientPacket(77, -1); - field2718 = new ClientPacket(78, 8); - field2697 = new ClientPacket(79, -1); - field2720 = new ClientPacket(80, 7); - field2721 = new ClientPacket(81, 2); - field2669 = new ClientPacket(82, -1); - field2736 = new ClientPacket(83, 8); - field2724 = new ClientPacket(84, 7); - field2703 = new ClientPacket(85, 2); - field2726 = new ClientPacket(86, -1); - field2727 = new ClientPacket(87, -1); - field2728 = new ClientPacket(88, 3); - field2719 = new ClientPacket(89, 0); - field2713 = new ClientPacket(90, 3); - field2731 = new ClientPacket(91, -2); - field2644 = new ClientPacket(92, 8); - field2692 = new ClientPacket(93, -1); - field2744 = new ClientPacket(94, -1); - field2660 = new ClientPacket(95, 3); - field2734 = new ClientPacket(96, 8); - field2737 = new ClientPacket(97, -1); - field2738 = new ClientPacket(98, 8); - field2739 = new ClientPacket(99, -1); - field2740 = new ClientPacket(100, 7); - field2657 = new ClientPacket(101, 3); - field2672 = new ClientPacket(102, 15); - field2743 = new ClientPacket(103, 11); - field2735 = new ClientPacket(104, 8); - field2685 = new ClientPacket(105, 11); + field2706 = new ClientPacket(0, 0); + field2660 = new ClientPacket(1, -1); + field2737 = new ClientPacket(2, 4); + field2662 = new ClientPacket(3, 3); + field2663 = new ClientPacket(4, 7); + field2664 = new ClientPacket(5, 3); + field2665 = new ClientPacket(6, -1); + field2689 = new ClientPacket(7, 8); + field2667 = new ClientPacket(8, -2); + field2668 = new ClientPacket(9, 8); + field2690 = new ClientPacket(10, 1); + field2672 = new ClientPacket(11, 15); + field2711 = new ClientPacket(12, 3); + field2699 = new ClientPacket(13, 8); + field2673 = new ClientPacket(14, 2); + field2670 = new ClientPacket(15, 8); + field2727 = new ClientPacket(16, 0); + field2676 = new ClientPacket(17, -1); + field2677 = new ClientPacket(18, 8); + field2694 = new ClientPacket(19, -1); + field2766 = new ClientPacket(20, 8); + field2680 = new ClientPacket(21, 0); + field2681 = new ClientPacket(22, 15); + field2682 = new ClientPacket(23, 3); + field2688 = new ClientPacket(24, 8); + field2684 = new ClientPacket(25, 16); + field2758 = new ClientPacket(26, -1); + field2686 = new ClientPacket(27, -1); + field2687 = new ClientPacket(28, -1); + field2692 = new ClientPacket(29, 7); + field2675 = new ClientPacket(30, 13); + field2696 = new ClientPacket(31, -1); + field2685 = new ClientPacket(32, 8); + field2707 = new ClientPacket(33, 7); + field2748 = new ClientPacket(34, -1); + field2691 = new ClientPacket(35, 3); + field2693 = new ClientPacket(36, 2); + field2679 = new ClientPacket(37, -2); + field2697 = new ClientPacket(38, 0); + field2759 = new ClientPacket(39, 2); + field2713 = new ClientPacket(40, -1); + field2700 = new ClientPacket(41, 7); + field2701 = new ClientPacket(42, 7); + field2702 = new ClientPacket(43, 7); + field2703 = new ClientPacket(44, -1); + field2704 = new ClientPacket(45, -1); + field2671 = new ClientPacket(46, 16); + field2750 = new ClientPacket(47, 9); + field2742 = new ClientPacket(48, 4); + field2708 = new ClientPacket(49, 7); + field2709 = new ClientPacket(50, 3); + field2710 = new ClientPacket(51, 6); + field2683 = new ClientPacket(52, 7); + field2712 = new ClientPacket(53, 7); + field2719 = new ClientPacket(54, 14); + field2714 = new ClientPacket(55, 8); + field2705 = new ClientPacket(56, 8); + field2716 = new ClientPacket(57, 16); + field2717 = new ClientPacket(58, 11); + field2718 = new ClientPacket(59, 5); + field2666 = new ClientPacket(60, -1); + field2720 = new ClientPacket(61, 4); + field2695 = new ClientPacket(62, 3); + field2722 = new ClientPacket(63, 8); + field2723 = new ClientPacket(64, 4); + field2724 = new ClientPacket(65, -1); + field2725 = new ClientPacket(66, -1); + field2669 = new ClientPacket(67, 0); + field2721 = new ClientPacket(68, 3); + field2728 = new ClientPacket(69, 15); + field2729 = new ClientPacket(70, 3); + field2730 = new ClientPacket(71, 8); + field2731 = new ClientPacket(72, 8); + field2732 = new ClientPacket(73, 10); + field2733 = new ClientPacket(74, 3); + field2734 = new ClientPacket(75, 6); + field2735 = new ClientPacket(76, -2); + field2736 = new ClientPacket(77, 7); + field2678 = new ClientPacket(78, 3); + field2661 = new ClientPacket(79, -1); + field2739 = new ClientPacket(80, 4); + field2740 = new ClientPacket(81, 3); + field2741 = new ClientPacket(82, -1); + field2698 = new ClientPacket(83, 8); + field2743 = new ClientPacket(84, 8); + field2674 = new ClientPacket(85, -1); + field2745 = new ClientPacket(86, -1); + field2746 = new ClientPacket(87, -1); + field2747 = new ClientPacket(88, 11); + field2726 = new ClientPacket(89, 8); + field2749 = new ClientPacket(90, 3); + field2755 = new ClientPacket(91, 9); + field2751 = new ClientPacket(92, 2); + field2752 = new ClientPacket(93, 8); + field2753 = new ClientPacket(94, 11); + field2754 = new ClientPacket(95, -1); + field2738 = new ClientPacket(96, 8); + field2756 = new ClientPacket(97, -1); + field2757 = new ClientPacket(98, 2); + field2659 = new ClientPacket(99, 8); + field2715 = new ClientPacket(100, -1); + field2760 = new ClientPacket(101, 8); + field2761 = new ClientPacket(102, 3); + field2762 = new ClientPacket(103, 7); + field2763 = new ClientPacket(104, 15); + field2764 = new ClientPacket(105, 11); } ClientPacket(int var1, int var2) { diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index af1f5e6825..425413e292 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -1,4 +1,3 @@ -import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map.Entry; @@ -7,67 +6,67 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cx") +@ObfuscatedName("cq") @Implements("ClientPreferences") public class ClientPreferences { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -764103933 + intValue = -1264543347 ) @Export("ClientPreferences_optionCount") static int ClientPreferences_optionCount; - @ObfuscatedName("fs") - @ObfuscatedGetter( - intValue = 908401167 + @ObfuscatedName("cm") + @ObfuscatedSignature( + descriptor = "Lcg;" ) - @Export("currentPort") - static int currentPort; - @ObfuscatedName("m") + @Export("mouseRecorder") + static MouseRecorder mouseRecorder; + @ObfuscatedName("f") @Export("roofsHidden") boolean roofsHidden; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("titleMusicDisabled") boolean titleMusicDisabled; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1524960687 + intValue = -1347880583 ) @Export("windowMode") int windowMode; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("rememberedUsername") String rememberedUsername; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("hideUsername") boolean hideUsername; @ObfuscatedName("a") - double field1193; - @ObfuscatedName("u") + @Export("brightness") + double brightness; + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -970652687 + intValue = -1221768457 ) @Export("musicVolume") int musicVolume; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -753455133 + intValue = 1926347 ) @Export("soundEffectsVolume") int soundEffectsVolume; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 611081845 + intValue = -1050317019 ) @Export("areaSoundEffectsVolume") int areaSoundEffectsVolume; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1860802513 + intValue = 526846849 ) - int field1192; - @ObfuscatedName("v") + int field1209; + @ObfuscatedName("g") @Export("parameters") LinkedHashMap parameters; @@ -79,13 +78,13 @@ public class ClientPreferences { this.windowMode = 1; this.rememberedUsername = null; this.hideUsername = false; - this.field1193 = 0.8D; + this.brightness = 0.8D; this.musicVolume = 127; this.soundEffectsVolume = 127; this.areaSoundEffectsVolume = 127; - this.field1192 = -1; + this.field1209 = -1; this.parameters = new LinkedHashMap(); - this.method2185(true); + this.method2197(true); } @ObfuscatedSignature( @@ -95,11 +94,11 @@ public class ClientPreferences { this.windowMode = 1; this.rememberedUsername = null; this.hideUsername = false; - this.field1193 = 0.8D; + this.brightness = 0.8D; this.musicVolume = 127; this.soundEffectsVolume = 127; this.areaSoundEffectsVolume = 127; - this.field1192 = -1; + this.field1209 = -1; this.parameters = new LinkedHashMap(); if (var1 != null && var1.array != null) { int var2 = var1.readUnsignedByte(); @@ -135,36 +134,36 @@ public class ClientPreferences { } if (var2 > 6) { - this.field1193 = (double)var1.readUnsignedByte() / 100.0D; + this.brightness = (double)var1.readUnsignedByte() / 100.0D; this.musicVolume = var1.readUnsignedByte(); this.soundEffectsVolume = var1.readUnsignedByte(); this.areaSoundEffectsVolume = var1.readUnsignedByte(); } if (var2 > 7) { - this.field1192 = var1.readUnsignedByte(); + this.field1209 = var1.readUnsignedByte(); } } else { - this.method2185(true); + this.method2197(true); } } else { - this.method2185(true); + this.method2197(true); } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "1497380914" + descriptor = "(ZS)V", + garbageValue = "-1937" ) - void method2185(boolean var1) { + void method2197(boolean var1) { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)Lot;", - garbageValue = "1683782622" + descriptor = "(B)Lot;", + garbageValue = "31" ) @Export("toBuffer") Buffer toBuffer() { @@ -184,404 +183,179 @@ public class ClientPreferences { var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); var1.writeBoolean(this.hideUsername); - var1.writeByte((int)(100.0D * this.field1193)); + var1.writeByte((int)(100.0D * this.brightness)); var1.writeByte(this.musicVolume); var1.writeByte(this.soundEffectsVolume); var1.writeByte(this.areaSoundEffectsVolume); - var1.writeByte(this.field1192); + var1.writeByte(this.field1209); return var1; } - @ObfuscatedName("aq") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "60" + descriptor = "(B)[Lid;", + garbageValue = "0" ) - static int method2200(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.FRIEND_COUNT) { - if (class20.friendSystem.field793 == 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -2; - } else if (class20.friendSystem.field793 == 1) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class20.friendSystem.friendsList.getSize(); + public static class240[] method2209() { + return new class240[]{class240.field2767, class240.field2768, class240.field2769, class240.field2770, class240.field2775, class240.field2772, class240.field2773, class240.field2774, class240.field2776, class240.field2771}; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Loy;IB)V", + garbageValue = "126" + ) + @Export("updatePlayers") + static final void updatePlayers(PacketBuffer var0, int var1) { + int var2 = var0.offset; + Players.Players_pendingUpdateCount = 0; + int var3 = 0; + var0.importIndex(); + + byte[] var10000; + int var4; + int var6; + int var7; + for (var4 = 0; var4 < Players.Players_count; ++var4) { + var7 = Players.Players_indices[var4]; + if ((Players.field1247[var7] & 1) == 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var3 = GrandExchangeEvent.method5402(var0); + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else { + class92.readPlayerUpdate(var0, var7); + } + } } + } - return 1; + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); } else { - int var3; - if (var0 == ScriptOpcodes.FRIEND_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class20.friendSystem.method1682() && var3 >= 0 && var3 < class20.friendSystem.friendsList.getSize()) { - Friend var8 = (Friend)class20.friendSystem.friendsList.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getName(); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + var0.importIndex(); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class20.friendSystem.method1682() && var3 >= 0 && var3 < class20.friendSystem.friendsList.getSize()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((Buddy)class20.friendSystem.friendsList.get(var3)).world; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class20.friendSystem.method1682() && var3 >= 0 && var3 < class20.friendSystem.friendsList.getSize()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((Buddy)class20.friendSystem.friendsList.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - String var5; - if (var0 == ScriptOpcodes.FRIEND_SETRANK) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - int var6 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - SceneTilePaint.method4479(var5, var6); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_ADD) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class20.friendSystem.addFriend(var5); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_DEL) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class20.friendSystem.removeFriend(var5); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_ADD) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class20.friendSystem.addIgnore(var5); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_DEL) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class20.friendSystem.removeIgnore(var5); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_TEST) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var5 = WorldMapArea.method3513(var5); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class20.friendSystem.isFriended(new Username(var5, SoundCache.loginType), false) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { - if (class78.friendsChat != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class78.friendsChat.name; + for (var4 = 0; var4 < Players.Players_count; ++var4) { + var7 = Players.Players_indices[var4]; + if ((Players.field1247[var7] & 1) != 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { - if (class78.friendsChat != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class78.friendsChat.getSize(); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class78.friendsChat.get(var3).getUsername().getName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((Buddy)class78.friendsChat.get(var3)).getWorld(); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((Buddy)class78.friendsChat.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class78.friendsChat != null ? class78.friendsChat.minKick : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapData_0.clanKickUser(var5); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class78.friendsChat != null ? class78.friendsChat.rank * -871547187 * 342416901 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - MidiPcmStream.Clan_joinChat(var5); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { - Players.Clan_leaveChat(); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { - if (!class20.friendSystem.method1682()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class20.friendSystem.ignoreList.getSize(); - } - - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class20.friendSystem.method1682() && var3 >= 0 && var3 < class20.friendSystem.ignoreList.getSize()) { - Ignored var4 = (Ignored)class20.friendSystem.ignoreList.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getName(); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_TEST) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var5 = WorldMapArea.method3513(var5); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class20.friendSystem.isIgnored(new Username(var5, SoundCache.loginType)) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize() && class78.friendsChat.get(var3).getUsername().equals(class129.localPlayer.username)) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { - if (class78.friendsChat != null && class78.friendsChat.owner != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class78.friendsChat.owner; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize() && ((ClanMate)class78.friendsChat.get(var3)).isFriend()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { - if (var0 == 3628) { - class20.friendSystem.friendsList.removeComparator(); - return 1; - } else { - boolean var7; - if (var0 == 3629) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator1(var7)); - return 1; - } else if (var0 == 3630) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator2(var7)); - return 1; - } else if (var0 == 3631) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator3(var7)); - return 1; - } else if (var0 == 3632) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator4(var7)); - return 1; - } else if (var0 == 3633) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator5(var7)); - return 1; - } else if (var0 == 3634) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator6(var7)); - return 1; - } else if (var0 == 3635) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator7(var7)); - return 1; - } else if (var0 == 3636) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator8(var7)); - return 1; - } else if (var0 == 3637) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator9(var7)); - return 1; - } else if (var0 == 3638) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new UserComparator10(var7)); - return 1; - } else if (var0 == 3639) { - class20.friendSystem.friendsList.sort(); - return 1; - } else if (var0 == 3640) { - class20.friendSystem.ignoreList.removeComparator(); - return 1; - } else if (var0 == 3641) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); - return 1; - } else if (var0 == 3642) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); - return 1; - } else if (var0 == 3643) { - class20.friendSystem.ignoreList.sort(); - return 1; - } else if (var0 == 3644) { - if (class78.friendsChat != null) { - class78.friendsChat.removeComparator(); - } - - return 1; - } else if (var0 == 3645) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator1(var7)); - } - - return 1; - } else if (var0 == 3646) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator2(var7)); - } - - return 1; - } else if (var0 == 3647) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator3(var7)); - } - - return 1; - } else if (var0 == 3648) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator4(var7)); - } - - return 1; - } else if (var0 == 3649) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator5(var7)); - } - - return 1; - } else if (var0 == 3650) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator6(var7)); - } - - return 1; - } else if (var0 == 3651) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator7(var7)); - } - - return 1; - } else if (var0 == 3652) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator8(var7)); - } - - return 1; - } else if (var0 == 3653) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator9(var7)); - } - - return 1; - } else if (var0 == 3654) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new UserComparator10(var7)); - } - - return 1; - } else if (var0 == 3655) { - if (class78.friendsChat != null) { - class78.friendsChat.sort(); - } - - return 1; - } else if (var0 == 3656) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - class20.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); - return 1; - } else if (var0 == 3657) { - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class78.friendsChat != null) { - class78.friendsChat.addComparator(new BuddyRankComparator(var7)); - } - - return 1; + var6 = var0.readBits(1); + if (var6 == 0) { + var3 = GrandExchangeEvent.method5402(var0); + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); } else { - return 2; + class92.readPlayerUpdate(var0, var7); } } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { + var7 = Players.Players_emptyIndices[var4]; + if ((Players.field1247[var7] & 1) != 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var3 = GrandExchangeEvent.method5402(var0); + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else if (ChatChannel.updateExternalPlayer(var0, var7)) { + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } + } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); } else { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (class78.friendsChat != null && var3 < class78.friendsChat.getSize() && ((ClanMate)class78.friendsChat.get(var3)).isIgnored()) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; + var0.importIndex(); + + for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { + var7 = Players.Players_emptyIndices[var4]; + if ((Players.field1247[var7] & 1) == 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var3 = GrandExchangeEvent.method5402(var0); + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } else if (ChatChannel.updateExternalPlayer(var0, var7)) { + var10000 = Players.field1247; + var10000[var7] = (byte)(var10000[var7] | 2); + } + } + } } - return 1; + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + Players.Players_count = 0; + Players.Players_emptyIdxCount = 0; + + for (var4 = 1; var4 < 2048; ++var4) { + var10000 = Players.field1247; + var10000[var4] = (byte)(var10000[var4] >> 1); + Player var5 = Client.players[var4]; + if (var5 != null) { + Players.Players_indices[++Players.Players_count - 1] = var4; + } else { + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var4; + } + } + + SoundCache.method781(var0); + if (var0.offset - var2 != var1) { + throw new RuntimeException(var0.offset - var2 + " " + var1); + } + } } } } } - @ObfuscatedName("kz") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-1413738331" + descriptor = "(III)I", + garbageValue = "-1927902759" ) - static void method2195(Buffer var0) { - if (Client.randomDatData != null) { - var0.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); + @Export("ItemContainer_getCount") + static int ItemContainer_getCount(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; } else { - byte[] var2 = new byte[24]; - - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.readFully(var2); - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { - } - - if (var3 >= 24) { - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); + return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; } } } diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java index 621993a3f8..eeab9415d0 100644 --- a/runescape-client/src/main/java/Clock.java +++ b/runescape-client/src/main/java/Clock.java @@ -3,100 +3,57 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ee") +@ObfuscatedName("en") @Implements("Clock") public abstract class Clock { Clock() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2146592699" + garbageValue = "-973245062" ) @Export("mark") public abstract void mark(); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "-1080855684" + garbageValue = "904483746" ) @Export("wait") public abstract int wait(int var1, int var2); - @ObfuscatedName("k") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)[B", - garbageValue = "780597334" + descriptor = "(IIII)J", + garbageValue = "1921148390" ) - public static byte[] method2797(CharSequence var0) { - int var1 = var0.length(); - byte[] var2 = new byte[var1]; + static long method2870(int var0, int var1, int var2) { + return (long)(var2 << 16 | var0 << 8 | var1); + } - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if (var4 > 0 && var4 < 128 || var4 >= 160 && var4 <= 255) { - var2[var3] = (byte)var4; - } else if (var4 == 8364) { - var2[var3] = -128; - } else if (var4 == 8218) { - var2[var3] = -126; - } else if (var4 == 402) { - var2[var3] = -125; - } else if (var4 == 8222) { - var2[var3] = -124; - } else if (var4 == 8230) { - var2[var3] = -123; - } else if (var4 == 8224) { - var2[var3] = -122; - } else if (var4 == 8225) { - var2[var3] = -121; - } else if (var4 == 710) { - var2[var3] = -120; - } else if (var4 == 8240) { - var2[var3] = -119; - } else if (var4 == 352) { - var2[var3] = -118; - } else if (var4 == 8249) { - var2[var3] = -117; - } else if (var4 == 338) { - var2[var3] = -116; - } else if (var4 == 381) { - var2[var3] = -114; - } else if (var4 == 8216) { - var2[var3] = -111; - } else if (var4 == 8217) { - var2[var3] = -110; - } else if (var4 == 8220) { - var2[var3] = -109; - } else if (var4 == 8221) { - var2[var3] = -108; - } else if (var4 == 8226) { - var2[var3] = -107; - } else if (var4 == 8211) { - var2[var3] = -106; - } else if (var4 == 8212) { - var2[var3] = -105; - } else if (var4 == 732) { - var2[var3] = -104; - } else if (var4 == 8482) { - var2[var3] = -103; - } else if (var4 == 353) { - var2[var3] = -102; - } else if (var4 == 8250) { - var2[var3] = -101; - } else if (var4 == 339) { - var2[var3] = -100; - } else if (var4 == 382) { - var2[var3] = -98; - } else if (var4 == 376) { - var2[var3] = -97; - } else { - var2[var3] = 63; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "932253973" + ) + static final int method2867(int var0, int var1) { + int var2 = SoundSystem.method758(var0 - 1, var1 - 1) + SoundSystem.method758(1 + var0, var1 - 1) + SoundSystem.method758(var0 - 1, 1 + var1) + SoundSystem.method758(1 + var0, 1 + var1); + int var3 = SoundSystem.method758(var0 - 1, var1) + SoundSystem.method758(var0 + 1, var1) + SoundSystem.method758(var0, var1 - 1) + SoundSystem.method758(var0, var1 + 1); + int var4 = SoundSystem.method758(var0, var1); + return var2 / 16 + var3 / 8 + var4 / 4; + } - return var2; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "21127071" + ) + public static void method2864() { + HitSplatDefinition.HitSplatDefinition_cached.clear(); + HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); + HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); } } diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index b9adbad751..5740d5a1de 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -4,40 +4,34 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fk") +@ObfuscatedName("fy") @Implements("CollisionMap") public class CollisionMap { - @ObfuscatedName("hg") - @ObfuscatedSignature( - descriptor = "Lhz;" - ) - @Export("scene") - static Scene scene; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedGetter( - intValue = 1575215681 + intValue = -863278215 ) @Export("xInset") - int xInset; - @ObfuscatedName("av") + public int xInset; + @ObfuscatedName("au") @ObfuscatedGetter( - intValue = 915712019 + intValue = -1158840997 ) @Export("yInset") - int yInset; - @ObfuscatedName("ak") + public int yInset; + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = -1266509267 + intValue = -1894285167 ) @Export("xSize") int xSize; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = -150393545 + intValue = 1814130475 ) @Export("ySize") int ySize; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("flags") public int[][] flags; @@ -50,10 +44,10 @@ public class CollisionMap { this.clear(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "632103372" + garbageValue = "1338719657" ) @Export("clear") public void clear() { @@ -69,12 +63,12 @@ public class CollisionMap { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IIIIZB)V", - garbageValue = "0" + descriptor = "(IIIIZI)V", + garbageValue = "1493195097" ) - public void method3320(int var1, int var2, int var3, int var4, boolean var5) { + public void method3416(int var1, int var2, int var3, int var4, boolean var5) { var1 -= this.xInset; var2 -= this.yInset; if (var3 == 0) { @@ -221,10 +215,10 @@ public class CollisionMap { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIIIZI)V", - garbageValue = "-2007282715" + descriptor = "(IIIIZB)V", + garbageValue = "9" ) @Export("addGameObject") public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) { @@ -248,10 +242,10 @@ public class CollisionMap { } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "-2128028383" + garbageValue = "-129108254" ) @Export("setBlockedByFloor") public void setBlockedByFloor(int var1, int var2) { @@ -261,10 +255,10 @@ public class CollisionMap { var10000[var2] |= 2097152; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "1128644091" + garbageValue = "-620411965" ) @Export("setBlockedByFloorDec") public void setBlockedByFloorDec(int var1, int var2) { @@ -274,10 +268,10 @@ public class CollisionMap { var10000[var2] |= 262144; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "-1" + descriptor = "(IIII)V", + garbageValue = "2138839945" ) @Export("setFlag") void setFlag(int var1, int var2, int var3) { @@ -285,12 +279,12 @@ public class CollisionMap { var10000[var2] |= var3; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(IIIIZB)V", - garbageValue = "5" + descriptor = "(IIIIZI)V", + garbageValue = "2147107999" ) - public void method3325(int var1, int var2, int var3, int var4, boolean var5) { + public void method3388(int var1, int var2, int var3, int var4, boolean var5) { var1 -= this.xInset; var2 -= this.yInset; if (var3 == 0) { @@ -439,8 +433,8 @@ public class CollisionMap { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(IIIIIZB)V", - garbageValue = "-28" + descriptor = "(IIIIIZI)V", + garbageValue = "-1861908598" ) @Export("setFlagOffNonSquare") public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) { @@ -470,10 +464,10 @@ public class CollisionMap { } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "1" + descriptor = "(IIII)V", + garbageValue = "866007927" ) @Export("setFlagOff") void setFlagOff(int var1, int var2, int var3) { @@ -481,41 +475,60 @@ public class CollisionMap { var10000[var2] &= ~var3; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "126" + descriptor = "(III)V", + garbageValue = "-1789984358" ) - public void method3321(int var1, int var2) { + public void method3391(int var1, int var2) { var1 -= this.xInset; var2 -= this.yInset; int[] var10000 = this.flags[var1]; var10000[var2] &= -262145; } - @ObfuscatedName("z") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2080076095" + descriptor = "(B)Z", + garbageValue = "-128" ) - static void method3351() { - ItemContainer.itemContainers = new NodeHashTable(32); + @Export("isKeyDown") + public static final boolean isKeyDown() { + synchronized(KeyHandler.KeyHandler_instance) { + if (KeyHandler.field126 == KeyHandler.field139) { + return false; + } else { + class4.field13 = KeyHandler.field134[KeyHandler.field139]; + Skeleton.field2376 = KeyHandler.field133[KeyHandler.field139]; + KeyHandler.field139 = KeyHandler.field139 + 1 & 127; + return true; + } + } } - @ObfuscatedName("a") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)I", - garbageValue = "1850149245" + descriptor = "(II)V", + garbageValue = "-1386632304" ) - @Export("hashString") - public static int hashString(CharSequence var0) { - int var1 = var0.length(); - int var2 = 0; + public static void method3417(int var0) { + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = null; + Skills.musicTrackGroupId = -1; + class137.musicTrackFileId = -1; + class247.musicTrackVolume = 0; + class247.musicTrackBoolean = false; + class247.pcmSampleLength = var0; + } - for (int var3 = 0; var3 < var1; ++var3) { - var2 = (var2 << 5) - var2 + WorldMapSection2.charToByteCp1252(var0.charAt(var3)); + @ObfuscatedName("lc") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-90" + ) + static void method3418(int var0) { + if (var0 != Client.loginState) { + Client.loginState = var0; } - - return var2; } } diff --git a/runescape-client/src/main/java/Coord.java b/runescape-client/src/main/java/Coord.java index 8ca2b9205c..75633d76c0 100644 --- a/runescape-client/src/main/java/Coord.java +++ b/runescape-client/src/main/java/Coord.java @@ -4,36 +4,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iy") +@ObfuscatedName("ic") @Implements("Coord") public class Coord { - @ObfuscatedName("f") + @ObfuscatedName("pe") @ObfuscatedSignature( - descriptor = "Lkl;" + descriptor = "Lmt;" ) - @Export("NetCache_currentResponse") - public static NetFileRequest NetCache_currentResponse; - @ObfuscatedName("n") + static class353 field3013; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1108406109 + intValue = -1806986797 ) @Export("plane") public int plane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -369767487 + intValue = -753316605 ) @Export("x") public int x; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2035446807 + intValue = 380498553 ) @Export("y") public int y; @ObfuscatedSignature( - descriptor = "(Liy;)V" + descriptor = "(Lic;)V" ) public Coord(Coord var1) { this.plane = var1.plane; @@ -58,20 +57,24 @@ public class Coord { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-146290251" + garbageValue = "14599100" ) @Export("packed") public int packed() { - return FontName.method6551(this.plane, this.x, this.y); + int var2 = this.plane; + int var3 = this.x; + int var4 = this.y; + int var1 = var2 << 28 | var3 << 14 | var4; + return var1; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Liy;I)Z", - garbageValue = "1023971134" + descriptor = "(Lic;I)Z", + garbageValue = "1532243849" ) @Export("equalsCoord") boolean equalsCoord(Coord var1) { @@ -84,20 +87,16 @@ public class Coord { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1260283886" + garbageValue = "1257462561" ) @Export("toString") String toString(String var1) { return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63); } - public String toString() { - return this.toString(","); - } - public boolean equals(Object var1) { if (this == var1) { return true; @@ -110,151 +109,7 @@ public class Coord { return this.packed(); } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "([Lbh;II[I[IB)V", - garbageValue = "37" - ) - @Export("sortWorlds") - static void sortWorlds(World[] var0, int var1, int var2, int[] var3, int[] var4) { - if (var1 < var2) { - int var5 = var1 - 1; - int var6 = var2 + 1; - int var7 = (var2 + var1) / 2; - World var8 = var0[var7]; - var0[var7] = var0[var1]; - var0[var1] = var8; - - while (var5 < var6) { - boolean var9 = true; - - int var10; - int var11; - int var12; - do { - --var6; - - for (var10 = 0; var10 < 4; ++var10) { - if (var3[var10] == 2) { - var11 = var0[var6].index; - var12 = var8.index; - } else if (var3[var10] == 1) { - var11 = var0[var6].population; - var12 = var8.population; - if (var11 == -1 && var4[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { - var12 = 2001; - } - } else if (var3[var10] == 3) { - var11 = var0[var6].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = var0[var6].id; - var12 = var8.id; - } - - if (var11 != var12) { - if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) { - var9 = false; - } - break; - } - - if (var10 == 3) { - var9 = false; - } - } - } while(var9); - - var9 = true; - - do { - ++var5; - - for (var10 = 0; var10 < 4; ++var10) { - if (var3[var10] == 2) { - var11 = var0[var5].index; - var12 = var8.index; - } else if (var3[var10] == 1) { - var11 = var0[var5].population; - var12 = var8.population; - if (var11 == -1 && var4[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { - var12 = 2001; - } - } else if (var3[var10] == 3) { - var11 = var0[var5].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = var0[var5].id; - var12 = var8.id; - } - - if (var11 != var12) { - if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) { - var9 = false; - } - break; - } - - if (var10 == 3) { - var9 = false; - } - } - } while(var9); - - if (var5 < var6) { - World var13 = var0[var5]; - var0[var5] = var0[var6]; - var0[var6] = var13; - } - } - - sortWorlds(var0, var1, var6, var3, var4); - sortWorlds(var0, var6 + 1, var2, var3, var4); - } - - } - - @ObfuscatedName("iq") - @ObfuscatedSignature( - descriptor = "([Ljd;IIIZB)V", - garbageValue = "-55" - ) - @Export("resizeInterface") - static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { - for (int var5 = 0; var5 < var0.length; ++var5) { - Widget var6 = var0[var5]; - if (var6 != null && var6.parentId == var1) { - UrlRequest.alignWidgetSize(var6, var2, var3, var4); - class128.alignWidgetPosition(var6, var2, var3); - if (var6.scrollX > var6.scrollWidth - var6.width) { - var6.scrollX = var6.scrollWidth - var6.width; - } - - if (var6.scrollX < 0) { - var6.scrollX = 0; - } - - if (var6.scrollY > var6.scrollHeight - var6.height) { - var6.scrollY = var6.scrollHeight - var6.height; - } - - if (var6.scrollY < 0) { - var6.scrollY = 0; - } - - if (var6.type == 0) { - VerticalAlignment.revalidateWidgetScroll(var0, var6, var4); - } - } - } - + public String toString() { + return this.toString(","); } } diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index 656edd172e..b8a29bfc10 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -4,75 +4,78 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("af") +@ObfuscatedName("ai") @Implements("Decimator") public class Decimator { - @ObfuscatedName("aa") - @Export("fontHelvetica13") - static java.awt.Font fontHelvetica13; - @ObfuscatedName("ko") - @ObfuscatedSignature( - descriptor = "Ljd;" - ) - @Export("dragInventoryWidget") - static Widget dragInventoryWidget; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1732554665 + intValue = 209733467 ) @Export("inputRate") int inputRate; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1267116301 + intValue = -1210066833 ) @Export("outputRate") int outputRate; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("table") int[][] table; public Decimator(int var1, int var2) { if (var2 != var1) { - int var3 = BufferedSink.method6167(var1, var2); - var1 /= var3; - var2 /= var3; + int var4 = var1; + int var5 = var2; + if (var2 > var1) { + var4 = var2; + var5 = var1; + } + + while (var5 != 0) { + int var6 = var4 % var5; + var4 = var5; + var5 = var6; + } + + var1 /= var4; + var2 /= var4; this.inputRate = var1; this.outputRate = var2; this.table = new int[var1][14]; - for (int var4 = 0; var4 < var1; ++var4) { - int[] var5 = this.table[var4]; - double var6 = (double)var4 / (double)var1 + 6.0D; - int var8 = (int)Math.floor(1.0D + (var6 - 7.0D)); - if (var8 < 0) { - var8 = 0; + for (int var7 = 0; var7 < var1; ++var7) { + int[] var8 = this.table[var7]; + double var9 = (double)var7 / (double)var1 + 6.0D; + int var11 = (int)Math.floor(1.0D + (var9 - 7.0D)); + if (var11 < 0) { + var11 = 0; } - int var9 = (int)Math.ceil(7.0D + var6); - if (var9 > 14) { - var9 = 14; + int var12 = (int)Math.ceil(var9 + 7.0D); + if (var12 > 14) { + var12 = 14; } - for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) { - double var12 = ((double)var8 - var6) * 3.141592653589793D; - double var14 = var10; - if (var12 < -1.0E-4D || var12 > 1.0E-4D) { - var14 = var10 * (Math.sin(var12) / var12); + for (double var13 = (double)var2 / (double)var1; var11 < var12; ++var11) { + double var15 = ((double)var11 - var9) * 3.141592653589793D; + double var17 = var13; + if (var15 < -1.0E-4D || var15 > 1.0E-4D) { + var17 = var13 * (Math.sin(var15) / var15); } - var14 *= 0.54D + 0.46D * Math.cos(0.2243994752564138D * ((double)var8 - var6)); - var5[var8] = (int)Math.floor(0.5D + var14 * 65536.0D); + var17 *= 0.54D + 0.46D * Math.cos(((double)var11 - var9) * 0.2243994752564138D); + var8[var11] = (int)Math.floor(65536.0D * var17 + 0.5D); } } } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([BS)[B", - garbageValue = "7233" + descriptor = "([BB)[B", + garbageValue = "-52" ) @Export("resample") byte[] resample(byte[] var1) { @@ -89,7 +92,7 @@ public class Decimator { int var9; for (var9 = 0; var9 < 14; ++var9) { - var3[var4 + var9] += var7 * var8[var9]; + var3[var9 + var4] += var8[var9] * var7; } var5 += this.outputRate; @@ -115,24 +118,24 @@ public class Decimator { return var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-58" + descriptor = "(II)I", + garbageValue = "835574685" ) @Export("scaleRate") int scaleRate(int var1) { if (this.table != null) { - var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate); + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate); } return var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "208366738" + descriptor = "(IB)I", + garbageValue = "6" ) @Export("scalePosition") int scalePosition(int var1) { @@ -143,83 +146,122 @@ public class Decimator { return var1; } - @ObfuscatedName("n") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lkk;IIIZI)V", - garbageValue = "1487110181" + descriptor = "(Lbc;Lbc;IZIZI)I", + garbageValue = "1027479972" ) - public static void method1051(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { - class247.musicPlayerStatus = 1; - class247.musicTrackArchive = var0; - class247.musicTrackGroupId = var1; - GrandExchangeOfferOwnWorldComparator.musicTrackFileId = var2; - class196.musicTrackVolume = var3; - class20.musicTrackBoolean = var4; - class130.pcmSampleLength = 10000; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1629524573" - ) - public static void method1049(int var0, int var1) { - VarbitComposition var2 = WorldMapIcon_0.method3741(var0); - int var3 = var2.baseVar; - int var4 = var2.startBit; - int var5 = var2.endBit; - int var6 = Varps.Varps_masks[var5 - var4]; - if (var1 < 0 || var1 > var6) { - var1 = 0; + static int method1024(World var0, World var1, int var2, boolean var3, int var4, boolean var5) { + int var6 = VerticalAlignment.compareWorlds(var0, var1, var2, var3); + if (var6 != 0) { + return var3 ? -var6 : var6; + } else if (var4 == -1) { + return 0; + } else { + int var7 = VerticalAlignment.compareWorlds(var0, var1, var4, var5); + return var5 ? -var7 : var7; } - - var6 <<= var4; - Varps.Varps_main[var3] = Varps.Varps_main[var3] & ~var6 | var1 << var4 & var6; } - @ObfuscatedName("c") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "742993017" + descriptor = "(Lay;I)V", + garbageValue = "1657277023" ) - public static boolean method1050(int var0, int var1) { - return (var0 >> var1 + 1 & 1) != 0; - } - - @ObfuscatedName("fk") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "84" - ) - static final void method1038() { - if (Messages.field1275) { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.method2112(); + static void method1014(GameEngine var0) { + while (CollisionMap.isKeyDown()) { + if (class4.field13 == 13) { + Renderable.method4391(); + return; } - Messages.field1275 = false; + if (class4.field13 == 96) { + if (Login.worldSelectPage > 0 && WorldMapCacheName.worldSelectLeftSprite != null) { + --Login.worldSelectPage; + } + } else if (class4.field13 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && ByteArrayPool.worldSelectRightSprite != null) { + ++Login.worldSelectPage; + } + } + + if (MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { + int var1 = Login.xPadding + 280; + if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(0, 0); + return; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(0, 1); + return; + } + + int var2 = Login.xPadding + 390; + if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(1, 0); + return; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(1, 1); + return; + } + + int var3 = Login.xPadding + 500; + if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(2, 0); + return; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(2, 1); + return; + } + + int var4 = Login.xPadding + 610; + if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(3, 0); + return; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class19.changeWorldSelectSorting(3, 1); + return; + } + + if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { + Renderable.method4391(); + return; + } + + if (Login.hoveredWorldIndex != -1) { + World var5 = class386.World_worlds[Login.hoveredWorldIndex]; + World.changeWorld(var5); + Renderable.method4391(); + return; + } + + if (Login.worldSelectPage > 0 && WorldMapCacheName.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= WorldMapCacheName.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= MouseRecorder.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= MouseRecorder.canvasHeight / 2 + 50) { + --Login.worldSelectPage; + } + + if (Login.worldSelectPage < Login.worldSelectPagesCount && ByteArrayPool.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= Huffman.canvasWidth - ByteArrayPool.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= Huffman.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= MouseRecorder.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= MouseRecorder.canvasHeight / 2 + 50) { + ++Login.worldSelectPage; + } } } - @ObfuscatedName("kw") + @ObfuscatedName("hh") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1271900596" + descriptor = "(III)V", + garbageValue = "572846346" ) - static final void method1052() { - Client.field683 = Client.cycleCntr; - } - - @ObfuscatedName("kr") - @ObfuscatedSignature( - descriptor = "(Ljd;B)I", - garbageValue = "89" - ) - @Export("getWidgetFlags") - static int getWidgetFlags(Widget var0) { - IntegerNode var1 = (IntegerNode)Client.widgetFlags.get(((long)var0.id << 32) + (long)var0.childIndex); - return var1 != null ? var1.integer : var0.flags; + @Export("resumePauseWidget") + static void resumePauseWidget(int var0, int var1) { + PacketBufferNode var2 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2734, Client.packetWriter.isaacCipher); + var2.packetBuffer.method6930(var1); + var2.packetBuffer.writeInt(var0); + Client.packetWriter.addNode(var2); } } diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index 0c7a0e2b4b..45b905df77 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -4,23 +4,23 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mh") +@ObfuscatedName("ms") @Implements("DefaultsGroup") public class DefaultsGroup { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmh;" + descriptor = "Lms;" ) - static final DefaultsGroup field3999; - @ObfuscatedName("c") + static final DefaultsGroup field4011; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -111517157 + intValue = -989464317 ) @Export("group") final int group; static { - field3999 = new DefaultsGroup(3); + field4011 = new DefaultsGroup(3); } DefaultsGroup(int var1) { diff --git a/runescape-client/src/main/java/DemotingHashTable.java b/runescape-client/src/main/java/DemotingHashTable.java index a1ff3acdfa..3cdfb9dba6 100644 --- a/runescape-client/src/main/java/DemotingHashTable.java +++ b/runescape-client/src/main/java/DemotingHashTable.java @@ -3,32 +3,32 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hv") +@ObfuscatedName("hs") @Implements("DemotingHashTable") public final class DemotingHashTable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("capacity") int capacity; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("remaining") int remaining; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "Lnz;" ) @Export("hashTable") IterableNodeHashTable hashTable; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Llz;" + descriptor = "Llh;" ) @Export("queue") IterableDualNodeQueue queue; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lhx;" + descriptor = "Lhv;" ) - class232 field2631; + class232 field2650; public DemotingHashTable(int var1, int var2) { this.queue = new IterableDualNodeQueue(); @@ -46,7 +46,7 @@ public final class DemotingHashTable { this(var1, var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("get") public Object get(long var1) { Wrapper var3 = (Wrapper)this.hashTable.get(var1); @@ -77,16 +77,16 @@ public final class DemotingHashTable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("remove") void remove(long var1) { Wrapper var3 = (Wrapper)this.hashTable.get(var1); this.removeWrapper(var3); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lij;)V" + descriptor = "(Lik;)V" ) @Export("removeWrapper") void removeWrapper(Wrapper var1) { @@ -98,12 +98,12 @@ public final class DemotingHashTable { } - @ObfuscatedName("k") - public void method4520(Object var1, long var2) { + @ObfuscatedName("j") + public void method4588(Object var1, long var2) { this.put(var1, var2, 1); } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("put") public void put(Object var1, long var2, int var4) { if (var4 > this.capacity) { @@ -122,8 +122,8 @@ public final class DemotingHashTable { } this.removeWrapper(var5); - if (this.field2631 != null) { - this.field2631.method4499(var5.get()); + if (this.field2650 != null) { + this.field2650.method4582(var5.get()); } } @@ -134,7 +134,7 @@ public final class DemotingHashTable { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("demote") public void demote(int var1) { for (Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) { @@ -155,7 +155,7 @@ public final class DemotingHashTable { } - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("clear") public void clear() { this.queue.clear(); diff --git a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java index aeaddb2a27..0c361940ee 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -4,44 +4,38 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nq") +@ObfuscatedName("nm") @Implements("DesktopPlatformInfoProvider") public class DesktopPlatformInfoProvider implements PlatformInfoProvider { - @ObfuscatedName("mc") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1111463299 + intValue = 494741943 ) - @Export("selectedItemSlot") - static int selectedItemSlot; + int field4080; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1419816355 + ) + int field4077; @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -527617081 + intValue = 1450703465 ) - int field4060; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 2074054305 - ) - int field4057; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 673460949 - ) - int field4062; + int field4081; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lnh;", - garbageValue = "64" + descriptor = "(I)Lnr;", + garbageValue = "-1957452301" ) @Export("get") public PlatformInfo get() { byte var1; - if (class137.formattedOperatingSystemName.startsWith("win")) { + if (class13.formattedOperatingSystemName.startsWith("win")) { var1 = 1; - } else if (class137.formattedOperatingSystemName.startsWith("mac")) { + } else if (class13.formattedOperatingSystemName.startsWith("mac")) { var1 = 2; - } else if (class137.formattedOperatingSystemName.startsWith("linux")) { + } else if (class13.formattedOperatingSystemName.startsWith("linux")) { var1 = 3; } else { var1 = 4; @@ -139,10 +133,10 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { var8 = 4; } - this.method6301(var5); + this.method6371(var5); int var10 = (int)(Runtime.getRuntime().maxMemory() / 1048576L) + 1; int var11; - if (this.field4060 > 3) { + if (this.field4080 > 3) { var11 = Runtime.getRuntime().availableProcessors(); } else { var11 = 0; @@ -156,64 +150,172 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { String var17 = ""; String var18 = ""; int[] var23 = new int[3]; - return new PlatformInfo(var1, var24, var7, var8, this.field4060, this.field4057, this.field4062, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); + return new PlatformInfo(var1, var24, var7, var8, this.field4080, this.field4077, this.field4081, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-81" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-366158740" ) - void method6301(String var1) { + void method6371(String var1) { if (var1.startsWith("1.")) { - this.method6302(var1); + this.method6367(var1); } else { - this.method6303(var1); + this.method6373(var1); } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "0" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "271372899" ) - void method6302(String var1) { + void method6367(String var1) { String[] var2 = var1.split("\\."); try { - this.field4060 = Integer.parseInt(var2[1]); + this.field4080 = Integer.parseInt(var2[1]); var2 = var2[2].split("_"); - this.field4057 = Integer.parseInt(var2[0]); - this.field4062 = Integer.parseInt(var2[1]); + this.field4077 = Integer.parseInt(var2[0]); + this.field4081 = Integer.parseInt(var2[1]); } catch (Exception var4) { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "7" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1471158311" ) - void method6303(String var1) { + void method6373(String var1) { String[] var2 = var1.split("\\."); try { - this.field4060 = Integer.parseInt(var2[0]); - this.field4057 = Integer.parseInt(var2[1]); - this.field4062 = Integer.parseInt(var2[2]); + this.field4080 = Integer.parseInt(var2[0]); + this.field4077 = Integer.parseInt(var2[1]); + this.field4081 = Integer.parseInt(var2[2]); } catch (Exception var4) { } } - @ObfuscatedName("n") + @ObfuscatedName("gt") @ObfuscatedSignature( - descriptor = "(I)[Lju;", - garbageValue = "-1639437305" + descriptor = "(IIZI)V", + garbageValue = "-1510567396" ) - public static StudioGame[] method6307() { - return new StudioGame[]{StudioGame.stellardawn, StudioGame.game4, StudioGame.runescape, StudioGame.game5, StudioGame.game3, StudioGame.oldscape}; + static final void method6380(int var0, int var1, boolean var2) { + if (!var2 || var0 != HealthBarDefinition.field1671 || WorldMapArea.field2053 != var1) { + HealthBarDefinition.field1671 = var0; + WorldMapArea.field2053 = var1; + UserList.updateGameState(25); + ScriptFrame.drawLoadingMessage("Loading - please wait.", true); + int var3 = WorldMapSectionType.baseX; + int var4 = PlayerComposition.baseY; + WorldMapSectionType.baseX = (var0 - 6) * 8; + PlayerComposition.baseY = (var1 - 6) * 8; + int var5 = WorldMapSectionType.baseX - var3; + int var6 = PlayerComposition.baseY - var4; + var3 = WorldMapSectionType.baseX; + var4 = PlayerComposition.baseY; + + int var7; + int var9; + int[] var10000; + for (var7 = 0; var7 < 32768; ++var7) { + NPC var19 = Client.npcs[var7]; + if (var19 != null) { + for (var9 = 0; var9 < 10; ++var9) { + var10000 = var19.pathX; + var10000[var9] -= var5; + var10000 = var19.pathY; + var10000[var9] -= var6; + } + + var19.x -= var5 * 128; + var19.y -= var6 * 128; + } + } + + for (var7 = 0; var7 < 2048; ++var7) { + Player var22 = Client.players[var7]; + if (var22 != null) { + for (var9 = 0; var9 < 10; ++var9) { + var10000 = var22.pathX; + var10000[var9] -= var5; + var10000 = var22.pathY; + var10000[var9] -= var6; + } + + var22.x -= var5 * 128; + var22.y -= var6 * 128; + } + } + + byte var20 = 0; + byte var8 = 104; + byte var21 = 1; + if (var5 < 0) { + var20 = 103; + var8 = -1; + var21 = -1; + } + + byte var10 = 0; + byte var11 = 104; + byte var12 = 1; + if (var6 < 0) { + var10 = 103; + var11 = -1; + var12 = -1; + } + + int var14; + for (int var13 = var20; var13 != var8; var13 += var21) { + for (var14 = var10; var11 != var14; var14 += var12) { + int var15 = var13 + var5; + int var16 = var14 + var6; + + for (int var17 = 0; var17 < 4; ++var17) { + if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { + Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; + } else { + Client.groundItems[var17][var13][var14] = null; + } + } + } + } + + for (PendingSpawn var18 = (PendingSpawn)Client.pendingSpawns.last(); var18 != null; var18 = (PendingSpawn)Client.pendingSpawns.previous()) { + var18.x -= var5; + var18.y -= var6; + if (var18.x < 0 || var18.y < 0 || var18.x >= 104 || var18.y >= 104) { + var18.remove(); + } + } + + if (Client.destinationX != 0) { + Client.destinationX -= var5; + Client.destinationY -= var6; + } + + Client.soundEffectCount = 0; + Client.isCameraLocked = false; + Canvas.cameraX -= var5 << 7; + VarpDefinition.cameraZ -= var6 << 7; + class132.oculusOrbFocalPointX -= var5 << 7; + LoginScreenAnimation.oculusOrbFocalPointY -= var6 << 7; + Client.field722 = -1; + Client.graphicsObjects.clear(); + Client.projectiles.clear(); + + for (var14 = 0; var14 < 4; ++var14) { + Client.collisionMaps[var14].clear(); + } + + } } } diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index 242dd19554..0176754cfa 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -9,43 +9,43 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("aq") +@ObfuscatedName("ab") @Implements("DevicePcmPlayer") public class DevicePcmPlayer extends PcmPlayer { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("format") AudioFormat format; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("line") SourceDataLine line; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -320464969 + intValue = 1184801319 ) @Export("capacity2") int capacity2; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("byteSamples") byte[] byteSamples; DevicePcmPlayer() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "1" + descriptor = "(I)V", + garbageValue = "1783507069" ) @Export("init") protected void init() { - this.format = new AudioFormat((float)class276.field3287, 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); + this.format = new AudioFormat((float)PcmPlayer.field279, 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); this.byteSamples = new byte[256 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "-111" + garbageValue = "15" ) @Export("open") protected void open(int var1) throws LineUnavailableException { @@ -56,8 +56,8 @@ public class DevicePcmPlayer extends PcmPlayer { this.line.start(); this.capacity2 = var1; } catch (LineUnavailableException var3) { - if (HealthBar.method2205(var1) != 1) { - this.open(ItemContainer.method2041(var1)); + if (WorldMapData_1.method3757(var1) != 1) { + this.open(InvDefinition.method2881(var1)); } else { this.line = null; throw var3; @@ -65,17 +65,17 @@ public class DevicePcmPlayer extends PcmPlayer { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-10" + descriptor = "(I)I", + garbageValue = "-625452134" ) @Export("position") protected int position() { return this.capacity2 - (this.line.available() >> (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("write") protected void write() { int var1 = 256; @@ -96,10 +96,10 @@ public class DevicePcmPlayer extends PcmPlayer { this.line.write(this.byteSamples, 0, var1 << 1); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "8" + descriptor = "(I)V", + garbageValue = "-1407514911" ) @Export("close") protected void close() { @@ -110,10 +110,10 @@ public class DevicePcmPlayer extends PcmPlayer { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1022493238" + descriptor = "(B)V", + garbageValue = "-115" ) @Export("discard") protected void discard() { diff --git a/runescape-client/src/main/java/DevicePcmPlayerProvider.java b/runescape-client/src/main/java/DevicePcmPlayerProvider.java index f52ceb01bf..44da65102d 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -1,1011 +1,61 @@ -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.URL; -import java.net.URLConnection; -import java.util.Random; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("w") +@ObfuscatedName("u") @Implements("DevicePcmPlayerProvider") public class DevicePcmPlayerProvider implements class45 { - @ObfuscatedName("bo") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "[Loc;" + descriptor = "Lkl;" ) - @Export("worldSelectBackSprites") - static SpritePixels[] worldSelectBackSprites; - @ObfuscatedName("in") - @ObfuscatedGetter( - intValue = -1460804085 - ) - @Export("cameraZ") - static int cameraZ; + @Export("ParamDefinition_archive") + public static AbstractArchive ParamDefinition_archive; DevicePcmPlayerProvider() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)Lab;", - garbageValue = "286200074" + descriptor = "(I)Laq;", + garbageValue = "666653269" ) @Export("player") public PcmPlayer player() { return new DevicePcmPlayer(); } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIS)Lbc;", - garbageValue = "32017" + descriptor = "([BZB)Ljava/lang/Object;", + garbageValue = "105" ) - @Export("Messages_getByChannelAndID") - static Message Messages_getByChannelAndID(int var0, int var1) { - ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); - return var2.getMessage(var1); - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-127022477" - ) - @Export("savePreferences") - static void savePreferences() { - AccessFile var0 = null; - - try { - var0 = class4.getPreferencesFile("", class16.field83.name, true); - Buffer var1 = VarbitComposition.clientPreferences.toBuffer(); - var0.write(var1.array, 0, var1.offset); - } catch (Exception var3) { - } - - try { - if (var0 != null) { - var0.closeSync(true); - } - } catch (Exception var2) { - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Lat;Llu;I)V", - garbageValue = "139853738" - ) - static void method366(GameEngine var0, Font var1) { - int var3; - int var4; - int var5; - if (Login.worldSelectOpen) { - while (true) { - if (!KitDefinition.isKeyDown()) { - if (MouseHandler.MouseHandler_lastButton != 1 && (Script.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { - break; - } - - int var2 = Login.xPadding + 280; - if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(0, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(0, 1); - break; - } - - var3 = Login.xPadding + 390; - if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(1, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(1, 1); - break; - } - - var4 = Login.xPadding + 500; - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(2, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(2, 1); - break; - } - - var5 = Login.xPadding + 610; - if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var5 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(3, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var5 + 15 && MouseHandler.MouseHandler_lastPressedX <= var5 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - StructComposition.changeWorldSelectSorting(3, 1); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { - Login.worldSelectOpen = false; - class318.leftTitleSprite.drawAt(Login.xPadding, 0); - Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); - break; - } - - if (Login.hoveredWorldIndex != -1) { - World var6 = class393.World_worlds[Login.hoveredWorldIndex]; - ScriptFrame.changeWorld(var6); - Login.worldSelectOpen = false; - class318.leftTitleSprite.drawAt(Login.xPadding, 0); - Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); - } else { - if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class184.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) { - --Login.worldSelectPage; - } - - if (Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= InvDefinition.canvasWidth - FriendsChat.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= InvDefinition.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) { - ++Login.worldSelectPage; - } - } - break; - } - - if (SpriteMask.field2994 == 13) { - Login.worldSelectOpen = false; - class318.leftTitleSprite.drawAt(Login.xPadding, 0); - Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); - break; - } - - if (SpriteMask.field2994 == 96) { - if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null) { - --Login.worldSelectPage; - } - } else if (SpriteMask.field2994 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null) { - ++Login.worldSelectPage; - } - } - + public static Object method372(byte[] var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0.length > 136) { + DirectByteArrayCopier var2 = new DirectByteArrayCopier(); + var2.set(var0); + return var2; } else { - if ((MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { - VarbitComposition.clientPreferences.titleMusicDisabled = !VarbitComposition.clientPreferences.titleMusicDisabled; - savePreferences(); - if (!VarbitComposition.clientPreferences.titleMusicDisabled) { - Archive var30 = class276.archive6; - var3 = var30.getGroupId("scape main"); - var4 = var30.getFileId(var3, ""); - Decimator.method1051(var30, var3, var4, 255, false); - } else { - Canvas.method371(); - } - } - - if (Client.gameState != 5) { - if (-1L == Login.field902) { - Login.field902 = Occluder.method4335() + 1000L; - } - - long var31 = Occluder.method4335(); - boolean var54; - if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { - while (true) { - if (Client.archiveLoadersDone >= Client.archiveLoaders.size()) { - var54 = true; - break; - } - - ArchiveLoader var33 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone); - if (!var33.isLoaded()) { - var54 = false; - break; - } - - ++Client.archiveLoadersDone; - } - } else { - var54 = true; - } - - if (var54 && Login.field875 == -1L) { - Login.field875 = var31; - if (Login.field875 > Login.field902) { - Login.field902 = Login.field875; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - if (Language.Language_EN == class323.clientLanguage) { - if (MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { - var5 = Login.xPadding + 5; - short var34 = 463; - byte var7 = 100; - byte var8 = 35; - if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var7 + var5 && MouseHandler.MouseHandler_lastPressedY >= var34 && MouseHandler.MouseHandler_lastPressedY <= var34 + var8) { - if (ObjectComposition.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - - return; - } - } - - if (WorldMapArchiveLoader.World_request != null && ObjectComposition.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - } - - var5 = MouseHandler.MouseHandler_lastButton; - int var67 = MouseHandler.MouseHandler_lastPressedX; - int var55 = MouseHandler.MouseHandler_lastPressedY; - if (var5 == 0) { - var67 = MouseHandler.MouseHandler_x; - var55 = MouseHandler.MouseHandler_y; - } - - if (!Script.mouseCam && var5 == 4) { - var5 = 1; - } - - short var58; - int var61; - if (Login.loginIndex == 0) { - boolean var64 = false; - - while (KitDefinition.isKeyDown()) { - if (SpriteMask.field2994 == 84) { - var64 = true; - } - } - - var61 = class11.loginBoxCenter - 80; - var58 = 291; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { - Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); - } - - var61 = class11.loginBoxCenter + 80; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20 || var64) { - if ((Client.worldProperties & 33554432) != 0) { - Login.Login_response0 = ""; - Login.Login_response1 = "This is a Beta world."; - Login.Login_response2 = "Your normal account will not be affected."; - Login.Login_response3 = ""; - Message.method1113(1); - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 4) != 0) { - if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk PvP world."; - Login.Login_response2 = "Players can attack each other almost everywhere"; - Login.Login_response3 = "and the Protect Item prayer won't work."; - } else { - Login.Login_response1 = "This is a PvP world."; - Login.Login_response2 = "Players can attack each other"; - Login.Login_response3 = "almost everywhere."; - } - - Login.Login_response0 = "Warning!"; - Message.method1113(1); - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk world."; - Login.Login_response2 = "The Protect Item prayer will"; - Login.Login_response3 = "not work on this world."; - Login.Login_response0 = "Warning!"; - Message.method1113(1); - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else { - SecureRandomFuture.Login_promptCredentials(false); - } - } - } else { - short var9; - int var56; - if (Login.loginIndex == 1) { - while (true) { - if (!KitDefinition.isKeyDown()) { - var56 = class11.loginBoxCenter - 80; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - SecureRandomFuture.Login_promptCredentials(false); - } - - var56 = class11.loginBoxCenter + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Message.method1113(0); - } - break; - } - - if (SpriteMask.field2994 == 84) { - SecureRandomFuture.Login_promptCredentials(false); - } else if (SpriteMask.field2994 == 13) { - Message.method1113(0); - } - } - } else { - short var57; - if (Login.loginIndex == 2) { - var57 = 201; - var56 = var57 + 52; - if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) { - Login.currentLoginField = 0; - } - - var56 += 15; - if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) { - Login.currentLoginField = 1; - } - - var56 += 15; - var57 = 361; - if (WorldMapSectionType.field2125 != null) { - var61 = WorldMapSectionType.field2125.highX / 2; - if (var5 == 1 && var67 >= WorldMapSectionType.field2125.lowX - var61 && var67 <= var61 + WorldMapSectionType.field2125.lowX && var55 >= var57 - 15 && var55 < var57) { - switch(Login.field883) { - case 1: - PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Message.method1113(5); - return; - case 2: - Interpreter.openURL("https://support.runescape.com/hc/en-gb", true, false); - } - } - } - - var61 = class11.loginBoxCenter - 80; - var58 = 321; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - PlatformInfo.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); - Varcs.method2303(false); - HealthBarUpdate.updateGameState(20); - return; - } - - var61 = Login.loginBoxX + 180 + 80; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { - Message.method1113(0); - Login.Login_username = ""; - Login.Login_password = ""; - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - Login.field893 = true; - } - - var61 = class11.loginBoxCenter + -117; - var58 = 277; - Login.field891 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323; - if (var5 == 1 && Login.field891) { - Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; - if (!Client.Login_isUsernameRemembered && VarbitComposition.clientPreferences.rememberedUsername != null) { - VarbitComposition.clientPreferences.rememberedUsername = null; - savePreferences(); - } - } - - var61 = class11.loginBoxCenter + 24; - var58 = 277; - Login.field904 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323; - if (var5 == 1 && Login.field904) { - VarbitComposition.clientPreferences.hideUsername = !VarbitComposition.clientPreferences.hideUsername; - if (!VarbitComposition.clientPreferences.hideUsername) { - Login.Login_username = ""; - VarbitComposition.clientPreferences.rememberedUsername = null; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } - - savePreferences(); - } - - while (true) { - int var13; - Transferable var62; - do { - while (true) { - label1433: - do { - while (true) { - while (KitDefinition.isKeyDown()) { - if (SpriteMask.field2994 != 13) { - if (Login.currentLoginField != 0) { - continue label1433; - } - - HitSplatDefinition.method3108(class78.field1010); - if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) { - Login.currentLoginField = 1; - } - - if (PendingSpawn.method2118(class78.field1010) && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + class78.field1010; - } - } else { - Message.method1113(0); - Login.Login_username = ""; - Login.Login_password = ""; - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - Login.field893 = true; - } - } - - return; - } - } while(Login.currentLoginField != 1); - - if (SpriteMask.field2994 == 85 && Login.Login_password.length() > 0) { - Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); - } else if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) { - Login.currentLoginField = 0; - if (SpriteMask.field2994 == 84) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - PlatformInfo.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); - Varcs.method2303(false); - HealthBarUpdate.updateGameState(20); - return; - } - } - - if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && SpriteMask.field2994 == 67) { - Clipboard var60 = Toolkit.getDefaultToolkit().getSystemClipboard(); - var62 = var60.getContents(ArchiveDiskActionHandler.client); - var13 = 20 - Login.Login_password.length(); - break; - } - - if (class391.method6716(class78.field1010) && PendingSpawn.method2118(class78.field1010) && Login.Login_password.length() < 20) { - Login.Login_password = Login.Login_password + class78.field1010; - } - } - } while(var13 <= 0); - - try { - String var63 = (String)var62.getTransferData(DataFlavor.stringFlavor); - int var66 = Math.min(var13, var63.length()); - - for (int var16 = 0; var16 < var66; ++var16) { - if (!class391.method6716(var63.charAt(var16)) || !PendingSpawn.method2118(var63.charAt(var16))) { - Message.method1113(3); - return; - } - } - - Login.Login_password = Login.Login_password + var63.substring(0, var66); - } catch (UnsupportedFlavorException var52) { - } catch (IOException var53) { - } - } - } else if (Login.loginIndex == 3) { - var56 = Login.loginBoxX + 180; - var9 = 276; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - MenuAction.method1876(false); - } - - var56 = Login.loginBoxX + 180; - var9 = 326; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Message.method1113(5); - return; - } - } else { - int var35; - if (Login.loginIndex == 4) { - var56 = Login.loginBoxX + 180 - 80; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - AbstractWorldMapIcon.otp.trim(); - if (AbstractWorldMapIcon.otp.length() != 6) { - PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp); - AbstractWorldMapIcon.otp = ""; - Varcs.method2303(true); - PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); - HealthBarUpdate.updateGameState(20); - return; - } - - if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 9 && var67 <= Login.loginBoxX + 180 + 130 && var55 >= 263 && var55 <= 296) { - Login.field893 = !Login.field893; - } - - if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 34 && var67 <= Login.loginBoxX + 34 + 180 && var55 >= 351 && var55 <= 363) { - Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); - } - - var56 = Login.loginBoxX + 180 + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Message.method1113(0); - Login.Login_username = ""; - Login.Login_password = ""; - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - } - - while (KitDefinition.isKeyDown()) { - boolean var10 = false; - - for (var35 = 0; var35 < "1234567890".length(); ++var35) { - if (class78.field1010 == "1234567890".charAt(var35)) { - var10 = true; - break; - } - } - - if (SpriteMask.field2994 == 13) { - Message.method1113(0); - Login.Login_username = ""; - Login.Login_password = ""; - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - } else { - if (SpriteMask.field2994 == 85 && AbstractWorldMapIcon.otp.length() > 0) { - AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp.substring(0, AbstractWorldMapIcon.otp.length() - 1); - } - - if (SpriteMask.field2994 == 84) { - AbstractWorldMapIcon.otp.trim(); - if (AbstractWorldMapIcon.otp.length() != 6) { - PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp); - AbstractWorldMapIcon.otp = ""; - Varcs.method2303(true); - PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); - HealthBarUpdate.updateGameState(20); - return; - } - - if (var10 && AbstractWorldMapIcon.otp.length() < 6) { - AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp + class78.field1010; - } - } - } - } else if (Login.loginIndex == 5) { - var56 = Login.loginBoxX + 180 - 80; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - } else { - long var39; - try { - URL var36 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); - URLConnection var14 = var36.openConnection(); - var14.setRequestProperty("connection", "close"); - var14.setDoInput(true); - var14.setDoOutput(true); - var14.setConnectTimeout(5000); - OutputStreamWriter var37 = new OutputStreamWriter(var14.getOutputStream()); - var37.write("data1=req"); - var37.flush(); - InputStream var38 = var14.getInputStream(); - Buffer var17 = new Buffer(new byte[1000]); - - while (true) { - int var18 = var38.read(var17.array, var17.offset, 1000 - var17.offset); - if (var18 == -1) { - var17.offset = 0; - long var41 = var17.readLong(); - var39 = var41; - break; - } - - var17.offset += var18; - if (var17.offset >= 1000) { - var39 = 0L; - break; - } - } - } catch (Exception var51) { - var39 = 0L; - } - - byte var59; - if (0L == var39) { - var59 = 5; - } else { - String var70 = Login.Login_username; - Random var65 = new Random(); - Buffer var45 = new Buffer(128); - Buffer var19 = new Buffer(128); - int[] var20 = new int[]{var65.nextInt(), var65.nextInt(), (int)(var39 >> 32), (int)var39}; - var45.writeByte(10); - - int var21; - for (var21 = 0; var21 < 4; ++var21) { - var45.writeInt(var65.nextInt()); - } - - var45.writeInt(var20[0]); - var45.writeInt(var20[1]); - var45.writeLong(var39); - var45.writeLong(0L); - - for (var21 = 0; var21 < 4; ++var21) { - var45.writeInt(var65.nextInt()); - } - - var45.encryptRsa(class65.field849, class65.field853); - var19.writeByte(10); - - for (var21 = 0; var21 < 3; ++var21) { - var19.writeInt(var65.nextInt()); - } - - var19.writeLong(var65.nextLong()); - var19.writeLongMedium(var65.nextLong()); - ClientPreferences.method2195(var19); - var19.writeLong(var65.nextLong()); - var19.encryptRsa(class65.field849, class65.field853); - var21 = BufferedSink.stringCp1252NullTerminatedByteSize(var70); - if (var21 % 8 != 0) { - var21 += 8 - var21 % 8; - } - - Buffer var22 = new Buffer(var21); - var22.writeStringCp1252NullTerminated(var70); - var22.offset = var21; - var22.xteaEncryptAll(var20); - Buffer var23 = new Buffer(var45.offset + var19.offset + var22.offset + 5); - var23.writeByte(2); - var23.writeByte(var45.offset); - var23.writeBytes(var45.array, 0, var45.offset); - var23.writeByte(var19.offset); - var23.writeBytes(var19.array, 0, var19.offset); - var23.writeShort(var22.offset); - var23.writeBytes(var22.array, 0, var22.offset); - String var24 = Message.method1104(var23.array); - - byte var15; - try { - URL var25 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); - URLConnection var26 = var25.openConnection(); - var26.setDoInput(true); - var26.setDoOutput(true); - var26.setConnectTimeout(5000); - OutputStreamWriter var27 = new OutputStreamWriter(var26.getOutputStream()); - var27.write("data2=" + VertexNormal.method4478(var24) + "&dest=" + VertexNormal.method4478("passwordchoice.ws")); - var27.flush(); - InputStream var28 = var26.getInputStream(); - var23 = new Buffer(new byte[1000]); - - while (true) { - int var29 = var28.read(var23.array, var23.offset, 1000 - var23.offset); - if (var29 == -1) { - var27.close(); - var28.close(); - String var46 = new String(var23.array); - if (var46.startsWith("OFFLINE")) { - var15 = 4; - } else if (var46.startsWith("WRONG")) { - var15 = 7; - } else if (var46.startsWith("RELOAD")) { - var15 = 3; - } else if (var46.startsWith("Not permitted for social network accounts.")) { - var15 = 6; - } else { - var23.xteaDecryptAll(var20); - - while (var23.offset > 0 && var23.array[var23.offset - 1] == 0) { - --var23.offset; - } - - var46 = new String(var23.array, 0, var23.offset); - if (WorldMapScaleHandler.method3907(var46)) { - Interpreter.openURL(var46, true, false); - var15 = 2; - } else { - var15 = 5; - } - } - break; - } - - var23.offset += var29; - if (var23.offset >= 1000) { - var15 = 5; - break; - } - } - } catch (Throwable var50) { - var50.printStackTrace(); - var15 = 5; - } - - var59 = var15; - } - - switch(var59) { - case 2: - PlatformInfo.setLoginResponseString(Strings.field3609, Strings.field3610, Strings.field3611); - Message.method1113(6); - break; - case 3: - PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 4: - PlatformInfo.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); - break; - case 5: - PlatformInfo.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); - break; - case 6: - PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 7: - PlatformInfo.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); - } - } - - return; - } - - var56 = Login.loginBoxX + 180 + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - SecureRandomFuture.Login_promptCredentials(true); - } - - var58 = 361; - if (PcmPlayer.field287 != null) { - var35 = PcmPlayer.field287.highX / 2; - if (var5 == 1 && var67 >= PcmPlayer.field287.lowX - var35 && var67 <= var35 + PcmPlayer.field287.lowX && var55 >= var58 - 15 && var55 < var58) { - Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); - } - } - - while (KitDefinition.isKeyDown()) { - boolean var68 = false; - - for (int var47 = 0; var47 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var47) { - if (class78.field1010 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var47)) { - var68 = true; - break; - } - } - - if (SpriteMask.field2994 == 13) { - SecureRandomFuture.Login_promptCredentials(true); - } else { - if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (SpriteMask.field2994 == 84) { - ScriptFrame.method1085(); - return; - } - - if (var68 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + class78.field1010; - } - } - } - } else if (Login.loginIndex != 6) { - if (Login.loginIndex == 7) { - var56 = Login.loginBoxX + 180 - 80; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=dob/set_dob.ws", true, false); - PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Message.method1113(6); - return; - } - - var56 = Login.loginBoxX + 180 + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - SecureRandomFuture.Login_promptCredentials(true); - } - } else if (Login.loginIndex == 8) { - var56 = Login.loginBoxX + 180 - 80; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false); - PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Message.method1113(6); - return; - } - - var56 = Login.loginBoxX + 180 + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - SecureRandomFuture.Login_promptCredentials(true); - } - } else if (Login.loginIndex == 9) { - var56 = Login.loginBoxX + 180; - var9 = 311; - if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 13 || var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - MenuAction.method1876(false); - } - } else if (Login.loginIndex == 10) { - var56 = Login.loginBoxX + 180; - var9 = 209; - if (SpriteMask.field2994 == 84 || var5 == 1 && var67 >= var56 - 109 && var67 <= var56 + 109 && var55 >= var9 && var55 <= var9 + 68) { - PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); - Client.field519 = class403.field4323; - Varcs.method2303(false); - HealthBarUpdate.updateGameState(20); - } - } else if (Login.loginIndex == 12) { - var56 = class11.loginBoxCenter; - var9 = 233; - Bounds var48 = var1.method5657(0, 30, "terms of use, privacy policy, and end user licence", var56, var9); - Bounds var11 = var1.method5657(32, 32, "terms of use, privacy policy, and end user licence", var56, var9); - Bounds var12 = var1.method5657(70, 34, "terms of use, privacy policy, and end user licence", var56, var9); - var61 = var9 + 17; - Bounds var69 = var1.method5657(0, 34, "agreement (EULA).", var56, var61); - if (var5 == 1) { - if (var48.method6186(var67, var55)) { - Interpreter.openURL("https://www.jagex.com/terms", true, false); - } else if (var11.method6186(var67, var55)) { - Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false); - } else if (var12.method6186(var67, var55) || var69.method6186(var67, var55)) { - Interpreter.openURL("https://www.jagex.com/en-GB/legal/eula-runescape-oldschool", true, false); - } - } - - var56 = class11.loginBoxCenter - 80; - var9 = 311; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - class123.method2534(); - if (!WorldMapAreaData.method3903()) { - Login.loginIndex = 12; - } else { - Login.loginIndex = 0; - } - } - - var56 = class11.loginBoxCenter + 80; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - Login.loginIndex = 13; - } - } else if (Login.loginIndex == 13) { - var56 = class11.loginBoxCenter; - var9 = 321; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - if (!WorldMapAreaData.method3903()) { - Login.loginIndex = 12; - } else { - Login.loginIndex = 0; - } - } - } else if (Login.loginIndex == 14) { - String var49 = ""; - switch(Login.field874) { - case 0: - var49 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; - break; - case 1: - var49 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; - break; - default: - SecureRandomFuture.Login_promptCredentials(false); - } - - var61 = Login.loginBoxX + 180; - var58 = 276; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { - Interpreter.openURL(var49, true, false); - PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Message.method1113(6); - return; - } - - var61 = Login.loginBoxX + 180; - var58 = 326; - if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { - SecureRandomFuture.Login_promptCredentials(false); - } - } else if (Login.loginIndex == 24) { - var56 = Login.loginBoxX + 180; - var9 = 301; - if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { - MenuAction.method1876(false); - } - } - } else { - while (true) { - do { - if (!KitDefinition.isKeyDown()) { - var57 = 321; - if (var5 == 1 && var55 >= var57 - 20 && var55 <= var57 + 20) { - SecureRandomFuture.Login_promptCredentials(true); - } - - return; - } - } while(SpriteMask.field2994 != 84 && SpriteMask.field2994 != 13); - - SecureRandomFuture.Login_promptCredentials(true); - } - } - } - } - } - - } - } + return var0; } } - @ObfuscatedName("ij") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1081213203" + descriptor = "(CI)Z", + garbageValue = "1444491208" ) - @Export("resumePauseWidget") - static void resumePauseWidget(int var0, int var1) { - PacketBufferNode var2 = FriendSystem.getPacketBufferNode(ClientPacket.field2690, Client.packetWriter.isaacCipher); - var2.packetBuffer.method6951(var1); - var2.packetBuffer.writeIntME(var0); - Client.packetWriter.addNode(var2); + @Export("isCharPrintable") + public static boolean isCharPrintable(char var0) { + if (var0 >= ' ' && var0 <= '~') { + return true; + } else if (var0 >= 160 && var0 <= 255) { + return true; + } else { + return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; + } } } diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index f7e5d3f2f1..828e868a43 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -5,29 +5,22 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jm") +@ObfuscatedName("jc") @Implements("DirectByteArrayCopier") public class DirectByteArrayCopier extends AbstractByteArrayCopier { - @ObfuscatedName("m") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1246567365 + intValue = 77516077 ) - @Export("KitDefinition_fileCount") - public static int KitDefinition_fileCount; - @ObfuscatedName("e") - @Export("Tiles_hue") - static int[] Tiles_hue; - @ObfuscatedName("n") + static int field3212; + @ObfuscatedName("l") @Export("directBuffer") ByteBuffer directBuffer; - DirectByteArrayCopier() { - } - - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(S)[B", - garbageValue = "147" + descriptor = "(B)[B", + garbageValue = "-25" ) @Export("get") byte[] get() { @@ -37,38 +30,29 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier { return var1; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BS)V", - garbageValue = "2048" + descriptor = "([BI)V", + garbageValue = "944891137" ) @Export("set") - void set(byte[] var1) { + public void set(byte[] var1) { this.directBuffer = ByteBuffer.allocateDirect(var1.length); this.directBuffer.position(0); this.directBuffer.put(var1); } - @ObfuscatedName("im") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "641314973" + descriptor = "(II)I", + garbageValue = "333873398" ) - @Export("selectSpell") - static void selectSpell(int var0, int var1, int var2, int var3) { - Widget var4 = ParamComposition.getWidgetChild(var0, var1); - if (var4 != null && var4.onTargetEnter != null) { - ScriptEvent var5 = new ScriptEvent(); - var5.widget = var4; - var5.args = var4.onTargetEnter; - class139.runScriptEvent(var5); + static int method5102(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; } - - Client.field645 = var3; - Client.isSpellSelected = true; - WorldMapEvent.selectedSpellWidget = var0; - Client.selectedSpellChildIndex = var1; - ScriptFrame.selectedSpellFlags = var2; - Actor.invalidateWidget(var4); } } diff --git a/runescape-client/src/main/java/DirectWrapper.java b/runescape-client/src/main/java/DirectWrapper.java index e00d8f8bfa..2bc8b64e3c 100644 --- a/runescape-client/src/main/java/DirectWrapper.java +++ b/runescape-client/src/main/java/DirectWrapper.java @@ -2,10 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ir") +@ObfuscatedName("it") @Implements("DirectWrapper") public class DirectWrapper extends Wrapper { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("obj") Object obj; @@ -14,13 +14,13 @@ public class DirectWrapper extends Wrapper { this.obj = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("get") Object get() { return this.obj; } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isSoft") boolean isSoft() { return false; diff --git a/runescape-client/src/main/java/DualNode.java b/runescape-client/src/main/java/DualNode.java index 661ce8c616..3138955743 100644 --- a/runescape-client/src/main/java/DualNode.java +++ b/runescape-client/src/main/java/DualNode.java @@ -3,26 +3,26 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mc") +@ObfuscatedName("nu") @Implements("DualNode") public class DualNode extends Node { - @ObfuscatedName("cm") + @ObfuscatedName("cu") @Export("keyDual") public long keyDual; - @ObfuscatedName("cy") + @ObfuscatedName("cv") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("previousDual") public DualNode previousDual; - @ObfuscatedName("cp") + @ObfuscatedName("cn") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("nextDual") public DualNode nextDual; - @ObfuscatedName("dn") + @ObfuscatedName("db") @Export("removeDual") public void removeDual() { if (this.nextDual != null) { diff --git a/runescape-client/src/main/java/DualNodeDeque.java b/runescape-client/src/main/java/DualNodeDeque.java index a31aef0629..3551766bbc 100644 --- a/runescape-client/src/main/java/DualNodeDeque.java +++ b/runescape-client/src/main/java/DualNodeDeque.java @@ -3,12 +3,12 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kg") +@ObfuscatedName("kz") @Implements("DualNodeDeque") public final class DualNodeDeque { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("sentinel") DualNode sentinel; @@ -19,9 +19,9 @@ public final class DualNodeDeque { this.sentinel.nextDual = this.sentinel; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmc;)V" + descriptor = "(Lnu;)V" ) @Export("addFirst") public void addFirst(DualNode var1) { @@ -35,9 +35,9 @@ public final class DualNodeDeque { var1.previousDual.nextDual = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lmc;)V" + descriptor = "(Lnu;)V" ) @Export("addLast") public void addLast(DualNode var1) { @@ -51,9 +51,9 @@ public final class DualNodeDeque { var1.previousDual.nextDual = var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "()Lmc;" + descriptor = "()Lnu;" ) @Export("removeLast") public DualNode removeLast() { diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java index ae32d63783..eb10dc98d9 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -4,72 +4,66 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bo") +@ObfuscatedName("bw") @Implements("DynamicObject") public class DynamicObject extends Renderable { - @ObfuscatedName("io") - @ObfuscatedSignature( - descriptor = "[Loc;" - ) - @Export("mapDotSprites") - static SpritePixels[] mapDotSprites; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 5117713 + intValue = 931990427 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -412707653 + intValue = 1382537175 ) @Export("type") int type; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 482248501 + intValue = -2141422723 ) @Export("orientation") int orientation; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 831891069 + intValue = 322731869 ) @Export("plane") int plane; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1304906077 + intValue = -378065101 ) @Export("x") int x; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 445952397 + intValue = 1775120185 ) @Export("y") int y; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lfa;" + descriptor = "Lfe;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1173893765 + intValue = -1429370351 ) @Export("frame") int frame; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1768826999 + intValue = -369980751 ) @Export("cycleStart") int cycleStart; @ObfuscatedSignature( - descriptor = "(IIIIIIIZLhr;)V" + descriptor = "(IIIIIIIZLhi;)V" ) DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Renderable var9) { this.id = var1; @@ -79,7 +73,7 @@ public class DynamicObject extends Renderable { this.x = var5; this.y = var6; if (var7 != -1) { - this.sequenceDefinition = class17.SequenceDefinition_get(var7); + this.sequenceDefinition = KitDefinition.SequenceDefinition_get(var7); this.frame = 0; this.cycleStart = Client.cycle - 1; if (this.sequenceDefinition.field1961 == 0 && var9 != null && var9 instanceof DynamicObject) { @@ -99,10 +93,10 @@ public class DynamicObject extends Renderable { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected final Model getModel() { @@ -112,11 +106,11 @@ public class DynamicObject extends Renderable { var1 = 100; } - label56: { + label55: { do { do { if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { - break label56; + break label55; } var1 -= this.sequenceDefinition.frameLengths[this.frame]; @@ -132,7 +126,7 @@ public class DynamicObject extends Renderable { this.cycleStart = Client.cycle - var1; } - ObjectComposition var12 = HitSplatDefinition.getObjectDefinition(this.id); + ObjectComposition var12 = class245.getObjectDefinition(this.id); if (var12.transforms != null) { var12 = var12.transform(); } @@ -155,72 +149,10 @@ public class DynamicObject extends Renderable { int var6 = (var3 >> 1) + this.y; int var7 = (var3 + 1 >> 1) + this.y; int[][] var8 = Tiles.Tiles_heights[this.plane]; - int var9 = var8[var5][var7] + var8[var5][var6] + var8[var4][var6] + var8[var4][var7] >> 2; + int var9 = var8[var4][var7] + var8[var4][var6] + var8[var5][var6] + var8[var5][var7] >> 2; int var10 = (this.x << 7) + (var2 << 6); int var11 = (this.y << 7) + (var3 << 6); return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); } } - - @ObfuscatedName("fs") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1870319643" - ) - static void method1956() { - Client.packetWriter.clearBuffer(); - Client.packetWriter.packetBuffer.offset = 0; - Client.packetWriter.serverPacket = null; - Client.packetWriter.field1288 = null; - Client.packetWriter.field1289 = null; - Client.packetWriter.field1290 = null; - Client.packetWriter.serverPacketLength = 0; - Client.packetWriter.field1279 = 0; - Client.rebootTimer = 0; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.minimapState = 0; - Client.destinationX = 0; - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { - Client.players[var0] = null; - } - - class129.localPlayer = null; - - for (var0 = 0; var0 < Client.npcs.length; ++var0) { - NPC var1 = Client.npcs[var0]; - if (var1 != null) { - var1.targetIndex = -1; - var1.false0 = false; - } - } - - CollisionMap.method3351(); - HealthBarUpdate.updateGameState(30); - - for (var0 = 0; var0 < 100; ++var0) { - Client.field697[var0] = true; - } - - class280.method5087(); - } - - @ObfuscatedName("gk") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1479639989" - ) - static void method1955() { - int var0 = Players.Players_count; - int[] var1 = Players.Players_indices; - - for (int var2 = 0; var2 < var0; ++var2) { - if (var1[var2] != Client.combatTargetPlayerIndex && var1[var2] != Client.localPlayerIndex) { - class114.addPlayerToScene(Client.players[var1[var2]], true); - } - } - - } } diff --git a/runescape-client/src/main/java/EnumComposition.java b/runescape-client/src/main/java/EnumComposition.java index 65ca3178d3..e2f6b5acd3 100644 --- a/runescape-client/src/main/java/EnumComposition.java +++ b/runescape-client/src/main/java/EnumComposition.java @@ -1,53 +1,63 @@ +import java.io.File; +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fg") +@ObfuscatedName("fb") @Implements("EnumComposition") public class EnumComposition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("EnumDefinition_archive") static AbstractArchive EnumDefinition_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("EnumDefinition_cached") static EvictingDualNodeHashTable EnumDefinition_cached; - @ObfuscatedName("m") + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "[Loz;" + ) + @Export("worldSelectArrows") + static IndexedSprite[] worldSelectArrows; + @ObfuscatedName("fs") + @Export("worldHost") + static String worldHost; + @ObfuscatedName("f") @Export("inputType") public char inputType; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("outputType") public char outputType; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("defaultStr") public String defaultStr; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1569829239 + intValue = 803208305 ) @Export("defaultInt") public int defaultInt; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1117713649 + intValue = -707506917 ) @Export("outputCount") public int outputCount; @ObfuscatedName("a") @Export("keys") public int[] keys; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("intVals") public int[] intVals; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("strVals") public String[] strVals; @@ -60,10 +70,10 @@ public class EnumComposition extends DualNode { this.outputCount = 0; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "1678468441" + garbageValue = "-247598772" ) @Export("decode") void decode(Buffer var1) { @@ -77,10 +87,10 @@ public class EnumComposition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "3" + descriptor = "(Lot;II)V", + garbageValue = "-674446563" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -117,142 +127,53 @@ public class EnumComposition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1327387533" + garbageValue = "2120023502" ) @Export("size") public int size() { return this.outputCount; } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IZI)Ljava/lang/String;", - garbageValue = "1485411533" - ) - @Export("intToString") - public static String intToString(int var0, boolean var1) { - if (var1 && var0 >= 0) { - int var3 = var0; - String var2; - if (var1 && var0 >= 0) { - int var4 = 2; - - for (int var5 = var0 / 10; var5 != 0; ++var4) { - var5 /= 10; - } - - char[] var6 = new char[var4]; - var6[0] = '+'; - - for (int var7 = var4 - 1; var7 > 0; --var7) { - int var8 = var3; - var3 /= 10; - int var9 = var8 - var3 * 10; - if (var9 >= 10) { - var6[var7] = (char)(var9 + 87); - } else { - var6[var7] = (char)(var9 + 48); - } - } - - var2 = new String(var6); - } else { - var2 = Integer.toString(var0, 10); - } - - return var2; - } else { - return Integer.toString(var0); - } - } - @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1969293465" + descriptor = "(IIII)I", + garbageValue = "-358460107" ) - public static void method2940() { - NPCComposition.NpcDefinition_cached.clear(); - NPCComposition.NpcDefinition_cachedModels.clear(); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "2" - ) - static int method2941(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - if (var0 == ScriptOpcodes.CC_GETSCROLLX) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollY; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTEXT) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTRANS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.transparencyTop; - return 1; - } else if (var0 == 1610) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.transparencyBot; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == 1613) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else if (var0 != 1615 && var0 != 1616) { - return 2; + public static int method2998(int var0, int var1, int var2) { + var2 &= 3; + if (var2 == 0) { + return var0; + } else if (var2 == 1) { + return var1; } else { - ++class240.Interpreter_intStackSize; - return 1; + return var2 == 2 ? 7 - var0 : 7 - var1; } } - @ObfuscatedName("ai") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1392924736" + descriptor = "(Ljava/io/File;Ljava/io/File;I)V", + garbageValue = "1964426544" ) - static int method2938(int var0, Script var1, boolean var2) { - if (var0 == 6900) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 == 6950) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - return 2; + static void method3007(File var0, File var1) { + try { + AccessFile var2 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + Buffer var3 = new Buffer(500); + var3.writeByte(3); + var3.writeByte(var1 != null ? 1 : 0); + var3.writeCESU8(var0.getPath()); + if (var1 != null) { + var3.writeCESU8(""); + } + + var2.write(var3.array, 0, var3.offset); + var2.close(); + } catch (IOException var4) { + var4.printStackTrace(); } + } } diff --git a/runescape-client/src/main/java/EvictingDualNodeHashTable.java b/runescape-client/src/main/java/EvictingDualNodeHashTable.java index b504d0f8e0..c990b55f07 100644 --- a/runescape-client/src/main/java/EvictingDualNodeHashTable.java +++ b/runescape-client/src/main/java/EvictingDualNodeHashTable.java @@ -3,35 +3,35 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("im") +@ObfuscatedName("ii") @Implements("EvictingDualNodeHashTable") public final class EvictingDualNodeHashTable { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) - DualNode field2633; - @ObfuscatedName("c") + DualNode field2655; + @ObfuscatedName("q") @Export("capacity") int capacity; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("remainingCapacity") int remainingCapacity; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "Lnz;" ) @Export("hashTable") IterableNodeHashTable hashTable; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Llz;" + descriptor = "Llh;" ) @Export("deque") IterableDualNodeQueue deque; public EvictingDualNodeHashTable(int var1) { - this.field2633 = new DualNode(); + this.field2655 = new DualNode(); this.deque = new IterableDualNodeQueue(); this.capacity = var1; this.remainingCapacity = var1; @@ -43,9 +43,9 @@ public final class EvictingDualNodeHashTable { this.hashTable = new IterableNodeHashTable(var2); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(J)Lmc;" + descriptor = "(J)Lnu;" ) @Export("get") public DualNode get(long var1) { @@ -57,7 +57,7 @@ public final class EvictingDualNodeHashTable { return var3; } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("remove") public void remove(long var1) { DualNode var3 = (DualNode)this.hashTable.get(var1); @@ -69,9 +69,9 @@ public final class EvictingDualNodeHashTable { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lmc;J)V" + descriptor = "(Lnu;J)V" ) @Export("put") public void put(DualNode var1, long var2) { @@ -79,7 +79,7 @@ public final class EvictingDualNodeHashTable { DualNode var4 = this.deque.removeLast(); var4.remove(); var4.removeDual(); - if (var4 == this.field2633) { + if (var4 == this.field2655) { var4 = this.deque.removeLast(); var4.remove(); var4.removeDual(); @@ -92,12 +92,12 @@ public final class EvictingDualNodeHashTable { this.deque.add(var1); } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("clear") public void clear() { this.deque.clear(); this.hashTable.clear(); - this.field2633 = new DualNode(); + this.field2655 = new DualNode(); this.remainingCapacity = this.capacity; } } diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java index ad05342d32..b91f56ed98 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -4,24 +4,24 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hi") +@ObfuscatedName("hx") @Implements("FaceNormal") public class FaceNormal { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -401677395 + intValue = -976866649 ) @Export("x") int x; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1245481 + intValue = -1457506575 ) @Export("y") int y; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1613056851 + intValue = 2004790059 ) @Export("z") int z; @@ -29,23 +29,12 @@ public class FaceNormal { FaceNormal() { } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IS)Z", - garbageValue = "13608" - ) - @Export("isWorldMapEvent") - public static boolean isWorldMapEvent(int var0) { - return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; - } - @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-1523765132" + descriptor = "(III)I", + garbageValue = "859115015" ) - @Export("isDigit") - public static boolean isDigit(char var0) { - return var0 >= '0' && var0 <= '9'; + public static int method4396(int var0, int var1) { + return (var0 << 8) + var1; } } diff --git a/runescape-client/src/main/java/FileSystem.java b/runescape-client/src/main/java/FileSystem.java index 497ba490ba..50f756dd7b 100644 --- a/runescape-client/src/main/java/FileSystem.java +++ b/runescape-client/src/main/java/FileSystem.java @@ -5,35 +5,42 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("el") +@ObfuscatedName("ei") @Implements("FileSystem") public class FileSystem { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("FileSystem_hasPermissions") - public static boolean FileSystem_hasPermissions; - @ObfuscatedName("c") + static boolean FileSystem_hasPermissions; + @ObfuscatedName("q") @Export("FileSystem_cacheDir") - public static File FileSystem_cacheDir; - @ObfuscatedName("m") + static File FileSystem_cacheDir; + @ObfuscatedName("f") @Export("FileSystem_cacheFiles") static Hashtable FileSystem_cacheFiles; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("options_buttons_2Sprite") + static IndexedSprite options_buttons_2Sprite; static { FileSystem_hasPermissions = false; FileSystem_cacheFiles = new Hashtable(16); } - @ObfuscatedName("ki") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Ljd;I)Ljava/lang/String;", - garbageValue = "-1778934467" + descriptor = "(CI)Z", + garbageValue = "469084024" ) - @Export("Widget_getSpellActionName") - static String Widget_getSpellActionName(Widget var0) { - if (class138.Widget_unpackTargetMask(Decimator.getWidgetFlags(var0)) == 0) { - return null; - } else { - return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; + static boolean method2820(char var0) { + for (int var1 = 0; var1 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var1) { + if (var0 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var1)) { + return true; + } } + + return false; } } diff --git a/runescape-client/src/main/java/FillMode.java b/runescape-client/src/main/java/FillMode.java index 038785ef82..5494044ccb 100644 --- a/runescape-client/src/main/java/FillMode.java +++ b/runescape-client/src/main/java/FillMode.java @@ -4,49 +4,49 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oh") +@ObfuscatedName("ob") @Implements("FillMode") public enum FillMode implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Loh;" + descriptor = "Lob;" ) @Export("SOLID") SOLID(0, 0), - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Loh;" + descriptor = "Lob;" ) - field4352(1, 1), - @ObfuscatedName("m") + field4366(1, 1), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Loh;" + descriptor = "Lob;" ) - field4354(2, 2); + field4368(2, 2); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -477318771 + intValue = 496856367 ) - public final int field4353; - @ObfuscatedName("o") + public final int field4369; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 439183323 + intValue = -603011481 ) - final int field4356; + final int field4367; FillMode(int var3, int var4) { - this.field4353 = var3; - this.field4356 = var4; + this.field4369 = var3; + this.field4367 = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field4356; + return this.field4367; } } diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index 17982df886..ca0bd3ec99 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -3,43 +3,44 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gx") +@ObfuscatedName("gv") @Implements("FloorDecoration") public final class FloorDecoration { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 2081652561 + intValue = 991061131 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 744017517 + intValue = 1601758079 ) @Export("x") int x; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 782571425 + ) + @Export("y") + int y; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lhi;" + ) + @Export("renderable") + public Renderable renderable; @ObfuscatedName("m") @ObfuscatedGetter( - longValue = -381493142240489229L + longValue = -8680779531833759789L ) @Export("tag") public long tag; @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -2079626099 - ) - @Export("y") - int y; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lhr;" - ) - @Export("renderable") - public Renderable renderable; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -321570841 + intValue = -1317615523 ) @Export("flags") int flags; @@ -47,12 +48,152 @@ public final class FloorDecoration { FloorDecoration() { } - @ObfuscatedName("m") + @ObfuscatedName("l") + @Export("base37DecodeLong") + public static String base37DecodeLong(long var0) { + if (var0 > 0L && var0 < 6582952005840035281L) { + if (0L == var0 % 37L) { + return null; + } else { + int var2 = 0; + + for (long var3 = var0; var3 != 0L; var3 /= 37L) { + ++var2; + } + + StringBuilder var5; + char var8; + for (var5 = new StringBuilder(var2); 0L != var0; var5.append(var8)) { + long var6 = var0; + var0 /= 37L; + var8 = class320.base37Table[(int)(var6 - var0 * 37L)]; + if (var8 == '_') { + int var9 = var5.length() - 1; + var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); + var8 = 160; + } + } + + var5.reverse(); + var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); + return var5.toString(); + } + } else { + return null; + } + } + + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;I)Ljava/lang/String;", - garbageValue = "1701433854" + descriptor = "(ILbe;ZI)I", + garbageValue = "557899168" ) - public static String method4029(Buffer var0) { - return FloorOverlayDefinition.method3263(var0, 32767); + static int method4104(int var0, Script var1, boolean var2) { + int var4; + int var9; + if (var0 == ScriptOpcodes.CC_CREATE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + int var11 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + if (var4 == 0) { + throw new RuntimeException(); + } else { + Widget var6 = HealthBarUpdate.getWidget(var9); + if (var6.children == null) { + var6.children = new Widget[var11 + 1]; + } + + if (var6.children.length <= var11) { + Widget[] var7 = new Widget[var11 + 1]; + + for (int var8 = 0; var8 < var6.children.length; ++var8) { + var7[var8] = var6.children[var8]; + } + + var6.children = var7; + } + + if (var11 > 0 && var6.children[var11 - 1] == null) { + throw new RuntimeException("" + (var11 - 1)); + } else { + Widget var12 = new Widget(); + var12.type = var4; + var12.parentId = var12.id = var6.id; + var12.childIndex = var11; + var12.isIf3 = true; + var6.children[var11] = var12; + if (var2) { + WorldMapDecoration.scriptDotWidget = var12; + } else { + class245.scriptActiveWidget = var12; + } + + class16.invalidateWidget(var6); + return 1; + } + } + } else { + Widget var3; + if (var0 == ScriptOpcodes.CC_DELETE) { + var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + Widget var10 = HealthBarUpdate.getWidget(var3.id); + var10.children[var3.childIndex] = null; + class16.invalidateWidget(var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DELETEALL) { + var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + var3.children = null; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == 103) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + return 1; + } else if (var0 == 104) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 != ScriptOpcodes.CC_FIND) { + if (var0 == ScriptOpcodes.IF_FIND) { + var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var3 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + if (var2) { + WorldMapDecoration.scriptDotWidget = var3; + } else { + class245.scriptActiveWidget = var3; + } + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == 202) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] = 0; + return 1; + } else if (var0 == 203) { + Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize + 1] = 0; + return 1; + } else { + return 2; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Widget var5 = ViewportMouse.getWidgetChild(var9, var4); + if (var5 != null && var4 != -1) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + if (var2) { + WorldMapDecoration.scriptDotWidget = var5; + } else { + class245.scriptActiveWidget = var5; + } + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } } } diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index 4b3df9a6dd..a512d3a850 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -1,88 +1,78 @@ -import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fx") +@ObfuscatedName("fq") @Implements("FloorOverlayDefinition") public class FloorOverlayDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("FloorOverlayDefinition_archive") public static AbstractArchive FloorOverlayDefinition_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("FloorOverlayDefinition_cached") public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; - @ObfuscatedName("w") - @Export("BZip2Decompressor_block") - static int[] BZip2Decompressor_block; - @ObfuscatedName("gw") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -195653107 - ) - @Export("baseX") - static int baseX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1734986159 + intValue = 277028007 ) @Export("primaryRgb") public int primaryRgb; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 718205849 + intValue = 1201778655 ) @Export("texture") public int texture; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("hideUnderlay") public boolean hideUnderlay; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -888427239 + intValue = 1687723845 ) @Export("secondaryRgb") public int secondaryRgb; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1569882159 + intValue = -2057236633 ) @Export("hue") public int hue; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 1328191101 + intValue = 115242175 ) @Export("saturation") public int saturation; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -2098676613 + intValue = -636729447 ) @Export("lightness") public int lightness; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 289005511 + intValue = -566217293 ) @Export("secondaryHue") public int secondaryHue; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1692859891 + intValue = 904207115 ) @Export("secondarySaturation") public int secondarySaturation; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1352572149 + intValue = 445278127 ) @Export("secondaryLightness") public int secondaryLightness; @@ -98,10 +88,10 @@ public class FloorOverlayDefinition extends DualNode { this.secondaryRgb = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "61" + descriptor = "(I)V", + garbageValue = "1537548599" ) @Export("postDecode") public void postDecode() { @@ -115,10 +105,10 @@ public class FloorOverlayDefinition extends DualNode { this.setHsl(this.primaryRgb); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-693305168" + garbageValue = "-396376326" ) @Export("decode") public void decode(Buffer var1, int var2) { @@ -132,10 +122,10 @@ public class FloorOverlayDefinition extends DualNode { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;III)V", - garbageValue = "985696118" + garbageValue = "2051623974" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2, int var3) { @@ -152,10 +142,10 @@ public class FloorOverlayDefinition extends DualNode { } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "488331983" + garbageValue = "1202743060" ) @Export("setHsl") void setHsl(int var1) { @@ -192,17 +182,17 @@ public class FloorOverlayDefinition extends DualNode { var14 = (var10 - var8) / (2.0D - var10 - var8); } - if (var10 == var2) { + if (var2 == var10) { var12 = (var4 - var6) / (var10 - var8); } else if (var10 == var4) { - var12 = 2.0D + (var6 - var2) / (var10 - var8); - } else if (var6 == var10) { - var12 = 4.0D + (var2 - var4) / (var10 - var8); + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var10 == var6) { + var12 = (var2 - var4) / (var10 - var8) + 4.0D; } } var12 /= 6.0D; - this.hue = (int)(var12 * 256.0D); + this.hue = (int)(256.0D * var12); this.saturation = (int)(256.0D * var14); this.lightness = (int)(var16 * 256.0D); if (this.saturation < 0) { @@ -219,54 +209,12 @@ public class FloorOverlayDefinition extends DualNode { } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-2130503048" + descriptor = "(II)I", + garbageValue = "403924203" ) - public static final boolean method3277(char var0) { - return var0 == 160 || var0 == ' ' || var0 == '_' || var0 == '-'; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(Lot;IB)Ljava/lang/String;", - garbageValue = "-5" - ) - static String method3263(Buffer var0, int var1) { - try { - int var2 = var0.readUShortSmart(); - if (var2 > var1) { - var2 = var1; - } - - byte[] var3 = new byte[var2]; - var0.offset += class264.huffman.decompress(var0.array, var0.offset, var3, 0, var2); - String var4 = class128.decodeStringCp1252(var3, 0, var2); - return var4; - } catch (Exception var6) { - return "Cabbage"; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(B)Ljava/security/SecureRandom;", - garbageValue = "-101" - ) - static SecureRandom method3272() { - SecureRandom var0 = new SecureRandom(); - var0.nextInt(); - return var0; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIIII)I", - garbageValue = "1733668396" - ) - static final int method3270(int var0, int var1, int var2, int var3) { - int var4 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var2 * 1024 / var3] >> 1; - return ((65536 - var4) * var0 >> 16) + (var4 * var1 >> 16); + public static int method3343(int var0) { + return class245.field2899[var0]; } } diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index f04e7a4983..0b8c766363 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -4,50 +4,48 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fv") +@ObfuscatedName("fk") @Implements("FloorUnderlayDefinition") public class FloorUnderlayDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("FloorUnderlayDefinition_archive") static AbstractArchive FloorUnderlayDefinition_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("FloorUnderlayDefinition_cached") - static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; - @ObfuscatedName("a") - static byte[][][] field1769; - @ObfuscatedName("m") + public static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -2135800243 + intValue = -532200839 ) @Export("rgb") int rgb; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 928932641 + intValue = 942035901 ) @Export("hue") public int hue; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1423685575 + intValue = 1219525369 ) @Export("saturation") public int saturation; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -1235823941 + intValue = 1599217659 ) @Export("lightness") public int lightness; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1016584497 + intValue = -1588498639 ) @Export("hueMultiplier") public int hueMultiplier; @@ -60,20 +58,20 @@ public class FloorUnderlayDefinition extends DualNode { this.rgb = 0; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1292783248" + garbageValue = "1183298699" ) @Export("postDecode") void postDecode() { this.setHsl(this.rgb); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "625254252" + descriptor = "(Lot;IB)V", + garbageValue = "-91" ) @Export("decode") void decode(Buffer var1, int var2) { @@ -87,10 +85,10 @@ public class FloorUnderlayDefinition extends DualNode { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lot;III)V", - garbageValue = "1903251237" + descriptor = "(Lot;IIB)V", + garbageValue = "64" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2, int var3) { @@ -100,10 +98,10 @@ public class FloorUnderlayDefinition extends DualNode { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-78" + descriptor = "(II)V", + garbageValue = "156508648" ) @Export("setHsl") void setHsl(int var1) { @@ -131,7 +129,7 @@ public class FloorUnderlayDefinition extends DualNode { double var12 = 0.0D; double var14 = 0.0D; double var16 = (var8 + var10) / 2.0D; - if (var10 != var8) { + if (var8 != var10) { if (var16 < 0.5D) { var14 = (var10 - var8) / (var8 + var10); } @@ -143,15 +141,15 @@ public class FloorUnderlayDefinition extends DualNode { if (var2 == var10) { var12 = (var4 - var6) / (var10 - var8); } else if (var4 == var10) { - var12 = (var6 - var2) / (var10 - var8) + 2.0D; + var12 = 2.0D + (var6 - var2) / (var10 - var8); } else if (var10 == var6) { var12 = 4.0D + (var2 - var4) / (var10 - var8); } } var12 /= 6.0D; - this.saturation = (int)(var14 * 256.0D); - this.lightness = (int)(256.0D * var16); + this.saturation = (int)(256.0D * var14); + this.lightness = (int)(var16 * 256.0D); if (this.saturation < 0) { this.saturation = 0; } else if (this.saturation > 255) { @@ -167,7 +165,7 @@ public class FloorUnderlayDefinition extends DualNode { if (var16 > 0.5D) { this.hueMultiplier = (int)(512.0D * var14 * (1.0D - var16)); } else { - this.hueMultiplier = (int)(var16 * var14 * 512.0D); + this.hueMultiplier = (int)(512.0D * var14 * var16); } if (this.hueMultiplier < 1) { @@ -177,34 +175,34 @@ public class FloorUnderlayDefinition extends DualNode { this.hue = (int)(var12 * (double)this.hueMultiplier); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Lpx;", - garbageValue = "-1201806222" + descriptor = "(I)I", + garbageValue = "970537085" ) - public static PrivateChatMode method3025(int var0) { - PrivateChatMode[] var1 = new PrivateChatMode[]{PrivateChatMode.field4392, PrivateChatMode.field4394, PrivateChatMode.field4395}; - PrivateChatMode[] var2 = var1; - - for (int var3 = 0; var3 < var2.length; ++var3) { - PrivateChatMode var4 = var2[var3]; - if (var0 == var4.field4393) { - return var4; - } - } - - return null; + static int method3082() { + return ++Messages.Messages_count - 1; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "([BI)[B", - garbageValue = "643546348" + descriptor = "(II)Ljava/lang/String;", + garbageValue = "1547670784" ) - static byte[] method3026(byte[] var0) { - int var1 = var0.length; - byte[] var2 = new byte[var1]; - System.arraycopy(var0, 0, var2, 0, var1); - return var2; + @Export("colorStartTag") + static String colorStartTag(int var0) { + return ""; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-793299621" + ) + static final void method3094(String var0) { + StringBuilder var10000 = (new StringBuilder()).append(var0); + Object var10001 = null; + String var1 = var10000.append(" is already on your friend list").toString(); + GraphicsDefaults.addGameMessage(30, "", var1); } } diff --git a/runescape-client/src/main/java/Font.java b/runescape-client/src/main/java/Font.java index 97215b897b..8d6be228ef 100644 --- a/runescape-client/src/main/java/Font.java +++ b/runescape-client/src/main/java/Font.java @@ -2,7 +2,7 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lu") +@ObfuscatedName("lt") @Implements("Font") public final class Font extends AbstractFont { public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { @@ -13,7 +13,7 @@ public final class Font extends AbstractFont { super(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("drawGlyph") final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; @@ -55,7 +55,7 @@ public final class Font extends AbstractFont { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("drawGlyphAlpha") final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java index 3b6592827c..bcf7dd64f0 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -2,47 +2,48 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("nu") +@ObfuscatedName("nx") @Implements("FontName") public class FontName { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_plain11") public static final FontName FontName_plain11; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_plain12") public static final FontName FontName_plain12; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_bold12") public static final FontName FontName_bold12; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_verdana11") public static final FontName FontName_verdana11; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_verdana13") public static final FontName FontName_verdana13; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("FontName_verdana15") public static final FontName FontName_verdana15; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("name") String name; @@ -59,12 +60,195 @@ public class FontName { this.name = var1; } - @ObfuscatedName("c") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "-80" + descriptor = "(ILbe;ZI)I", + garbageValue = "1133097003" ) - static int method6551(int var0, int var1, int var2) { - return var0 << 28 | var1 << 14 | var2; + static int method6619(int var0, Script var1, boolean var2) { + int var4 = -1; + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var3 = HealthBarUpdate.getWidget(var4); + } else { + var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } + + if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3.scrollX = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var3.scrollX > var3.scrollWidth - var3.width) { + var3.scrollX = var3.scrollWidth - var3.width; + } + + if (var3.scrollX < 0) { + var3.scrollX = 0; + } + + var3.scrollY = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (var3.scrollY > var3.scrollHeight - var3.height) { + var3.scrollY = var3.scrollHeight - var3.height; + } + + if (var3.scrollY < 0) { + var3.scrollY = 0; + } + + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { + var3.color = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILL) { + var3.fill = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTRANS) { + var3.transparencyTop = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { + var3.lineWid = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { + var3.spriteId2 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { + var3.spriteAngle = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTILING) { + var3.spriteTiling = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODEL) { + var3.modelType = 1; + var3.modelId = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 6; + var3.modelOffsetX = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var3.modelOffsetY = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var3.modelAngleX = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var3.modelAngleY = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + var3.modelAngleZ = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 4]; + var3.modelZoom = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 5]; + class16.invalidateWidget(var3); + return 1; + } else { + int var8; + if (var0 == ScriptOpcodes.CC_SETMODELANIM) { + var8 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var8 != var3.sequenceId) { + var3.sequenceId = var8; + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + class16.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { + var3.modelOrthog = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXT) { + String var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + if (!var7.equals(var3.text)) { + var3.text = var7; + class16.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { + var3.fontId = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3.textXAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var3.textYAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var3.textLineHeight = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { + var3.textShadowed = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { + var3.outline = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { + var3.spriteShadow = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { + var3.spriteFlipV = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { + var3.spriteFlipH = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3.scrollWidth = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var3.scrollHeight = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + class16.invalidateWidget(var3); + if (var4 != -1 && var3.type == 0) { + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var4 >> 16], var3, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { + Decimator.resumePauseWidget(var3.id, var3.childIndex); + Client.meslayerContinueWidget = var3; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == 1122) { + var3.spriteId = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { + var3.color2 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == 1124) { + var3.transparencyBot = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.invalidateWidget(var3); + return 1; + } else if (var0 == 1125) { + var8 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + FillMode var6 = (FillMode)class128.findEnumerated(class125.FillMode_values(), var8); + if (var6 != null) { + var3.fillMode = var6; + class16.invalidateWidget(var3); + } + + return 1; + } else { + boolean var5; + if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { + var5 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + var3.field3081 = var5; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { + var5 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + var3.modelTransparency = var5; + return 1; + } else if (var0 == 1128) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } else { + return 2; + } + } + } } } diff --git a/runescape-client/src/main/java/Fonts.java b/runescape-client/src/main/java/Fonts.java index a88b36b7ba..8f4c244810 100644 --- a/runescape-client/src/main/java/Fonts.java +++ b/runescape-client/src/main/java/Fonts.java @@ -1,37 +1,30 @@ import java.util.HashMap; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("nd") @Implements("Fonts") public class Fonts { - @ObfuscatedName("ic") - @ObfuscatedGetter( - intValue = -736853061 - ) - @Export("cameraYaw") - static int cameraYaw; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("spritesArchive") AbstractArchive spritesArchive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("fontsArchive") AbstractArchive fontsArchive; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("map") HashMap map; @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;)V" + descriptor = "(Lkl;Lkl;)V" ) public Fonts(AbstractArchive var1, AbstractArchive var2) { this.spritesArchive = var1; @@ -39,10 +32,10 @@ public class Fonts { this.map = new HashMap(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([Lnu;I)Ljava/util/HashMap;", - garbageValue = "337483472" + descriptor = "([Lnx;I)Ljava/util/HashMap;", + garbageValue = "-549116383" ) @Export("createMap") public HashMap createMap(FontName[] var1) { @@ -54,7 +47,12 @@ public class Fonts { if (this.map.containsKey(var5)) { var2.put(var5, this.map.get(var5)); } else { - Font var6 = Archive.method5150(this.spritesArchive, this.fontsArchive, var5.name, ""); + AbstractArchive var7 = this.spritesArchive; + AbstractArchive var8 = this.fontsArchive; + String var9 = var5.name; + int var10 = var7.getGroupId(var9); + int var11 = var7.getFileId(var10, ""); + Font var6 = Actor.method2153(var7, var8, var10, var11); if (var6 != null) { this.map.put(var5, var6); var2.put(var5, var6); @@ -65,555 +63,32 @@ public class Fonts { return var2; } - @ObfuscatedName("eg") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1384356512" + descriptor = "([BIII)Ljava/lang/String;", + garbageValue = "175544485" ) - @Export("load") - static void load() { - int var14; - if (Client.titleLoadingStage == 0) { - CollisionMap.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); + @Export("decodeStringCp1252") + public static String decodeStringCp1252(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; - for (var14 = 0; var14 < 4; ++var14) { - Client.collisionMaps[var14] = new CollisionMap(104, 104); - } + for (int var5 = 0; var5 < var2; ++var5) { + int var6 = var0[var5 + var1] & 255; + if (var6 != 0) { + if (var6 >= 128 && var6 < 160) { + char var7 = class316.cp1252AsciiExtension[var6 - 128]; + if (var7 == 0) { + var7 = '?'; + } - class113.sceneMinimapSprite = new SpritePixels(512, 512); - Login.Login_loadingText = "Starting game engine..."; - Login.Login_loadingPercent = 5; - Client.titleLoadingStage = 20; - } else if (Client.titleLoadingStage == 20) { - Login.Login_loadingText = "Prepared visibility map"; - Login.Login_loadingPercent = 10; - Client.titleLoadingStage = 30; - } else if (Client.titleLoadingStage == 30) { - WorldMapRectangle.archive0 = class4.newArchive(0, false, true, true); - MenuAction.archive1 = class4.newArchive(1, false, true, true); - class115.archive2 = class4.newArchive(2, true, false, true); - class260.archive3 = class4.newArchive(3, false, true, true); - ReflectionCheck.archive4 = class4.newArchive(4, false, true, true); - ObjectComposition.archive5 = class4.newArchive(5, true, true, true); - class276.archive6 = class4.newArchive(6, true, true, true); - class135.archive7 = class4.newArchive(7, false, true, true); - World.archive8 = class4.newArchive(8, false, true, true); - VarcInt.archive9 = class4.newArchive(9, false, true, true); - MouseRecorder.archive10 = class4.newArchive(10, false, true, true); - class318.archive11 = class4.newArchive(11, false, true, true); - SecureRandomCallable.archive12 = class4.newArchive(12, false, true, true); - class391.archive13 = class4.newArchive(13, true, false, true); - ApproximateRouteStrategy.archive14 = class4.newArchive(14, false, true, true); - WorldMapSection0.archive15 = class4.newArchive(15, false, true, true); - class120.archive17 = class4.newArchive(17, true, true, true); - class120.archive18 = class4.newArchive(18, false, true, true); - Interpreter.archive19 = class4.newArchive(19, false, true, true); - class28.archive20 = class4.newArchive(20, false, true, true); - Login.Login_loadingText = "Connecting to update server"; - Login.Login_loadingPercent = 20; - Client.titleLoadingStage = 40; - } else if (Client.titleLoadingStage == 40) { - byte var33 = 0; - var14 = var33 + WorldMapRectangle.archive0.percentage() * 4 / 100; - var14 += MenuAction.archive1.percentage() * 4 / 100; - var14 += class115.archive2.percentage() * 2 / 100; - var14 += class260.archive3.percentage() * 2 / 100; - var14 += ReflectionCheck.archive4.percentage() * 6 / 100; - var14 += ObjectComposition.archive5.percentage() * 4 / 100; - var14 += class276.archive6.percentage() * 2 / 100; - var14 += class135.archive7.percentage() * 56 / 100; - var14 += World.archive8.percentage() * 2 / 100; - var14 += VarcInt.archive9.percentage() * 2 / 100; - var14 += MouseRecorder.archive10.percentage() * 2 / 100; - var14 += class318.archive11.percentage() * 2 / 100; - var14 += SecureRandomCallable.archive12.percentage() * 2 / 100; - var14 += class391.archive13.percentage() * 2 / 100; - var14 += ApproximateRouteStrategy.archive14.percentage() * 2 / 100; - var14 += WorldMapSection0.archive15.percentage() * 2 / 100; - var14 += Interpreter.archive19.percentage() / 100; - var14 += class120.archive18.percentage() / 100; - var14 += class28.archive20.percentage() / 100; - var14 += class120.archive17.method5108() && class120.archive17.isFullyLoaded() ? 1 : 0; - if (var14 != 100) { - if (var14 != 0) { - Login.Login_loadingText = "Checking for updates - " + var14 + "%"; + var6 = var7; } - Login.Login_loadingPercent = 30; - } else { - class21.method323(WorldMapRectangle.archive0, "Animations"); - class21.method323(MenuAction.archive1, "Skeletons"); - class21.method323(ReflectionCheck.archive4, "Sound FX"); - class21.method323(ObjectComposition.archive5, "Maps"); - class21.method323(class276.archive6, "Music Tracks"); - class21.method323(class135.archive7, "Models"); - class21.method323(World.archive8, "Sprites"); - class21.method323(class318.archive11, "Music Jingles"); - class21.method323(ApproximateRouteStrategy.archive14, "Music Samples"); - class21.method323(WorldMapSection0.archive15, "Music Patches"); - class21.method323(Interpreter.archive19, "World Map"); - class21.method323(class120.archive18, "World Map Geography"); - class21.method323(class28.archive20, "World Map Ground"); - WorldMapRegion.spriteIds = new GraphicsDefaults(); - WorldMapRegion.spriteIds.decode(class120.archive17); - Login.Login_loadingText = "Loaded update list"; - Login.Login_loadingPercent = 30; - Client.titleLoadingStage = 45; - } - } else { - Archive var2; - Archive var17; - if (Client.titleLoadingStage == 45) { - boolean var32 = !Client.isLowDetail; - class276.field3287 = 22050; - PcmPlayer.PcmPlayer_stereo = var32; - PcmPlayer.field268 = 2; - MidiPcmStream var30 = new MidiPcmStream(); - var30.method4628(9, 128); - UserComparator10.pcmPlayer0 = class114.method2487(GameEngine.taskHandler, 0, 22050); - UserComparator10.pcmPlayer0.setStream(var30); - var2 = WorldMapSection0.archive15; - Archive var31 = ApproximateRouteStrategy.archive14; - var17 = ReflectionCheck.archive4; - class247.musicPatchesArchive = var2; - class247.musicSamplesArchive = var31; - class247.soundEffectsArchive = var17; - class135.midiPcmStream = var30; - FriendsChat.pcmPlayer1 = class114.method2487(GameEngine.taskHandler, 1, 2048); - MusicPatchPcmStream.pcmStreamMixer = new PcmStreamMixer(); - FriendsChat.pcmPlayer1.setStream(MusicPatchPcmStream.pcmStreamMixer); - Language.decimator = new Decimator(22050, class276.field3287); - Login.Login_loadingText = "Prepared sound engine"; - Login.Login_loadingPercent = 35; - Client.titleLoadingStage = 50; - UrlRequest.WorldMapElement_fonts = new Fonts(World.archive8, class391.archive13); - } else { - int var15; - if (Client.titleLoadingStage == 50) { - FontName[] var21 = new FontName[]{FontName.FontName_verdana13, FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_bold12, FontName.FontName_plain11, FontName.FontName_verdana11}; - var15 = var21.length; - Fonts var23 = UrlRequest.WorldMapElement_fonts; - FontName[] var19 = new FontName[]{FontName.FontName_verdana13, FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_bold12, FontName.FontName_plain11, FontName.FontName_verdana11}; - Client.fontsMap = var23.createMap(var19); - if (Client.fontsMap.size() < var15) { - Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var15 + "%"; - Login.Login_loadingPercent = 40; - } else { - class87.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); - class129.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); - class11.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); - ParamComposition.platformInfo = Client.platformInfoProvider.get(); - Login.Login_loadingText = "Loaded fonts"; - Login.Login_loadingPercent = 40; - Client.titleLoadingStage = 60; - } - } else if (Client.titleLoadingStage == 60) { - var14 = class28.method408(MouseRecorder.archive10, World.archive8); - var15 = Login.field869.length + Login.field892.length; - if (var14 < var15) { - Login.Login_loadingText = "Loading title screen - " + var14 * 100 / var15 + "%"; - Login.Login_loadingPercent = 50; - } else { - Login.Login_loadingText = "Loaded title screen"; - Login.Login_loadingPercent = 50; - HealthBarUpdate.updateGameState(5); - Client.titleLoadingStage = 70; - } - } else if (Client.titleLoadingStage == 70) { - if (!class115.archive2.isFullyLoaded()) { - Login.Login_loadingText = "Loading config - " + class115.archive2.loadPercent() + "%"; - Login.Login_loadingPercent = 60; - } else { - Archive var20 = class115.archive2; - FloorOverlayDefinition.FloorOverlayDefinition_archive = var20; - WorldMapElement.method2827(class115.archive2); - PendingSpawn.method2121(class115.archive2, class135.archive7); - Archive var29 = class115.archive2; - var2 = class135.archive7; - boolean var25 = Client.isLowDetail; - ObjectComposition.ObjectDefinition_archive = var29; - ObjectComposition.ObjectDefinition_modelsArchive = var2; - ObjectComposition.ObjectDefinition_isLowDetail = var25; - var17 = class115.archive2; - Archive var24 = class135.archive7; - NPCComposition.NpcDefinition_archive = var17; - NPCComposition.NpcDefinition_modelArchive = var24; - class111.method2466(class115.archive2); - UserComparator10.method2444(class115.archive2, class135.archive7, Client.isMembersWorld, class87.fontPlain11); - class15.method210(class115.archive2, WorldMapRectangle.archive0, MenuAction.archive1); - WorldMapDecoration.method3802(class115.archive2, class135.archive7); - class128.method2632(class115.archive2); - Archive var26 = class115.archive2; - VarpDefinition.VarpDefinition_archive = var26; - VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16); - Archive var18 = class260.archive3; - Archive var28 = class135.archive7; - Archive var9 = World.archive8; - Archive var10 = class391.archive13; - Widget.Widget_archive = var18; - GrandExchangeOfferOwnWorldComparator.Widget_modelsArchive = var28; - class184.Widget_spritesArchive = var9; - class260.Widget_fontsArchive = var10; - class139.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; - Widget.Widget_loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; - Archive var11 = class115.archive2; - InvDefinition.InvDefinition_archive = var11; - ScriptEvent.method2056(class115.archive2); - Archive var12 = class115.archive2; - VarcInt.VarcInt_archive = var12; - Archive var13 = class115.archive2; - JagexCache.ParamDefinition_archive = var13; - WorldMapLabelSize.field2011 = new class386(class16.field83, 54, class323.clientLanguage, class115.archive2); - class125.HitSplatDefinition_cachedSprites = new class386(class16.field83, 47, class323.clientLanguage, class115.archive2); - GrandExchangeEvent.varcs = new Varcs(); - class140.method2710(class115.archive2, World.archive8, class391.archive13); - ModelData0.method4481(class115.archive2, World.archive8); - ItemContainer.method2025(class115.archive2, World.archive8); - Login.Login_loadingText = "Loaded config"; - Login.Login_loadingPercent = 60; - Client.titleLoadingStage = 80; - } - } else if (Client.titleLoadingStage == 80) { - var14 = 0; - if (MouseHandler.compass == null) { - MouseHandler.compass = class258.SpriteBuffer_getSprite(World.archive8, WorldMapRegion.spriteIds.compass, 0); - } else { - ++var14; - } - - if (class15.redHintArrowSprite == null) { - class15.redHintArrowSprite = class258.SpriteBuffer_getSprite(World.archive8, WorldMapRegion.spriteIds.field4001, 0); - } else { - ++var14; - } - - IndexedSprite[] var1; - int var3; - boolean var4; - byte[] var5; - IndexedSprite[] var6; - int var7; - IndexedSprite var8; - if (GameEngine.mapSceneSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.mapScenes; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - class28.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var6 = new IndexedSprite[class413.SpriteBuffer_spriteCount]; - - for (var7 = 0; var7 < class413.SpriteBuffer_spriteCount; ++var7) { - var8 = var6[var7] = new IndexedSprite(); - var8.width = class413.SpriteBuffer_spriteWidth; - var8.height = class413.SpriteBuffer_spriteHeight; - var8.xOffset = class413.SpriteBuffer_xOffsets[var7]; - var8.yOffset = class413.SpriteBuffer_yOffsets[var7]; - var8.subWidth = InvDefinition.SpriteBuffer_spriteWidths[var7]; - var8.subHeight = class413.SpriteBuffer_spriteHeights[var7]; - var8.palette = ItemContainer.SpriteBuffer_spritePalette; - var8.pixels = class283.SpriteBuffer_pixels[var7]; - } - - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - var1 = var6; - } - - GameEngine.mapSceneSprites = var1; - } else { - ++var14; - } - - SpritePixels[] var22; - if (MusicPatch.headIconPkSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.headIconsPk; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - MusicPatch.headIconPkSprites = var22; - } else { - ++var14; - } - - if (GraphicsObject.headIconPrayerSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4004; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - GraphicsObject.headIconPrayerSprites = var22; - } else { - ++var14; - } - - if (class7.headIconHintSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4003; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - class7.headIconHintSprites = var22; - } else { - ++var14; - } - - if (class13.mapMarkerSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4006; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - class13.mapMarkerSprites = var22; - } else { - ++var14; - } - - if (class13.crossSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4007; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - class13.crossSprites = var22; - } else { - ++var14; - } - - if (DynamicObject.mapDotSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4008; - if (!VertexNormal.method4477(var2, var3, 0)) { - var22 = null; - } else { - var22 = class174.method3364(); - } - - DynamicObject.mapDotSprites = var22; - } else { - ++var14; - } - - if (ArchiveLoader.scrollBarSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4009; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - class28.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var6 = new IndexedSprite[class413.SpriteBuffer_spriteCount]; - - for (var7 = 0; var7 < class413.SpriteBuffer_spriteCount; ++var7) { - var8 = var6[var7] = new IndexedSprite(); - var8.width = class413.SpriteBuffer_spriteWidth; - var8.height = class413.SpriteBuffer_spriteHeight; - var8.xOffset = class413.SpriteBuffer_xOffsets[var7]; - var8.yOffset = class413.SpriteBuffer_yOffsets[var7]; - var8.subWidth = InvDefinition.SpriteBuffer_spriteWidths[var7]; - var8.subHeight = class413.SpriteBuffer_spriteHeights[var7]; - var8.palette = ItemContainer.SpriteBuffer_spritePalette; - var8.pixels = class283.SpriteBuffer_pixels[var7]; - } - - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - var1 = var6; - } - - ArchiveLoader.scrollBarSprites = var1; - } else { - ++var14; - } - - if (WorldMapIcon_1.modIconSprites == null) { - var2 = World.archive8; - var3 = WorldMapRegion.spriteIds.field4010; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - class28.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var6 = new IndexedSprite[class413.SpriteBuffer_spriteCount]; - - for (var7 = 0; var7 < class413.SpriteBuffer_spriteCount; ++var7) { - var8 = var6[var7] = new IndexedSprite(); - var8.width = class413.SpriteBuffer_spriteWidth; - var8.height = class413.SpriteBuffer_spriteHeight; - var8.xOffset = class413.SpriteBuffer_xOffsets[var7]; - var8.yOffset = class413.SpriteBuffer_yOffsets[var7]; - var8.subWidth = InvDefinition.SpriteBuffer_spriteWidths[var7]; - var8.subHeight = class413.SpriteBuffer_spriteHeights[var7]; - var8.palette = ItemContainer.SpriteBuffer_spritePalette; - var8.pixels = class283.SpriteBuffer_pixels[var7]; - } - - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - var1 = var6; - } - - WorldMapIcon_1.modIconSprites = var1; - } else { - ++var14; - } - - if (var14 < 11) { - Login.Login_loadingText = "Loading sprites - " + var14 * 100 / 12 + "%"; - Login.Login_loadingPercent = 70; - } else { - AbstractFont.AbstractFont_modIconSprites = WorldMapIcon_1.modIconSprites; - class15.redHintArrowSprite.normalize(); - var15 = (int)(Math.random() * 21.0D) - 10; - int var16 = (int)(Math.random() * 21.0D) - 10; - var3 = (int)(Math.random() * 21.0D) - 10; - int var27 = (int)(Math.random() * 41.0D) - 20; - GameEngine.mapSceneSprites[0].shiftColors(var15 + var27, var27 + var16, var3 + var27); - Login.Login_loadingText = "Loaded sprites"; - Login.Login_loadingPercent = 70; - Client.titleLoadingStage = 90; - } - } else if (Client.titleLoadingStage == 90) { - if (!VarcInt.archive9.isFullyLoaded()) { - Login.Login_loadingText = "Loading textures - " + "0%"; - Login.Login_loadingPercent = 90; - } else { - MusicPatch.textureProvider = new TextureProvider(VarcInt.archive9, World.archive8, 20, VarbitComposition.clientPreferences.field1193, Client.isLowDetail ? 64 : 128); - Rasterizer3D.Rasterizer3D_setTextureLoader(MusicPatch.textureProvider); - Rasterizer3D.Rasterizer3D_setBrightness(VarbitComposition.clientPreferences.field1193); - Client.titleLoadingStage = 100; - } - } else if (Client.titleLoadingStage == 100) { - var14 = MusicPatch.textureProvider.getLoadedPercentage(); - if (var14 < 100) { - Login.Login_loadingText = "Loading textures - " + var14 + "%"; - Login.Login_loadingPercent = 90; - } else { - Login.Login_loadingText = "Loaded textures"; - Login.Login_loadingPercent = 90; - Client.titleLoadingStage = 110; - } - } else if (Client.titleLoadingStage == 110) { - class184.mouseRecorder = new MouseRecorder(); - GameEngine.taskHandler.newThreadTask(class184.mouseRecorder, 10); - Login.Login_loadingText = "Loaded input handler"; - Login.Login_loadingPercent = 92; - Client.titleLoadingStage = 120; - } else if (Client.titleLoadingStage == 120) { - if (!MouseRecorder.archive10.tryLoadFileByNames("huffman", "")) { - Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; - Login.Login_loadingPercent = 94; - } else { - Huffman var0 = new Huffman(MouseRecorder.archive10.takeFileByNames("huffman", "")); - Huffman.method5007(var0); - Login.Login_loadingText = "Loaded wordpack"; - Login.Login_loadingPercent = 94; - Client.titleLoadingStage = 130; - } - } else if (Client.titleLoadingStage == 130) { - if (!class260.archive3.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + class260.archive3.loadPercent() * 4 / 5 + "%"; - Login.Login_loadingPercent = 96; - } else if (!SecureRandomCallable.archive12.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (80 + SecureRandomCallable.archive12.loadPercent() / 6) + "%"; - Login.Login_loadingPercent = 96; - } else if (!class391.archive13.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (96 + class391.archive13.loadPercent() / 50) + "%"; - Login.Login_loadingPercent = 96; - } else { - Login.Login_loadingText = "Loaded interfaces"; - Login.Login_loadingPercent = 98; - Client.titleLoadingStage = 140; - } - } else if (Client.titleLoadingStage == 140) { - Login.Login_loadingPercent = 100; - if (!Interpreter.archive19.tryLoadGroupByName(WorldMapCacheName.field2199.name)) { - Login.Login_loadingText = "Loading world map - " + Interpreter.archive19.groupLoadPercentByName(WorldMapCacheName.field2199.name) / 10 + "%"; - } else { - if (class65.worldMap == null) { - class65.worldMap = new WorldMap(); - class65.worldMap.init(Interpreter.archive19, class120.archive18, class28.archive20, class11.fontBold12, Client.fontsMap, GameEngine.mapSceneSprites); - } - - Login.Login_loadingText = "Loaded world map"; - Client.titleLoadingStage = 150; - } - } else if (Client.titleLoadingStage == 150) { - HealthBarUpdate.updateGameState(10); - } + var3[var4++] = (char)var6; } } - } - @ObfuscatedName("kk") - @ObfuscatedSignature( - descriptor = "(IIIILoc;Lii;B)V", - garbageValue = "90" - ) - @Export("drawSpriteOnMinimap") - static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { - if (var4 != null) { - int var6 = Client.camAngleY & 2047; - int var7 = var3 * var3 + var2 * var2; - if (var7 <= 6400) { - int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; - int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; - int var10 = var9 * var2 + var3 * var8 >> 16; - int var11 = var3 * var9 - var8 * var2 >> 16; - if (var7 > 2500) { - var4.method7281(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); - } else { - var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); - } - - } - } + return new String(var3, 0, var4); } } diff --git a/runescape-client/src/main/java/Frames.java b/runescape-client/src/main/java/Frames.java index 066e8a3c7e..7a22b5d0d2 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -1,26 +1,25 @@ -import java.lang.reflect.Field; -import java.lang.reflect.Method; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("hd") +@ObfuscatedName("ht") @Implements("Frames") public class Frames extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "[Lht;" + descriptor = "[Lhj;" ) @Export("frames") Animation[] frames; @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;IZ)V", - garbageValue = "0" + descriptor = "(Lkl;Lkl;IZ)V" ) - public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { + Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { NodeDeque var5 = new NodeDeque(); int var6 = var1.getGroupFileCount(var3); this.frames = new Animation[var6]; @@ -39,7 +38,13 @@ public class Frames extends DualNode { } if (var10 == null) { - byte[] var13 = var2.getFile(var11, 0); + byte[] var13; + if (var4) { + var13 = var2.getFile(0, var11); + } else { + var13 = var2.getFile(var11, 0); + } + var10 = new Skeleton(var11, var13); var5.addFirst(var10); } @@ -49,137 +54,55 @@ public class Frames extends DualNode { } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "1867948304" + descriptor = "(IB)Z", + garbageValue = "73" ) @Export("hasAlphaTransform") public boolean hasAlphaTransform(int var1) { return this.frames[var1].hasAlphaTransform; } - @ObfuscatedName("c") + @ObfuscatedName("aa") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1581825393" + descriptor = "(I)I", + garbageValue = "16711935" ) - public static void method4334() { - WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "1326986168" - ) - @Export("readReflectionCheck") - public static void readReflectionCheck(Buffer var0, int var1) { - ReflectionCheck var2 = new ReflectionCheck(); - var2.size = var0.readUnsignedByte(); - var2.id = var0.readInt(); - var2.operations = new int[var2.size]; - var2.creationErrors = new int[var2.size]; - var2.fields = new Field[var2.size]; - var2.intReplaceValues = new int[var2.size]; - var2.methods = new Method[var2.size]; - var2.arguments = new byte[var2.size][][]; - - for (int var3 = 0; var3 < var2.size; ++var3) { + @Export("getGcDuration") + protected static int getGcDuration() { + int var0 = 0; + if (AccessFile.garbageCollector == null || !AccessFile.garbageCollector.isValid()) { try { - int var4 = var0.readUnsignedByte(); - String var5; - String var6; - int var7; - if (var4 != 0 && var4 != 1 && var4 != 2) { - if (var4 == 3 || var4 == 4) { - var5 = var0.readStringCp1252NullTerminated(); - var6 = var0.readStringCp1252NullTerminated(); - var7 = var0.readUnsignedByte(); - String[] var8 = new String[var7]; + Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); - for (int var9 = 0; var9 < var7; ++var9) { - var8[var9] = var0.readStringCp1252NullTerminated(); - } - - String var20 = var0.readStringCp1252NullTerminated(); - byte[][] var10 = new byte[var7][]; - int var12; - if (var4 == 3) { - for (int var11 = 0; var11 < var7; ++var11) { - var12 = var0.readInt(); - var10[var11] = new byte[var12]; - var0.readBytes(var10[var11], 0, var12); - } - } - - var2.operations[var3] = var4; - Class[] var21 = new Class[var7]; - - for (var12 = 0; var12 < var7; ++var12) { - var21[var12] = World.loadClassFromDescriptor(var8[var12]); - } - - Class var22 = World.loadClassFromDescriptor(var20); - if (World.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - Method[] var13 = World.loadClassFromDescriptor(var5).getDeclaredMethods(); - Method[] var14 = var13; - - for (int var15 = 0; var15 < var14.length; ++var15) { - Method var16 = var14[var15]; - if (Reflection.getMethodName(var16).equals(var6)) { - Class[] var17 = Reflection.getParameterTypes(var16); - if (var21.length == var17.length) { - boolean var18 = true; - - for (int var19 = 0; var19 < var21.length; ++var19) { - if (var21[var19] != var17[var19]) { - var18 = false; - break; - } - } - - if (var18 && var22 == var16.getReturnType()) { - var2.methods[var3] = var16; - } - } - } - } - - var2.arguments[var3] = var10; + while (var1.hasNext()) { + GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); + if (var2.isValid()) { + AccessFile.garbageCollector = var2; + GameEngine.garbageCollectorLastCheckTimeMs = -1L; + GameEngine.garbageCollectorLastCollectionTime = -1L; } - } else { - var5 = var0.readStringCp1252NullTerminated(); - var6 = var0.readStringCp1252NullTerminated(); - var7 = 0; - if (var4 == 1) { - var7 = var0.readInt(); - } - - var2.operations[var3] = var4; - var2.intReplaceValues[var3] = var7; - if (World.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - var2.fields[var3] = Reflection.findField(World.loadClassFromDescriptor(var5), var6); } - } catch (ClassNotFoundException var24) { - var2.creationErrors[var3] = -1; - } catch (SecurityException var25) { - var2.creationErrors[var3] = -2; - } catch (NullPointerException var26) { - var2.creationErrors[var3] = -3; - } catch (Exception var27) { - var2.creationErrors[var3] = -4; - } catch (Throwable var28) { - var2.creationErrors[var3] = -5; + } catch (Throwable var11) { } } - class54.reflectionChecks.addFirst(var2); + if (AccessFile.garbageCollector != null) { + long var9 = UserComparator4.method2406(); + long var3 = AccessFile.garbageCollector.getCollectionTime(); + if (GameEngine.garbageCollectorLastCollectionTime != -1L) { + long var5 = var3 - GameEngine.garbageCollectorLastCollectionTime; + long var7 = var9 - GameEngine.garbageCollectorLastCheckTimeMs; + if (var7 != 0L) { + var0 = (int)(var5 * 100L / var7); + } + } + + GameEngine.garbageCollectorLastCollectionTime = var3; + GameEngine.garbageCollectorLastCheckTimeMs = var9; + } + + return var0; } } diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index ea0afb76f9..2239d037a5 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -2,23 +2,22 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("la") +@ObfuscatedName("lg") @Implements("Friend") public class Friend extends Buddy { - @ObfuscatedName("n") - boolean field3936; - @ObfuscatedName("c") - boolean field3937; + @ObfuscatedName("l") + boolean field3949; + @ObfuscatedName("q") + boolean field3948; Friend() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lla;I)I", - garbageValue = "1061817546" + descriptor = "(Llg;I)I", + garbageValue = "2007974516" ) @Export("compareToFriend") int compareToFriend(Friend var1) { @@ -30,23 +29,23 @@ public class Friend extends Buddy { return -1; } else if (var1.world != 0 && super.world == 0) { return 1; - } else if (this.field3936 && !var1.field3936) { + } else if (this.field3949 && !var1.field3949) { return -1; - } else if (!this.field3936 && var1.field3936) { + } else if (!this.field3949 && var1.field3949) { return 1; - } else if (this.field3937 && !var1.field3937) { + } else if (this.field3948 && !var1.field3948) { return -1; - } else if (!this.field3937 && var1.field3937) { + } else if (!this.field3948 && var1.field3948) { return 1; } else { return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lle;I)I", - garbageValue = "-1041307648" + descriptor = "(Llu;B)I", + garbageValue = "-81" ) @Export("compareTo_user") public int compareTo_user(User var1) { @@ -57,119 +56,21 @@ public class Friend extends Buddy { return this.compareToFriend((Friend)var1); } - @ObfuscatedName("u") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "-1747450791" + descriptor = "(IB)I", + garbageValue = "67" ) - static final int method5915(int var0, int var1, int var2) { - int var3 = var0 / var2; - int var4 = var0 & var2 - 1; - int var5 = var1 / var2; - int var6 = var1 & var2 - 1; - int var7 = class29.method422(var3, var5); - int var8 = class29.method422(var3 + 1, var5); - int var9 = class29.method422(var3, var5 + 1); - int var10 = class29.method422(var3 + 1, var5 + 1); - int var12 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; - int var11 = ((65536 - var12) * var7 >> 16) + (var8 * var12 >> 16); - int var14 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; - int var13 = ((65536 - var14) * var9 >> 16) + (var14 * var10 >> 16); - return FloorOverlayDefinition.method3270(var11, var13, var6, var2); + public static int method6003(int var0) { + return var0 >> 17 & 7; } - @ObfuscatedName("am") + @ObfuscatedName("aq") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-482644124" + descriptor = "(II)I", + garbageValue = "-1839296655" ) - static int method5916(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { - class240.Interpreter_intStackSize -= 2; - Client.field723 = (short)Client.method1609(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]); - if (Client.field723 <= 0) { - Client.field723 = 256; - } - - Client.field742 = (short)Client.method1609(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - if (Client.field742 <= 0) { - Client.field742 = 256; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { - class240.Interpreter_intStackSize -= 2; - Client.zoomHeight = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - if (Client.zoomHeight <= 0) { - Client.zoomHeight = 256; - } - - Client.zoomWidth = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (Client.zoomWidth <= 0) { - Client.zoomWidth = 320; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { - class240.Interpreter_intStackSize -= 4; - Client.field642 = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - if (Client.field642 <= 0) { - Client.field642 = 1; - } - - Client.field746 = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (Client.field746 <= 0) { - Client.field746 = 32767; - } else if (Client.field746 < Client.field642) { - Client.field746 = Client.field642; - } - - Client.field711 = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - if (Client.field711 <= 0) { - Client.field711 = 1; - } - - Client.field748 = (short)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - if (Client.field748 <= 0) { - Client.field748 = 32767; - } else if (Client.field748 < Client.field711) { - Client.field748 = Client.field711; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { - if (Client.viewportWidget != null) { - class9.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.viewportWidth; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.viewportHeight; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.zoomHeight; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.zoomWidth; - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = MusicPatchNode.method4849(Client.field723); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = MusicPatchNode.method4849(Client.field742); - return 1; - } else if (var0 == 6220) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 6221) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 6222) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = InvDefinition.canvasWidth; - return 1; - } else if (var0 == 6223) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = GameEngine.canvasHeight; - return 1; - } else { - return 2; - } + static int method6004(int var0) { + return (int)Math.pow(2.0D, (double)(7.0F + (float)var0 / 256.0F)); } } diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 8924332daf..99e6c9dd0b 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -4,621 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lx") +@ObfuscatedName("lm") @Implements("FriendLoginUpdate") public class FriendLoginUpdate extends Link { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1383346713 + intValue = 406159979 ) - public int field3943; - @ObfuscatedName("c") + public int field3952; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("username") public Username username; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("world") public short world; @ObfuscatedSignature( - descriptor = "(Lpp;I)V" + descriptor = "(Lpm;I)V" ) FriendLoginUpdate(Username var1, int var2) { - this.field3943 = (int)(Occluder.method4335() / 1000L); + this.field3952 = (int)(UserComparator4.method2406() / 1000L); this.username = var1; this.world = (short)var2; } - - @ObfuscatedName("ja") - @ObfuscatedSignature( - descriptor = "([Ljd;IIIIIIII)V", - garbageValue = "1659556559" - ) - @Export("updateInterface") - static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - for (int var8 = 0; var8 < var0.length; ++var8) { - Widget var9 = var0[var8]; - if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || Decimator.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { - if (var9.isIf3) { - if (PcmPlayer.isComponentHidden(var9)) { - continue; - } - } else if (var9.type == 0 && var9 != class301.mousedOverWidgetIf1 && PcmPlayer.isComponentHidden(var9)) { - continue; - } - - int var10 = var9.x + var6; - int var11 = var7 + var9.y; - int var12; - int var13; - int var14; - int var15; - int var17; - int var18; - if (var9.type == 2) { - var12 = var2; - var13 = var3; - var14 = var4; - var15 = var5; - } else { - int var16; - if (var9.type == 9) { - var16 = var10; - var17 = var11; - var18 = var10 + var9.width; - int var19 = var11 + var9.height; - if (var18 < var10) { - var16 = var18; - var18 = var10; - } - - if (var19 < var11) { - var17 = var19; - var19 = var11; - } - - ++var18; - ++var19; - var12 = var16 > var2 ? var16 : var2; - var13 = var17 > var3 ? var17 : var3; - var14 = var18 < var4 ? var18 : var4; - var15 = var19 < var5 ? var19 : var5; - } else { - var16 = var10 + var9.width; - var17 = var11 + var9.height; - var12 = var10 > var2 ? var10 : var2; - var13 = var11 > var3 ? var11 : var3; - var14 = var16 < var4 ? var16 : var4; - var15 = var17 < var5 ? var17 : var5; - } - } - - if (var9 == Client.clickedWidget) { - Client.field669 = true; - Client.field739 = var10; - Client.field671 = var11; - } - - boolean var33 = false; - if (var9.field3119) { - switch(Client.field650) { - case 0: - var33 = true; - case 1: - default: - break; - case 2: - if (Client.field543 == var9.id >>> 16) { - var33 = true; - } - break; - case 3: - if (var9.id == Client.field543) { - var33 = true; - } - } - } - - if (var33 || !var9.isIf3 || var12 < var14 && var13 < var15) { - if (var9.isIf3) { - ScriptEvent var26; - if (var9.noClickThrough) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var26.isMouseInputEvent) { - var26.remove(); - var26.widget.containsMouse = false; - } - } - - if (class125.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - Canvas.addCancelMenuEntry(); - } - } - } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { - var26.remove(); - } - } - } - } - - var17 = MouseHandler.MouseHandler_x; - var18 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var17 = MouseHandler.MouseHandler_lastPressedX; - var18 = MouseHandler.MouseHandler_lastPressedY; - } - - boolean var34 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; - if (var9.contentType == 1337) { - if (!Client.isLoading && !Client.isMenuOpen && var34) { - class28.addSceneMenuOptions(var17, var18, var12, var13); - } - } else if (var9.contentType == 1338) { - BuddyRankComparator.checkIfMinimapClicked(var9, var10, var11); - } else { - if (var9.contentType == 1400) { - class65.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var34, var10, var11, var9.width, var9.height); - } - - if (!Client.isMenuOpen && var34) { - if (var9.contentType == 1400) { - class65.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); - } else { - MilliClock.Widget_addToMenu(var9, var17 - var10, var18 - var11); - } - } - - boolean var21; - int var23; - if (var33) { - for (int var20 = 0; var20 < var9.field3100.length; ++var20) { - var21 = false; - boolean var27 = false; - if (!var21 && var9.field3100[var20] != null) { - for (var23 = 0; var23 < var9.field3100[var20].length; ++var23) { - boolean var24 = false; - if (var9.field3188 != null) { - var24 = KeyHandler.KeyHandler_pressedKeys[var9.field3100[var20][var23]]; - } - - if (ItemComposition.method3191(var9.field3100[var20][var23]) || var24) { - var21 = true; - if (var9.field3188 != null && var9.field3188[var20] > Client.cycle) { - break; - } - - byte var32 = var9.field3121[var20][var23]; - if (var32 == 0 || ((var32 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var32 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var32 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var32 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { - var27 = true; - break; - } - } - } - } - - if (var27) { - if (var20 < 10) { - MouseHandler.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); - } else if (var20 == 10) { - ReflectionCheck.Widget_runOnTargetLeave(); - DirectByteArrayCopier.selectSpell(var9.id, var9.childIndex, class138.Widget_unpackTargetMask(Decimator.getWidgetFlags(var9)), var9.itemId); - Client.selectedSpellActionName = FileSystem.Widget_getSpellActionName(var9); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - Client.selectedSpellName = var9.dataText + class54.colorStartTag(16777215); - } - - var23 = var9.field3135[var20]; - if (var9.field3188 == null) { - var9.field3188 = new int[var9.field3100.length]; - } - - if (var9.field3123 == null) { - var9.field3123 = new int[var9.field3100.length]; - } - - if (var23 != 0) { - if (var9.field3188[var20] == 0) { - var9.field3188[var20] = var23 + Client.cycle + var9.field3123[var20]; - } else { - var9.field3188[var20] = var23 + Client.cycle; - } - } else { - var9.field3188[var20] = Integer.MAX_VALUE; - } - } - - if (!var21 && var9.field3188 != null) { - var9.field3188[var20] = 0; - } - } - } - - if (var9.isIf3) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - var34 = true; - } else { - var34 = false; - } - - boolean var35 = false; - if ((MouseHandler.MouseHandler_currentButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var34) { - var35 = true; - } - - var21 = false; - if ((MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { - var21 = true; - } - - if (var21) { - Canvas.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); - } - - if (var9.contentType == 1400) { - class65.worldMap.method6365(var17, var18, var34 & var35, var34 & var21); - } - - if (Client.clickedWidget != null && var9 != Client.clickedWidget && var34 && class28.method402(Decimator.getWidgetFlags(var9))) { - Client.draggedOnWidget = var9; - } - - if (var9 == Client.clickedWidgetParent) { - Client.field666 = true; - Client.field623 = var10; - Client.field658 = var11; - } - - if (var9.hasListener) { - ScriptEvent var22; - if (var34 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseY = Client.mouseWheelRotation; - var22.args = var9.onScroll; - Client.scriptEvents.addFirst(var22); - } - - if (Client.clickedWidget != null || Decimator.dragInventoryWidget != null || Client.isMenuOpen) { - var21 = false; - var35 = false; - var34 = false; - } - - if (!var9.isClicked && var21) { - var9.isClicked = true; - if (var9.onClick != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; - var22.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; - var22.args = var9.onClick; - Client.scriptEvents.addFirst(var22); - } - } - - if (var9.isClicked && var35 && var9.onClickRepeat != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onClickRepeat; - Client.scriptEvents.addFirst(var22); - } - - if (var9.isClicked && !var35) { - var9.isClicked = false; - if (var9.onRelease != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onRelease; - Client.field693.addFirst(var22); - } - } - - if (var35 && var9.onHold != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onHold; - Client.scriptEvents.addFirst(var22); - } - - if (!var9.containsMouse && var34) { - var9.containsMouse = true; - if (var9.onMouseOver != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onMouseOver; - Client.scriptEvents.addFirst(var22); - } - } - - if (var9.containsMouse && var34 && var9.onMouseRepeat != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onMouseRepeat; - Client.scriptEvents.addFirst(var22); - } - - if (var9.containsMouse && !var34) { - var9.containsMouse = false; - if (var9.onMouseLeave != null) { - var22 = new ScriptEvent(); - var22.isMouseInputEvent = true; - var22.widget = var9; - var22.mouseX = MouseHandler.MouseHandler_x - var10; - var22.mouseY = MouseHandler.MouseHandler_y - var11; - var22.args = var9.onMouseLeave; - Client.field693.addFirst(var22); - } - } - - if (var9.onTimer != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onTimer; - Client.field745.addFirst(var22); - } - - ScriptEvent var25; - int var36; - int var37; - if (var9.onVarTransmit != null && Client.changedVarpCount > var9.field3183) { - if (var9.varTransmitTriggers != null && Client.changedVarpCount - var9.field3183 <= 32) { - label810: - for (var37 = var9.field3183; var37 < Client.changedVarpCount; ++var37) { - var23 = Client.changedVarps[var37 & 31]; - - for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { - if (var23 == var9.varTransmitTriggers[var36]) { - var25 = new ScriptEvent(); - var25.widget = var9; - var25.args = var9.onVarTransmit; - Client.scriptEvents.addFirst(var25); - break label810; - } - } - } - } else { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onVarTransmit; - Client.scriptEvents.addFirst(var22); - } - - var9.field3183 = Client.changedVarpCount; - } - - if (var9.onInvTransmit != null && Client.field677 > var9.field3184) { - if (var9.invTransmitTriggers != null && Client.field677 - var9.field3184 <= 32) { - label786: - for (var37 = var9.field3184; var37 < Client.field677; ++var37) { - var23 = Client.changedItemContainers[var37 & 31]; - - for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { - if (var23 == var9.invTransmitTriggers[var36]) { - var25 = new ScriptEvent(); - var25.widget = var9; - var25.args = var9.onInvTransmit; - Client.scriptEvents.addFirst(var25); - break label786; - } - } - } - } else { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onInvTransmit; - Client.scriptEvents.addFirst(var22); - } - - var9.field3184 = Client.field677; - } - - if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field3122) { - if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field3122 <= 32) { - label762: - for (var37 = var9.field3122; var37 < Client.changedSkillsCount; ++var37) { - var23 = Client.changedSkills[var37 & 31]; - - for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { - if (var23 == var9.statTransmitTriggers[var36]) { - var25 = new ScriptEvent(); - var25.widget = var9; - var25.args = var9.onStatTransmit; - Client.scriptEvents.addFirst(var25); - break label762; - } - } - } - } else { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onStatTransmit; - Client.scriptEvents.addFirst(var22); - } - - var9.field3122 = Client.changedSkillsCount; - } - - if (Client.chatCycle > var9.field3182 && var9.onChatTransmit != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onChatTransmit; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field683 > var9.field3182 && var9.onFriendTransmit != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onFriendTransmit; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field630 > var9.field3182 && var9.onClanTransmit != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onClanTransmit; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field664 > var9.field3182 && var9.field3159 != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.field3159; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field672 > var9.field3182 && var9.field3160 != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.field3160; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field703 > var9.field3182 && var9.onStockTransmit != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onStockTransmit; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field688 > var9.field3182 && var9.field3174 != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.field3174; - Client.scriptEvents.addFirst(var22); - } - - if (Client.field695 > var9.field3182 && var9.onMiscTransmit != null) { - var22 = new ScriptEvent(); - var22.widget = var9; - var22.args = var9.onMiscTransmit; - Client.scriptEvents.addFirst(var22); - } - - var9.field3182 = Client.cycleCntr; - if (var9.onKey != null) { - for (var37 = 0; var37 < Client.field713; ++var37) { - ScriptEvent var31 = new ScriptEvent(); - var31.widget = var9; - var31.keyTyped = Client.field595[var37]; - var31.keyPressed = Client.field714[var37]; - var31.args = var9.onKey; - Client.scriptEvents.addFirst(var31); - } - } - - ScriptEvent var30; - int[] var38; - if (var9.field3155 != null) { - var38 = GrandExchangeOfferWorldComparator.method5320(); - - for (var23 = 0; var23 < var38.length; ++var23) { - var30 = new ScriptEvent(); - var30.widget = var9; - var30.keyTyped = var38[var23]; - var30.args = var9.field3155; - Client.scriptEvents.addFirst(var30); - } - } - - if (var9.field3069 != null) { - var38 = class351.method6227(); - - for (var23 = 0; var23 < var38.length; ++var23) { - var30 = new ScriptEvent(); - var30.widget = var9; - var30.keyTyped = var38[var23]; - var30.args = var9.field3069; - Client.scriptEvents.addFirst(var30); - } - } - } - } - - if (!var9.isIf3) { - if (Client.clickedWidget != null || Decimator.dragInventoryWidget != null || Client.isMenuOpen) { - continue; - } - - if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - if (var9.mouseOverRedirect >= 0) { - class301.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; - } else { - class301.mousedOverWidgetIf1 = var9; - } - } - - if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - BufferedFile.field4227 = var9; - } - - if (var9.scrollHeight > var9.height) { - class150.method2805(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); - } - } - - if (var9.type == 0) { - updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); - if (var9.children != null) { - updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); - } - - InterfaceParent var28 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); - if (var28 != null) { - if (var28.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { - for (ScriptEvent var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var29.isMouseInputEvent) { - var29.remove(); - var29.widget.containsMouse = false; - } - } - - if (class125.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - Canvas.addCancelMenuEntry(); - } - } - - class18.updateRootInterface(var28.group, var12, var13, var14, var15, var10, var11); - } - } - } - } - } - } - - } } diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index d69c4e9f70..25c86906df 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -4,98 +4,88 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bj") +@ObfuscatedName("ba") @Implements("FriendSystem") public class FriendSystem { - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) @Export("loginType") final LoginType loginType; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Llg;" + descriptor = "Llp;" ) @Export("friendsList") public final FriendsList friendsList; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Llw;" + descriptor = "Lln;" ) @Export("ignoreList") public final IgnoreList ignoreList; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 2077487873 + intValue = 60387583 ) - int field793; + int field798; @ObfuscatedSignature( - descriptor = "(Lnf;)V" + descriptor = "(Lny;)V" ) FriendSystem(LoginType var1) { - this.field793 = 0; + this.field798 = 0; this.loginType = var1; this.friendsList = new FriendsList(var1); this.ignoreList = new IgnoreList(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1042682832" + garbageValue = "581100794" ) - boolean method1682() { - return this.field793 == 2; + boolean method1650() { + return this.field798 == 2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "80" + descriptor = "(I)V", + garbageValue = "-1858509524" ) - final void method1664() { - this.field793 = 1; + final void method1651() { + this.field798 = 1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "1294740095" + garbageValue = "1685533221" ) @Export("readUpdate") final void readUpdate(Buffer var1, int var2) { this.friendsList.read(var1, var2); - this.field793 = 2; - - for (int var3 = 0; var3 < Players.Players_count; ++var3) { - Player var4 = Client.players[Players.Players_indices[var3]]; - var4.clearIsFriend(); - } - - class17.method275(); - if (class78.friendsChat != null) { - class78.friendsChat.clearFriends(); - } - + this.field798 = 2; + ItemLayer.method4020(); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-71" + descriptor = "(S)V", + garbageValue = "-21942" ) @Export("processFriendUpdates") final void processFriendUpdates() { for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { - if ((long)var1.field3943 < Occluder.method4335() / 1000L - 5L) { + if ((long)var1.field3952 < UserComparator4.method2406() / 1000L - 5L) { if (var1.world > 0) { - SecureRandomCallable.addGameMessage(5, "", var1.username + " has logged in."); + GraphicsDefaults.addGameMessage(5, "", var1.username + " has logged in."); } if (var1.world == 0) { - SecureRandomCallable.addGameMessage(5, "", var1.username + " has logged out."); + GraphicsDefaults.addGameMessage(5, "", var1.username + " has logged out."); } var1.remove(); @@ -104,38 +94,38 @@ public class FriendSystem { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "15" + descriptor = "(I)V", + garbageValue = "454898237" ) @Export("clear") final void clear() { - this.field793 = 0; + this.field798 = 0; this.friendsList.clear(); this.ignoreList.clear(); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lpp;ZI)Z", - garbageValue = "-219417662" + descriptor = "(Lpm;ZI)Z", + garbageValue = "832653527" ) @Export("isFriended") final boolean isFriended(Username var1, boolean var2) { if (var1 == null) { return false; - } else if (var1.equals(class129.localPlayer.username)) { + } else if (var1.equals(class67.localPlayer.username)) { return true; } else { return this.friendsList.isFriended(var1, var2); } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lpp;B)Z", - garbageValue = "1" + descriptor = "(Lpm;I)Z", + garbageValue = "1448245723" ) @Export("isIgnored") final boolean isIgnored(Username var1) { @@ -148,8 +138,8 @@ public class FriendSystem { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-1" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "1077227721" ) @Export("addFriend") final void addFriend(String var1) { @@ -157,34 +147,39 @@ public class FriendSystem { Username var2 = new Username(var1, this.loginType); if (var2.hasCleanName()) { if (this.friendsListIsFull()) { - class274.method5065("Your friend list is full. Max of 200 for free users, and 400 for members"); - } else if (class129.localPlayer.username.equals(var2)) { - class274.method5065("You can't add yourself to your own friend list"); + class196.method3881(); + } else if (class67.localPlayer.username.equals(var2)) { + MusicPatchNode.method4912(); } else if (this.isFriended(var2, false)) { - class274.method5065(var1 + " is already on your friend list"); + FloorUnderlayDefinition.method3094(var1); } else if (this.isIgnored(var2)) { - class274.method5065("Please remove " + var1 + " from your ignore list first"); + StringBuilder var10000 = new StringBuilder(); + Object var10001 = null; + var10000 = var10000.append("Please remove ").append(var1); + var10001 = null; + String var3 = var10000.append(" from your ignore list first").toString(); + GraphicsDefaults.addGameMessage(30, "", var3); } else { - LoginPacket.method4573(var1); + WorldMapSection0.method3824(var1); } } } } - @ObfuscatedName("l") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1656178783" + garbageValue = "676441464" ) @Export("friendsListIsFull") final boolean friendsListIsFull() { - return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field608 != 1; + return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field630 != 1; } - @ObfuscatedName("y") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "1982011537" + garbageValue = "394314051" ) @Export("addIgnore") final void addIgnore(String var1) { @@ -192,34 +187,51 @@ public class FriendSystem { Username var2 = new Username(var1, this.loginType); if (var2.hasCleanName()) { if (this.canAddIgnore()) { - class354.method6255(); - } else if (class129.localPlayer.username.equals(var2)) { - class274.method5065("You can't add yourself to your own ignore list"); - } else if (this.isIgnored(var2)) { - class274.method5065(var1 + " is already on your ignore list"); - } else if (this.isFriended(var2, false)) { - class274.method5065("Please remove " + var1 + " from your friend list first"); + class18.method282(); } else { - TextureProvider.method4361(var1); + StringBuilder var10000; + String var3; + if (class67.localPlayer.username.equals(var2)) { + var10000 = null; + var3 = "You can't add yourself to your own ignore list"; + GraphicsDefaults.addGameMessage(30, "", var3); + } else { + Object var10001; + if (this.isIgnored(var2)) { + var10000 = (new StringBuilder()).append(var1); + var10001 = null; + var3 = var10000.append(" is already on your ignore list").toString(); + GraphicsDefaults.addGameMessage(30, "", var3); + } else if (this.isFriended(var2, false)) { + var10000 = new StringBuilder(); + var10001 = null; + var10000 = var10000.append("Please remove ").append(var1); + var10001 = null; + var3 = var10000.append(" from your friend list first").toString(); + GraphicsDefaults.addGameMessage(30, "", var3); + } else { + Actor.method2152(var1); + } + } } } } } - @ObfuscatedName("s") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-76002213" + garbageValue = "-1564665727" ) @Export("canAddIgnore") final boolean canAddIgnore() { - return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field608 != 1; + return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field630 != 1; } - @ObfuscatedName("h") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "262444453" + garbageValue = "-1771954936" ) @Export("removeFriend") final void removeFriend(String var1) { @@ -227,31 +239,22 @@ public class FriendSystem { Username var2 = new Username(var1, this.loginType); if (var2.hasCleanName()) { if (this.friendsList.removeByUsername(var2)) { - Decimator.method1052(); - PacketBufferNode var3 = getPacketBufferNode(ClientPacket.field2695, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var1)); + HealthBarDefinition.method2980(); + PacketBufferNode var3 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2687, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var1)); var3.packetBuffer.writeStringCp1252NullTerminated(var1); Client.packetWriter.addNode(var3); } - for (int var5 = 0; var5 < Players.Players_count; ++var5) { - Player var4 = Client.players[Players.Players_indices[var5]]; - var4.clearIsFriend(); - } - - class17.method275(); - if (class78.friendsChat != null) { - class78.friendsChat.clearFriends(); - } - + ItemLayer.method4020(); } } } - @ObfuscatedName("d") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-451774086" + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "43" ) @Export("removeIgnore") final void removeIgnore(String var1) { @@ -259,112 +262,26 @@ public class FriendSystem { Username var2 = new Username(var1, this.loginType); if (var2.hasCleanName()) { if (this.ignoreList.removeByUsername(var2)) { - Decimator.method1052(); - PacketBufferNode var3 = getPacketBufferNode(ClientPacket.field2667, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var1)); + HealthBarDefinition.method2980(); + PacketBufferNode var3 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2746, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var1)); var3.packetBuffer.writeStringCp1252NullTerminated(var1); Client.packetWriter.addNode(var3); } - WorldMapCacheName.FriendSystem_invalidateIgnoreds(); + SceneTilePaint.FriendSystem_invalidateIgnoreds(); } } } - @ObfuscatedName("j") + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "(Lpp;I)Z", - garbageValue = "-801266965" + descriptor = "(Lpm;I)Z", + garbageValue = "2010486015" ) @Export("isFriendAndHasWorld") final boolean isFriendAndHasWorld(Username var1) { Friend var2 = (Friend)this.friendsList.getByUsername(var1); return var2 != null && var2.hasWorld(); } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lix;Loe;S)Lil;", - garbageValue = "-12337" - ) - @Export("getPacketBufferNode") - public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { - PacketBufferNode var2; - if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { - var2 = new PacketBufferNode(); - } else { - var2 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; - } - - var2.clientPacket = var0; - var2.clientPacketLength = var0.length; - if (var2.clientPacketLength == -1) { - var2.packetBuffer = new PacketBuffer(260); - } else if (var2.clientPacketLength == -2) { - var2.packetBuffer = new PacketBuffer(10000); - } else if (var2.clientPacketLength <= 18) { - var2.packetBuffer = new PacketBuffer(20); - } else if (var2.clientPacketLength <= 98) { - var2.packetBuffer = new PacketBuffer(100); - } else { - var2.packetBuffer = new PacketBuffer(260); - } - - var2.packetBuffer.setIsaacCipher(var1); - var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); - var2.index = 0; - return var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-1879853365" - ) - @Export("addChatMessage") - static void addChatMessage(int var0, String var1, String var2, String var3) { - ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); - if (var4 == null) { - var4 = new ChatChannel(); - Messages.Messages_channels.put(var0, var4); - } - - Message var5 = var4.addMessage(var0, var1, var2, var3); - Messages.Messages_hashTable.put(var5, (long)var5.count); - Messages.Messages_queue.add(var5); - Client.chatCycle = Client.cycleCntr; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "36" - ) - public static boolean method1727() { - return class247.musicPlayerStatus != 0 ? true : class135.midiPcmStream.isReady(); - } - - @ObfuscatedName("fx") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "8" - ) - @Export("playSong") - static void playSong(int var0) { - if (var0 == -1 && !Client.field728) { - Canvas.method371(); - } else if (var0 != -1 && var0 != Client.currentTrackGroupId && VarbitComposition.clientPreferences.musicVolume != 0 && !Client.field728) { - Archive var1 = class276.archive6; - int var2 = VarbitComposition.clientPreferences.musicVolume; - class247.musicPlayerStatus = 1; - class247.musicTrackArchive = var1; - class247.musicTrackGroupId = var0; - GrandExchangeOfferOwnWorldComparator.musicTrackFileId = 0; - class196.musicTrackVolume = var2; - class20.musicTrackBoolean = false; - class130.pcmSampleLength = 2; - } - - Client.currentTrackGroupId = var0; - } } diff --git a/runescape-client/src/main/java/FriendsChat.java b/runescape-client/src/main/java/FriendsChat.java index c972dc8ba1..de82f32292 100644 --- a/runescape-client/src/main/java/FriendsChat.java +++ b/runescape-client/src/main/java/FriendsChat.java @@ -4,144 +4,210 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ls") +@ObfuscatedName("lz") @Implements("FriendsChat") public class FriendsChat extends UserList { - @ObfuscatedName("rd") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lab;" - ) - @Export("pcmPlayer1") - static PcmPlayer pcmPlayer1; - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - @Export("worldSelectRightSprite") - static IndexedSprite worldSelectRightSprite; - @ObfuscatedName("ky") - @ObfuscatedSignature( - descriptor = "Ljd;" - ) - static Widget field3934; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) @Export("loginType") final LoginType loginType; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Llt;" + descriptor = "Lld;" ) @Export("localUser") final Usernamed localUser; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("name") public String name; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("owner") public String owner; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("minKick") public byte minKick; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 342416901 + intValue = 1806063027 ) @Export("rank") public int rank; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -2085968083 + intValue = -432444385 ) - int field3932; + int field3939; @ObfuscatedSignature( - descriptor = "(Lnf;Llt;)V" + descriptor = "(Lny;Lld;)V" ) public FriendsChat(LoginType var1, Usernamed var2) { super(100); this.name = null; this.owner = null; - this.field3932 = 1; + this.field3939 = 1; this.loginType = var1; this.localUser = var2; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lle;", - garbageValue = "27" + descriptor = "(I)Llu;", + garbageValue = "396333118" ) @Export("newInstance") User newInstance() { return new ClanMate(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)[Lle;", - garbageValue = "-1704587572" + descriptor = "(II)[Llu;", + garbageValue = "1129798936" ) @Export("newTypedArray") User[] newTypedArray(int var1) { return new ClanMate[var1]; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "65" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "711201950" ) @Export("readName") final void readName(String var1) { - this.name = BuddyRankComparator.method2456(var1); + long var5 = 0L; + int var7 = var1.length(); + + for (int var8 = 0; var8 < var7; ++var8) { + var5 *= 37L; + char var9 = var1.charAt(var8); + if (var9 >= 'A' && var9 <= 'Z') { + var5 += (long)(var9 + 1 - 65); + } else if (var9 >= 'a' && var9 <= 'z') { + var5 += (long)(var9 + 1 - 97); + } else if (var9 >= '0' && var9 <= '9') { + var5 += (long)(var9 + 27 - 48); + } + + if (var5 >= 177917621779460413L) { + break; + } + } + + while (0L == var5 % 37L && var5 != 0L) { + var5 /= 37L; + } + + String var10 = FloorDecoration.base37DecodeLong(var5); + if (var10 == null) { + var10 = ""; + } + + this.name = var10; } - @ObfuscatedName("u") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1260867518" + garbageValue = "1349944727" ) @Export("setOwner") final void setOwner(String var1) { - this.owner = BuddyRankComparator.method2456(var1); + long var5 = 0L; + int var7 = var1.length(); + + for (int var8 = 0; var8 < var7; ++var8) { + var5 *= 37L; + char var9 = var1.charAt(var8); + if (var9 >= 'A' && var9 <= 'Z') { + var5 += (long)(var9 + 1 - 65); + } else if (var9 >= 'a' && var9 <= 'z') { + var5 += (long)(var9 + 1 - 97); + } else if (var9 >= '0' && var9 <= '9') { + var5 += (long)(var9 + 27 - 48); + } + + if (var5 >= 177917621779460413L) { + break; + } + } + + while (var5 % 37L == 0L && 0L != var5) { + var5 /= 37L; + } + + String var10 = FloorDecoration.base37DecodeLong(var5); + if (var10 == null) { + var10 = ""; + } + + this.owner = var10; } - @ObfuscatedName("e") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-661620065" + descriptor = "(Lot;B)V", + garbageValue = "-11" ) @Export("readUpdate") public final void readUpdate(Buffer var1) { this.setOwner(var1.readStringCp1252NullTerminated()); long var2 = var1.readLong(); - this.readName(InterfaceParent.method2045(var2)); + long var5 = var2; + String var4; + int var7; + if (var2 > 0L && var2 < 6582952005840035281L) { + if (0L == var2 % 37L) { + var4 = null; + } else { + var7 = 0; + + for (long var8 = var2; var8 != 0L; var8 /= 37L) { + ++var7; + } + + StringBuilder var10 = new StringBuilder(var7); + + while (var5 != 0L) { + long var11 = var5; + var5 /= 37L; + var10.append(class320.base37Table[(int)(var11 - 37L * var5)]); + } + + var4 = var10.reverse().toString(); + } + } else { + var4 = null; + } + + this.readName(var4); this.minKick = var1.readByte(); - int var4 = var1.readUnsignedByte(); - if (var4 != 255) { + var7 = var1.readUnsignedByte(); + if (var7 != 255) { this.clear(); - for (int var5 = 0; var5 < var4; ++var5) { - ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); - int var7 = var1.readUnsignedShort(); - var6.set(var7, ++this.field3932 - 1); - var6.rank = var1.readByte(); + for (int var13 = 0; var13 < var7; ++var13) { + ClanMate var9 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); + int var14 = var1.readUnsignedShort(); + var9.set(var14, ++this.field3939 - 1); + var9.rank = var1.readByte(); var1.readStringCp1252NullTerminated(); - this.isLocalPlayer(var6); + this.isLocalPlayer(var9); } } } - @ObfuscatedName("l") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "1745402205" + garbageValue = "1745125855" ) - public final void method5877(Buffer var1) { + public final void method5971(Buffer var1) { Username var2 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); int var3 = var1.readUnsignedShort(); byte var4 = var1.readByte(); @@ -171,17 +237,17 @@ public class FriendsChat extends UserList { var6 = (ClanMate)this.addLastNoPreviousUsername(var2); } - var6.set(var3, ++this.field3932 - 1); + var6.set(var3, ++this.field3939 - 1); var6.rank = var4; this.isLocalPlayer(var6); } } - @ObfuscatedName("y") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2126941507" + garbageValue = "-1003784885" ) @Export("clearFriends") public final void clearFriends() { @@ -191,10 +257,10 @@ public class FriendsChat extends UserList { } - @ObfuscatedName("v") + @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1035680702" + garbageValue = "1785573756" ) @Export("invalidateIgnoreds") public final void invalidateIgnoreds() { @@ -204,10 +270,10 @@ public class FriendsChat extends UserList { } - @ObfuscatedName("f") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Llq;I)V", - garbageValue = "-1627041344" + descriptor = "(Llj;I)V", + garbageValue = "-1946811966" ) @Export("isLocalPlayer") final void isLocalPlayer(ClanMate var1) { @@ -217,25 +283,206 @@ public class FriendsChat extends UserList { } - @ObfuscatedName("jf") + @ObfuscatedName("go") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "10673" + descriptor = "(B)V", + garbageValue = "21" ) - static final void method5904() { - PacketBufferNode var0 = FriendSystem.getPacketBufferNode(ClientPacket.field2699, Client.packetWriter.isaacCipher); - Client.packetWriter.addNode(var0); + static final void method5993() { + for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { + if (var0.plane == VertexNormal.Client_plane && Client.cycle <= var0.cycleEnd) { + if (Client.cycle >= var0.cycleStart) { + if (var0.targetIndex > 0) { + NPC var1 = Client.npcs[var0.targetIndex - 1]; + if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) { + var0.setDestination(var1.x, var1.y, MidiPcmStream.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle); + } + } - for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { - if (var1.type == 0 || var1.type == 3) { - WorldMapID.closeInterface(var1, true); + if (var0.targetIndex < 0) { + int var2 = -var0.targetIndex - 1; + Player var3; + if (var2 == Client.localPlayerIndex) { + var3 = class67.localPlayer; + } else { + var3 = Client.players[var2]; + } + + if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) { + var0.setDestination(var3.x, var3.y, MidiPcmStream.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + var0.advance(Client.field536); + PlayerComposition.scene.drawEntity(VertexNormal.Client_plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); + } + } else { + var0.remove(); } } - if (Client.meslayerContinueWidget != null) { - Actor.invalidateWidget(Client.meslayerContinueWidget); - Client.meslayerContinueWidget = null; - } + } + @ObfuscatedName("iw") + @ObfuscatedSignature( + descriptor = "(Ljt;II)I", + garbageValue = "-1200106583" + ) + static final int method5992(Widget var0, int var1) { + if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { + try { + int[] var2 = var0.cs1Instructions[var1]; + int var3 = 0; + int var4 = 0; + byte var5 = 0; + + while (true) { + int var6 = var2[var4++]; + int var7 = 0; + byte var8 = 0; + if (var6 == 0) { + return var3; + } + + if (var6 == 1) { + var7 = Client.currentLevels[var2[var4++]]; + } + + if (var6 == 2) { + var7 = Client.levels[var2[var4++]]; + } + + if (var6 == 3) { + var7 = Client.experience[var2[var4++]]; + } + + int var9; + Widget var10; + int var11; + int var12; + if (var6 == 4) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = HealthBarUpdate.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!class87.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 += var10.itemQuantities[var12]; + } + } + } + } + + if (var6 == 5) { + var7 = Varps.Varps_main[var2[var4++]]; + } + + if (var6 == 6) { + var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; + } + + if (var6 == 7) { + var7 = Varps.Varps_main[var2[var4++]] * 100 / 46875; + } + + if (var6 == 8) { + var7 = class67.localPlayer.combatLevel; + } + + if (var6 == 9) { + for (var9 = 0; var9 < 25; ++var9) { + if (Skills.Skills_enabled[var9]) { + var7 += Client.levels[var9]; + } + } + } + + if (var6 == 10) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = HealthBarUpdate.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!class87.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 = 999999999; + break; + } + } + } + } + + if (var6 == 11) { + var7 = Client.runEnergy; + } + + if (var6 == 12) { + var7 = Client.weight; + } + + if (var6 == 13) { + var9 = Varps.Varps_main[var2[var4++]]; + int var13 = var2[var4++]; + var7 = (var9 & 1 << var13) != 0 ? 1 : 0; + } + + if (var6 == 14) { + var9 = var2[var4++]; + var7 = Varcs.getVarbit(var9); + } + + if (var6 == 15) { + var8 = 1; + } + + if (var6 == 16) { + var8 = 2; + } + + if (var6 == 17) { + var8 = 3; + } + + if (var6 == 18) { + var7 = (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX; + } + + if (var6 == 19) { + var7 = (class67.localPlayer.y >> 7) + PlayerComposition.baseY; + } + + if (var6 == 20) { + var7 = var2[var4++]; + } + + if (var8 == 0) { + if (var5 == 0) { + var3 += var7; + } + + if (var5 == 1) { + var3 -= var7; + } + + if (var5 == 2 && var7 != 0) { + var3 /= var7; + } + + if (var5 == 3) { + var3 *= var7; + } + + var5 = 0; + } else { + var5 = var8; + } + } + } catch (Exception var14) { + return -1; + } + } else { + return -2; + } } } diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index 94a6bfd4e6..3d26daefc3 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -4,61 +4,61 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lg") +@ObfuscatedName("lp") @Implements("FriendsList") public class FriendsList extends UserList { - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) @Export("loginType") final LoginType loginType; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1637915867 + intValue = -1046652711 ) - int field3923; - @ObfuscatedName("o") + int field3936; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lkh;" + descriptor = "Lkm;" ) @Export("friendLoginUpdates") public LinkDeque friendLoginUpdates; @ObfuscatedSignature( - descriptor = "(Lnf;)V" + descriptor = "(Lny;)V" ) public FriendsList(LoginType var1) { super(400); - this.field3923 = 1; + this.field3936 = 1; this.friendLoginUpdates = new LinkDeque(); this.loginType = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lle;", - garbageValue = "27" + descriptor = "(I)Llu;", + garbageValue = "396333118" ) @Export("newInstance") User newInstance() { return new Friend(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)[Lle;", - garbageValue = "-1704587572" + descriptor = "(II)[Llu;", + garbageValue = "1129798936" ) @Export("newTypedArray") User[] newTypedArray(int var1) { return new Friend[var1]; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lpp;ZI)Z", - garbageValue = "1060300712" + descriptor = "(Lpm;ZI)Z", + garbageValue = "1386135004" ) @Export("isFriended") public boolean isFriended(Username var1, boolean var2) { @@ -70,10 +70,10 @@ public class FriendsList extends UserList { } } - @ObfuscatedName("u") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "16" + descriptor = "(Lot;II)V", + garbageValue = "743763040" ) @Export("read") public void read(Buffer var1, int var2) { @@ -137,17 +137,17 @@ public class FriendsList extends UserList { } if (var6 != var11.world) { - var11.int2 = ++this.field3923 - 1; + var11.int2 = ++this.field3936 - 1; if (var11.world == -1 && var6 == 0) { - var11.int2 = -(var11.int2 * 897750695) * 1852682519; + var11.int2 = -(var11.int2 * -780817315) * 245467125; } var11.world = var6; } var11.rank = var7; - var11.field3936 = var9; - var11.field3937 = var10; + var11.field3949 = var9; + var11.field3948 = var10; continue; } @@ -158,4 +158,13 @@ public class FriendsList extends UserList { return; } } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkl;B)V", + garbageValue = "28" + ) + public static void method5954(AbstractArchive var0) { + EnumComposition.EnumDefinition_archive = var0; + } } diff --git a/runescape-client/src/main/java/GZipDecompressor.java b/runescape-client/src/main/java/GZipDecompressor.java index 9ce3a83573..98544c86cf 100644 --- a/runescape-client/src/main/java/GZipDecompressor.java +++ b/runescape-client/src/main/java/GZipDecompressor.java @@ -1,13 +1,14 @@ +import java.applet.Applet; import java.util.zip.Inflater; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("pk") +@ObfuscatedName("pt") @Implements("GZipDecompressor") public class GZipDecompressor { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("inflater") Inflater inflater; @@ -22,10 +23,10 @@ public class GZipDecompressor { this(-1, 1000000, 1000000); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;[BB)V", - garbageValue = "20" + descriptor = "(Lot;[BI)V", + garbageValue = "537396446" ) @Export("decompress") public void decompress(Buffer var1, byte[] var2) { @@ -47,4 +48,17 @@ public class GZipDecompressor { throw new RuntimeException(""); } } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;B)V", + garbageValue = "-111" + ) + public static void method7450(Applet var0, String var1) { + class29.field168 = var0; + if (var1 != null) { + class29.field165 = var1; + } + + } } diff --git a/runescape-client/src/main/java/GameBuild.java b/runescape-client/src/main/java/GameBuild.java index b6397c7aa1..5d279b2daf 100644 --- a/runescape-client/src/main/java/GameBuild.java +++ b/runescape-client/src/main/java/GameBuild.java @@ -1,54 +1,47 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jw") +@ObfuscatedName("ji") @Implements("GameBuild") public class GameBuild { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljw;" + descriptor = "Lji;" ) @Export("LIVE") static final GameBuild LIVE; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljw;" + descriptor = "Lji;" ) @Export("BUILDLIVE") static final GameBuild BUILDLIVE; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ljw;" + descriptor = "Lji;" ) @Export("RC") static final GameBuild RC; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Ljw;" + descriptor = "Lji;" ) @Export("WIP") static final GameBuild WIP; - @ObfuscatedName("fo") - @ObfuscatedGetter( - intValue = 576858763 - ) - @Export("worldPort") - static int worldPort; - @ObfuscatedName("kq") - @ObfuscatedSignature( - descriptor = "Ljd;" - ) - @Export("hoveredItemContainer") - static Widget hoveredItemContainer; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("name") public final String name; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1638239179 + intValue = -425268361 ) @Export("buildId") final int buildId; @@ -65,59 +58,66 @@ public class GameBuild { this.buildId = var2; } - @ObfuscatedName("n") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIIIB)V", - garbageValue = "-88" + descriptor = "(Ljava/lang/Throwable;I)Ljava/lang/String;", + garbageValue = "-567425228" ) - static final void method5068(int var0, int var1, int var2, int var3) { - for (int var4 = var1; var4 <= var3 + var1; ++var4) { - for (int var5 = var0; var5 <= var0 + var2; ++var5) { - if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { - FloorUnderlayDefinition.field1769[0][var5][var4] = 127; - if (var0 == var5 && var5 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; - } + static String method5123(Throwable var0) throws IOException { + String var1; + if (var0 instanceof RunException) { + RunException var2 = (RunException)var0; + var1 = var2.message + " | "; + var0 = var2.throwable; + } else { + var1 = ""; + } - if (var0 + var2 == var5 && var5 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; - } + StringWriter var12 = new StringWriter(); + PrintWriter var3 = new PrintWriter(var12); + var0.printStackTrace(var3); + var3.close(); + String var4 = var12.toString(); + BufferedReader var5 = new BufferedReader(new StringReader(var4)); + String var6 = var5.readLine(); - if (var4 == var1 && var4 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; - } - - if (var3 + var1 == var4 && var4 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; - } + while (true) { + while (true) { + String var7 = var5.readLine(); + if (var7 == null) { + var1 = var1 + "| " + var6; + return var1; } + + int var8 = var7.indexOf(40); + int var9 = var7.indexOf(41, var8 + 1); + if (var8 >= 0 && var9 >= 0) { + String var10 = var7.substring(var8 + 1, var9); + int var11 = var10.indexOf(".java:"); + if (var11 >= 0) { + var10 = var10.substring(0, var11) + var10.substring(var11 + 5); + var1 = var1 + var10 + ' '; + continue; + } + + var7 = var7.substring(0, var8); + } + + var7 = var7.trim(); + var7 = var7.substring(var7.lastIndexOf(32) + 1); + var7 = var7.substring(var7.lastIndexOf(9) + 1); + var1 = var1 + var7 + ' '; } } - } - @ObfuscatedName("u") + @ObfuscatedName("hs") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)I", - garbageValue = "685937780" + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", + garbageValue = "1740184518" ) - public static int method5072(CharSequence var0) { - int var1 = var0.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - var2 = (var2 << 5) - var2 + var0.charAt(var3); - } - - return var2; - } - - @ObfuscatedName("gp") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "381343872" - ) - static final void method5073(int var0, int var1, int var2, int var3) { - ClanSettings.method2624(); + @Export("insertMenuItemNoShift") + public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { + StructComposition.insertMenuItem(var0, var1, var2, var3, var4, var5, false); } } diff --git a/runescape-client/src/main/java/GameEngine.java b/runescape-client/src/main/java/GameEngine.java index c9a8be3ce0..9190d524f7 100644 --- a/runescape-client/src/main/java/GameEngine.java +++ b/runescape-client/src/main/java/GameEngine.java @@ -2,6 +2,7 @@ import java.applet.Applet; import java.awt.Color; import java.awt.Container; import java.awt.EventQueue; +import java.awt.FontMetrics; import java.awt.Frame; import java.awt.Graphics; import java.awt.Insets; @@ -24,177 +25,179 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("at") +@ObfuscatedName("ay") @Implements("GameEngine") public abstract class GameEngine extends Applet implements Runnable, FocusListener, WindowListener { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lei;" + descriptor = "Lew;" ) @Export("taskHandler") protected static TaskHandler taskHandler; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lat;" + descriptor = "Lay;" ) @Export("gameEngine") static GameEngine gameEngine; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1498790041 + intValue = 997222287 ) @Export("GameEngine_redundantStartThreadCount") static int GameEngine_redundantStartThreadCount; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - longValue = 7720778366731398503L + longValue = 5452737720301901037L ) @Export("stopTimeMs") static long stopTimeMs; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("isKilled") static boolean isKilled; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 754696353 + intValue = 1021542923 ) @Export("gameCyclesToDo") protected static int gameCyclesToDo; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1982167591 + intValue = 115124095 ) @Export("cycleDurationMillis") static int cycleDurationMillis; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1753142183 + intValue = 1771635901 ) @Export("fiveOrOne") static int fiveOrOne; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1142540823 + intValue = 1720266437 ) @Export("fps") protected static int fps; - @ObfuscatedName("f") + @ObfuscatedName("s") @Export("graphicsTickTimes") protected static long[] graphicsTickTimes; - @ObfuscatedName("h") + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 261633385 + ) + static int field189; + @ObfuscatedName("b") @Export("clientTickTimes") protected static long[] clientTickTimes; - @ObfuscatedName("p") + @ObfuscatedName("ah") + @Export("loginScreenFontMetrics") + static FontMetrics loginScreenFontMetrics; + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = 2048752203 + intValue = -1523559739 ) - @Export("canvasHeight") - public static int canvasHeight; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 378406057 - ) - static int field201; - @ObfuscatedName("ai") + static int field200; + @ObfuscatedName("ap") @Export("volatileFocus") static volatile boolean volatileFocus; - @ObfuscatedName("ar") + @ObfuscatedName("aw") @ObfuscatedGetter( - longValue = 7606602990836244853L + longValue = -6264958768936891363L ) @Export("garbageCollectorLastCollectionTime") static long garbageCollectorLastCollectionTime; @ObfuscatedName("az") @ObfuscatedGetter( - longValue = 8091498223912527939L + longValue = 2125926651661480101L ) @Export("garbageCollectorLastCheckTimeMs") static long garbageCollectorLastCheckTimeMs; - @ObfuscatedName("hf") + @ObfuscatedName("kd") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "Ljt;" ) - @Export("mapSceneSprites") - static IndexedSprite[] mapSceneSprites; - @ObfuscatedName("g") + @Export("dragInventoryWidget") + static Widget dragInventoryWidget; + @ObfuscatedName("k") @Export("hasErrored") boolean hasErrored; - @ObfuscatedName("q") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = -288639993 + intValue = -712859225 ) @Export("contentWidth") protected int contentWidth; - @ObfuscatedName("j") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 1761448385 + intValue = -967675265 ) @Export("contentHeight") protected int contentHeight; - @ObfuscatedName("b") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 1295061587 + intValue = -741575651 ) @Export("canvasX") int canvasX; - @ObfuscatedName("t") + @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -2019603919 + intValue = 1158546781 ) @Export("canvasY") int canvasY; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = -966863735 + intValue = 583786985 ) - int field217; - @ObfuscatedName("aq") + int field179; + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = 1495548179 + intValue = 1417825827 ) - int field214; + int field193; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = 1590080853 + intValue = 1730708465 ) @Export("maxCanvasWidth") int maxCanvasWidth; - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedGetter( - intValue = 641620781 + intValue = -322414797 ) @Export("maxCanvasHeight") int maxCanvasHeight; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("frame") Frame frame; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("canvas") java.awt.Canvas canvas; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("fullRedraw") volatile boolean fullRedraw; - @ObfuscatedName("an") + @ObfuscatedName("ag") @Export("resizeCanvasNextFrame") boolean resizeCanvasNextFrame; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("isCanvasInvalid") volatile boolean isCanvasInvalid; - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedGetter( - longValue = -6826764741778154917L + longValue = 6172438691100776965L ) - volatile long field210; - @ObfuscatedName("ay") + volatile long field203; + @ObfuscatedName("ax") @ObfuscatedSignature( descriptor = "Lr;" ) @Export("mouseWheelHandler") MouseWheelHandler mouseWheelHandler; - @ObfuscatedName("aj") + @ObfuscatedName("an") @Export("clipboard") Clipboard clipboard; - @ObfuscatedName("ap") + @ObfuscatedName("av") @Export("eventQueue") final EventQueue eventQueue; @@ -208,7 +211,7 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen fps = 0; graphicsTickTimes = new long[32]; clientTickTimes = new long[32]; - field201 = 500; + field200 = 500; volatileFocus = true; garbageCollectorLastCollectionTime = -1L; garbageCollectorLastCheckTimeMs = -1L; @@ -221,7 +224,7 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.fullRedraw = true; this.resizeCanvasNextFrame = false; this.isCanvasInvalid = false; - this.field210 = 0L; + this.field203 = 0L; EventQueue var1 = null; try { @@ -230,34 +233,35 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } this.eventQueue = var1; - UrlRequester.method2368(new DevicePcmPlayerProvider()); + DevicePcmPlayerProvider var2 = new DevicePcmPlayerProvider(); + GraphicsObject.pcmPlayerProvider = var2; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IIS)V", - garbageValue = "-21272" + descriptor = "(IIB)V", + garbageValue = "1" ) @Export("setMaxCanvasSize") protected final void setMaxCanvasSize(int var1, int var2) { if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { - this.method456(); + this.method462(); } this.maxCanvasWidth = var1; this.maxCanvasHeight = var2; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(Ljava/lang/Object;I)V", - garbageValue = "1690521286" + garbageValue = "-1628524412" ) @Export("post") final void post(Object var1) { if (this.eventQueue != null) { for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { - PlayerType.method5099(1L); + class121.method2542(1L); } if (var1 != null) { @@ -269,8 +273,8 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)Lew;", - garbageValue = "1587447732" + descriptor = "(I)Lec;", + garbageValue = "-1260959118" ) @Export("mouseWheel") protected class144 mouseWheel() { @@ -282,29 +286,29 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen return this.mouseWheelHandler; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1730980271" + garbageValue = "-1813234694" ) @Export("setUpClipboard") protected void setUpClipboard() { this.clipboard = this.getToolkit().getSystemClipboard(); } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)V", - garbageValue = "-430" + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "8" ) - protected void method443(String var1) { + protected void method450(String var1) { this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1652260667" + garbageValue = "-79671387" ) @Export("setUpKeyboard") protected final void setUpKeyboard() { @@ -336,34 +340,30 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen KeyHandler.KeyHandler_keyCodes[520] = 59; } - java.awt.Canvas var1 = this.canvas; - var1.setFocusTraversalKeysEnabled(false); - var1.addKeyListener(KeyHandler.KeyHandler_instance); - var1.addFocusListener(KeyHandler.KeyHandler_instance); + class12.method157(this.canvas); } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-2001674855" + garbageValue = "-1100115563" ) - @Export("setUpMouse") - protected final void setUpMouse() { - class117.method2501(this.canvas); + protected final void method452() { + class131.method2690(this.canvas); } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "865343613" + garbageValue = "-494856599" ) @Export("resizeCanvas") final void resizeCanvas() { Container var1 = this.container(); if (var1 != null) { Bounds var2 = this.getFrameContentBounds(); - this.contentWidth = Math.max(var2.highX, this.field217); - this.contentHeight = Math.max(var2.highY, this.field214); + this.contentWidth = Math.max(var2.highX, this.field179); + this.contentHeight = Math.max(var2.highY, this.field193); if (this.contentWidth <= 0) { this.contentWidth = 1; } @@ -372,12 +372,12 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.contentHeight = 1; } - InvDefinition.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); - canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); - this.canvasX = (this.contentWidth - InvDefinition.canvasWidth) / 2; + Huffman.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); + MouseRecorder.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); + this.canvasX = (this.contentWidth - Huffman.canvasWidth) / 2; this.canvasY = 0; - this.canvas.setSize(InvDefinition.canvasWidth, canvasHeight); - class11.rasterProvider = new RasterProvider(InvDefinition.canvasWidth, canvasHeight, this.canvas); + this.canvas.setSize(Huffman.canvasWidth, MouseRecorder.canvasHeight); + class244.rasterProvider = new RasterProvider(Huffman.canvasWidth, MouseRecorder.canvasHeight, this.canvas); if (var1 == this.frame) { Insets var3 = this.frame.getInsets(); this.canvas.setLocation(this.canvasX + var3.left, var3.top + this.canvasY); @@ -390,10 +390,10 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "104493179" + garbageValue = "-1526531599" ) @Export("resizeGame") protected abstract void resizeGame(); @@ -401,14 +401,14 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-2089889845" + garbageValue = "-642312042" ) @Export("clearBackground") void clearBackground() { int var1 = this.canvasX; int var2 = this.canvasY; - int var3 = this.contentWidth - InvDefinition.canvasWidth - var1; - int var4 = this.contentHeight - canvasHeight - var2; + int var3 = this.contentWidth - Huffman.canvasWidth - var1; + int var4 = this.contentHeight - MouseRecorder.canvasHeight - var2; if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) { try { Container var5 = this.container(); @@ -443,17 +443,17 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1979005872" + descriptor = "(B)V", + garbageValue = "-35" ) @Export("replaceCanvas") final void replaceCanvas() { java.awt.Canvas var1 = this.canvas; var1.removeKeyListener(KeyHandler.KeyHandler_instance); var1.removeFocusListener(KeyHandler.KeyHandler_instance); - KeyHandler.field128 = -1; + KeyHandler.field123 = -1; java.awt.Canvas var2 = this.canvas; var2.removeMouseListener(MouseHandler.MouseHandler_instance); var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance); @@ -464,22 +464,19 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } this.addCanvas(); - java.awt.Canvas var3 = this.canvas; - var3.setFocusTraversalKeysEnabled(false); - var3.addKeyListener(KeyHandler.KeyHandler_instance); - var3.addFocusListener(KeyHandler.KeyHandler_instance); - class117.method2501(this.canvas); + class12.method157(this.canvas); + class131.method2690(this.canvas); if (this.mouseWheelHandler != null) { this.mouseWheelHandler.addTo(this.canvas); } - this.method456(); + this.method462(); } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "-58" + descriptor = "(IIII)V", + garbageValue = "346411464" ) @Export("startThread") protected final void startThread(int var1, int var2, int var3) { @@ -496,8 +493,8 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } gameEngine = this; - InvDefinition.canvasWidth = var1; - canvasHeight = var2; + Huffman.canvasWidth = var1; + MouseRecorder.canvasHeight = var2; RunException.RunException_revision = var3; RunException.RunException_applet = this; if (taskHandler == null) { @@ -506,16 +503,16 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen taskHandler.newThreadTask(this, 1); } catch (Exception var5) { - class4.RunException_sendStackTrace((String)null, var5); + Timer.RunException_sendStackTrace((String)null, var5); this.error("crash"); } } - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1993072824" + garbageValue = "1804120842" ) @Export("addCanvas") final synchronized void addCanvas() { @@ -525,25 +522,25 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen var1.remove(this.canvas); } - InvDefinition.canvasWidth = Math.max(var1.getWidth(), this.field217); - canvasHeight = Math.max(var1.getHeight(), this.field214); + Huffman.canvasWidth = Math.max(var1.getWidth(), this.field179); + MouseRecorder.canvasHeight = Math.max(var1.getHeight(), this.field193); Insets var2; if (this.frame != null) { var2 = this.frame.getInsets(); - InvDefinition.canvasWidth -= var2.left + var2.right; - canvasHeight -= var2.bottom + var2.top; + Huffman.canvasWidth -= var2.left + var2.right; + MouseRecorder.canvasHeight -= var2.top + var2.bottom; } this.canvas = new Canvas(this); var1.setBackground(Color.BLACK); var1.setLayout((LayoutManager)null); var1.add(this.canvas); - this.canvas.setSize(InvDefinition.canvasWidth, canvasHeight); + this.canvas.setSize(Huffman.canvasWidth, MouseRecorder.canvasHeight); this.canvas.setVisible(true); this.canvas.setBackground(Color.BLACK); if (var1 == this.frame) { var2 = this.frame.getInsets(); - this.canvas.setLocation(var2.left + this.canvasX, this.canvasY + var2.top); + this.canvas.setLocation(this.canvasX + var2.left, var2.top + this.canvasY); } else { this.canvas.setLocation(this.canvasX, this.canvasY); } @@ -551,21 +548,21 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.canvas.addFocusListener(this); this.canvas.requestFocus(); this.fullRedraw = true; - if (class11.rasterProvider != null && InvDefinition.canvasWidth == class11.rasterProvider.width && canvasHeight == class11.rasterProvider.height) { - ((RasterProvider)class11.rasterProvider).setComponent(this.canvas); - class11.rasterProvider.drawFull(0, 0); + if (class244.rasterProvider != null && Huffman.canvasWidth == class244.rasterProvider.width && MouseRecorder.canvasHeight == class244.rasterProvider.height) { + ((RasterProvider)class244.rasterProvider).setComponent(this.canvas); + class244.rasterProvider.drawFull(0, 0); } else { - class11.rasterProvider = new RasterProvider(InvDefinition.canvasWidth, canvasHeight, this.canvas); + class244.rasterProvider = new RasterProvider(Huffman.canvasWidth, MouseRecorder.canvasHeight, this.canvas); } this.isCanvasInvalid = false; - this.field210 = Occluder.method4335(); + this.field203 = UserComparator4.method2406(); } - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-53" + descriptor = "(I)Z", + garbageValue = "1617567570" ) @Export("checkHost") protected final boolean checkHost() { @@ -594,52 +591,52 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } } - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "73" + garbageValue = "-47" ) @Export("clientTick") void clientTick() { - long var1 = Occluder.method4335(); - long var3 = clientTickTimes[class78.field1019]; - clientTickTimes[class78.field1019] = var1; - class78.field1019 = class78.field1019 + 1 & 31; - if (var3 != 0L && var1 > var3) { + long var1 = UserComparator4.method2406(); + long var3 = clientTickTimes[class139.field1537]; + clientTickTimes[class139.field1537] = var1; + class139.field1537 = class139.field1537 + 1 & 31; + if (0L != var3 && var1 > var3) { } synchronized(this) { - Archive.hasFocus = volatileFocus; + KitDefinition.hasFocus = volatileFocus; } this.doCycle(); } - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "-947" + descriptor = "(I)V", + garbageValue = "-1115374200" ) @Export("graphicsTick") void graphicsTick() { Container var1 = this.container(); - long var2 = Occluder.method4335(); - long var4 = graphicsTickTimes[Varcs.field1266]; - graphicsTickTimes[Varcs.field1266] = var2; - Varcs.field1266 = Varcs.field1266 + 1 & 31; - if (var4 != 0L && var2 > var4) { + long var2 = UserComparator4.method2406(); + long var4 = graphicsTickTimes[field189]; + graphicsTickTimes[field189] = var2; + field189 = field189 + 1 & 31; + if (0L != var4 && var2 > var4) { int var6 = (int)(var2 - var4); fps = ((var6 >> 1) + 32000) / var6; } - if (++field201 - 1 > 50) { - field201 -= 50; + if (++field200 - 1 > 50) { + field200 -= 50; this.fullRedraw = true; - this.canvas.setSize(InvDefinition.canvasWidth, canvasHeight); + this.canvas.setSize(Huffman.canvasWidth, MouseRecorder.canvasHeight); this.canvas.setVisible(true); if (var1 == this.frame) { Insets var7 = this.frame.getInsets(); - this.canvas.setLocation(this.canvasX + var7.left, this.canvasY + var7.top); + this.canvas.setLocation(this.canvasX + var7.left, var7.top + this.canvasY); } else { this.canvas.setLocation(this.canvasX, this.canvasY); } @@ -649,7 +646,7 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.replaceCanvas(); } - this.method453(); + this.method461(); this.draw(this.fullRedraw); if (this.fullRedraw) { this.clearBackground(); @@ -658,12 +655,12 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.fullRedraw = false; } - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-97" + descriptor = "(I)V", + garbageValue = "-341516966" ) - final void method453() { + final void method461() { Bounds var1 = this.getFrameContentBounds(); if (this.contentWidth != var1.highX || var1.highY != this.contentHeight || this.resizeCanvasNextFrame) { this.resizeCanvas(); @@ -674,17 +671,17 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-703667251" + descriptor = "(B)V", + garbageValue = "100" ) - final void method456() { + final void method462() { this.resizeCanvasNextFrame = true; } - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "7" + descriptor = "(I)V", + garbageValue = "1738301151" ) @Export("kill") final synchronized void kill() { @@ -715,91 +712,91 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } } - this.vmethod1443(); + this.vmethod1165(); } } - @ObfuscatedName("w") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "64" + descriptor = "(I)V", + garbageValue = "940201361" ) @Export("setUp") protected abstract void setUp(); - @ObfuscatedName("i") + @ObfuscatedName("ab") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1304769230" + garbageValue = "1675225894" ) @Export("doCycle") protected abstract void doCycle(); - @ObfuscatedName("aq") + @ObfuscatedName("ad") @ObfuscatedSignature( descriptor = "(ZI)V", - garbageValue = "-1834579741" + garbageValue = "-296185885" ) @Export("draw") protected abstract void draw(boolean var1); - @ObfuscatedName("ad") + @ObfuscatedName("as") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "42" + garbageValue = "41" ) @Export("kill0") protected abstract void kill0(); - @ObfuscatedName("at") + @ObfuscatedName("ak") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;ZB)V", - garbageValue = "1" + descriptor = "(ILjava/lang/String;ZI)V", + garbageValue = "2025094069" ) @Export("drawInitial") protected final void drawInitial(int var1, String var2, boolean var3) { try { Graphics var4 = this.canvas.getGraphics(); - if (Decimator.fontHelvetica13 == null) { - Decimator.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); - Occluder.loginScreenFontMetrics = this.canvas.getFontMetrics(Decimator.fontHelvetica13); + if (class185.fontHelvetica13 == null) { + class185.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); + loginScreenFontMetrics = this.canvas.getFontMetrics(class185.fontHelvetica13); } if (var3) { var4.setColor(Color.black); - var4.fillRect(0, 0, InvDefinition.canvasWidth, canvasHeight); + var4.fillRect(0, 0, Huffman.canvasWidth, MouseRecorder.canvasHeight); } Color var5 = new Color(140, 17, 17); try { - if (class130.field1489 == null) { - class130.field1489 = this.canvas.createImage(304, 34); + if (class1.field3 == null) { + class1.field3 = this.canvas.createImage(304, 34); } - Graphics var6 = class130.field1489.getGraphics(); + Graphics var6 = class1.field3.getGraphics(); var6.setColor(var5); var6.drawRect(0, 0, 303, 33); var6.fillRect(2, 2, var1 * 3, 30); var6.setColor(Color.black); var6.drawRect(1, 1, 301, 31); var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); - var6.setFont(Decimator.fontHelvetica13); + var6.setFont(class185.fontHelvetica13); var6.setColor(Color.white); - var6.drawString(var2, (304 - Occluder.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); - var4.drawImage(class130.field1489, InvDefinition.canvasWidth / 2 - 152, canvasHeight / 2 - 18, (ImageObserver)null); + var6.drawString(var2, (304 - loginScreenFontMetrics.stringWidth(var2)) / 2, 22); + var4.drawImage(class1.field3, Huffman.canvasWidth / 2 - 152, MouseRecorder.canvasHeight / 2 - 18, (ImageObserver)null); } catch (Exception var9) { - int var7 = InvDefinition.canvasWidth / 2 - 152; - int var8 = canvasHeight / 2 - 18; + int var7 = Huffman.canvasWidth / 2 - 152; + int var8 = MouseRecorder.canvasHeight / 2 - 18; var4.setColor(var5); var4.drawRect(var7, var8, 303, 33); var4.fillRect(var7 + 2, var8 + 2, var1 * 3, 30); var4.setColor(Color.black); var4.drawRect(var7 + 1, var8 + 1, 301, 31); - var4.fillRect(var7 + var1 * 3 + 2, var8 + 2, 300 - var1 * 3, 30); - var4.setFont(Decimator.fontHelvetica13); + var4.fillRect(var1 * 3 + var7 + 2, var8 + 2, 300 - var1 * 3, 30); + var4.setFont(class185.fontHelvetica13); var4.setColor(Color.white); - var4.drawString(var2, var7 + (304 - Occluder.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); + var4.drawString(var2, var7 + (304 - loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); } } catch (Exception var10) { this.canvas.repaint(); @@ -807,21 +804,21 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } - @ObfuscatedName("as") + @ObfuscatedName("ah") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-44135249" + garbageValue = "-1537678468" ) - protected final void method465() { - class130.field1489 = null; - Decimator.fontHelvetica13 = null; - Occluder.loginScreenFontMetrics = null; + protected final void method474() { + class1.field3 = null; + class185.fontHelvetica13 = null; + loginScreenFontMetrics = null; } - @ObfuscatedName("ae") + @ObfuscatedName("ay") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-83" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-225365347" ) @Export("error") protected void error(String var1) { @@ -837,56 +834,56 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } } - @ObfuscatedName("av") + @ObfuscatedName("al") @ObfuscatedSignature( descriptor = "(I)Ljava/awt/Container;", - garbageValue = "-426198040" + garbageValue = "306371774" ) @Export("container") Container container() { return (Container)(this.frame != null ? this.frame : this); } - @ObfuscatedName("ak") + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "(I)Lmt;", - garbageValue = "-2130903858" + descriptor = "(I)Lme;", + garbageValue = "-1028709613" ) @Export("getFrameContentBounds") Bounds getFrameContentBounds() { Container var1 = this.container(); - int var2 = Math.max(var1.getWidth(), this.field217); - int var3 = Math.max(var1.getHeight(), this.field214); + int var2 = Math.max(var1.getWidth(), this.field179); + int var3 = Math.max(var1.getHeight(), this.field193); if (this.frame != null) { Insets var4 = this.frame.getInsets(); - var2 -= var4.left + var4.right; + var2 -= var4.right + var4.left; var3 -= var4.bottom + var4.top; } return new Bounds(var2, var3); } - @ObfuscatedName("an") + @ObfuscatedName("au") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-225846301" + garbageValue = "1668739330" ) @Export("hasFrame") protected final boolean hasFrame() { return this.frame != null; } - @ObfuscatedName("au") + @ObfuscatedName("ag") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1327639479" + garbageValue = "1826906753" ) - protected abstract void vmethod1443(); + protected abstract void vmethod1165(); public final void destroy() { if (this == gameEngine && !isKilled) { - stopTimeMs = Occluder.method4335(); - PlayerType.method5099(5000L); + stopTimeMs = UserComparator4.method2406(); + class121.method2542(5000L); this.kill(); } } @@ -894,9 +891,9 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen public final synchronized void paint(Graphics var1) { if (this == gameEngine && !isKilled) { this.fullRedraw = true; - if (Occluder.method4335() - this.field210 > 1000L) { + if (UserComparator4.method2406() - this.field203 > 1000L) { Rectangle var2 = var1.getClipBounds(); - if (var2 == null || var2.width >= InvDefinition.canvasWidth && var2.height >= canvasHeight) { + if (var2 == null || var2.width >= Huffman.canvasWidth && var2.height >= MouseRecorder.canvasHeight) { this.isCanvasInvalid = true; } } @@ -904,12 +901,6 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen } } - public final void stop() { - if (this == gameEngine && !isKilled) { - stopTimeMs = Occluder.method4335() + 4000L; - } - } - public void run() { try { if (TaskHandler.javaVendor != null) { @@ -923,11 +914,11 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen if (var2.startsWith("1.6.0_")) { int var3; - for (var3 = 6; var3 < var2.length() && FaceNormal.isDigit(var2.charAt(var3)); ++var3) { + for (var3 = 6; var3 < var2.length() && class65.isDigit(var2.charAt(var3)); ++var3) { } String var4 = var2.substring(6, var3); - if (Timer.isNumber(var4) && GrandExchangeOfferAgeComparator.method5303(var4) < 10) { + if (LoginType.isNumber(var4) && class279.method5134(var4) < 10) { this.error("wrongjava"); return; } @@ -940,18 +931,10 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.setFocusCycleRoot(true); this.addCanvas(); this.setUp(); + LoginPacket.clock = AbstractWorldMapIcon.method3943(); - Object var8; - try { - var8 = new NanoClock(); - } catch (Throwable var6) { - var8 = new MilliClock(); - } - - class122.clock = (Clock)var8; - - while (stopTimeMs == 0L || Occluder.method4335() < stopTimeMs) { - gameCyclesToDo = class122.clock.wait(cycleDurationMillis, fiveOrOne); + while (stopTimeMs == 0L || UserComparator4.method2406() < stopTimeMs) { + gameCyclesToDo = LoginPacket.clock.wait(cycleDurationMillis, fiveOrOne); for (int var5 = 0; var5 < gameCyclesToDo; ++var5) { this.clientTick(); @@ -960,25 +943,33 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.graphicsTick(); this.post(this.canvas); } - } catch (Exception var7) { - class4.RunException_sendStackTrace((String)null, var7); + } catch (Exception var6) { + Timer.RunException_sendStackTrace((String)null, var6); this.error("crash"); } this.kill(); } - public final void start() { + public final void stop() { if (this == gameEngine && !isKilled) { - stopTimeMs = 0L; + stopTimeMs = UserComparator4.method2406() + 4000L; } } + public final void update(Graphics var1) { + this.paint(var1); + } + public final void focusGained(FocusEvent var1) { volatileFocus = true; this.fullRedraw = true; } + public final void focusLost(FocusEvent var1) { + volatileFocus = false; + } + public final void windowActivated(WindowEvent var1) { } @@ -989,25 +980,46 @@ public abstract class GameEngine extends Applet implements Runnable, FocusListen this.destroy(); } - public final void windowDeactivated(WindowEvent var1) { - } - - public final void windowDeiconified(WindowEvent var1) { - } - public final void windowIconified(WindowEvent var1) { } public final void windowOpened(WindowEvent var1) { } + public final void windowDeactivated(WindowEvent var1) { + } + + public final void start() { + if (this == gameEngine && !isKilled) { + stopTimeMs = 0L; + } + } + + public final void windowDeiconified(WindowEvent var1) { + } + public abstract void init(); - public final void focusLost(FocusEvent var1) { - volatileFocus = false; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "83" + ) + static final boolean method510() { + return ViewportMouse.ViewportMouse_isInViewport; } - public final void update(Graphics var1) { - this.paint(var1); + @ObfuscatedName("ku") + @ObfuscatedSignature( + descriptor = "(Ljt;I)Ljava/lang/String;", + garbageValue = "-1670482877" + ) + @Export("Widget_getSpellActionName") + static String Widget_getSpellActionName(Widget var0) { + if (Interpreter.Widget_unpackTargetMask(WorldMapRegion.getWidgetFlags(var0)) == 0) { + return null; + } else { + return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; + } } } diff --git a/runescape-client/src/main/java/GameObject.java b/runescape-client/src/main/java/GameObject.java index d8fafea119..a3742317be 100644 --- a/runescape-client/src/main/java/GameObject.java +++ b/runescape-client/src/main/java/GameObject.java @@ -4,89 +4,89 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hj") +@ObfuscatedName("hw") @Implements("GameObject") public final class GameObject { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1075419309 + intValue = -293523157 ) @Export("plane") int plane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 52594959 + intValue = -643482159 ) @Export("height") int height; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -104021669 + ) + @Export("centerX") + int centerX; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1641604505 + ) + @Export("centerY") + int centerY; @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 675272483 + intValue = 1488215561 ) @Export("orientation") int orientation; @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1949954399 - ) - @Export("centerX") - int centerX; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1781496417 - ) - @Export("centerY") - int centerY; - @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("renderable") public Renderable renderable; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1888559139 + intValue = -1181203843 ) @Export("startX") int startX; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -121960731 + intValue = -1333250787 ) @Export("endX") int endX; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 181501421 + intValue = -1281231503 ) @Export("startY") int startY; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -1330819283 + intValue = 1442483421 ) @Export("endY") int endY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1606485327 - ) - int field2619; @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 230666141 + intValue = -853367381 + ) + int field2637; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1665390773 ) @Export("lastDrawn") int lastDrawn; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - longValue = 4462777262073349723L + longValue = -364049555401745921L ) @Export("tag") public long tag; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -766138383 + intValue = -321756317 ) @Export("flags") int flags; @@ -95,86 +95,4 @@ public final class GameObject { this.tag = 0L; this.flags = 0; } - - @ObfuscatedName("fr") - @ObfuscatedSignature( - descriptor = "(Lcf;I)V", - garbageValue = "1001461113" - ) - static final void method4495(Actor var0) { - int var1 = Math.max(1, var0.field1139 - Client.cycle); - int var2 = var0.field1137 * 64 + var0.field1135 * 128; - int var3 = var0.field1137 * 64 + var0.field1141 * 128; - var0.x += (var2 - var0.x) / var1; - var0.y += (var3 - var0.y) / var1; - var0.field1151 = 0; - var0.orientation = var0.field1101; - } - - @ObfuscatedName("hw") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-316675303" - ) - static final void method4496() { - PacketBuffer var0 = Client.packetWriter.packetBuffer; - var0.importIndex(); - int var1 = var0.readBits(8); - int var2; - if (var1 < Client.npcCount) { - for (var2 = var1; var2 < Client.npcCount; ++var2) { - Client.field610[++Client.field495 - 1] = Client.npcIndices[var2]; - } - } - - if (var1 > Client.npcCount) { - throw new RuntimeException(""); - } else { - Client.npcCount = 0; - - for (var2 = 0; var2 < var1; ++var2) { - int var3 = Client.npcIndices[var2]; - NPC var4 = Client.npcs[var3]; - int var5 = var0.readBits(1); - if (var5 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - } else { - int var6 = var0.readBits(2); - if (var6 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - Client.field533[++Client.field560 - 1] = var3; - } else { - int var7; - int var8; - if (var6 == 1) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - var7 = var0.readBits(3); - var4.method2212(var7, (byte)1); - var8 = var0.readBits(1); - if (var8 == 1) { - Client.field533[++Client.field560 - 1] = var3; - } - } else if (var6 == 2) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - var7 = var0.readBits(3); - var4.method2212(var7, (byte)2); - var8 = var0.readBits(3); - var4.method2212(var8, (byte)2); - int var9 = var0.readBits(1); - if (var9 == 1) { - Client.field533[++Client.field560 - 1] = var3; - } - } else if (var6 == 3) { - Client.field610[++Client.field495 - 1] = var3; - } - } - } - } - - } - } } diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index 11633a22c1..dbbb5a28d8 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -4,37 +4,33 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ko") +@ObfuscatedName("kd") @Implements("GrandExchangeEvent") public class GrandExchangeEvent { - @ObfuscatedName("ps") - @ObfuscatedSignature( - descriptor = "Lcg;" - ) - @Export("varcs") - static Varcs varcs; - @ObfuscatedName("n") + @ObfuscatedName("t") + static byte[][][] field3760; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -196848983 + intValue = 663278445 ) @Export("world") public final int world; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - longValue = -4175371854662876015L + longValue = -5766229753192434851L ) @Export("age") public final long age; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkq;" + descriptor = "Lkp;" ) @Export("grandExchangeOffer") public final GrandExchangeOffer grandExchangeOffer; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("offerName") String offerName; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("previousOfferName") String previousOfferName; @@ -49,8 +45,8 @@ public class GrandExchangeEvent { int var4 = var1.readInt(); int var5 = var1.readInt(); this.grandExchangeOffer = new GrandExchangeOffer(); - this.grandExchangeOffer.method5332(2); - this.grandExchangeOffer.method5333(var2); + this.grandExchangeOffer.method5407(2); + this.grandExchangeOffer.method5405(var2); this.grandExchangeOffer.unitPrice = var4; this.grandExchangeOffer.totalQuantity = var5; this.grandExchangeOffer.currentQuantity = 0; @@ -58,88 +54,54 @@ public class GrandExchangeEvent { this.grandExchangeOffer.id = var3; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "439020482" + descriptor = "(B)Ljava/lang/String;", + garbageValue = "-117" ) @Export("getOfferName") public String getOfferName() { return this.offerName; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-1673368944" + descriptor = "(B)Ljava/lang/String;", + garbageValue = "7" ) @Export("getPreviousOfferName") public String getPreviousOfferName() { return this.previousOfferName; } - @ObfuscatedName("g") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;IZI)I", - garbageValue = "1968928867" + descriptor = "(Loy;I)I", + garbageValue = "770443607" ) - static int method5326(CharSequence var0, int var1, boolean var2) { - if (var1 >= 2 && var1 <= 36) { - boolean var3 = false; - boolean var4 = false; - int var5 = 0; - int var6 = var0.length(); - - for (int var7 = 0; var7 < var6; ++var7) { - char var8 = var0.charAt(var7); - if (var7 == 0) { - if (var8 == '-') { - var3 = true; - continue; - } - - if (var8 == '+') { - continue; - } - } - - int var10; - if (var8 >= '0' && var8 <= '9') { - var10 = var8 - '0'; - } else if (var8 >= 'A' && var8 <= 'Z') { - var10 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { - throw new NumberFormatException(); - } - - var10 = var8 - 'W'; - } - - if (var10 >= var1) { - throw new NumberFormatException(); - } - - if (var3) { - var10 = -var10; - } - - int var9 = var10 + var5 * var1; - if (var9 / var1 != var5) { - throw new NumberFormatException(); - } - - var5 = var9; - var4 = true; - } - - if (!var4) { - throw new NumberFormatException(); - } else { - return var5; - } + static int method5402(PacketBuffer var0) { + int var1 = var0.readBits(2); + int var2; + if (var1 == 0) { + var2 = 0; + } else if (var1 == 1) { + var2 = var0.readBits(5); + } else if (var1 == 2) { + var2 = var0.readBits(8); } else { - throw new IllegalArgumentException("" + var1); + var2 = var0.readBits(11); } + + return var2; + } + + @ObfuscatedName("ez") + @ObfuscatedSignature( + descriptor = "(I)Lna;", + garbageValue = "192669944" + ) + @Export("getWorldMap") + static WorldMap getWorldMap() { + return TileItem.worldMap; } } diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index 815551ce94..984a127798 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -7,22 +7,22 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("km") +@ObfuscatedName("kg") @Implements("GrandExchangeEvents") public class GrandExchangeEvents { - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("GrandExchangeEvents_ageComparator") public static Comparator GrandExchangeEvents_ageComparator; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("GrandExchangeEvents_priceComparator") public static Comparator GrandExchangeEvents_priceComparator; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("GrandExchangeEvents_nameComparator") public static Comparator GrandExchangeEvents_nameComparator; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("GrandExchangeEvents_quantityComparator") public static Comparator GrandExchangeEvents_quantityComparator; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("events") public final List events; @@ -57,10 +57,10 @@ public class GrandExchangeEvents { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/util/Comparator;ZB)V", - garbageValue = "-93" + descriptor = "(Ljava/util/Comparator;ZI)V", + garbageValue = "-1787305699" ) @Export("sort") public void sort(Comparator var1, boolean var2) { @@ -72,23 +72,98 @@ public class GrandExchangeEvents { } - @ObfuscatedName("ip") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V", - garbageValue = "1583510201" + descriptor = "(IIII)I", + garbageValue = "1446894624" ) - @Export("insertMenuItem") - static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { - if (!Client.isMenuOpen) { - if (Client.menuOptionsCount < 500) { - Client.menuActions[Client.menuOptionsCount] = var0; - Client.menuTargets[Client.menuOptionsCount] = var1; - Client.menuOpcodes[Client.menuOptionsCount] = var2; - Client.menuIdentifiers[Client.menuOptionsCount] = var3; - Client.menuArguments1[Client.menuOptionsCount] = var4; - Client.menuArguments2[Client.menuOptionsCount] = var5; - Client.menuShiftClick[Client.menuOptionsCount] = var6; - ++Client.menuOptionsCount; + public static int method5348(int var0, int var1, int var2) { + int var3 = FloorOverlayDefinition.method3343(var2 - var1 + 1); + var3 <<= var1; + return var0 & ~var3; + } + + @ObfuscatedName("jr") + @ObfuscatedSignature( + descriptor = "(Ljt;III)V", + garbageValue = "135210928" + ) + @Export("clickWidget") + static final void clickWidget(Widget var0, int var1, int var2) { + if (Client.clickedWidget == null && !Client.isMenuOpen) { + if (var0 != null) { + Widget var5 = var0; + int var6 = Friend.method6003(WorldMapRegion.getWidgetFlags(var0)); + Widget var4; + int var7; + if (var6 == 0) { + var4 = null; + } else { + var7 = 0; + + while (true) { + if (var7 >= var6) { + var4 = var5; + break; + } + + var5 = HealthBarUpdate.getWidget(var5.parentId); + if (var5 == null) { + var4 = null; + break; + } + + ++var7; + } + } + + Widget var8 = var4; + if (var4 == null) { + var8 = var0.parent; + } + + if (var8 != null) { + Client.clickedWidget = var0; + var5 = var0; + var6 = Friend.method6003(WorldMapRegion.getWidgetFlags(var0)); + if (var6 == 0) { + var4 = null; + } else { + var7 = 0; + + while (true) { + if (var7 >= var6) { + var4 = var5; + break; + } + + var5 = HealthBarUpdate.getWidget(var5.parentId); + if (var5 == null) { + var4 = null; + break; + } + + ++var7; + } + } + + var8 = var4; + if (var4 == null) { + var8 = var0.parent; + } + + Client.clickedWidgetParent = var8; + Client.widgetClickX = var1; + Client.widgetClickY = var2; + MouseHandler.widgetDragDuration = 0; + Client.isDraggingWidget = false; + int var9 = Client.menuOptionsCount - 1; + if (var9 != -1) { + NetFileRequest.method5216(var9); + } + + return; + } } } diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index cf2dd4e89b..9b008566f0 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -1,44 +1,44 @@ +import java.net.MalformedURLException; +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kq") +@ObfuscatedName("kp") @Implements("GrandExchangeOffer") public class GrandExchangeOffer { - @ObfuscatedName("u") - static int[] field3769; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("state") byte state; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1885544773 + intValue = 1281987013 ) @Export("id") public int id; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1068501763 + intValue = -552663155 ) @Export("unitPrice") public int unitPrice; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -691773445 + intValue = -1035394057 ) @Export("totalQuantity") public int totalQuantity; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 65758811 + intValue = 8664505 ) @Export("currentQuantity") public int currentQuantity; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 358624203 + intValue = 1081967489 ) @Export("currentPrice") public int currentPrice; @@ -59,42 +59,42 @@ public class GrandExchangeOffer { this.currentPrice = var1.readInt(); } - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-165905974" + garbageValue = "-756750295" ) @Export("status") public int status() { return this.state & 7; } - @ObfuscatedName("m") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "1" + descriptor = "(I)I", + garbageValue = "2063429375" ) @Export("type") public int type() { return (this.state & 8) == 8 ? 1 : 0; } - @ObfuscatedName("k") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-29" + descriptor = "(II)V", + garbageValue = "1077740822" ) - void method5332(int var1) { + void method5407(int var1) { this.state &= -8; this.state = (byte)(this.state | var1 & 7); } - @ObfuscatedName("o") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-347764080" + descriptor = "(IB)V", + garbageValue = "0" ) - void method5333(int var1) { + void method5405(int var1) { this.state &= -9; if (var1 == 1) { this.state = (byte)(this.state | 8); @@ -102,71 +102,46 @@ public class GrandExchangeOffer { } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)Len;", - garbageValue = "3" + descriptor = "(Ljava/lang/String;I)Z", + garbageValue = "1182126654" ) - @Export("getInvDefinition") - public static InvDefinition getInvDefinition(int var0) { - InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; + static boolean method5406(String var0) { + if (var0 == null) { + return false; } else { - byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); - var1 = new InvDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); + try { + new URL(var0); + return true; + } catch (MalformedURLException var2) { + return false; } - - InvDefinition.InvDefinition_cached.put(var1, (long)var0); - return var1; } } - @ObfuscatedName("ag") + @ObfuscatedName("le") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "108" + descriptor = "(I)V", + garbageValue = "-26148798" ) - static int method5345(int var0, Script var1, boolean var2) { - if (var0 == 7100) { - ++class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 7101) { - Interpreter.Interpreter_stringStackSize += 2; - return 1; - } else if (var0 != 7102 && var0 != 7103 && var0 != 7104 && var0 != 7105 && var0 != 7109) { - if (var0 == 7106) { - ++class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 7107) { - ++class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 7108) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class258.method4892() ? 1 : 0; - return 1; - } else if (var0 == 7110) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 7120) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 7121) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == 7122) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - return 2; + static void method5422() { + if (Client.field573 && class67.localPlayer != null) { + int var0 = class67.localPlayer.pathX[0]; + int var1 = class67.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; } - } else { - ++class240.Interpreter_intStackSize; - return 1; + + class132.oculusOrbFocalPointX = class67.localPlayer.x; + int var2 = MidiPcmStream.getTileHeight(class67.localPlayer.x, class67.localPlayer.y, VertexNormal.Client_plane) - Client.camFollowHeight; + if (var2 < class194.field2186) { + class194.field2186 = var2; + } + + LoginScreenAnimation.oculusOrbFocalPointY = class67.localPlayer.y; + Client.field573 = false; } + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index 35459cd07d..3c840d1ead 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -1,25 +1,27 @@ -import java.io.File; import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ky") +@ObfuscatedName("ko") @Implements("GrandExchangeOfferAgeComparator") final class GrandExchangeOfferAgeComparator implements Comparator { - @ObfuscatedName("k") - @Export("JagexCache_locationFile") - public static File JagexCache_locationFile; - - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lko;Lko;B)I", - garbageValue = "-21" + descriptor = "Lkl;" + ) + @Export("NpcDefinition_archive") + static AbstractArchive NpcDefinition_archive; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkd;Lkd;I)I", + garbageValue = "-124332954" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.age < var2.age ? -1 : (var2.age == var1.age ? 0 : 1); + return var1.age < var2.age ? -1 : (var1.age == var2.age ? 0 : 1); } public boolean equals(Object var1) { @@ -29,101 +31,4 @@ final class GrandExchangeOfferAgeComparator implements Comparator { public int compare(Object var1, Object var2) { return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(CLka;B)C", - garbageValue = "5" - ) - @Export("standardizeChar") - static char standardizeChar(char var0, Language var1) { - if (var0 >= 192 && var0 <= 255) { - if (var0 >= 192 && var0 <= 198) { - return 'A'; - } - - if (var0 == 199) { - return 'C'; - } - - if (var0 >= 200 && var0 <= 203) { - return 'E'; - } - - if (var0 >= 204 && var0 <= 207) { - return 'I'; - } - - if (var0 == 209 && var1 != Language.Language_ES) { - return 'N'; - } - - if (var0 >= 210 && var0 <= 214) { - return 'O'; - } - - if (var0 >= 217 && var0 <= 220) { - return 'U'; - } - - if (var0 == 221) { - return 'Y'; - } - - if (var0 == 223) { - return 's'; - } - - if (var0 >= 224 && var0 <= 230) { - return 'a'; - } - - if (var0 == 231) { - return 'c'; - } - - if (var0 >= 232 && var0 <= 235) { - return 'e'; - } - - if (var0 >= 236 && var0 <= 239) { - return 'i'; - } - - if (var0 == 241 && var1 != Language.Language_ES) { - return 'n'; - } - - if (var0 >= 242 && var0 <= 246) { - return 'o'; - } - - if (var0 >= 249 && var0 <= 252) { - return 'u'; - } - - if (var0 == 253 || var0 == 255) { - return 'y'; - } - } - - if (var0 == 338) { - return 'O'; - } else if (var0 == 339) { - return 'o'; - } else if (var0 == 376) { - return 'Y'; - } else { - return var0; - } - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;S)I", - garbageValue = "5874" - ) - public static int method5303(CharSequence var0) { - return GrandExchangeEvent.method5326(var0, 10, true); - } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java index 4defcf5087..8bd4653e3f 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java @@ -4,13 +4,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ku") +@ObfuscatedName("kq") @Implements("GrandExchangeOfferNameComparator") final class GrandExchangeOfferNameComparator implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("re") @ObfuscatedSignature( - descriptor = "(Lko;Lko;I)I", - garbageValue = "-664898748" + descriptor = "Leb;" + ) + @Export("guestClanChannel") + static ClanChannel guestClanChannel; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkd;Lkd;I)I", + garbageValue = "-1248352964" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index 684b92a2d4..56aaa4fee2 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -1,41 +1,23 @@ import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bw") +@ObfuscatedName("bu") @Implements("GrandExchangeOfferOwnWorldComparator") public class GrandExchangeOfferOwnWorldComparator implements Comparator { - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1422085105 - ) - @Export("musicTrackFileId") - public static int musicTrackFileId; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("Widget_modelsArchive") - public static AbstractArchive Widget_modelsArchive; @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 414005331 - ) - static int field475; - @ObfuscatedName("n") @Export("filterWorlds") boolean filterWorlds; GrandExchangeOfferOwnWorldComparator() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lko;Lko;I)I", - garbageValue = "-1867608440" + descriptor = "(Lkd;Lkd;B)I", + garbageValue = "-39" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { @@ -64,42 +46,71 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { return super.equals(var1); } - @ObfuscatedName("z") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1707101499" + descriptor = "([BI)Lbe;", + garbageValue = "1110991115" ) - public static void method1133() { - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); - } + @Export("newScript") + static Script newScript(byte[] var0) { + Script var1 = new Script(); + Buffer var2 = new Buffer(var0); + var2.offset = var2.array.length - 2; + int var3 = var2.readUnsignedShort(); + int var4 = var2.array.length - 2 - var3 - 12; + var2.offset = var4; + int var5 = var2.readInt(); + var1.localIntCount = var2.readUnsignedShort(); + var1.localStringCount = var2.readUnsignedShort(); + var1.intArgumentCount = var2.readUnsignedShort(); + var1.stringArgumentCount = var2.readUnsignedShort(); + int var6 = var2.readUnsignedByte(); + int var7; + int var8; + if (var6 > 0) { + var1.switches = var1.newIterableNodeHashTable(var6); - @ObfuscatedName("gq") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1733564900" - ) - static void method1134() { - if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { - class114.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); - } + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2.readUnsignedShort(); + IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? InvDefinition.method2881(var8) : 1); + var1.switches[var7] = var9; - } - - @ObfuscatedName("hx") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "10" - ) - static final boolean method1132(int var0) { - if (var0 < 0) { - return false; - } else { - int var1 = Client.menuOpcodes[var0]; - if (var1 >= 2000) { - var1 -= 2000; + while (var8-- > 0) { + int var10 = var2.readInt(); + int var11 = var2.readInt(); + var9.put(new IntegerNode(var11), (long)var10); + } } - - return var1 == 1007; } + + var2.offset = 0; + var1.field956 = var2.readStringCp1252NullTerminatedOrNull(); + var1.opcodes = new int[var5]; + var1.intOperands = new int[var5]; + var1.stringOperands = new String[var5]; + + for (var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { + var8 = var2.readUnsignedShort(); + if (var8 == 3) { + var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); + } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { + var1.intOperands[var7] = var2.readInt(); + } else { + var1.intOperands[var7] = var2.readUnsignedByte(); + } + } + + return var1; + } + + @ObfuscatedName("jh") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "20" + ) + static final void method1104(int var0) { + var0 = Math.min(Math.max(var0, 0), 127); + WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume = var0; + ScriptFrame.savePreferences(); } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index 461d575d75..eed05da001 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -1,16 +1,32 @@ import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kw") +@ObfuscatedName("kk") @Implements("GrandExchangeOfferTotalQuantityComparator") final class GrandExchangeOfferTotalQuantityComparator implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = -698041547 + ) + static int field3741; + @ObfuscatedName("ht") + @Export("regionLandArchiveIds") + static int[] regionLandArchiveIds; + @ObfuscatedName("hc") @ObfuscatedSignature( - descriptor = "(Lko;Lko;S)I", - garbageValue = "255" + descriptor = "[Loz;" + ) + @Export("mapSceneSprites") + static IndexedSprite[] mapSceneSprites; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkd;Lkd;B)I", + garbageValue = "-92" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { @@ -24,4 +40,76 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator { public boolean equals(Object var1) { return super.equals(var1); } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkl;I)V", + garbageValue = "482851304" + ) + public static void method5361(AbstractArchive var0) { + FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var0; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "953318230" + ) + @Export("loadInterface") + public static boolean loadInterface(int var0) { + if (class157.Widget_loadedInterfaces[var0]) { + return true; + } else if (!Widget.Widget_archive.tryLoadGroup(var0)) { + return false; + } else { + int var1 = Widget.Widget_archive.getGroupFileCount(var0); + if (var1 == 0) { + class157.Widget_loadedInterfaces[var0] = true; + return true; + } else { + if (Widget.Widget_interfaceComponents[var0] == null) { + Widget.Widget_interfaceComponents[var0] = new Widget[var1]; + } + + for (int var2 = 0; var2 < var1; ++var2) { + if (Widget.Widget_interfaceComponents[var0][var2] == null) { + byte[] var3 = Widget.Widget_archive.takeFile(var0, var2); + if (var3 != null) { + Widget.Widget_interfaceComponents[var0][var2] = new Widget(); + Widget.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); + if (var3[0] == -1) { + Widget.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); + } else { + Widget.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); + } + } + } + } + + class157.Widget_loadedInterfaces[var0] = true; + return true; + } + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1241356200" + ) + public static boolean method5360(int var0) { + return (var0 >> 20 & 1) != 0; + } + + @ObfuscatedName("ki") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "117" + ) + @Export("Clan_leaveChat") + static final void Clan_leaveChat() { + PacketBufferNode var0 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2660, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(0); + Client.packetWriter.addNode(var0); + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index 0362741eef..c283df0d39 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -4,20 +4,17 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kd") +@ObfuscatedName("kc") @Implements("GrandExchangeOfferUnitPriceComparator") final class GrandExchangeOfferUnitPriceComparator implements Comparator { - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("KitDefinition_modelsArchive") - static AbstractArchive KitDefinition_modelsArchive; + @ObfuscatedName("b") + @Export("ByteArrayPool_alternativeSizes") + public static int[] ByteArrayPool_alternativeSizes; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lko;Lko;B)I", - garbageValue = "29" + descriptor = "(Lkd;Lkd;I)I", + garbageValue = "1882106044" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { @@ -31,41 +28,4 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { public int compare(Object var1, Object var2) { return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "([Ljava/lang/String;[IIII)V", - garbageValue = "-1159909186" - ) - static void method5348(String[] var0, int[] var1, int var2, int var3) { - if (var2 < var3) { - int var4 = (var3 + var2) / 2; - int var5 = var2; - String var6 = var0[var4]; - var0[var4] = var0[var3]; - var0[var3] = var6; - int var7 = var1[var4]; - var1[var4] = var1[var3]; - var1[var3] = var7; - - for (int var8 = var2; var8 < var3; ++var8) { - if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { - String var9 = var0[var8]; - var0[var8] = var0[var5]; - var0[var5] = var9; - int var10 = var1[var8]; - var1[var8] = var1[var5]; - var1[var5++] = var10; - } - } - - var0[var3] = var0[var5]; - var0[var5] = var6; - var1[var3] = var1[var5]; - var1[var5] = var7; - method5348(var0, var1, var2, var5 - 1); - method5348(var0, var1, var5 + 1, var3); - } - - } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index f438d0ed65..33185b26f6 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -4,13 +4,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kv") +@ObfuscatedName("kx") @Implements("GrandExchangeOfferWorldComparator") final class GrandExchangeOfferWorldComparator implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lko;Lko;I)I", - garbageValue = "16711680" + descriptor = "Lkl;" + ) + @Export("musicSamplesArchive") + public static AbstractArchive musicSamplesArchive; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkd;Lkd;S)I", + garbageValue = "-48" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { @@ -25,29 +32,16 @@ final class GrandExchangeOfferWorldComparator implements Comparator { return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); } - @ObfuscatedName("g") + @ObfuscatedName("kh") @ObfuscatedSignature( - descriptor = "(I)[I", - garbageValue = "-1164500663" + descriptor = "(Ljt;II)Ljava/lang/String;", + garbageValue = "-1694871012" ) - public static int[] method5320() { - int[] var0 = new int[KeyHandler.field114]; - - for (int var1 = 0; var1 < KeyHandler.field114; ++var1) { - var0[var1] = KeyHandler.field131[var1]; + static String method5385(Widget var0, int var1) { + if (!class138.method2756(WorldMapRegion.getWidgetFlags(var0), var1) && var0.onOp == null) { + return null; + } else { + return var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null; } - - return var0; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "(I)Lbh;", - garbageValue = "-994798359" - ) - @Export("worldListStart") - static World worldListStart() { - World.World_listCount = 0; - return SequenceDefinition.getNextWorldListWorld(); } } diff --git a/runescape-client/src/main/java/GraphicsDefaults.java b/runescape-client/src/main/java/GraphicsDefaults.java index 4cde8f27de..d161d74331 100644 --- a/runescape-client/src/main/java/GraphicsDefaults.java +++ b/runescape-client/src/main/java/GraphicsDefaults.java @@ -1,98 +1,93 @@ -import java.io.BufferedReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.StringWriter; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mp") +@ObfuscatedName("mr") @Implements("GraphicsDefaults") public class GraphicsDefaults { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1507900215 + intValue = 1639675523 ) @Export("compass") public int compass; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 2099513777 + intValue = 702136855 ) - public int field4001; - @ObfuscatedName("m") + public int field4014; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1141431167 + intValue = 1524325723 ) @Export("mapScenes") public int mapScenes; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 302197759 + intValue = 1995759 ) @Export("headIconsPk") public int headIconsPk; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1025961101 + intValue = 355364427 ) - public int field4004; - @ObfuscatedName("g") + public int field4017; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 628282865 + intValue = 2123724991 ) - public int field4003; - @ObfuscatedName("z") + public int field4015; + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 879536881 + intValue = 2071632403 ) - public int field4006; + public int field4018; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -268778877 + intValue = 247766687 ) - public int field4007; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 504736861 - ) - public int field4008; + public int field4020; @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -561061723 + intValue = -1327496497 ) - public int field4009; - @ObfuscatedName("l") + public int field4019; + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1993952991 + intValue = -1467597659 ) - public int field4010; + public int field4022; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1123526163 + ) + public int field4013; public GraphicsDefaults() { this.compass = -1; - this.field4001 = -1; + this.field4014 = -1; this.mapScenes = -1; this.headIconsPk = -1; - this.field4004 = -1; - this.field4003 = -1; - this.field4006 = -1; - this.field4007 = -1; - this.field4008 = -1; - this.field4009 = -1; - this.field4010 = -1; + this.field4017 = -1; + this.field4015 = -1; + this.field4018 = -1; + this.field4020 = -1; + this.field4019 = -1; + this.field4022 = -1; + this.field4013 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;I)V", - garbageValue = "-2116063360" + descriptor = "(Lkl;B)V", + garbageValue = "3" ) @Export("decode") public void decode(AbstractArchive var1) { - byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3999.group); + byte[] var2 = var1.takeFileFlat(DefaultsGroup.field4011.group); Buffer var3 = new Buffer(var2); while (true) { @@ -106,71 +101,28 @@ public class GraphicsDefaults { var3.readMedium(); break; case 2: - this.compass = var3.method6985(); - this.field4001 = var3.method6985(); - this.mapScenes = var3.method6985(); - this.headIconsPk = var3.method6985(); - this.field4004 = var3.method6985(); - this.field4003 = var3.method6985(); - this.field4006 = var3.method6985(); - this.field4007 = var3.method6985(); - this.field4008 = var3.method6985(); - this.field4009 = var3.method6985(); - this.field4010 = var3.method6985(); + this.compass = var3.method6977(); + this.field4014 = var3.method6977(); + this.mapScenes = var3.method6977(); + this.headIconsPk = var3.method6977(); + this.field4017 = var3.method6977(); + this.field4015 = var3.method6977(); + this.field4018 = var3.method6977(); + this.field4020 = var3.method6977(); + this.field4019 = var3.method6977(); + this.field4022 = var3.method6977(); + this.field4013 = var3.method6977(); } } } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/Throwable;I)Ljava/lang/String;", - garbageValue = "2097439645" + descriptor = "(ILjava/lang/String;Ljava/lang/String;I)V", + garbageValue = "-953550722" ) - static String method6184(Throwable var0) throws IOException { - String var1; - if (var0 instanceof RunException) { - RunException var2 = (RunException)var0; - var1 = var2.message + " | "; - var0 = var2.throwable; - } else { - var1 = ""; - } - - StringWriter var12 = new StringWriter(); - PrintWriter var3 = new PrintWriter(var12); - var0.printStackTrace(var3); - var3.close(); - String var4 = var12.toString(); - BufferedReader var5 = new BufferedReader(new StringReader(var4)); - String var6 = var5.readLine(); - - while (true) { - while (true) { - String var7 = var5.readLine(); - if (var7 == null) { - var1 = var1 + "| " + var6; - return var1; - } - - int var8 = var7.indexOf(40); - int var9 = var7.indexOf(41, var8 + 1); - if (var8 >= 0 && var9 >= 0) { - String var10 = var7.substring(var8 + 1, var9); - int var11 = var10.indexOf(".java:"); - if (var11 >= 0) { - var10 = var10.substring(0, var11) + var10.substring(var11 + 5); - var1 = var1 + var10 + ' '; - continue; - } - - var7 = var7.substring(0, var8); - } - - var7 = var7.trim(); - var7 = var7.substring(var7.lastIndexOf(32) + 1); - var7 = var7.substring(var7.lastIndexOf(9) + 1); - var1 = var1 + var7 + ' '; - } - } + @Export("addGameMessage") + static void addGameMessage(int var0, String var1, String var2) { + Players.addChatMessage(var0, var1, var2, (String)null); } } diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index babb06b4ef..1cd675b30e 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -4,73 +4,84 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bu") +@ObfuscatedName("bs") @Implements("GraphicsObject") -public final class GraphicsObject extends Renderable { - @ObfuscatedName("hu") - @ObfuscatedSignature( - descriptor = "[Loc;" - ) - @Export("headIconPrayerSprites") - static SpritePixels[] headIconPrayerSprites; - @ObfuscatedName("n") +public class GraphicsObject extends Renderable { + @ObfuscatedName("tl") @ObfuscatedGetter( - intValue = 787410799 + intValue = 1912460385 + ) + @Export("foundItemIndex") + static int foundItemIndex; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Laj;" + ) + @Export("pcmPlayerProvider") + public static class45 pcmPlayerProvider; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1241403237 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1229158723 + intValue = -1581300753 ) @Export("cycleStart") int cycleStart; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -607075051 + intValue = -310896907 ) @Export("plane") int plane; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -554255129 + intValue = 1472337471 ) @Export("x") int x; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1557602107 + intValue = -798111629 ) @Export("y") int y; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 556318843 + intValue = 1131119735 ) @Export("height") int height; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lfa;" + descriptor = "Lfe;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -492546341 + intValue = -1894648295 ) @Export("frame") int frame; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 296318011 + intValue = 295957163 ) @Export("frameCycle") int frameCycle; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("isFinished") boolean isFinished; + public GraphicsObject() + { + + } + GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { this.frame = 0; this.frameCycle = 0; @@ -81,23 +92,23 @@ public final class GraphicsObject extends Renderable { this.y = var4; this.height = var5; this.cycleStart = var7 + var6; - int var8 = TaskHandler.SpotAnimationDefinition_get(this.id).sequence; + int var8 = class21.SpotAnimationDefinition_get(this.id).sequence; if (var8 != -1) { this.isFinished = false; - this.sequenceDefinition = class17.SequenceDefinition_get(var8); + this.sequenceDefinition = KitDefinition.SequenceDefinition_get(var8); } else { this.isFinished = true; } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1654884246" + descriptor = "(IB)V", + garbageValue = "-35" ) @Export("advance") - final void advance(int var1) { + void advance(int var1) { if (!this.isFinished) { this.frameCycle += var1; @@ -113,14 +124,14 @@ public final class GraphicsObject extends Renderable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = TaskHandler.SpotAnimationDefinition_get(this.id); + protected Model getModel() { + SpotAnimationDefinition var1 = class21.SpotAnimationDefinition_get(this.id); Model var2; if (!this.isFinished) { var2 = var1.getModel(this.frame); @@ -130,162 +141,4 @@ public final class GraphicsObject extends Renderable { return var2 == null ? null : var2; } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IILfw;Lfk;I)Z", - garbageValue = "1454497759" - ) - static final boolean method1869(int var0, int var1, RouteStrategy var2, CollisionMap var3) { - int var4 = var0; - int var5 = var1; - byte var6 = 64; - byte var7 = 64; - int var8 = var0 - var6; - int var9 = var1 - var7; - class174.directions[var6][var7] = 99; - class174.distances[var6][var7] = 0; - byte var10 = 0; - int var11 = 0; - class174.bufferX[var10] = var0; - byte var10001 = var10; - int var18 = var10 + 1; - class174.bufferY[var10001] = var1; - int[][] var12 = var3.flags; - - while (var11 != var18) { - var4 = class174.bufferX[var11]; - var5 = class174.bufferY[var11]; - var11 = var11 + 1 & 4095; - int var16 = var4 - var8; - int var17 = var5 - var9; - int var13 = var4 - var3.xInset; - int var14 = var5 - var3.yInset; - if (var2.hasArrived(1, var4, var5, var3)) { - class150.field1601 = var4; - class174.field1991 = var5; - return true; - } - - int var15 = class174.distances[var16][var17] + 1; - if (var16 > 0 && class174.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136776) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17] = 2; - class174.distances[var16 - 1][var17] = var15; - } - - if (var16 < 127 && class174.directions[var16 + 1][var17] == 0 && (var12[var13 + 1][var14] & 19136896) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17] = 8; - class174.distances[var16 + 1][var17] = var15; - } - - if (var17 > 0 && class174.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { - class174.bufferX[var18] = var4; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16][var17 - 1] = 1; - class174.distances[var16][var17 - 1] = var15; - } - - if (var17 < 127 && class174.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { - class174.bufferX[var18] = var4; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16][var17 + 1] = 4; - class174.distances[var16][var17 + 1] = var15; - } - - if (var16 > 0 && var17 > 0 && class174.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17 - 1] = 3; - class174.distances[var16 - 1][var17 - 1] = var15; - } - - if (var16 < 127 && var17 > 0 && class174.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17 - 1] = 9; - class174.distances[var16 + 1][var17 - 1] = var15; - } - - if (var16 > 0 && var17 < 127 && class174.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17 + 1] = 6; - class174.distances[var16 - 1][var17 + 1] = var15; - } - - if (var16 < 127 && var17 < 127 && class174.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 1] & 19136992) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17 + 1] = 12; - class174.distances[var16 + 1][var17 + 1] = var15; - } - } - - class150.field1601 = var4; - class174.field1991 = var5; - return false; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "1937587259" - ) - public static boolean method1871(int var0) { - return var0 >= 0 && var0 < 112 ? KeyHandler.field125[var0] : false; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "-380670823" - ) - public static String method1866(CharSequence var0) { - int var2 = var0.length(); - char[] var3 = new char[var2]; - - for (int var4 = 0; var4 < var2; ++var4) { - var3[var4] = '*'; - } - - String var1 = new String(var3); - return var1; - } - - @ObfuscatedName("gx") - @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "35" - ) - @Export("getTileHeight") - static final int getTileHeight(int var0, int var1, int var2) { - int var3 = var0 >> 7; - int var4 = var1 >> 7; - if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { - int var5 = var2; - if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { - var5 = var2 + 1; - } - - int var6 = var0 & 127; - int var7 = var1 & 127; - int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + Tiles.Tiles_heights[var5][var3 + 1][var4] * var6 >> 7; - int var9 = var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; - return var7 * var9 + var8 * (128 - var7) >> 7; - } else { - return 0; - } - } } diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java index 98c771e7df..b7a7c383e3 100644 --- a/runescape-client/src/main/java/HealthBar.java +++ b/runescape-client/src/main/java/HealthBar.java @@ -3,40 +3,34 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cv") +@ObfuscatedName("cs") @Implements("HealthBar") public class HealthBar extends Node { - @ObfuscatedName("dz") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Led;" - ) - @Export("js5SocketTask") - static Task js5SocketTask; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lft;" + descriptor = "Lfs;" ) @Export("definition") HealthBarDefinition definition; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) @Export("updates") IterableNodeDeque updates; @ObfuscatedSignature( - descriptor = "(Lft;)V" + descriptor = "(Lfs;)V" ) HealthBar(HealthBarDefinition var1) { this.updates = new IterableNodeDeque(); this.definition = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(IIIII)V", - garbageValue = "-1738206630" + garbageValue = "-1577192016" ) @Export("put") void put(int var1, int var2, int var3, int var4) { @@ -69,10 +63,10 @@ public class HealthBar extends Node { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)Lcc;", - garbageValue = "1300102488" + descriptor = "(IB)Lcp;", + garbageValue = "-18" ) @Export("get") HealthBarUpdate get(int var1) { @@ -94,27 +88,82 @@ public class HealthBar extends Node { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1972373384" + descriptor = "(B)Z", + garbageValue = "126" ) @Export("isEmpty") boolean isEmpty() { - return this.updates.method5517(); + return this.updates.method5563(); } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-952267390" + descriptor = "(II)Lfk;", + garbageValue = "-359923658" ) - public static int method2205(int var0) { - var0 = (var0 & 1431655765) + (var0 >>> 1 & 1431655765); - var0 = (var0 >>> 2 & 858993459) + (var0 & 858993459); - var0 = var0 + (var0 >>> 4) & 252645135; - var0 += var0 >>> 8; - var0 += var0 >>> 16; - return var0 & 255; + public static FloorUnderlayDefinition method2214(int var0) { + FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); + var1 = new FloorUnderlayDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2), var0); + } + + var1.postDecode(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "0" + ) + static int method2220(int var0, Script var1, boolean var2) { + if (var0 != 6700 && var0 != 6702 && var0 != 6704 && var0 != 6706 && var0 != 6708) { + if (var0 != 6701 && var0 != 6703 && var0 != 6705 && var0 != 6707 && var0 != 6709) { + if (var0 == 6750) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 != 6751 && var0 != 6752 && var0 != 6753) { + if (var0 == 6754) { + int var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + NPCComposition var4 = class112.getNpcDefinition(var3); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4 != null ? var4.name : ""; + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } + } else { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + --class54.Interpreter_stringStackSize; + return 1; + } + } + + @ObfuscatedName("km") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1149817369" + ) + static void method2221() { + if (Client.oculusOrbState == 1) { + Client.field573 = true; + } + } } diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index 17681c09aa..0e044f18ef 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -4,93 +4,93 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ft") +@ObfuscatedName("fs") @Implements("HealthBarDefinition") public class HealthBarDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("HealthBarDefinition_archive") - static AbstractArchive HealthBarDefinition_archive; - @ObfuscatedName("c") + public static AbstractArchive HealthBarDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("HitSplatDefinition_spritesArchive") static AbstractArchive HitSplatDefinition_spritesArchive; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("HealthBarDefinition_cached") public static EvictingDualNodeHashTable HealthBarDefinition_cached; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("HealthBarDefinition_cachedSprites") public static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; - @ObfuscatedName("gj") + @ObfuscatedName("gv") @ObfuscatedGetter( - longValue = -8980886383990027525L + intValue = -1732997973 ) - static long field1681; - @ObfuscatedName("o") + static int field1671; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 933389157 + intValue = 975502943 ) - public int field1670; + public int field1675; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -358658515 + intValue = -1349521857 ) @Export("int1") public int int1; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -2089229871 + intValue = -1857884575 ) @Export("int2") public int int2; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -860787199 + intValue = 1029795251 ) @Export("int3") public int int3; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1783319749 - ) - public int field1675; @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -391654511 + intValue = 1160024531 + ) + public int field1679; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -964299295 ) @Export("int5") public int int5; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 690526725 + intValue = 1825687109 ) @Export("frontSpriteID") int frontSpriteID; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 572887043 + intValue = 2014691659 ) @Export("backSpriteID") int backSpriteID; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = -643051501 + intValue = -1639906499 ) @Export("width") public int width; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 505163947 + intValue = -1780059389 ) @Export("widthPadding") public int widthPadding; @@ -100,11 +100,11 @@ public class HealthBarDefinition extends DualNode { HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); } - HealthBarDefinition() { + public HealthBarDefinition() { this.int1 = 255; this.int2 = 255; this.int3 = -1; - this.field1675 = 1; + this.field1679 = 1; this.int5 = 70; this.frontSpriteID = -1; this.backSpriteID = -1; @@ -112,13 +112,13 @@ public class HealthBarDefinition extends DualNode { this.widthPadding = 0; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "1763232152" + descriptor = "(Lot;B)V", + garbageValue = "81" ) @Export("decode") - void decode(Buffer var1) { + public void decode(Buffer var1) { while (true) { int var2 = var1.readUnsignedByte(); if (var2 == 0) { @@ -129,10 +129,10 @@ public class HealthBarDefinition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "-37" + descriptor = "(Lot;II)V", + garbageValue = "-410528163" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -149,9 +149,9 @@ public class HealthBarDefinition extends DualNode { } else if (var2 == 6) { var1.readUnsignedByte(); } else if (var2 == 7) { - this.frontSpriteID = var1.method6985(); + this.frontSpriteID = var1.method6977(); } else if (var2 == 8) { - this.backSpriteID = var1.method6985(); + this.backSpriteID = var1.method6977(); } else if (var2 == 11) { this.int3 = var1.readUnsignedShort(); } else if (var2 == 14) { @@ -162,10 +162,10 @@ public class HealthBarDefinition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)Loc;", - garbageValue = "2090107187" + descriptor = "(I)Lon;", + garbageValue = "836195757" ) @Export("getFrontSprite") public SpritePixels getFrontSprite() { @@ -176,7 +176,7 @@ public class HealthBarDefinition extends DualNode { if (var1 != null) { return var1; } else { - var1 = class258.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); + var1 = AccessFile.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); if (var1 != null) { HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); } @@ -186,10 +186,10 @@ public class HealthBarDefinition extends DualNode { } } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)Loc;", - garbageValue = "-1821086561" + descriptor = "(B)Lon;", + garbageValue = "18" ) @Export("getBackSprite") public SpritePixels getBackSprite() { @@ -200,7 +200,7 @@ public class HealthBarDefinition extends DualNode { if (var1 != null) { return var1; } else { - var1 = class258.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); + var1 = AccessFile.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); if (var1 != null) { HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); } @@ -210,18 +210,381 @@ public class HealthBarDefinition extends DualNode { } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)[Lip;", - garbageValue = "-1012659579" + descriptor = "(Lkl;Lkl;I)V", + garbageValue = "-2142706436" ) - public static class240[] method2890() { - return new class240[]{class240.field2755, class240.field2749, class240.field2751, class240.field2752, class240.field2753, class240.field2760, class240.field2750, class240.field2756, class240.field2757, class240.field2758}; + public static void method2978(AbstractArchive var0, AbstractArchive var1) { + SpotAnimationDefinition.SpotAnimationDefinition_archive = var0; + SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var1; } - @ObfuscatedName("a") - @Export("Entity_unpackID") - public static int Entity_unpackID(long var0) { - return (int)(var0 >>> 17 & 4294967295L); + @ObfuscatedName("fs") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1916121645" + ) + static final void method2977() { + FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); + class138.method2754(); + LoginScreenAnimation.method2175(); + NPCComposition.NpcDefinition_cached.clear(); + NPCComposition.NpcDefinition_cachedModels.clear(); + WorldMapLabelSize.method3446(); + SequenceDefinition.SequenceDefinition_cached.clear(); + SequenceDefinition.SequenceDefinition_cachedFrames.clear(); + class276.method5122(); + VarbitComposition.VarbitDefinition_cached.clear(); + UserComparator4.method2395(); + TriBool.field3979.method6750(); + WorldMapIcon_1.HitSplatDefinition_cachedSprites.method6750(); + Clock.method2864(); + HealthBarDefinition_cached.clear(); + HealthBarDefinition_cachedSprites.clear(); + class11.method105(); + ParamComposition.ParamDefinition_cached.clear(); + MilliClock.method2858(); + PlayerComposition.PlayerAppearance_cachedModels.clear(); + KeyHandler.method349(); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); + Script.Script_cached.clear(); + ClanChannel.archive0.clearFiles(); + MouseRecorder.archive1.clearFiles(); + class150.archive3.clearFiles(); + class260.archive4.clearFiles(); + ApproximateRouteStrategy.archive5.clearFiles(); + Tiles.archive6.clearFiles(); + Skeleton.archive7.clearFiles(); + class176.archive8.clearFiles(); + Interpreter.archive9.clearFiles(); + UserComparator8.archive10.clearFiles(); + class4.archive11.clearFiles(); + UserComparator6.archive12.clearFiles(); + } + + @ObfuscatedName("hz") + @ObfuscatedSignature( + descriptor = "(Lid;I)V", + garbageValue = "-637242019" + ) + static final void method2981(class240 var0) { + PacketBuffer var1 = Client.packetWriter.packetBuffer; + int var2; + int var3; + int var4; + int var5; + TileItem var34; + if (class240.field2772 == var0) { + var2 = var1.method6933(); + var3 = var1.readUnsignedByte(); + var4 = (var3 >> 4 & 7) + UrlRequest.field1313; + var5 = (var3 & 7) + WorldMapElement.field1622; + if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { + NodeDeque var36 = Client.groundItems[VertexNormal.Client_plane][var4][var5]; + if (var36 != null) { + for (var34 = (TileItem)var36.last(); var34 != null; var34 = (TileItem)var36.previous()) { + if ((var2 & 32767) == var34.id) { + var34.remove(); + break; + } + } + + if (var36.last() == null) { + Client.groundItems[VertexNormal.Client_plane][var4][var5] = null; + } + + HealthBarUpdate.updateItemPile(var4, var5); + } + } + + } else { + int var6; + int var7; + int var8; + int var9; + int var11; + if (class240.field2771 == var0) { + var2 = var1.method7059(); + var3 = var1.method6927(); + var4 = (var3 >> 4 & 7) + UrlRequest.field1313; + var5 = (var3 & 7) + WorldMapElement.field1622; + var6 = var1.method6925(); + var7 = var6 >> 2; + var8 = var6 & 3; + var9 = Client.field690[var7]; + if (var4 >= 0 && var5 >= 0 && var4 < 103 && var5 < 103) { + if (var9 == 0) { + BoundaryObject var35 = PlayerComposition.scene.method4219(VertexNormal.Client_plane, var4, var5); + if (var35 != null) { + var11 = InterfaceParent.Entity_unpackID(var35.tag); + if (var7 == 2) { + var35.renderable1 = new DynamicObject(var11, 2, var8 + 4, VertexNormal.Client_plane, var4, var5, var2, false, var35.renderable1); + var35.renderable2 = new DynamicObject(var11, 2, var8 + 1 & 3, VertexNormal.Client_plane, var4, var5, var2, false, var35.renderable2); + } else { + var35.renderable1 = new DynamicObject(var11, var7, var8, VertexNormal.Client_plane, var4, var5, var2, false, var35.renderable1); + } + } + } + + if (var9 == 1) { + WallDecoration var42 = PlayerComposition.scene.method4316(VertexNormal.Client_plane, var4, var5); + if (var42 != null) { + var11 = InterfaceParent.Entity_unpackID(var42.tag); + if (var7 != 4 && var7 != 5) { + if (var7 == 6) { + var42.renderable1 = new DynamicObject(var11, 4, var8 + 4, VertexNormal.Client_plane, var4, var5, var2, false, var42.renderable1); + } else if (var7 == 7) { + var42.renderable1 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, VertexNormal.Client_plane, var4, var5, var2, false, var42.renderable1); + } else if (var7 == 8) { + var42.renderable1 = new DynamicObject(var11, 4, var8 + 4, VertexNormal.Client_plane, var4, var5, var2, false, var42.renderable1); + var42.renderable2 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, VertexNormal.Client_plane, var4, var5, var2, false, var42.renderable2); + } + } else { + var42.renderable1 = new DynamicObject(var11, 4, var8, VertexNormal.Client_plane, var4, var5, var2, false, var42.renderable1); + } + } + } + + if (var9 == 2) { + GameObject var43 = PlayerComposition.scene.getGameObject(VertexNormal.Client_plane, var4, var5); + if (var7 == 11) { + var7 = 10; + } + + if (var43 != null) { + var43.renderable = new DynamicObject(InterfaceParent.Entity_unpackID(var43.tag), var7, var8, VertexNormal.Client_plane, var4, var5, var2, false, var43.renderable); + } + } + + if (var9 == 3) { + FloorDecoration var44 = PlayerComposition.scene.getFloorDecoration(VertexNormal.Client_plane, var4, var5); + if (var44 != null) { + var44.renderable = new DynamicObject(InterfaceParent.Entity_unpackID(var44.tag), 22, var8, VertexNormal.Client_plane, var4, var5, var2, false, var44.renderable); + } + } + } + + } else if (class240.field2770 == var0) { + var2 = var1.method6925(); + var3 = var1.readUnsignedShort(); + var4 = var1.method6925(); + var5 = (var4 >> 4 & 7) + UrlRequest.field1313; + var6 = (var4 & 7) + WorldMapElement.field1622; + var7 = var1.method6933(); + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + var5 = var5 * 128 + 64; + var6 = var6 * 128 + 64; + GraphicsObject var41 = new GraphicsObject(var7, VertexNormal.Client_plane, var5, var6, MidiPcmStream.getTileHeight(var5, var6, VertexNormal.Client_plane) - var2, var3, Client.cycle); + Client.graphicsObjects.addFirst(var41); + } + + } else { + int var10; + if (class240.field2767 == var0) { + var2 = var1.readUnsignedShort(); + var3 = var1.method6927(); + var4 = var3 >> 4 & 15; + var5 = var3 & 7; + var6 = var1.method6925(); + var7 = (var6 >> 4 & 7) + UrlRequest.field1313; + var8 = (var6 & 7) + WorldMapElement.field1622; + var9 = var1.method6927(); + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + var10 = var4 + 1; + if (class67.localPlayer.pathX[0] >= var7 - var10 && class67.localPlayer.pathX[0] <= var7 + var10 && class67.localPlayer.pathY[0] >= var8 - var10 && class67.localPlayer.pathY[0] <= var8 + var10 && WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume != 0 && var5 > 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var2; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var5; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = var4 + (var8 << 8) + (var7 << 16); + ++Client.soundEffectCount; + } + } + } + + if (class240.field2768 == var0) { + var2 = var1.method6927(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field690[var3]; + var6 = var1.readUnsignedShort(); + var7 = var1.method6925(); + var8 = (var7 >> 4 & 7) + UrlRequest.field1313; + var9 = (var7 & 7) + WorldMapElement.field1622; + if (var8 >= 0 && var9 >= 0 && var8 < 104 && var9 < 104) { + class113.updatePendingSpawn(VertexNormal.Client_plane, var8, var9, var5, var6, var3, var4, 0, -1); + } + + } else if (class240.field2774 == var0) { + var2 = var1.method7059(); + var3 = var1.method6926(); + var4 = (var3 >> 4 & 7) + UrlRequest.field1313; + var5 = (var3 & 7) + WorldMapElement.field1622; + var6 = var1.method6934(); + if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { + var34 = new TileItem(); + var34.id = var2; + var34.quantity = var6; + if (Client.groundItems[VertexNormal.Client_plane][var4][var5] == null) { + Client.groundItems[VertexNormal.Client_plane][var4][var5] = new NodeDeque(); + } + + Client.groundItems[VertexNormal.Client_plane][var4][var5].addFirst(var34); + HealthBarUpdate.updateItemPile(var4, var5); + } + + } else if (class240.field2776 == var0) { + var2 = var1.readUnsignedShort(); + var3 = var1.method6933(); + var4 = var1.method6934(); + var5 = var1.readUnsignedByte(); + var6 = (var5 >> 4 & 7) + UrlRequest.field1313; + var7 = (var5 & 7) + WorldMapElement.field1622; + if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { + NodeDeque var32 = Client.groundItems[VertexNormal.Client_plane][var6][var7]; + if (var32 != null) { + for (TileItem var33 = (TileItem)var32.last(); var33 != null; var33 = (TileItem)var32.previous()) { + if ((var3 & 32767) == var33.id && var2 == var33.quantity) { + var33.quantity = var4; + break; + } + } + + HealthBarUpdate.updateItemPile(var6, var7); + } + } + + } else { + int var12; + int var13; + int var14; + byte var38; + if (class240.field2775 == var0) { + var2 = var1.method6936(); + var38 = var1.readByte(); + var4 = var1.method6934(); + var5 = var1.method6927(); + var6 = var1.method7059(); + var7 = var1.method6925() * 4; + var8 = var1.method6927(); + var9 = (var8 >> 4 & 7) + UrlRequest.field1313; + var10 = (var8 & 7) + WorldMapElement.field1622; + var11 = var1.method6926(); + byte var40 = var1.method6929(); + var13 = var1.method6933(); + var14 = var1.readUnsignedByte() * 4; + var12 = var40 + var9; + var3 = var38 + var10; + if (var9 >= 0 && var10 >= 0 && var9 < 104 && var10 < 104 && var12 >= 0 && var3 >= 0 && var12 < 104 && var3 < 104 && var6 != 65535) { + var9 = var9 * 128 + 64; + var10 = var10 * 128 + 64; + var12 = var12 * 128 + 64; + var3 = var3 * 128 + 64; + Projectile var31 = new Projectile(var6, VertexNormal.Client_plane, var9, var10, MidiPcmStream.getTileHeight(var9, var10, VertexNormal.Client_plane) - var7, var4 + Client.cycle, var13 + Client.cycle, var11, var5, var2, var14); + var31.setDestination(var12, var3, MidiPcmStream.getTileHeight(var12, var3, VertexNormal.Client_plane) - var14, var4 + Client.cycle); + Client.projectiles.addFirst(var31); + } + + } else if (class240.field2769 == var0) { + var2 = var1.method6926(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field690[var3]; + var6 = var1.method6925(); + var7 = (var6 >> 4 & 7) + UrlRequest.field1313; + var8 = (var6 & 7) + WorldMapElement.field1622; + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + class113.updatePendingSpawn(VertexNormal.Client_plane, var7, var8, var5, -1, var3, var4, 0, -1); + } + + } else { + if (class240.field2773 == var0) { + byte var37 = var1.method6915(); + var38 = var1.method6929(); + var4 = var1.method6926(); + var5 = (var4 >> 4 & 7) + UrlRequest.field1313; + var6 = (var4 & 7) + WorldMapElement.field1622; + var7 = var1.readUnsignedShort(); + var8 = var1.method6934(); + byte var39 = var1.method6915(); + var10 = var1.readUnsignedShort(); + var11 = var1.method7059(); + var12 = var1.method6927(); + var13 = var12 >> 2; + var14 = var12 & 3; + int var15 = Client.field690[var13]; + byte var16 = var1.method6915(); + Player var17; + if (var10 == Client.localPlayerIndex) { + var17 = class67.localPlayer; + } else { + var17 = Client.players[var10]; + } + + if (var17 != null) { + ObjectComposition var18 = class245.getObjectDefinition(var8); + int var19; + int var20; + if (var14 != 1 && var14 != 3) { + var19 = var18.sizeX; + var20 = var18.sizeY; + } else { + var19 = var18.sizeY; + var20 = var18.sizeX; + } + + int var21 = var5 + (var19 >> 1); + int var22 = var5 + (var19 + 1 >> 1); + int var23 = var6 + (var20 >> 1); + int var24 = var6 + (var20 + 1 >> 1); + int[][] var25 = Tiles.Tiles_heights[VertexNormal.Client_plane]; + int var26 = var25[var22][var24] + var25[var21][var24] + var25[var22][var23] + var25[var21][var23] >> 2; + int var27 = (var5 << 7) + (var19 << 6); + int var28 = (var6 << 7) + (var20 << 6); + Model var29 = var18.getModel(var13, var14, var25, var27, var26, var28); + if (var29 != null) { + class113.updatePendingSpawn(VertexNormal.Client_plane, var5, var6, var15, -1, 0, 0, var11 + 1, var7 + 1); + var17.animationCycleStart = var11 + Client.cycle; + var17.animationCycleEnd = var7 + Client.cycle; + var17.model0 = var29; + var17.field1087 = var19 * 64 + var5 * 128; + var17.field1070 = var20 * 64 + var6 * 128; + var17.tileHeight2 = var26; + byte var30; + if (var39 > var37) { + var30 = var39; + var39 = var37; + var37 = var30; + } + + if (var38 > var16) { + var30 = var38; + var38 = var16; + var16 = var30; + } + + var17.minX = var5 + var39; + var17.maxX = var37 + var5; + var17.minY = var6 + var38; + var17.maxY = var6 + var16; + } + } + } + + } + } + } + } + } + + @ObfuscatedName("kb") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "69" + ) + static final void method2980() { + Client.field685 = Client.cycleCntr; } } diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index 0749f1745e..9196d2c855 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -1,41 +1,51 @@ -import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cc") +@ObfuscatedName("cp") @Implements("HealthBarUpdate") public class HealthBarUpdate extends Node { - @ObfuscatedName("td") - @ObfuscatedGetter( - intValue = -1732657831 + @ObfuscatedName("tx") + @ObfuscatedSignature( + descriptor = "Lmm;" ) - @Export("foundItemIdCount") - static int foundItemIdCount; - @ObfuscatedName("n") + @Export("masterDisk") + static ArchiveDisk masterDisk; + @ObfuscatedName("he") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("headIconPrayerSprites") + static SpritePixels[] headIconPrayerSprites; + @ObfuscatedName("ih") @ObfuscatedGetter( - intValue = -901271755 + intValue = -251028917 + ) + @Export("cameraYaw") + static int cameraYaw; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1748239019 ) @Export("cycle") int cycle; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -317308411 + intValue = 744846681 ) @Export("health") int health; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1457157311 + intValue = 1258923613 ) @Export("health2") int health2; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1509184493 + intValue = 2039342643 ) @Export("cycleOffset") int cycleOffset; @@ -47,10 +57,10 @@ public class HealthBarUpdate extends Node { this.cycleOffset = var4; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-1706471519" + descriptor = "(IIIIB)V", + garbageValue = "114" ) @Export("set") void set(int var1, int var2, int var3, int var4) { @@ -60,173 +70,128 @@ public class HealthBarUpdate extends Node { this.cycleOffset = var4; } - @ObfuscatedName("z") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-125" + descriptor = "(II)Ljt;", + garbageValue = "-1645463338" ) - static int method2142(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - } else { - var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; + @Export("getWidget") + public static Widget getWidget(int var0) { + int var1 = var0 >> 16; + int var2 = var0 & 65535; + if (Widget.Widget_interfaceComponents[var1] == null || Widget.Widget_interfaceComponents[var1][var2] == null) { + boolean var3 = GrandExchangeOfferTotalQuantityComparator.loadInterface(var1); + if (!var3) { + return null; + } } - Actor.invalidateWidget(var3); - if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { - if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { - var3.modelType = 2; - var3.modelId = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { - var3.modelType = 3; - var3.modelId = class129.localPlayer.appearance.getChatHeadId(); - return 1; - } else { - return 2; - } - } else { - class240.Interpreter_intStackSize -= 2; - int var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - int var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var3.itemId = var4; - var3.itemQuantity = var5; - ItemComposition var6 = class65.ItemDefinition_get(var4); - var3.modelAngleX = var6.xan2d; - var3.modelAngleY = var6.yan2d; - var3.modelAngleZ = var6.zan2d; - var3.modelOffsetX = var6.offsetX2d; - var3.modelOffsetY = var6.offsetY2d; - var3.modelZoom = var6.zoom2d; - if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { - var3.itemQuantityMode = 0; - } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | 1 == var6.isStackable) { - var3.itemQuantityMode = 1; - } else { - var3.itemQuantityMode = 2; - } + return Widget.Widget_interfaceComponents[var1][var2]; + } - if (var3.field3089 > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.field3089; - } else if (var3.rawWidth > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "328791269" + ) + public static void method2161() { + if (KeyHandler.KeyHandler_instance != null) { + synchronized(KeyHandler.KeyHandler_instance) { + KeyHandler.KeyHandler_instance = null; } + } - return 1; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-28" + ) + static final void method2158() { + if (!ViewportMouse.ViewportMouse_false0) { + int var0 = Scene.Scene_cameraPitchSine; + int var1 = Scene.Scene_cameraPitchCosine; + int var2 = Scene.Scene_cameraYawSine; + int var3 = Scene.Scene_cameraYawCosine; + byte var4 = 50; + short var5 = 3500; + int var6 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var4 / Rasterizer3D.Rasterizer3D_zoom; + int var7 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var4 / Rasterizer3D.Rasterizer3D_zoom; + int var8 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var5 / Rasterizer3D.Rasterizer3D_zoom; + int var9 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var5 / Rasterizer3D.Rasterizer3D_zoom; + int var10 = Rasterizer3D.method4141(var7, var4, var1, var0); + int var11 = Rasterizer3D.method4183(var7, var4, var1, var0); + var7 = var10; + var10 = Rasterizer3D.method4141(var9, var5, var1, var0); + int var12 = Rasterizer3D.method4183(var9, var5, var1, var0); + var9 = var10; + var10 = Rasterizer3D.method4139(var6, var11, var3, var2); + var11 = Rasterizer3D.method4125(var6, var11, var3, var2); + var6 = var10; + var10 = Rasterizer3D.method4139(var8, var12, var3, var2); + var12 = Rasterizer3D.method4125(var8, var12, var3, var2); + class122.field1426 = (var6 + var10) / 2; + ViewportMouse.field2585 = (var7 + var9) / 2; + DirectByteArrayCopier.field3212 = (var12 + var11) / 2; + MilliClock.field1588 = (var10 - var6) / 2; + ViewportMouse.field2579 = (var9 - var7) / 2; + class121.field1412 = (var12 - var11) / 2; + Interpreter.field829 = Math.abs(MilliClock.field1588); + ViewportMouse.field2580 = Math.abs(ViewportMouse.field2579); + class19.field98 = Math.abs(class121.field1412); } } - @ObfuscatedName("ed") + @ObfuscatedName("hx") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "63" + descriptor = "(III)V", + garbageValue = "-1391228177" ) - @Export("updateGameState") - static void updateGameState(int var0) { - if (var0 != Client.gameState) { - if (Client.gameState == 0) { - ArchiveDiskActionHandler.client.method465(); - } + @Export("updateItemPile") + static final void updateItemPile(int var0, int var1) { + NodeDeque var2 = Client.groundItems[VertexNormal.Client_plane][var0][var1]; + if (var2 == null) { + PlayerComposition.scene.removeGroundItemPile(VertexNormal.Client_plane, var0, var1); + } else { + long var3 = -99999999L; + TileItem var5 = null; - if (var0 == 20 || var0 == 40 || var0 == 45) { - class135.method2672(0); - Client.field546 = 0; - Client.field516 = 0; - Client.timer.method5827(var0); - if (var0 != 20) { - Varcs.method2303(false); + TileItem var6; + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + ItemComposition var7 = class87.ItemDefinition_get(var6.id); + long var11 = (long)var7.price; + if (var7.isStackable == 1) { + var11 *= (long)(var6.quantity + 1); + } + + if (var11 > var3) { + var3 = var11; + var5 = var6; } } - if (var0 != 20 && var0 != 40 && NetCache.field3738 != null) { - NetCache.field3738.close(); - NetCache.field3738 = null; - } + if (var5 == null) { + PlayerComposition.scene.removeGroundItemPile(VertexNormal.Client_plane, var0, var1); + } else { + var2.addLast(var5); + TileItem var13 = null; + TileItem var8 = null; - if (Client.gameState == 25) { - Client.field545 = 0; - Client.field639 = 0; - Client.field656 = 1; - Client.field641 = 0; - Client.field544 = 1; - } + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + if (var5.id != var6.id) { + if (var13 == null) { + var13 = var6; + } - int var1; - if (var0 != 5 && var0 != 10) { - if (var0 == 20) { - var1 = Client.gameState == 11 ? 4 : 0; - class184.method3725(MouseRecorder.archive10, World.archive8, true, var1); - } else if (var0 == 11) { - class184.method3725(MouseRecorder.archive10, World.archive8, false, 4); - } else if (Login.clearLoginScreen) { - Login.titleboxSprite = null; - Login.titlebuttonSprite = null; - Login.runesSprite = null; - class318.leftTitleSprite = null; - Login.rightTitleSprite = null; - class394.logoSprite = null; - class92.title_muteSprite = null; - ModelData0.options_buttons_0Sprite = null; - Client.options_buttons_2Sprite = null; - DevicePcmPlayerProvider.worldSelectBackSprites = null; - WorldMapSection1.worldSelectFlagSprites = null; - World.worldSelectArrows = null; - class7.worldSelectStars = null; - class275.field3281 = null; - Login.loginScreenRunesAnimation.method2151(); - class16.method218(2); - if (NetCache.NetCache_socket != null) { - try { - Buffer var3 = new Buffer(4); - var3.writeByte(2); - var3.writeMedium(0); - NetCache.NetCache_socket.write(var3.array, 0, 4); - } catch (IOException var5) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var4) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; + if (var13.id != var6.id && var8 == null) { + var8 = var6; } } - - Login.clearLoginScreen = false; } - } else { - var1 = WorldMapAreaData.method3903() ? 0 : 12; - class184.method3725(MouseRecorder.archive10, World.archive8, true, var1); - } - Client.gameState = var0; - } - } - - @ObfuscatedName("ff") - @ObfuscatedSignature( - descriptor = "(Lfa;IIII)V", - garbageValue = "1416325930" - ) - static void method2148(SequenceDefinition var0, int var1, int var2, int var3) { - if (Client.soundEffectCount < 50 && VarbitComposition.clientPreferences.areaSoundEffectsVolume != 0) { - if (var0.soundEffects != null && var1 < var0.soundEffects.length) { - int var4 = var0.soundEffects[var1]; - if (var4 != 0) { - int var5 = var4 >> 8; - int var6 = var4 >> 4 & 7; - int var7 = var4 & 15; - Client.soundEffectIds[Client.soundEffectCount] = var5; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; - Client.soundEffects[Client.soundEffectCount] = null; - int var8 = (var2 - 64) / 128; - int var9 = (var3 - 64) / 128; - Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); - ++Client.soundEffectCount; - } + long var9 = class247.calculateTag(var0, var1, 3, false, 0); + PlayerComposition.scene.newGroundItemPile(VertexNormal.Client_plane, var0, var1, MidiPcmStream.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, VertexNormal.Client_plane), var5, var9, var13, var8); } } } diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index 1e2cb8459a..21eabf3a44 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -1,117 +1,119 @@ +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fe") +@ObfuscatedName("fn") @Implements("HitSplatDefinition") public class HitSplatDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("HitSplatDefinition_archive") - static AbstractArchive HitSplatDefinition_archive; - @ObfuscatedName("c") + public static AbstractArchive HitSplatDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) - static AbstractArchive field1797; - @ObfuscatedName("k") + public static AbstractArchive field1799; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("HitSplatDefinition_cached") - public static EvictingDualNodeHashTable HitSplatDefinition_cached; - @ObfuscatedName("o") + static EvictingDualNodeHashTable HitSplatDefinition_cached; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("HitSplatDefinition_cachedSprites") - public static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; - @ObfuscatedName("g") + static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("HitSplatDefinition_cachedFonts") - public static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; - @ObfuscatedName("y") + static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1133546297 + intValue = -999465827 ) @Export("fontId") int fontId; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = -274265119 + intValue = -1782308297 ) @Export("textColor") public int textColor; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -1756131241 + intValue = -690575575 ) - public int field1804; + public int field1806; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 1463385181 + intValue = 538257601 ) - int field1800; - @ObfuscatedName("h") + int field1819; + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 337855297 - ) - int field1806; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1116832275 - ) - int field1814; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 18132261 + intValue = -1981932247 ) int field1808; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1398460241 - ) - public int field1809; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1600829023 - ) - public int field1810; @ObfuscatedName("b") @ObfuscatedGetter( - intValue = 1648565925 + intValue = 1395271941 ) - public int field1811; - @ObfuscatedName("t") - String field1812; - @ObfuscatedName("r") + int field1805; + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = 235922287 + intValue = -928172535 ) - public int field1813; + int field1812; @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 1798400573 + intValue = 1545387991 ) - public int field1817; - @ObfuscatedName("w") + public int field1811; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -994625977 + ) + public int field1810; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1479947563 + ) + public int field1813; + @ObfuscatedName("o") + String field1814; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 823337209 + ) + public int field1815; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 2097135353 + ) + public int field1798; + @ObfuscatedName("u") @Export("transforms") public int[] transforms; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = 1583927141 + intValue = 223716691 ) @Export("transformVarbit") int transformVarbit; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = -1197970835 + intValue = 1419928299 ) @Export("transformVarp") int transformVarp; @@ -125,25 +127,25 @@ public class HitSplatDefinition extends DualNode { HitSplatDefinition() { this.fontId = -1; this.textColor = 16777215; - this.field1804 = 70; - this.field1800 = -1; - this.field1806 = -1; - this.field1814 = -1; + this.field1806 = 70; + this.field1819 = -1; this.field1808 = -1; - this.field1809 = 0; + this.field1805 = -1; + this.field1812 = -1; + this.field1811 = 0; this.field1810 = 0; - this.field1811 = -1; - this.field1812 = ""; this.field1813 = -1; - this.field1817 = 0; + this.field1814 = ""; + this.field1815 = -1; + this.field1798 = 0; this.transformVarbit = -1; this.transformVarp = -1; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-1268103481" + descriptor = "(Lot;B)V", + garbageValue = "1" ) @Export("decode") void decode(Buffer var1) { @@ -157,41 +159,41 @@ public class HitSplatDefinition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "1356754774" + garbageValue = "-1523469115" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { if (var2 == 1) { - this.fontId = var1.method6985(); + this.fontId = var1.method6977(); } else if (var2 == 2) { this.textColor = var1.readMedium(); } else if (var2 == 3) { - this.field1800 = var1.method6985(); + this.field1819 = var1.method6977(); } else if (var2 == 4) { - this.field1814 = var1.method6985(); + this.field1805 = var1.method6977(); } else if (var2 == 5) { - this.field1806 = var1.method6985(); + this.field1808 = var1.method6977(); } else if (var2 == 6) { - this.field1808 = var1.method6985(); + this.field1812 = var1.method6977(); } else if (var2 == 7) { - this.field1809 = var1.readShort(); + this.field1811 = var1.readShort(); } else if (var2 == 8) { - this.field1812 = var1.readStringCp1252NullCircumfixed(); + this.field1814 = var1.readStringCp1252NullCircumfixed(); } else if (var2 == 9) { - this.field1804 = var1.readUnsignedShort(); + this.field1806 = var1.readUnsignedShort(); } else if (var2 == 10) { this.field1810 = var1.readShort(); } else if (var2 == 11) { - this.field1811 = 0; + this.field1813 = 0; } else if (var2 == 12) { - this.field1813 = var1.readUnsignedByte(); + this.field1815 = var1.readUnsignedByte(); } else if (var2 == 13) { - this.field1817 = var1.readShort(); + this.field1798 = var1.readShort(); } else if (var2 == 14) { - this.field1811 = var1.readUnsignedShort(); + this.field1813 = var1.readUnsignedShort(); } else if (var2 == 17 || var2 == 18) { this.transformVarbit = var1.readUnsignedShort(); if (this.transformVarbit == 65535) { @@ -226,16 +228,16 @@ public class HitSplatDefinition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)Lfe;", - garbageValue = "12" + descriptor = "(I)Lfn;", + garbageValue = "29382351" ) @Export("transform") public final HitSplatDefinition transform() { int var1 = -1; if (this.transformVarbit != -1) { - var1 = class247.getVarbit(this.transformVarbit); + var1 = Varcs.getVarbit(this.transformVarbit); } else if (this.transformVarp != -1) { var1 = Varps.Varps_main[this.transformVarp]; } @@ -247,17 +249,17 @@ public class HitSplatDefinition extends DualNode { var2 = this.transforms[this.transforms.length - 1]; } - return var2 != -1 ? PendingSpawn.method2120(var2) : null; + return var2 != -1 ? ItemContainer.method2057(var2) : null; } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(II)Ljava/lang/String;", - garbageValue = "-75134339" + garbageValue = "1023856164" ) @Export("getString") public String getString(int var1) { - String var2 = this.field1812; + String var2 = this.field1814; while (true) { int var3 = var2.indexOf("%1"); @@ -265,26 +267,26 @@ public class HitSplatDefinition extends DualNode { return var2; } - var2 = var2.substring(0, var3) + EnumComposition.intToString(var1, false) + var2.substring(var3 + 2); + var2 = var2.substring(0, var3) + class14.intToString(var1, false) + var2.substring(var3 + 2); } } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(B)Loc;", - garbageValue = "124" + descriptor = "(I)Lon;", + garbageValue = "-335254490" ) - public SpritePixels method3091() { - if (this.field1800 < 0) { + public SpritePixels method3159() { + if (this.field1819 < 0) { return null; } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1800); + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1819); if (var1 != null) { return var1; } else { - var1 = class258.SpriteBuffer_getSprite(field1797, this.field1800, 0); + var1 = AccessFile.SpriteBuffer_getSprite(field1799, this.field1819, 0); if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field1800); + HitSplatDefinition_cachedSprites.put(var1, (long)this.field1819); } return var1; @@ -292,58 +294,12 @@ public class HitSplatDefinition extends DualNode { } } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)Loc;", - garbageValue = "-1897521484" + descriptor = "(I)Lon;", + garbageValue = "-339502433" ) - public SpritePixels method3121() { - if (this.field1806 < 0) { - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1806); - if (var1 != null) { - return var1; - } else { - var1 = class258.SpriteBuffer_getSprite(field1797, this.field1806, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field1806); - } - - return var1; - } - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Loc;", - garbageValue = "1980072037" - ) - public SpritePixels method3122() { - if (this.field1814 < 0) { - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1814); - if (var1 != null) { - return var1; - } else { - var1 = class258.SpriteBuffer_getSprite(field1797, this.field1814, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field1814); - } - - return var1; - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(S)Loc;", - garbageValue = "18912" - ) - public SpritePixels method3107() { + public SpritePixels method3160() { if (this.field1808 < 0) { return null; } else { @@ -351,7 +307,7 @@ public class HitSplatDefinition extends DualNode { if (var1 != null) { return var1; } else { - var1 = class258.SpriteBuffer_getSprite(field1797, this.field1808, 0); + var1 = AccessFile.SpriteBuffer_getSprite(field1799, this.field1808, 0); if (var1 != null) { HitSplatDefinition_cachedSprites.put(var1, (long)this.field1808); } @@ -361,10 +317,56 @@ public class HitSplatDefinition extends DualNode { } } - @ObfuscatedName("l") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(B)Llu;", - garbageValue = "-96" + descriptor = "(I)Lon;", + garbageValue = "325937960" + ) + public SpritePixels method3161() { + if (this.field1805 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1805); + if (var1 != null) { + return var1; + } else { + var1 = AccessFile.SpriteBuffer_getSprite(field1799, this.field1805, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field1805); + } + + return var1; + } + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Lon;", + garbageValue = "-2096069020" + ) + public SpritePixels method3177() { + if (this.field1812 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field1812); + if (var1 != null) { + return var1; + } else { + var1 = AccessFile.SpriteBuffer_getSprite(field1799, this.field1812, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field1812); + } + + return var1; + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(I)Llt;", + garbageValue = "-1973246933" ) @Export("getFont") public Font getFont() { @@ -375,7 +377,7 @@ public class HitSplatDefinition extends DualNode { if (var1 != null) { return var1; } else { - var1 = AbstractSocket.method6107(field1797, class245.HitSplatDefinition_fontsArchive, this.fontId, 0); + var1 = Actor.method2153(field1799, class17.HitSplatDefinition_fontsArchive, this.fontId, 0); if (var1 != null) { HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId); } @@ -385,80 +387,269 @@ public class HitSplatDefinition extends DualNode { } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IB)Lff;", - garbageValue = "28" + descriptor = "(ILjava/lang/String;Lkn;II)Lis;", + garbageValue = "1268577977" ) - @Export("getObjectDefinition") - public static ObjectComposition getObjectDefinition(int var0) { - ObjectComposition var1 = (ObjectComposition)ObjectComposition.ObjectDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; + public static PacketBufferNode method3197(int var0, String var1, Language var2, int var3) { + PacketBufferNode var4 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2754, Client.packetWriter.isaacCipher); + var4.packetBuffer.writeByte(0); + int var5 = var4.packetBuffer.offset; + var4.packetBuffer.writeByte(var0); + String var6 = var1.toLowerCase(); + byte var7 = 0; + if (var6.startsWith("yellow:")) { + var7 = 0; + var1 = var1.substring("yellow:".length()); + } else if (var6.startsWith("red:")) { + var7 = 1; + var1 = var1.substring("red:".length()); + } else if (var6.startsWith("green:")) { + var7 = 2; + var1 = var1.substring("green:".length()); + } else if (var6.startsWith("cyan:")) { + var7 = 3; + var1 = var1.substring("cyan:".length()); + } else if (var6.startsWith("purple:")) { + var7 = 4; + var1 = var1.substring("purple:".length()); + } else if (var6.startsWith("white:")) { + var7 = 5; + var1 = var1.substring("white:".length()); + } else if (var6.startsWith("flash1:")) { + var7 = 6; + var1 = var1.substring("flash1:".length()); + } else if (var6.startsWith("flash2:")) { + var7 = 7; + var1 = var1.substring("flash2:".length()); + } else if (var6.startsWith("flash3:")) { + var7 = 8; + var1 = var1.substring("flash3:".length()); + } else if (var6.startsWith("glow1:")) { + var7 = 9; + var1 = var1.substring("glow1:".length()); + } else if (var6.startsWith("glow2:")) { + var7 = 10; + var1 = var1.substring("glow2:".length()); + } else if (var6.startsWith("glow3:")) { + var7 = 11; + var1 = var1.substring("glow3:".length()); + } else if (var2 != Language.Language_EN) { + if (var6.startsWith("yellow:")) { + var7 = 0; + var1 = var1.substring("yellow:".length()); + } else if (var6.startsWith("red:")) { + var7 = 1; + var1 = var1.substring("red:".length()); + } else if (var6.startsWith("green:")) { + var7 = 2; + var1 = var1.substring("green:".length()); + } else if (var6.startsWith("cyan:")) { + var7 = 3; + var1 = var1.substring("cyan:".length()); + } else if (var6.startsWith("purple:")) { + var7 = 4; + var1 = var1.substring("purple:".length()); + } else if (var6.startsWith("white:")) { + var7 = 5; + var1 = var1.substring("white:".length()); + } else if (var6.startsWith("flash1:")) { + var7 = 6; + var1 = var1.substring("flash1:".length()); + } else if (var6.startsWith("flash2:")) { + var7 = 7; + var1 = var1.substring("flash2:".length()); + } else if (var6.startsWith("flash3:")) { + var7 = 8; + var1 = var1.substring("flash3:".length()); + } else if (var6.startsWith("glow1:")) { + var7 = 9; + var1 = var1.substring("glow1:".length()); + } else if (var6.startsWith("glow2:")) { + var7 = 10; + var1 = var1.substring("glow2:".length()); + } else if (var6.startsWith("glow3:")) { + var7 = 11; + var1 = var1.substring("glow3:".length()); + } + } + + var6 = var1.toLowerCase(); + byte var8 = 0; + if (var6.startsWith("wave:")) { + var8 = 1; + var1 = var1.substring("wave:".length()); + } else if (var6.startsWith("wave2:")) { + var8 = 2; + var1 = var1.substring("wave2:".length()); + } else if (var6.startsWith("shake:")) { + var8 = 3; + var1 = var1.substring("shake:".length()); + } else if (var6.startsWith("scroll:")) { + var8 = 4; + var1 = var1.substring("scroll:".length()); + } else if (var6.startsWith("slide:")) { + var8 = 5; + var1 = var1.substring("slide:".length()); + } else if (var2 != Language.Language_EN) { + if (var6.startsWith("wave:")) { + var8 = 1; + var1 = var1.substring("wave:".length()); + } else if (var6.startsWith("wave2:")) { + var8 = 2; + var1 = var1.substring("wave2:".length()); + } else if (var6.startsWith("shake:")) { + var8 = 3; + var1 = var1.substring("shake:".length()); + } else if (var6.startsWith("scroll:")) { + var8 = 4; + var1 = var1.substring("scroll:".length()); + } else if (var6.startsWith("slide:")) { + var8 = 5; + var1 = var1.substring("slide:".length()); + } + } + + var4.packetBuffer.writeByte(var7); + var4.packetBuffer.writeByte(var8); + class157.method2985(var4.packetBuffer, var1); + if (var0 == class269.field3219.rsOrdinal()) { + var4.packetBuffer.writeByte(var3); + } + + var4.packetBuffer.method6918(var4.packetBuffer.offset - var5); + return var4; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(IIS)Lbo;", + garbageValue = "255" + ) + @Export("Messages_getByChannelAndID") + static Message Messages_getByChannelAndID(int var0, int var1) { + ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); + return var2.getMessage(var1); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lew;IIS)Laq;", + garbageValue = "-16257" + ) + public static final PcmPlayer method3194(TaskHandler var0, int var1, int var2) { + if (PcmPlayer.field279 == 0) { + throw new IllegalStateException(); + } else if (var1 >= 0 && var1 < 2) { + if (var2 < 256) { + var2 = 256; + } + + try { + PcmPlayer var3 = GraphicsObject.pcmPlayerProvider.player(); + var3.samples = new int[(PcmPlayer.PcmPlayer_stereo ? 2 : 1) * 256]; + var3.field272 = var2; + var3.init(); + var3.capacity = (var2 & -1024) + 1024; + if (var3.capacity > 16384) { + var3.capacity = 16384; + } + + var3.open(var3.capacity); + if (PcmPlayer.field283 > 0 && Skeleton.soundSystem == null) { + Skeleton.soundSystem = new SoundSystem(); + PcmPlayer.soundSystemExecutor = Executors.newScheduledThreadPool(1); + PcmPlayer.soundSystemExecutor.scheduleAtFixedRate(Skeleton.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); + } + + if (Skeleton.soundSystem != null) { + if (Skeleton.soundSystem.players[var1] != null) { + throw new IllegalArgumentException(); + } + + Skeleton.soundSystem.players[var1] = var3; + } + + return var3; + } catch (Throwable var4) { + return new PcmPlayer(); + } } else { - byte[] var2 = ObjectComposition.ObjectDefinition_archive.takeFile(6, var0); - var1 = new ObjectComposition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - if (var1.isSolid) { - var1.interactType = 0; - var1.boolean1 = false; - } - - ObjectComposition.ObjectDefinition_cached.put(var1, (long)var0); - return var1; + throw new IllegalArgumentException(); } } - @ObfuscatedName("n") + @ObfuscatedName("is") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "153503644" + descriptor = "(IIIIIIB)V", + garbageValue = "42" ) - public static void method3115() { - if (KeyHandler.KeyHandler_instance != null) { - synchronized(KeyHandler.KeyHandler_instance) { - KeyHandler.KeyHandler_instance = null; - } + static final void method3162(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; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(CI)C", - garbageValue = "-836457989" - ) - static char method3123(char var0) { - if (var0 == 198) { - return 'E'; - } else if (var0 == 230) { - return 'e'; - } else if (var0 == 223) { - return 's'; - } else if (var0 == 338) { - return 'E'; - } else { - return (char)(var0 == 339 ? 'e' : '\u0000'); + int var13 = var5 * var12 >> 17; + int var14 = var5 * var12 + 1 >> 17; + int var15 = var5 * var11 >> 17; + int var16 = var5 * var11 + 1 >> 17; + var0 -= Rasterizer2D.Rasterizer2D_xClipStart; + var1 -= Rasterizer2D.Rasterizer2D_yClipStart; + int var17 = var0 + var13; + int var18 = var0 - var14; + int var19 = var0 + var6 - var14; + int var20 = var0 + var6 + var13; + int var21 = var15 + var1; + int var22 = var1 - var16; + int var23 = var7 + var1 - var16; + int var24 = var7 + var15 + var1; + Rasterizer3D.method4127(var17, var18, var19); + Rasterizer3D.method4130(var21, var22, var23, var17, var18, var19, var4); + Rasterizer3D.method4127(var17, var19, var20); + Rasterizer3D.method4130(var21, var23, var24, var17, var19, var20, var4); } } - @ObfuscatedName("g") + @ObfuscatedName("kv") @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "1906173449" + descriptor = "(Ljava/lang/String;ZI)Ljava/lang/String;", + garbageValue = "-1703178883" ) - static boolean method3108(char var0) { - for (int var1 = 0; var1 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var1) { - if (var0 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var1)) { - return true; - } + static String method3168(String var0, boolean var1) { + String var2 = var1 ? "https://" : "http://"; + if (Client.gameBuild == 1) { + var0 = var0 + "-wtrc"; + } else if (Client.gameBuild == 2) { + var0 = var0 + "-wtqa"; + } else if (Client.gameBuild == 3) { + var0 = var0 + "-wtwip"; + } else if (Client.gameBuild == 5) { + var0 = var0 + "-wti"; + } else if (Client.gameBuild == 4) { + var0 = "local"; } - return false; + String var3 = ""; + if (ItemContainer.field1009 != null) { + var3 = "/p=" + ItemContainer.field1009; + } + + String var4 = "runescape.com"; + return var2 + var0 + "." + var4 + "/l=" + ReflectionCheck.clientLanguage + "/a=" + KeyHandler.field142 + var3 + "/"; } } diff --git a/runescape-client/src/main/java/HorizontalAlignment.java b/runescape-client/src/main/java/HorizontalAlignment.java index 3dbb47452b..2f5393450c 100644 --- a/runescape-client/src/main/java/HorizontalAlignment.java +++ b/runescape-client/src/main/java/HorizontalAlignment.java @@ -4,35 +4,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fs") +@ObfuscatedName("fp") @Implements("HorizontalAlignment") public enum HorizontalAlignment implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lfs;" + descriptor = "Lfp;" ) - field1697(0, 0), - @ObfuscatedName("c") + field1708(0, 0), + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lfs;" + descriptor = "Lfp;" ) @Export("HorizontalAlignment_centered") - HorizontalAlignment_centered(1, 1), - @ObfuscatedName("m") + HorizontalAlignment_centered(2, 1), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lfs;" + descriptor = "Lfp;" ) - field1699(2, 2); + field1707(1, 2); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 514684703 + intValue = -1382972063 ) @Export("value") public final int value; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1489596043 + intValue = 2031336539 ) @Export("id") final int id; @@ -42,63 +42,137 @@ public enum HorizontalAlignment implements MouseWheel { this.id = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)[Lfc;", - garbageValue = "164653806" + descriptor = "(Lt;I)Lj;", + garbageValue = "177330026" ) - static VerticalAlignment[] method2943() { - return new VerticalAlignment[]{VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field1741, VerticalAlignment.field1746}; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1870889270" - ) - public static void method2949() { - class54.reflectionChecks = new IterableNodeDeque(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)Lfz;", - garbageValue = "2060571057" - ) - @Export("StructDefinition_getStructDefinition") - public static StructComposition StructDefinition_getStructDefinition(int var0) { - StructComposition var1 = (StructComposition)StructComposition.StructDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = StructComposition.StructDefinition_archive.takeFile(34, var0); - var1 = new StructComposition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - StructComposition.StructDefinition_cached.put(var1, (long)var0); - return var1; + public static class3 method3014(class6 var0) { + switch(var0.field18) { + case 0: + return new class0(); + default: + throw new IllegalArgumentException(); } } - @ObfuscatedName("gw") + @ObfuscatedName("hy") @ObfuscatedSignature( - descriptor = "(Lcf;II)V", - garbageValue = "-1815882612" + descriptor = "(I)V", + garbageValue = "1291496924" ) - static final void method2947(Actor var0, int var1) { - Login.worldToScreen(var0.x, var0.y, var1); + static final void method3008() { + for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var0.hitpoints > 0) { + --var0.hitpoints; + } + + boolean var1; + int var2; + int var3; + ObjectComposition var4; + if (var0.hitpoints == 0) { + if (var0.objectId >= 0) { + var2 = var0.objectId; + var3 = var0.field1096; + var4 = class245.getObjectDefinition(var2); + if (var3 == 11) { + var3 = 10; + } + + if (var3 >= 5 && var3 <= 8) { + var3 = 4; + } + + var1 = var4.method3213(var3); + if (!var1) { + continue; + } + } + + ServerPacket.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.objectId, var0.field1095, var0.field1096); + var0.remove(); + } else { + if (var0.delay > 0) { + --var0.delay; + } + + if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102) { + if (var0.id >= 0) { + var2 = var0.id; + var3 = var0.field1104; + var4 = class245.getObjectDefinition(var2); + if (var3 == 11) { + var3 = 10; + } + + if (var3 >= 5 && var3 <= 8) { + var3 = 4; + } + + var1 = var4.method3213(var3); + if (!var1) { + continue; + } + } + + ServerPacket.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field1104); + var0.delay = -1; + if (var0.id == var0.objectId && var0.objectId == -1) { + var0.remove(); + } else if (var0.id == var0.objectId && var0.field1095 == var0.orientation && var0.field1096 == var0.field1104) { + var0.remove(); + } + } + } + } + + } + + @ObfuscatedName("iq") + @ObfuscatedSignature( + descriptor = "(Ljt;III)V", + garbageValue = "2115549302" + ) + @Export("alignWidgetPosition") + static void alignWidgetPosition(Widget var0, int var1, int var2) { + if (var0.xAlignment == 0) { + var0.x = var0.rawX; + } else if (var0.xAlignment == 1) { + var0.x = var0.rawX + (var1 - var0.width) / 2; + } else if (var0.xAlignment == 2) { + var0.x = var1 - var0.width - var0.rawX; + } else if (var0.xAlignment == 3) { + var0.x = var0.rawX * var1 >> 14; + } else if (var0.xAlignment == 4) { + var0.x = (var1 - var0.width) / 2 + (var0.rawX * var1 >> 14); + } else { + var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); + } + + if (var0.yAlignment == 0) { + var0.y = var0.rawY; + } else if (var0.yAlignment == 1) { + var0.y = (var2 - var0.height) / 2 + var0.rawY; + } else if (var0.yAlignment == 2) { + var0.y = var2 - var0.height - var0.rawY; + } else if (var0.yAlignment == 3) { + var0.y = var2 * var0.rawY >> 14; + } else if (var0.yAlignment == 4) { + var0.y = (var2 * var0.rawY >> 14) + (var2 - var0.height) / 2; + } else { + var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); + } + } } diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index 19614c8f47..dc978c390d 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -1,21 +1,30 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jc") +@ObfuscatedName("jn") @Implements("Huffman") public class Huffman { - @ObfuscatedName("a") - @Export("ItemDefinition_inMembersWorld") - public static boolean ItemDefinition_inMembersWorld; + @ObfuscatedName("m") + @Export("ArchiveDiskActionHandler_thread") + static Thread ArchiveDiskActionHandler_thread; + @ObfuscatedName("s") + static int[][][] field3203; @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 720432763 + ) + @Export("canvasWidth") + public static int canvasWidth; + @ObfuscatedName("l") @Export("masks") int[] masks; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("bits") byte[] bits; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("keys") int[] keys; @@ -44,7 +53,7 @@ public class Huffman { for (var10 = var6 - 1; var10 >= 1; --var10) { var11 = var3[var10]; - if (var8 != var11) { + if (var11 != var8) { break; } @@ -102,10 +111,10 @@ public class Huffman { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "([BII[BII)I", - garbageValue = "743911469" + garbageValue = "-1770389833" ) @Export("compress") int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { @@ -123,7 +132,7 @@ public class Huffman { int var11 = var7 >> 3; int var12 = var7 & 7; var6 &= -var12 >> 31; - int var13 = (var12 + var10 - 1 >> 3) + var11; + int var13 = (var10 + var12 - 1 >> 3) + var11; var12 += 24; var4[var11] = (byte)(var6 |= var9 >>> var12); if (var11 < var13) { @@ -153,10 +162,10 @@ public class Huffman { return (var7 + 7 >> 3) - var5; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "([BI[BIII)I", - garbageValue = "141033837" + garbageValue = "1079719543" ) @Export("decompress") int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) { @@ -296,98 +305,4 @@ public class Huffman { return var7 + 1 - var2; } } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljc;B)V", - garbageValue = "-78" - ) - public static void method5007(Huffman var0) { - class264.huffman = var0; - } - - @ObfuscatedName("hy") - @ObfuscatedSignature( - descriptor = "(ZLoq;I)V", - garbageValue = "-1535090949" - ) - static final void method5011(boolean var0, PacketBuffer var1) { - while (true) { - if (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { - int var2 = var1.readBits(15); - if (var2 != 32767) { - boolean var3 = false; - if (Client.npcs[var2] == null) { - Client.npcs[var2] = new NPC(); - var3 = true; - } - - NPC var4 = Client.npcs[var2]; - Client.npcIndices[++Client.npcCount - 1] = var2; - var4.npcCycle = Client.cycle; - int var6; - if (var0) { - var6 = var1.readBits(8); - if (var6 > 127) { - var6 -= 256; - } - } else { - var6 = var1.readBits(5); - if (var6 > 15) { - var6 -= 32; - } - } - - int var8 = Client.defaultRotations[var1.readBits(3)]; - if (var3) { - var4.orientation = var4.rotation = var8; - } - - int var5 = var1.readBits(1); - int var9 = var1.readBits(1); - if (var9 == 1) { - Client.field533[++Client.field560 - 1] = var2; - } - - int var7; - if (var0) { - var7 = var1.readBits(8); - if (var7 > 127) { - var7 -= 256; - } - } else { - var7 = var1.readBits(5); - if (var7 > 15) { - var7 -= 32; - } - } - - var4.definition = ScriptEvent.getNpcDefinition(var1.readBits(14)); - boolean var10 = var1.readBits(1) == 1; - if (var10) { - var1.readBits(32); - } - - var4.field1137 = var4.definition.size; - var4.field1146 = var4.definition.rotation; - if (var4.field1146 == 0) { - var4.rotation = 0; - } - - var4.walkSequence = var4.definition.walkSequence; - var4.walkBackSequence = var4.definition.walkBackSequence; - var4.walkLeftSequence = var4.definition.walkLeftSequence; - var4.walkRightSequence = var4.definition.walkRightSequence; - var4.idleSequence = var4.definition.idleSequence; - var4.turnLeftSequence = var4.definition.turnLeftSequence; - var4.turnRightSequence = var4.definition.turnRightSequence; - var4.method2224(class129.localPlayer.pathX[0] + var6, class129.localPlayer.pathY[0] + var7, var5 == 1); - continue; - } - } - - var1.exportIndex(); - return; - } - } } diff --git a/runescape-client/src/main/java/IgnoreList.java b/runescape-client/src/main/java/IgnoreList.java index 7aa6431daa..3add063328 100644 --- a/runescape-client/src/main/java/IgnoreList.java +++ b/runescape-client/src/main/java/IgnoreList.java @@ -1,56 +1,50 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lw") +@ObfuscatedName("ln") @Implements("IgnoreList") public class IgnoreList extends UserList { - @ObfuscatedName("sg") - @ObfuscatedGetter( - intValue = 1060478283 - ) - static int field3918; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) @Export("loginType") final LoginType loginType; @ObfuscatedSignature( - descriptor = "(Lnf;)V" + descriptor = "(Lny;)V" ) public IgnoreList(LoginType var1) { super(400); this.loginType = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lle;", - garbageValue = "27" + descriptor = "(I)Llu;", + garbageValue = "396333118" ) @Export("newInstance") User newInstance() { return new Ignored(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)[Lle;", - garbageValue = "-1704587572" + descriptor = "(II)[Llu;", + garbageValue = "1129798936" ) @Export("newTypedArray") User[] newTypedArray(int var1) { return new Ignored[var1]; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "6" + descriptor = "(Lot;II)V", + garbageValue = "2059632689" ) @Export("read") public void read(Buffer var1, int var2) { @@ -65,7 +59,7 @@ public class IgnoreList extends UserList { Ignored var7 = (Ignored)this.getByCurrentUsername(var5); if (var4) { Ignored var8 = (Ignored)this.getByCurrentUsername(var6); - if (var8 != null && var8 != var7) { + if (var8 != null && var7 != var8) { if (var7 != null) { this.remove(var8); } else { @@ -94,761 +88,19 @@ public class IgnoreList extends UserList { } } - @ObfuscatedName("hv") + @ObfuscatedName("aa") @ObfuscatedSignature( - descriptor = "(IIIILjava/lang/String;Ljava/lang/String;IIB)V", - garbageValue = "-29" + descriptor = "([BIII)I", + garbageValue = "618832095" ) - @Export("menuAction") - static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { - if (var2 >= 2000) { - var2 -= 2000; - } - - PacketBufferNode var8; - if (var2 == 1) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2683, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(Tiles.selectedItemWidget); - var8.packetBuffer.writeShort(DesktopPlatformInfoProvider.selectedItemSlot); - var8.packetBuffer.method6852(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.writeShort(class320.baseY + var1); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShort(class92.selectedItemId); - Client.packetWriter.addNode(var8); - } else if (var2 == 2) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2672, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6852(var3); - var8.packetBuffer.writeShort(class320.baseY + var1); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6951(Client.selectedSpellChildIndex); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6951(Client.field645); - var8.packetBuffer.writeInt(WorldMapEvent.selectedSpellWidget); - Client.packetWriter.addNode(var8); - } else if (var2 == 3) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2709, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6851(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6951(class320.baseY + var1); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var8); - } else if (var2 == 4) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2653, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.method6851(class320.baseY + var1); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 5) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2732, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6852(var3); - var8.packetBuffer.method6852(class320.baseY + var1); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - Client.packetWriter.addNode(var8); - } else if (var2 == 6) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2710, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6852(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.method6851(class320.baseY + var1); - Client.packetWriter.addNode(var8); - } else { - PacketBufferNode var9; - NPC var13; - if (var2 == 7) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2680, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6852(class92.selectedItemId); - var9.packetBuffer.method6861(Tiles.selectedItemWidget); - var9.packetBuffer.method6852(DesktopPlatformInfoProvider.selectedItemSlot); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 8) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2743, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeIntME(WorldMapEvent.selectedSpellWidget); - var9.packetBuffer.method6851(var3); - var9.packetBuffer.method6851(Client.field645); - var9.packetBuffer.writeShort(Client.selectedSpellChildIndex); - var9.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 9) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2706, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6951(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 10) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2728, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 11) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2660, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6951(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 12) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2646, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 13) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2658, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var9); - } - } else { - Player var15; - if (var2 == 14) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2693, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6951(var3); - var9.packetBuffer.writeShort(DesktopPlatformInfoProvider.selectedItemSlot); - var9.packetBuffer.method6851(class92.selectedItemId); - var9.packetBuffer.writeIntME(Tiles.selectedItemWidget); - var9.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 15) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2685, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(Client.field645); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeInt(WorldMapEvent.selectedSpellWidget); - var9.packetBuffer.method6852(Client.selectedSpellChildIndex); - var9.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 16) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2640, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(class320.baseY + var1); - var8.packetBuffer.method6861(Tiles.selectedItemWidget); - var8.packetBuffer.method6852(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6852(DesktopPlatformInfoProvider.selectedItemSlot); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.writeShort(class92.selectedItemId); - var8.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 17) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2643, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6852(Client.selectedSpellChildIndex); - var8.packetBuffer.writeInt(WorldMapEvent.selectedSpellWidget); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.writeShort(class320.baseY + var1); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6951(Client.field645); - Client.packetWriter.addNode(var8); - } else if (var2 == 18) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2724, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6851(class320.baseY + var1); - var8.packetBuffer.method6852(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var8); - } else if (var2 == 19) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2729, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.method6852(class320.baseY + var1); - var8.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 20) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2659, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6851(class320.baseY + var1); - var8.packetBuffer.method6851(var3); - var8.packetBuffer.writeShort(var0 + FloorOverlayDefinition.baseX); - Client.packetWriter.addNode(var8); - } else if (var2 == 21) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2702, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6851(var3); - var8.packetBuffer.method6851(class320.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 22) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2740, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.method6851(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method6951(class320.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 23) { - if (Client.isMenuOpen) { - CollisionMap.scene.setViewportWalking(); - } else { - CollisionMap.scene.menuOpen(class391.Client_plane, var0, var1, true); - } - } else { - PacketBufferNode var10; - Widget var16; - if (var2 == 24) { - var16 = class87.getWidget(var1); - boolean var11 = true; - if (var16.contentType > 0) { - var11 = class119.method2508(var16); - } - - if (var11) { - var10 = FriendSystem.getPacketBufferNode(ClientPacket.field2662, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var10); - } - } else { - if (var2 == 25) { - var16 = ParamComposition.getWidgetChild(var1, var0); - if (var16 != null) { - ReflectionCheck.Widget_runOnTargetLeave(); - DirectByteArrayCopier.selectSpell(var1, var0, class138.Widget_unpackTargetMask(Decimator.getWidgetFlags(var16)), var16.itemId); - Client.isItemSelected = 0; - Client.selectedSpellActionName = FileSystem.Widget_getSpellActionName(var16); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - if (var16.isIf3) { - Client.selectedSpellName = var16.dataText + class54.colorStartTag(16777215); - } else { - Client.selectedSpellName = class54.colorStartTag(65280) + var16.spellName + class54.colorStartTag(16777215); - } - } - - return; - } - - if (var2 == 26) { - FriendsChat.method5904(); - } else { - int var12; - Widget var14; - if (var2 == 28) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2662, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - var14 = class87.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var12 = var14.cs1Instructions[0][1]; - Varps.Varps_main[var12] = 1 - Varps.Varps_main[var12]; - InvDefinition.changeGameOptions(var12); - } - } else if (var2 == 29) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2662, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - var14 = class87.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var12 = var14.cs1Instructions[0][1]; - if (Varps.Varps_main[var12] != var14.cs1ComparisonValues[0]) { - Varps.Varps_main[var12] = var14.cs1ComparisonValues[0]; - InvDefinition.changeGameOptions(var12); - } - } - } else if (var2 == 30) { - if (Client.meslayerContinueWidget == null) { - DevicePcmPlayerProvider.resumePauseWidget(var1, var0); - Client.meslayerContinueWidget = ParamComposition.getWidgetChild(var1, var0); - Actor.invalidateWidget(Client.meslayerContinueWidget); - } - } else if (var2 == 31) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2652, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var0); - var8.packetBuffer.method6860(var1); - var8.packetBuffer.method6951(class92.selectedItemId); - var8.packetBuffer.writeInt(Tiles.selectedItemWidget); - var8.packetBuffer.method6851(DesktopPlatformInfoProvider.selectedItemSlot); - var8.packetBuffer.method6852(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 32) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2745, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(WorldMapEvent.selectedSpellWidget); - var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.method6852(var3); - var8.packetBuffer.method6951(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 33) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2708, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var1); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method6852(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 34) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2694, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var0); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 35) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2718, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6852(var0); - var8.packetBuffer.writeIntME(var1); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 36) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2681, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var0); - var8.packetBuffer.method6852(var3); - var8.packetBuffer.method6861(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 37) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2642, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method6861(var1); - var8.packetBuffer.method6852(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else { - if (var2 == 38) { - ReflectionCheck.Widget_runOnTargetLeave(); - var16 = class87.getWidget(var1); - Client.isItemSelected = 1; - DesktopPlatformInfoProvider.selectedItemSlot = var0; - Tiles.selectedItemWidget = var1; - class92.selectedItemId = var3; - Actor.invalidateWidget(var16); - Client.selectedItemName = class54.colorStartTag(16748608) + class65.ItemDefinition_get(var3).name + class54.colorStartTag(16777215); - if (Client.selectedItemName == null) { - Client.selectedItemName = "null"; - } - - return; - } - - if (var2 == 39) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2682, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.method6852(var0); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 40) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2663, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var3); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.method6852(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 41) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2734, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.writeShort(var0); - var8.packetBuffer.method6861(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 42) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2705, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var0); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.writeIntME(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 43) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2674, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var3); - var8.packetBuffer.method6860(var1); - var8.packetBuffer.method6851(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 44) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2670, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 45) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2741, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6951(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 46) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2651, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 47) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2715, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6851(var3); - var9.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 48) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2648, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 49) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2657, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method6841(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 50) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2676, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6951(var3); - var9.packetBuffer.method6819(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 51) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2713, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6843(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method6951(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 != 57 && var2 != 1007) { - if (var2 == 58) { - var16 = ParamComposition.getWidgetChild(var1, var0); - if (var16 != null) { - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2655, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6951(var16.itemId); - var9.packetBuffer.writeInt(WorldMapEvent.selectedSpellWidget); - var9.packetBuffer.method6951(Client.selectedSpellChildIndex); - var9.packetBuffer.method6860(var1); - var9.packetBuffer.writeShort(var0); - var9.packetBuffer.method6951(Client.field645); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 1001) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2649, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var0 + FloorOverlayDefinition.baseX); - var8.packetBuffer.method6851(class320.baseY + var1); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 1002) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2746, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var8); - } else if (var2 == 1003) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var13 = Client.npcs[var3]; - if (var13 != null) { - NPCComposition var17 = var13.definition; - if (var17.transforms != null) { - var17 = var17.transform(); - } - - if (var17 != null) { - var10 = FriendSystem.getPacketBufferNode(ClientPacket.field2721, Client.packetWriter.isaacCipher); - var10.packetBuffer.method6852(var17.id); - Client.packetWriter.addNode(var10); - } - } - } else if (var2 == 1004) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2712, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var8); - } else if (var2 == 1005) { - var16 = class87.getWidget(var1); - if (var16 != null && var16.itemQuantities[var0] >= 100000) { - SecureRandomCallable.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + class65.ItemDefinition_get(var3).name); - } else { - var9 = FriendSystem.getPacketBufferNode(ClientPacket.field2712, Client.packetWriter.isaacCipher); - var9.packetBuffer.method6851(var3); - Client.packetWriter.addNode(var9); - } - - Client.field727 = 0; - FriendsChat.field3934 = class87.getWidget(var1); - Client.field593 = var0; - } else if (var2 == 1010 || var2 == 1011 || var2 == 1008 || var2 == 1009 || var2 == 1012) { - class65.worldMap.worldMapMenuAction(var2, var3, new Coord(var0), new Coord(var1)); - } - } else { - var16 = ParamComposition.getWidgetChild(var1, var0); - if (var16 != null) { - MouseHandler.widgetDefaultMenuAction(var3, var1, var0, var16.itemId, var5); - } - } - } - } - } - } - } - } - - if (Client.isItemSelected != 0) { - Client.isItemSelected = 0; - Actor.invalidateWidget(class87.getWidget(Tiles.selectedItemWidget)); - } - - if (Client.isSpellSelected) { - ReflectionCheck.Widget_runOnTargetLeave(); - } - - if (FriendsChat.field3934 != null && Client.field727 == 0) { - Actor.invalidateWidget(FriendsChat.field3934); + static int method5946(byte[] var0, int var1, int var2) { + int var3 = -1; + + for (int var4 = var1; var4 < var2; ++var4) { + var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; } + var3 = ~var3; + return var3; } } diff --git a/runescape-client/src/main/java/Ignored.java b/runescape-client/src/main/java/Ignored.java index addabb1b65..c71ae99e50 100644 --- a/runescape-client/src/main/java/Ignored.java +++ b/runescape-client/src/main/java/Ignored.java @@ -3,14 +3,21 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ml") +@ObfuscatedName("mo") @Implements("Ignored") public class Ignored extends User { - @ObfuscatedName("n") + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + static Bounds field3969; + @ObfuscatedName("bd") + @Export("otp") + static String otp; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -831715971 + intValue = 1208503279 ) @Export("id") int id; @@ -18,20 +25,20 @@ public class Ignored extends User { Ignored() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lml;I)I", - garbageValue = "-1906046091" + descriptor = "(Lmo;I)I", + garbageValue = "1729622870" ) @Export("compareTo_ignored") int compareTo_ignored(Ignored var1) { return this.id - var1.id; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lle;I)I", - garbageValue = "-1041307648" + descriptor = "(Llu;B)I", + garbageValue = "-81" ) @Export("compareTo_user") public int compareTo_user(User var1) { @@ -41,176 +48,4 @@ public class Ignored extends User { public int compareTo(Object var1) { return this.compareTo_ignored((Ignored)var1); } - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "117" - ) - static int method6061(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.OC_NAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class65.ItemDefinition_get(var3).name; - return 1; - } else { - int var4; - ItemComposition var5; - if (var0 == ScriptOpcodes.OC_OP) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = class65.ItemDefinition_get(var3); - if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_IOP) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = class65.ItemDefinition_get(var3); - if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_COST) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class65.ItemDefinition_get(var3).price; - return 1; - } else if (var0 == ScriptOpcodes.OC_STACKABLE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class65.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0; - return 1; - } else { - ItemComposition var7; - if (var0 == ScriptOpcodes.OC_CERT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = class65.ItemDefinition_get(var3); - if (var7.noteTemplate == -1 && var7.note >= 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.note; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_UNCERT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = class65.ItemDefinition_get(var3); - if (var7.noteTemplate >= 0 && var7.note >= 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.note; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_MEMBERS) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class65.ItemDefinition_get(var3).isMembersOnly ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = class65.ItemDefinition_get(var3); - if (var7.placeholderTemplate == -1 && var7.placeholder >= 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.placeholder; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = class65.ItemDefinition_get(var3); - if (var7.placeholderTemplate >= 0 && var7.placeholder >= 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.placeholder; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_FIND) { - String var6 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - UserComparator3.findItemDefinitions(var6, var4 == 1); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = HealthBarUpdate.foundItemIdCount; - return 1; - } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { - if (var0 == ScriptOpcodes.OC_FINDRESET) { - KeyHandler.foundItemIndex = 0; - return 1; - } else if (var0 == 4213) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class65.ItemDefinition_get(var3).getShiftClickIndex(); - if (var4 == -1) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4 + 1; - } - - return 1; - } else { - return 2; - } - } else { - if (class7.foundItemIds != null && KeyHandler.foundItemIndex < HealthBarUpdate.foundItemIdCount) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class7.foundItemIds[++KeyHandler.foundItemIndex - 1] & '\uffff'; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } - - return 1; - } - } - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "148563653" - ) - public static int method6065(byte[] var0, int var1, int var2) { - int var3 = -1; - - for (int var4 = var1; var4 < var2; ++var4) { - var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; - } - - var3 = ~var3; - return var3; - } - - @ObfuscatedName("ge") - @ObfuscatedSignature( - descriptor = "(Lco;B)Z", - garbageValue = "8" - ) - static boolean method6063(Player var0) { - if (Client.drawPlayerNames == 0) { - return false; - } else if (class129.localPlayer == var0) { - return class1.method9(); - } else { - boolean var1 = ObjectSound.method1734(); - boolean var2; - if (!var1) { - var2 = (Client.drawPlayerNames & 1) != 0; - var1 = var2 && var0.isFriend(); - } - - var2 = var1; - if (!var1) { - boolean var3 = (Client.drawPlayerNames & 2) != 0; - var2 = var3 && var0.isFriendsChatMember(); - } - - return var2; - } - } } diff --git a/runescape-client/src/main/java/IndexedSprite.java b/runescape-client/src/main/java/IndexedSprite.java index 47dcf89f09..13c5287d4f 100644 --- a/runescape-client/src/main/java/IndexedSprite.java +++ b/runescape-client/src/main/java/IndexedSprite.java @@ -2,35 +2,38 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("oi") +@ObfuscatedName("oz") @Implements("IndexedSprite") public final class IndexedSprite extends Rasterizer2D { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("pixels") public byte[] pixels; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("palette") public int[] palette; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("subWidth") public int subWidth; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("subHeight") public int subHeight; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("xOffset") public int xOffset; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("yOffset") public int yOffset; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("width") public int width; @ObfuscatedName("a") @Export("height") public int height; - @ObfuscatedName("n") + IndexedSprite() { + } + + @ObfuscatedName("l") @Export("normalize") public void normalize() { if (this.subWidth != this.width || this.subHeight != this.height) { @@ -51,7 +54,7 @@ public final class IndexedSprite extends Rasterizer2D { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("shiftColors") public void shiftColors(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.palette.length; ++var4) { @@ -84,7 +87,7 @@ public final class IndexedSprite extends Rasterizer2D { } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("drawAt") public void drawAt(int var1, int var2) { var1 += this.xOffset; @@ -130,8 +133,8 @@ public final class IndexedSprite extends Rasterizer2D { } } - @ObfuscatedName("o") - public void method7206(int var1, int var2, int var3, int var4) { + @ObfuscatedName("m") + public void method7274(int var1, int var2, int var3, int var4) { int var5 = this.subWidth; int var6 = this.subHeight; int var7 = 0; @@ -192,7 +195,7 @@ public final class IndexedSprite extends Rasterizer2D { IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("IndexedSprite_two") static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = -(var5 >> 2); @@ -246,7 +249,7 @@ public final class IndexedSprite extends Rasterizer2D { } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("IndexedSprite_something") static void IndexedSprite_something(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; diff --git a/runescape-client/src/main/java/Instrument.java b/runescape-client/src/main/java/Instrument.java index 1112db7fc5..4f0cf24304 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -4,112 +4,112 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bd") +@ObfuscatedName("bz") @Implements("Instrument") public class Instrument { - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("Instrument_samples") static int[] Instrument_samples; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("Instrument_noise") static int[] Instrument_noise; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("Instrument_sine") static int[] Instrument_sine; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("Instrument_phases") static int[] Instrument_phases; @ObfuscatedName("r") @Export("Instrument_delays") static int[] Instrument_delays; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("Instrument_volumeSteps") static int[] Instrument_volumeSteps; - @ObfuscatedName("w") + @ObfuscatedName("u") @Export("Instrument_pitchSteps") static int[] Instrument_pitchSteps; - @ObfuscatedName("i") + @ObfuscatedName("d") @Export("Instrument_pitchBaseSteps") static int[] Instrument_pitchBaseSteps; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("pitch") SoundEnvelope pitch; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("volume") SoundEnvelope volume; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("pitchModifier") SoundEnvelope pitchModifier; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("pitchModifierAmplitude") SoundEnvelope pitchModifierAmplitude; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("volumeMultiplier") SoundEnvelope volumeMultiplier; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("volumeMultiplierAmplitude") SoundEnvelope volumeMultiplierAmplitude; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("release") SoundEnvelope release; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("attack") SoundEnvelope attack; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("oscillatorVolume") int[] oscillatorVolume; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("oscillatorPitch") int[] oscillatorPitch; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("oscillatorDelays") int[] oscillatorDelays; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("delayTime") int delayTime; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("delayDecay") int delayDecay; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lax;" + descriptor = "Laf;" ) @Export("filter") AudioFilter filter; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lau;" + descriptor = "Lar;" ) @Export("filterEnvelope") SoundEnvelope filterEnvelope; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("duration") int duration; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("offset") int offset; @@ -146,7 +146,7 @@ public class Instrument { this.offset = 0; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("synthesize") final int[] synthesize(int var1, int var2) { class321.clearIntArray(Instrument_samples, 0, var1); @@ -353,7 +353,7 @@ public class Instrument { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("evaluateWave") final int evaluateWave(int var1, int var2, int var3) { if (var3 == 1) { @@ -367,7 +367,7 @@ public class Instrument { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;)V" ) @@ -421,6 +421,6 @@ public class Instrument { this.offset = var1.readUnsignedShort(); this.filter = new AudioFilter(); this.filterEnvelope = new SoundEnvelope(); - this.filter.method1057(var1, this.filterEnvelope); + this.filter.method1029(var1, this.filterEnvelope); } } diff --git a/runescape-client/src/main/java/IntHashTable.java b/runescape-client/src/main/java/IntHashTable.java index d4cfa31d12..95722601b5 100644 --- a/runescape-client/src/main/java/IntHashTable.java +++ b/runescape-client/src/main/java/IntHashTable.java @@ -3,10 +3,16 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("pn") +@ObfuscatedName("pz") @Implements("IntHashTable") public class IntHashTable { - @ObfuscatedName("n") + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("Widget_spritesArchive") + public static AbstractArchive Widget_spritesArchive; + @ObfuscatedName("l") @Export("array") int[] array; @@ -32,10 +38,10 @@ public class IntHashTable { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IS)I", - garbageValue = "9535" + descriptor = "(II)I", + garbageValue = "290771038" ) @Export("get") public int get(int var1) { diff --git a/runescape-client/src/main/java/IntegerNode.java b/runescape-client/src/main/java/IntegerNode.java index 112c83125a..4b5d24c4ab 100644 --- a/runescape-client/src/main/java/IntegerNode.java +++ b/runescape-client/src/main/java/IntegerNode.java @@ -2,10 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("nx") +@ObfuscatedName("nh") @Implements("IntegerNode") public class IntegerNode extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("integer") public int integer; diff --git a/runescape-client/src/main/java/InterfaceParent.java b/runescape-client/src/main/java/InterfaceParent.java index b7bf3086b6..a0ccf5697d 100644 --- a/runescape-client/src/main/java/InterfaceParent.java +++ b/runescape-client/src/main/java/InterfaceParent.java @@ -2,206 +2,32 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ci") +@ObfuscatedName("ct") @Implements("InterfaceParent") public class InterfaceParent extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 387813291 + intValue = 1049633095 ) @Export("group") int group; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 482755605 + intValue = -170109933 ) @Export("type") int type; - @ObfuscatedName("m") - boolean field1020; + @ObfuscatedName("f") + boolean field1031; InterfaceParent() { - this.field1020 = false; + this.field1031 = false; } - @ObfuscatedName("n") - public static String method2045(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (var0 % 37L == 0L) { - return null; - } else { - int var2 = 0; - - for (long var3 = var0; 0L != var3; var3 /= 37L) { - ++var2; - } - - StringBuilder var5 = new StringBuilder(var2); - - while (0L != var0) { - long var6 = var0; - var0 /= 37L; - var5.append(class320.base37Table[(int)(var6 - var0 * 37L)]); - } - - return var5.reverse().toString(); - } - } else { - return null; - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([Ljava/lang/String;[SIII)V", - garbageValue = "1930304193" - ) - @Export("sortItemsByName") - public static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { - if (var2 < var3) { - int var4 = (var3 + var2) / 2; - int var5 = var2; - String var6 = var0[var4]; - var0[var4] = var0[var3]; - var0[var3] = var6; - short var7 = var1[var4]; - var1[var4] = var1[var3]; - var1[var3] = var7; - - for (int var8 = var2; var8 < var3; ++var8) { - if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { - String var9 = var0[var8]; - var0[var8] = var0[var5]; - var0[var5] = var9; - short var10 = var1[var8]; - var1[var8] = var1[var5]; - var1[var5++] = var10; - } - } - - var0[var3] = var0[var5]; - var0[var5] = var6; - var1[var3] = var1[var5]; - var1[var5] = var7; - sortItemsByName(var0, var1, var2, var5 - 1); - sortItemsByName(var0, var1, var5 + 1, var3); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IIII)Lbg;", - garbageValue = "-298362630" - ) - @Export("getWorldMapScript") - static Script getWorldMapScript(int var0, int var1, int var2) { - int var3 = WorldMapSection1.method3843(var1, var0); - Script var5 = (Script)Script.Script_cached.get((long)(var3 << 16)); - Script var4; - if (var5 != null) { - var4 = var5; - } else { - String var6 = String.valueOf(var3); - int var7 = SecureRandomCallable.archive12.getGroupId(var6); - if (var7 == -1) { - var4 = null; - } else { - label58: { - byte[] var8 = SecureRandomCallable.archive12.takeFileFlat(var7); - if (var8 != null) { - if (var8.length <= 1) { - var4 = null; - break label58; - } - - var5 = AttackOption.newScript(var8); - if (var5 != null) { - Script.Script_cached.put(var5, (long)(var3 << 16)); - var4 = var5; - break label58; - } - } - - var4 = null; - } - } - } - - if (var4 != null) { - return var4; - } else { - var3 = LoginPacket.method4571(var2, var0); - Script var11 = (Script)Script.Script_cached.get((long)(var3 << 16)); - Script var12; - if (var11 != null) { - var12 = var11; - } else { - String var13 = String.valueOf(var3); - int var9 = SecureRandomCallable.archive12.getGroupId(var13); - if (var9 == -1) { - var12 = null; - } else { - byte[] var10 = SecureRandomCallable.archive12.takeFileFlat(var9); - if (var10 != null) { - if (var10.length <= 1) { - var12 = null; - return var12 != null ? var12 : null; - } - - var11 = AttackOption.newScript(var10); - if (var11 != null) { - Script.Script_cached.put(var11, (long)(var3 << 16)); - var12 = var11; - return var12 != null ? var12 : null; - } - } - - var12 = null; - } - } - - return var12 != null ? var12 : null; - } - } - - @ObfuscatedName("hp") - @ObfuscatedSignature( - descriptor = "(Lcb;I)V", - garbageValue = "2022031093" - ) - static final void method2044(PendingSpawn var0) { - long var1 = 0L; - int var3 = -1; - int var4 = 0; - int var5 = 0; - if (var0.type == 0) { - var1 = CollisionMap.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 1) { - var1 = CollisionMap.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 2) { - var1 = CollisionMap.scene.getGameObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 3) { - var1 = CollisionMap.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); - } - - if (0L != var1) { - int var6 = CollisionMap.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); - var3 = HealthBarDefinition.Entity_unpackID(var1); - var4 = var6 & 31; - var5 = var6 >> 6 & 3; - } - - var0.objectId = var3; - var0.field1083 = var4; - var0.field1088 = var5; + @ObfuscatedName("e") + @Export("Entity_unpackID") + public static int Entity_unpackID(long var0) { + return (int)(var0 >>> 17 & 4294967295L); } } diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index db84471802..1fd64e0ad4 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -1,4 +1,3 @@ -import java.io.IOException; import java.util.ArrayList; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; @@ -6,70 +5,69 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bq") +@ObfuscatedName("bv") @Implements("Interpreter") public class Interpreter { - @ObfuscatedName("g") - @Export("Interpreter_intLocals") - static int[] Interpreter_intLocals; - @ObfuscatedName("z") - @Export("Interpreter_stringLocals") - static String[] Interpreter_stringLocals; @ObfuscatedName("a") @Export("Interpreter_arrayLengths") static int[] Interpreter_arrayLengths; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("Interpreter_arrays") static int[][] Interpreter_arrays; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("Interpreter_intStack") static int[] Interpreter_intStack; @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -784806353 + ) + static int field829; + @ObfuscatedName("w") @Export("Interpreter_stringStack") static String[] Interpreter_stringStack; @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 1992880187 - ) - @Export("Interpreter_stringStackSize") - static int Interpreter_stringStackSize; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 667658721 + intValue = -1089183027 ) @Export("Interpreter_frameDepth") static int Interpreter_frameDepth; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "[Lbl;" + descriptor = "[Lbj;" ) @Export("Interpreter_frames") static ScriptFrame[] Interpreter_frames; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("Interpreter_calendar") static java.util.Calendar Interpreter_calendar; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("Interpreter_MONTHS") static final String[] Interpreter_MONTHS; - @ObfuscatedName("p") - static boolean field829; - @ObfuscatedName("w") - static boolean field827; - @ObfuscatedName("i") - static ArrayList field818; - @ObfuscatedName("aq") + @ObfuscatedName("n") + static boolean field828; + @ObfuscatedName("u") + static boolean field832; + @ObfuscatedName("d") + static ArrayList field830; + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = -1057377187 + intValue = 1390220385 ) - static int field813; - @ObfuscatedName("aw") - static final double field831; - @ObfuscatedName("ew") + static int field818; + @ObfuscatedName("ah") + static final double field826; + @ObfuscatedName("ez") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lky;" ) - @Export("archive19") - static Archive archive19; + @Export("archive9") + static Archive archive9; + @ObfuscatedName("gl") + @ObfuscatedSignature( + descriptor = "Llt;" + ) + @Export("fontBold12") + static Font fontBold12; static { Interpreter_arrayLengths = new int[5]; @@ -80,55 +78,44 @@ public class Interpreter { Interpreter_frames = new ScriptFrame[50]; Interpreter_calendar = java.util.Calendar.getInstance(); Interpreter_MONTHS = new String[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; - field829 = false; - field827 = false; - field818 = new ArrayList(); - field813 = 0; - field831 = Math.log(2.0D); + field828 = false; + field832 = false; + field830 = new ArrayList(); + field818 = 0; + field826 = Math.log(2.0D); } - @ObfuscatedName("n") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZZI)V", - garbageValue = "1039315251" + descriptor = "(II)I", + garbageValue = "2021156049" ) - @Export("openURL") - public static void openURL(String var0, boolean var1, boolean var2) { - class12.method129(var0, var1, "openjs", var2); + @Export("Widget_unpackTargetMask") + public static int Widget_unpackTargetMask(int var0) { + return var0 >> 11 & 63; } - @ObfuscatedName("m") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(B)Lcx;", - garbageValue = "-72" + descriptor = "(ILbe;ZI)I", + garbageValue = "525192996" ) - static ClientPreferences method1861() { - AccessFile var0 = null; - ClientPreferences var1 = new ClientPreferences(); - - try { - var0 = class4.getPreferencesFile("", class16.field83.name, false); - byte[] var2 = new byte[(int)var0.length()]; - - int var4; - for (int var3 = 0; var3 < var2.length; var3 += var4) { - var4 = var0.read(var2, var3, var2.length - var3); - if (var4 == -1) { - throw new IOException(); - } - } - - var1 = new ClientPreferences(new Buffer(var2)); - } catch (Exception var6) { + static int method1868(int var0, Script var1, boolean var2) { + int var3; + if (var0 == 3500) { + var3 = Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class6.method43(var3) ? 1 : 0; + return 1; + } else if (var0 == 3501) { + var3 = Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = PacketBufferNode.method4654(var3) ? 1 : 0; + return 1; + } else if (var0 == 3502) { + var3 = Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Messages.method2350(var3) ? 1 : 0; + return 1; + } else { + return 2; } - - try { - if (var0 != null) { - var0.close(); - } - } catch (Exception var5) { - } - - return var1; } } diff --git a/runescape-client/src/main/java/InvDefinition.java b/runescape-client/src/main/java/InvDefinition.java index 35c93c3b9b..e78262f3fb 100644 --- a/runescape-client/src/main/java/InvDefinition.java +++ b/runescape-client/src/main/java/InvDefinition.java @@ -4,33 +4,24 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("en") +@ObfuscatedName("ey") @Implements("InvDefinition") public class InvDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("InvDefinition_archive") - public static AbstractArchive InvDefinition_archive; - @ObfuscatedName("c") + static AbstractArchive InvDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("InvDefinition_cached") static EvictingDualNodeHashTable InvDefinition_cached; - @ObfuscatedName("g") - @Export("SpriteBuffer_spriteWidths") - public static int[] SpriteBuffer_spriteWidths; - @ObfuscatedName("r") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1551292247 - ) - @Export("canvasWidth") - public static int canvasWidth; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1211831239 + intValue = 112502767 ) @Export("size") public int size; @@ -43,10 +34,10 @@ public class InvDefinition extends DualNode { this.size = 0; } - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "31" + descriptor = "(Lot;I)V", + garbageValue = "58373991" ) @Export("decode") void decode(Buffer var1) { @@ -60,10 +51,10 @@ public class InvDefinition extends DualNode { } } - @ObfuscatedName("m") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "-649649990" + descriptor = "(Lot;IB)V", + garbageValue = "27" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -73,157 +64,18 @@ public class InvDefinition extends DualNode { } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lbh;Lbh;IZIZI)I", - garbageValue = "1607242229" + descriptor = "(IB)I", + garbageValue = "73" ) - static int method2811(World var0, World var1, int var2, boolean var3, int var4, boolean var5) { - int var6 = ChatChannel.compareWorlds(var0, var1, var2, var3); - if (var6 != 0) { - return var3 ? -var6 : var6; - } else if (var4 == -1) { - return 0; - } else { - int var7 = ChatChannel.compareWorlds(var0, var1, var4, var5); - return var5 ? -var7 : var7; - } - } - - @ObfuscatedName("jk") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-824292844" - ) - @Export("changeGameOptions") - static final void changeGameOptions(int var0) { - class67.method1877(); - MouseHandler.method609(); - int var1 = UserComparator7.VarpDefinition_get(var0).type; - if (var1 != 0) { - int var2 = Varps.Varps_main[var0]; - if (var1 == 1) { - if (var2 == 1) { - Varps.method4858(0.9D); - } - - if (var2 == 2) { - Varps.method4858(0.8D); - } - - if (var2 == 3) { - Varps.method4858(0.7D); - } - - if (var2 == 4) { - Varps.method4858(0.6D); - } - } - - if (var1 == 3) { - if (var2 == 0) { - WorldMapIcon_1.method3406(255); - } - - if (var2 == 1) { - WorldMapIcon_1.method3406(192); - } - - if (var2 == 2) { - WorldMapIcon_1.method3406(128); - } - - if (var2 == 3) { - WorldMapIcon_1.method3406(64); - } - - if (var2 == 4) { - WorldMapIcon_1.method3406(0); - } - } - - if (var1 == 4) { - if (var2 == 0) { - class17.updateSoundEffectVolume(127); - } - - if (var2 == 1) { - class17.updateSoundEffectVolume(96); - } - - if (var2 == 2) { - class17.updateSoundEffectVolume(64); - } - - if (var2 == 3) { - class17.updateSoundEffectVolume(32); - } - - if (var2 == 4) { - class17.updateSoundEffectVolume(0); - } - } - - if (var1 == 5) { - Client.leftClickOpensMenu = var2; - } - - if (var1 == 6) { - Client.chatEffects = var2; - } - - if (var1 == 9) { - Client.field609 = var2; - } - - if (var1 == 10) { - if (var2 == 0) { - WorldMapDecorationType.method5062(127); - } - - if (var2 == 1) { - WorldMapDecorationType.method5062(96); - } - - if (var2 == 2) { - WorldMapDecorationType.method5062(64); - } - - if (var2 == 3) { - WorldMapDecorationType.method5062(32); - } - - if (var2 == 4) { - WorldMapDecorationType.method5062(0); - } - } - - if (var1 == 17) { - Client.followerIndex = var2 & 65535; - } - - if (var1 == 18) { - Client.playerAttackOption = (AttackOption)class260.findEnumerated(SoundCache.method789(), var2); - if (Client.playerAttackOption == null) { - Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - if (var1 == 19) { - if (var2 == -1) { - Client.combatTargetPlayerIndex = -1; - } else { - Client.combatTargetPlayerIndex = var2 & 2047; - } - } - - if (var1 == 22) { - Client.npcAttackOption = (AttackOption)class260.findEnumerated(SoundCache.method789(), var2); - if (Client.npcAttackOption == null) { - Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - } + public static int method2881(int var0) { + --var0; + var0 |= var0 >>> 1; + var0 |= var0 >>> 2; + var0 |= var0 >>> 4; + var0 |= var0 >>> 8; + var0 |= var0 >>> 16; + return var0 + 1; } } diff --git a/runescape-client/src/main/java/IsaacCipher.java b/runescape-client/src/main/java/IsaacCipher.java index 7c2b831219..ded4e9ab16 100644 --- a/runescape-client/src/main/java/IsaacCipher.java +++ b/runescape-client/src/main/java/IsaacCipher.java @@ -4,36 +4,36 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oe") +@ObfuscatedName("pv") @Implements("IsaacCipher") public final class IsaacCipher { - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 235983583 + intValue = -1898729061 ) @Export("valuesRemaining") int valuesRemaining; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("results") int[] results; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("mm") int[] mm; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1479702029 + intValue = 521683111 ) @Export("aa") int aa; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1228736989 + intValue = 245385603 ) @Export("bb") int bb; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1017165901 + intValue = -80313703 ) @Export("cc") int cc; @@ -46,13 +46,13 @@ public final class IsaacCipher { this.results[var2] = var1[var2]; } - this.method7378(); + this.method7435(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1862101566" + descriptor = "(B)I", + garbageValue = "-84" ) @Export("nextInt") public final int nextInt() { @@ -64,12 +64,12 @@ public final class IsaacCipher { return this.results[--this.valuesRemaining]; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "45" + descriptor = "(I)I", + garbageValue = "-1675235951" ) - public final int method7376() { + public final int method7440() { if (this.valuesRemaining == 0) { this.generateMoreResults(); this.valuesRemaining = 256; @@ -78,10 +78,10 @@ public final class IsaacCipher { return this.results[this.valuesRemaining - 1]; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1415784416" + descriptor = "(B)V", + garbageValue = "75" ) @Export("generateMoreResults") final void generateMoreResults() { @@ -103,18 +103,18 @@ public final class IsaacCipher { this.aa += this.mm[var1 + 128 & 255]; int var3; - this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.bb + this.aa; + this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.aa + this.bb; this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "5" + descriptor = "(I)V", + garbageValue = "-2000528690" ) - final void method7378() { + final void method7435() { int var9 = -1640531527; int var8 = -1640531527; int var7 = -1640531527; diff --git a/runescape-client/src/main/java/ItemComposition.java b/runescape-client/src/main/java/ItemComposition.java index 619049c4d6..9ac1c856a6 100644 --- a/runescape-client/src/main/java/ItemComposition.java +++ b/runescape-client/src/main/java/ItemComposition.java @@ -4,279 +4,288 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fy") +@ObfuscatedName("fa") @Implements("ItemComposition") public class ItemComposition extends DualNode { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1605370207 - ) - @Export("ItemDefinition_fileCount") - public static int ItemDefinition_fileCount; - @ObfuscatedName("e") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lkl;" + ) + @Export("ItemDefinition_modelArchive") + public static AbstractArchive ItemDefinition_modelArchive; + @ObfuscatedName("a") + @Export("ItemDefinition_inMembersWorld") + public static boolean ItemDefinition_inMembersWorld; + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lii;" ) @Export("ItemDefinition_cached") static EvictingDualNodeHashTable ItemDefinition_cached; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ItemDefinition_cachedModels") static EvictingDualNodeHashTable ItemDefinition_cachedModels; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ItemDefinition_cachedSprites") public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; - @ObfuscatedName("f") + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Llt;" + ) + @Export("ItemDefinition_fontPlain11") + public static Font ItemDefinition_fontPlain11; + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -2128216421 + intValue = -1517930851 ) @Export("id") public int id; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 1015176429 + intValue = 516458913 ) @Export("model") int model; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("name") public String name; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("recolorFrom") public short[] recolorFrom; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("recolorTo") public short[] recolorTo; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("retextureFrom") public short[] retextureFrom; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("retextureTo") public short[] retextureTo; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 230294245 + intValue = -917161185 ) @Export("zoom2d") public int zoom2d; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 842638395 + intValue = -452236997 ) @Export("xan2d") public int xan2d; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -1412558871 + intValue = 907897891 ) @Export("yan2d") public int yan2d; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -1714199091 + intValue = -1537793613 ) @Export("zan2d") public int zan2d; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = -2003487433 + intValue = 616169855 ) @Export("offsetX2d") public int offsetX2d; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = -600170381 + intValue = -1543674565 ) @Export("offsetY2d") public int offsetY2d; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = 1140772523 + intValue = 877270447 ) @Export("isStackable") public int isStackable; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = -1328179023 + intValue = -400854117 ) @Export("price") public int price; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("isMembersOnly") public boolean isMembersOnly; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("groundActions") public String[] groundActions; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("inventoryActions") public String[] inventoryActions; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = 1489776313 + intValue = -321032365 ) @Export("shiftClickIndex") int shiftClickIndex; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedGetter( - intValue = -1658414607 + intValue = 1238423501 ) @Export("maleModel") int maleModel; - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedGetter( - intValue = -113836689 + intValue = 1024797737 ) @Export("maleModel1") int maleModel1; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = -1357347899 + intValue = 1108751253 ) @Export("maleOffset") int maleOffset; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = -731742439 + intValue = 1140431421 ) @Export("femaleModel") int femaleModel; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @ObfuscatedGetter( - intValue = -2012141129 + intValue = 1843085613 ) @Export("femaleModel1") int femaleModel1; - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedGetter( - intValue = -1863274299 + intValue = -1010041579 ) @Export("femaleOffset") int femaleOffset; - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedGetter( - intValue = 2034387613 + intValue = -1324140471 ) @Export("maleModel2") int maleModel2; - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedGetter( - intValue = -1678257571 + intValue = -2021117977 ) @Export("femaleModel2") int femaleModel2; - @ObfuscatedName("ay") + @ObfuscatedName("ax") @ObfuscatedGetter( - intValue = 2056325857 + intValue = 662291345 ) @Export("maleHeadModel") int maleHeadModel; - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedGetter( - intValue = 1471383725 + intValue = 185340391 ) @Export("maleHeadModel2") int maleHeadModel2; - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedGetter( - intValue = 1586344157 + intValue = 2058201645 ) @Export("femaleHeadModel") int femaleHeadModel; - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedGetter( - intValue = -118466205 + intValue = -1136742097 ) @Export("femaleHeadModel2") int femaleHeadModel2; - @ObfuscatedName("ac") + @ObfuscatedName("aj") @Export("countobj") int[] countobj; - @ObfuscatedName("ag") + @ObfuscatedName("am") @Export("countco") int[] countco; - @ObfuscatedName("ar") + @ObfuscatedName("aw") @ObfuscatedGetter( - intValue = -517014423 + intValue = 1247011587 ) @Export("note") public int note; @ObfuscatedName("az") @ObfuscatedGetter( - intValue = 42625391 + intValue = 441083277 ) @Export("noteTemplate") public int noteTemplate; - @ObfuscatedName("ah") + @ObfuscatedName("ae") @ObfuscatedGetter( - intValue = 2005921915 + intValue = -762817075 ) @Export("resizeX") int resizeX; - @ObfuscatedName("af") + @ObfuscatedName("ai") @ObfuscatedGetter( - intValue = -394567391 + intValue = -962491483 ) @Export("resizeY") int resizeY; - @ObfuscatedName("ax") + @ObfuscatedName("af") @ObfuscatedGetter( - intValue = -1580330967 + intValue = 1883162483 ) @Export("resizeZ") int resizeZ; - @ObfuscatedName("bd") + @ObfuscatedName("bz") @ObfuscatedGetter( - intValue = -315735001 + intValue = 1533114405 ) @Export("ambient") public int ambient; @ObfuscatedName("bt") @ObfuscatedGetter( - intValue = 295205197 + intValue = 912582123 ) @Export("contrast") public int contrast; - @ObfuscatedName("bf") + @ObfuscatedName("bg") @ObfuscatedGetter( - intValue = -805841421 + intValue = 1758157485 ) @Export("team") public int team; - @ObfuscatedName("bp") + @ObfuscatedName("bf") @ObfuscatedSignature( descriptor = "Lnz;" ) @Export("params") IterableNodeHashTable params; - @ObfuscatedName("bl") + @ObfuscatedName("bj") @Export("isTradable") public boolean isTradable; - @ObfuscatedName("bc") + @ObfuscatedName("bo") @ObfuscatedGetter( - intValue = 1671524843 + intValue = -430729961 ) @Export("unnotedId") int unnotedId; - @ObfuscatedName("br") + @ObfuscatedName("bx") @ObfuscatedGetter( - intValue = 372127841 + intValue = 284240827 ) @Export("notedId") int notedId; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @ObfuscatedGetter( - intValue = -1453247749 + intValue = 676744535 ) @Export("placeholder") public int placeholder; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @ObfuscatedGetter( - intValue = -1294346743 + intValue = 754938043 ) @Export("placeholderTemplate") public int placeholderTemplate; @@ -328,19 +337,19 @@ public class ItemComposition extends DualNode { this.placeholderTemplate = -1; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "51" + garbageValue = "2" ) @Export("post") void post() { } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;B)V", - garbageValue = "-105" + garbageValue = "-30" ) @Export("decode") void decode(Buffer var1) { @@ -354,10 +363,10 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "-454079072" + descriptor = "(Lot;IS)V", + garbageValue = "13949" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -480,16 +489,16 @@ public class ItemComposition extends DualNode { } else if (var2 == 149) { this.placeholderTemplate = var1.readUnsignedShort(); } else if (var2 == 249) { - this.params = class123.readStringIntParameters(var1, this.params); + this.params = KeyHandler.readStringIntParameters(var1, this.params); } } } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lfy;Lfy;B)V", - garbageValue = "-10" + descriptor = "(Lfa;Lfa;I)V", + garbageValue = "-2130497191" ) @Export("genCert") void genCert(ItemComposition var1, ItemComposition var2) { @@ -510,10 +519,10 @@ public class ItemComposition extends DualNode { this.isStackable = 1; } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lfy;Lfy;B)V", - garbageValue = "-54" + descriptor = "(Lfa;Lfa;I)V", + garbageValue = "-770836637" ) @Export("genBought") void genBought(ItemComposition var1, ItemComposition var2) { @@ -554,10 +563,10 @@ public class ItemComposition extends DualNode { this.price = 0; } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lfy;Lfy;B)V", - garbageValue = "-40" + descriptor = "(Lfa;Lfa;I)V", + garbageValue = "1807030735" ) @Export("genPlaceholder") void genPlaceholder(ItemComposition var1, ItemComposition var2) { @@ -579,10 +588,10 @@ public class ItemComposition extends DualNode { this.isTradable = false; } - @ObfuscatedName("u") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(II)Lgl;", - garbageValue = "1100826810" + descriptor = "(II)Lgi;", + garbageValue = "-1268631863" ) @Export("getModelData") public final ModelData getModelData(int var1) { @@ -597,11 +606,11 @@ public class ItemComposition extends DualNode { } if (var2 != -1) { - return class65.ItemDefinition_get(var2).getModelData(1); + return class87.ItemDefinition_get(var2).getModelData(1); } } - ModelData var4 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, this.model, 0); + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); if (var4 == null) { return null; } else { @@ -627,8 +636,8 @@ public class ItemComposition extends DualNode { @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(II)Lhg;", - garbageValue = "-1870148676" + descriptor = "(IB)Lhl;", + garbageValue = "0" ) @Export("getModel") public final Model getModel(int var1) { @@ -642,7 +651,7 @@ public class ItemComposition extends DualNode { } if (var2 != -1) { - return class65.ItemDefinition_get(var2).getModel(1); + return class87.ItemDefinition_get(var2).getModel(1); } } @@ -650,7 +659,7 @@ public class ItemComposition extends DualNode { if (var5 != null) { return var5; } else { - ModelData var6 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, this.model, 0); + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); if (var6 == null) { return null; } else { @@ -679,10 +688,10 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("l") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(II)Lfy;", - garbageValue = "908723919" + descriptor = "(II)Lfa;", + garbageValue = "1712782544" ) @Export("getCountObj") public ItemComposition getCountObj(int var1) { @@ -696,17 +705,17 @@ public class ItemComposition extends DualNode { } if (var2 != -1) { - return class65.ItemDefinition_get(var2); + return class87.ItemDefinition_get(var2); } } return this; } - @ObfuscatedName("f") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(ZI)Z", - garbageValue = "1605875033" + garbageValue = "1166597620" ) @Export("hasNoValidModel") public final boolean hasNoValidModel(boolean var1) { @@ -723,15 +732,15 @@ public class ItemComposition extends DualNode { return true; } else { boolean var5 = true; - if (!class393.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { var5 = false; } - if (var3 != -1 && !class393.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { var5 = false; } - if (var4 != -1 && !class393.ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { + if (var4 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { var5 = false; } @@ -739,12 +748,12 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("s") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(ZI)Lgl;", - garbageValue = "-293570255" + descriptor = "(ZB)Lgi;", + garbageValue = "24" ) - public final ModelData method3237(boolean var1) { + public final ModelData method3290(boolean var1) { int var2 = this.maleModel; int var3 = this.maleModel1; int var4 = this.maleModel2; @@ -757,11 +766,11 @@ public class ItemComposition extends DualNode { if (var2 == -1) { return null; } else { - ModelData var5 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, var2, 0); + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); if (var3 != -1) { - ModelData var6 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, var3, 0); + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); if (var4 != -1) { - ModelData var7 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, var4, 0); + ModelData var7 = ModelData.ModelData_get(ItemDefinition_modelArchive, var4, 0); ModelData[] var8 = new ModelData[]{var5, var6, var7}; var5 = new ModelData(var8, 3); } else { @@ -795,12 +804,12 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("h") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(ZI)Z", - garbageValue = "2102331316" + descriptor = "(ZS)Z", + garbageValue = "2699" ) - public final boolean method3187(boolean var1) { + public final boolean method3266(boolean var1) { int var2 = this.maleHeadModel; int var3 = this.maleHeadModel2; if (var1) { @@ -812,11 +821,11 @@ public class ItemComposition extends DualNode { return true; } else { boolean var4 = true; - if (!class393.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { var4 = false; } - if (var3 != -1 && !class393.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { var4 = false; } @@ -824,12 +833,12 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("d") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(ZB)Lgl;", - garbageValue = "1" + descriptor = "(ZS)Lgi;", + garbageValue = "27853" ) - public final ModelData method3255(boolean var1) { + public final ModelData method3267(boolean var1) { int var2 = this.maleHeadModel; int var3 = this.maleHeadModel2; if (var1) { @@ -840,9 +849,9 @@ public class ItemComposition extends DualNode { if (var2 == -1) { return null; } else { - ModelData var4 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, var2, 0); + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); if (var3 != -1) { - ModelData var5 = ModelData.ModelData_get(class393.ItemDefinition_modelArchive, var3, 0); + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); ModelData[] var6 = new ModelData[]{var4, var5}; var4 = new ModelData(var6, 2); } @@ -864,10 +873,10 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("q") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "1328358206" + garbageValue = "-101476458" ) @Export("getIntParam") public int getIntParam(int var1, int var2) { @@ -887,26 +896,39 @@ public class ItemComposition extends DualNode { return var3; } - @ObfuscatedName("j") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;B)Ljava/lang/String;", - garbageValue = "8" + garbageValue = "47" ) @Export("getStringParam") public String getStringParam(int var1, String var2) { - return class124.method2544(this.params, var1, var2); + IterableNodeHashTable var4 = this.params; + String var3; + if (var4 == null) { + var3 = var2; + } else { + ObjectNode var5 = (ObjectNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = (String)var5.obj; + } + } + + return var3; } - @ObfuscatedName("x") + @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "643585289" + garbageValue = "-1901653558" ) @Export("getShiftClickIndex") public int getShiftClickIndex() { if (this.shiftClickIndex != -1 && this.inventoryActions != null) { if (this.shiftClickIndex >= 0) { - return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex * -6588535 * 1489776313 : -1; + return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex * -321032365 * -563958565 : -1; } else { return "Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1; } @@ -915,68 +937,26 @@ public class ItemComposition extends DualNode { } } - @ObfuscatedName("t") + @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-455897064" + garbageValue = "-712243008" ) - boolean method3216() { + boolean method3297() { return this.recolorTo != null; } - @ObfuscatedName("r") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-27" + descriptor = "(I)Z", + garbageValue = "938633925" ) - boolean method3179() { + boolean method3272() { return this.retextureTo != null; } - @ObfuscatedName("fp") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1229665253" - ) - static final void method3211() { - int[] var0 = Players.Players_indices; - - int var1; - for (var1 = 0; var1 < Players.Players_count; ++var1) { - Player var4 = Client.players[var0[var1]]; - if (var4 != null && var4.overheadTextCyclesRemaining > 0) { - --var4.overheadTextCyclesRemaining; - if (var4.overheadTextCyclesRemaining == 0) { - var4.overheadText = null; - } - } - } - - for (var1 = 0; var1 < Client.npcCount; ++var1) { - int var2 = Client.npcIndices[var1]; - NPC var3 = Client.npcs[var2]; - if (var3 != null && var3.overheadTextCyclesRemaining > 0) { - --var3.overheadTextCyclesRemaining; - if (var3.overheadTextCyclesRemaining == 0) { - var3.overheadText = null; - } - } - } - - } - - @ObfuscatedName("jm") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "98" - ) - static boolean method3191(int var0) { - for (int var1 = 0; var1 < Client.field713; ++var1) { - if (Client.field595[var1] == var0) { - return true; - } - } - - return false; + @ObfuscatedName("t") + public static int method3327(long var0) { + return (int)(var0 >>> 7 & 127L); } } diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index 0e02fcf990..8763dc12a4 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -3,25 +3,27 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bz") +@ObfuscatedName("br") @Implements("ItemContainer") public class ItemContainer extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("itemContainers") static NodeHashTable itemContainers; - @ObfuscatedName("a") - @Export("SpriteBuffer_spritePalette") - public static int[] SpriteBuffer_spritePalette; - @ObfuscatedName("r") - @Export("userHomeDirectory") - public static String userHomeDirectory; - @ObfuscatedName("c") + @ObfuscatedName("bm") + static String field1009; + @ObfuscatedName("eh") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive17") + static Archive archive17; + @ObfuscatedName("q") @Export("ids") int[] ids; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("quantities") int[] quantities; @@ -34,56 +36,77 @@ public class ItemContainer extends Node { this.quantities = new int[]{0}; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;B)Z", - garbageValue = "25" + descriptor = "(II)Lfn;", + garbageValue = "1889107784" ) - public static boolean method2025(AbstractArchive var0, AbstractArchive var1) { - WorldMapElement.WorldMapElement_archive = var1; - if (!var0.isFullyLoaded()) { - return false; + public static HitSplatDefinition method2057(int var0) { + HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - Username.WorldMapElement_count = var0.getGroupFileCount(35); - WorldMapElement.WorldMapElement_cached = new WorldMapElement[Username.WorldMapElement_count]; - - for (int var2 = 0; var2 < Username.WorldMapElement_count; ++var2) { - byte[] var3 = var0.takeFile(35, var2); - WorldMapElement.WorldMapElement_cached[var2] = new WorldMapElement(var2); - if (var3 != null) { - WorldMapElement.WorldMapElement_cached[var2].decode(new Buffer(var3)); - WorldMapElement.WorldMapElement_cached[var2].method2846(); - } + byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0); + var1 = new HitSplatDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); } - return true; + HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); + return var1; } } - @ObfuscatedName("g") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-569852185" + descriptor = "(III)I", + garbageValue = "159025977" ) - public static int method2041(int var0) { - --var0; - var0 |= var0 >>> 1; - var0 |= var0 >>> 2; - var0 |= var0 >>> 4; - var0 |= var0 >>> 8; - var0 |= var0 >>> 16; - return var0 + 1; + static int method2059(int var0, int var1) { + FloorOverlayDefinition var3 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var0); + FloorOverlayDefinition var2; + if (var3 != null) { + var2 = var3; + } else { + byte[] var4 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var0); + var3 = new FloorOverlayDefinition(); + if (var4 != null) { + var3.decode(new Buffer(var4), var0); + } + + var3.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var3, (long)var0); + var2 = var3; + } + + if (var2 == null) { + return var1; + } else if (var2.secondaryRgb >= 0) { + return var2.secondaryRgb | -16777216; + } else { + int var6; + if (var2.texture >= 0) { + var6 = Client.method1588(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var2.texture), 96); + return Rasterizer3D.Rasterizer3D_colorPalette[var6] | -16777216; + } else if (var2.primaryRgb == 16711935) { + return var1; + } else { + var6 = class275.method5120(var2.hue, var2.saturation, var2.lightness); + int var5 = Client.method1588(var6, 96); + return Rasterizer3D.Rasterizer3D_colorPalette[var5] | -16777216; + } + } } - @ObfuscatedName("g") + @ObfuscatedName("jn") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-361869455" + descriptor = "(III)V", + garbageValue = "2066251620" ) - static void method2029() { - Messages.Messages_channels.clear(); - Messages.Messages_hashTable.clear(); - Messages.Messages_queue.clear(); - Messages.Messages_count = 0; + @Export("runIntfCloseListeners") + static final void runIntfCloseListeners(int var0, int var1) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + MouseHandler.runComponentCloseListeners(Widget.Widget_interfaceComponents[var0], var1); + } } } diff --git a/runescape-client/src/main/java/ItemLayer.java b/runescape-client/src/main/java/ItemLayer.java index 7fa8e71f86..db8b732415 100644 --- a/runescape-client/src/main/java/ItemLayer.java +++ b/runescape-client/src/main/java/ItemLayer.java @@ -1,61 +1,101 @@ +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gw") +@ObfuscatedName("gn") @Implements("ItemLayer") public final class ItemLayer { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 644965823 + intValue = 843492453 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -399304345 + intValue = 1629429381 ) @Export("x") int x; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -549763557 + ) + @Export("y") + int y; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lhi;" + ) + @Export("first") + Renderable first; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("second") Renderable second; @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 261644725 - ) - @Export("y") - int y; - @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "Lhr;" - ) - @Export("first") - Renderable first; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("third") Renderable third; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - longValue = 5860999633969021877L + longValue = -4918137841721985399L ) @Export("tag") long tag; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1230601645 + intValue = 844864059 ) @Export("height") int height; ItemLayer() { } + + @ObfuscatedName("ed") + @ObfuscatedSignature( + descriptor = "(IZZZI)Lky;", + garbageValue = "-1474913181" + ) + @Export("newArchive") + static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { + ArchiveDisk var4 = null; + if (JagexCache.JagexCache_dat2File != null) { + var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idxFiles[var0], 1000000); + } + + return new Archive(var4, HealthBarUpdate.masterDisk, var0, var1, var2, var3); + } + + @ObfuscatedName("ky") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1673843314" + ) + static final void method4020() { + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsFriend(); + } + + Iterator var2 = Messages.Messages_hashTable.iterator(); + + while (var2.hasNext()) { + Message var3 = (Message)var2.next(); + var3.clearIsFromFriend(); + } + + if (class264.friendsChat != null) { + class264.friendsChat.clearFriends(); + } + + } } diff --git a/runescape-client/src/main/java/IterableDualNodeQueue.java b/runescape-client/src/main/java/IterableDualNodeQueue.java index 1a75a52644..87a4a39af4 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueue.java +++ b/runescape-client/src/main/java/IterableDualNodeQueue.java @@ -4,18 +4,18 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lz") +@ObfuscatedName("lh") @Implements("IterableDualNodeQueue") public class IterableDualNodeQueue implements Iterable { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("sentinel") public DualNode sentinel; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("head") DualNode head; @@ -26,7 +26,7 @@ public class IterableDualNodeQueue implements Iterable { this.sentinel.nextDual = this.sentinel; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("clear") public void clear() { while (this.sentinel.previousDual != this.sentinel) { @@ -35,9 +35,9 @@ public class IterableDualNodeQueue implements Iterable { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lmc;)V" + descriptor = "(Lnu;)V" ) @Export("add") public void add(DualNode var1) { @@ -51,9 +51,9 @@ public class IterableDualNodeQueue implements Iterable { var1.previousDual.nextDual = var1; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "()Lmc;" + descriptor = "()Lnu;" ) @Export("removeLast") public DualNode removeLast() { @@ -66,18 +66,18 @@ public class IterableDualNodeQueue implements Iterable { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "()Lmc;" + descriptor = "()Lnu;" ) @Export("last") public DualNode last() { return this.previousOrLast((DualNode)null); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lmc;)Lmc;" + descriptor = "(Lnu;)Lnu;" ) @Export("previousOrLast") DualNode previousOrLast(DualNode var1) { @@ -97,9 +97,9 @@ public class IterableDualNodeQueue implements Iterable { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lmc;" + descriptor = "()Lnu;" ) @Export("previous") public DualNode previous() { @@ -117,9 +117,9 @@ public class IterableDualNodeQueue implements Iterable { return new IterableDualNodeQueueIterator(this); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lmc;Lmc;)V" + descriptor = "(Lnu;Lnu;)V" ) @Export("DualNodeDeque_addBefore") public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { diff --git a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java index 2f9ca27525..febb1dd2a9 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java +++ b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java @@ -4,30 +4,30 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lk") +@ObfuscatedName("le") @Implements("IterableDualNodeQueueIterator") public class IterableDualNodeQueueIterator implements Iterator { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Llz;" + descriptor = "Llh;" ) @Export("queue") IterableDualNodeQueue queue; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("head") DualNode head; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lmc;" + descriptor = "Lnu;" ) @Export("last") DualNode last; @ObfuscatedSignature( - descriptor = "(Llz;)V" + descriptor = "(Llh;)V" ) IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { this.last = null; @@ -36,19 +36,6 @@ public class IterableDualNodeQueueIterator implements Iterator { this.last = null; } - public Object next() { - DualNode var1 = this.head; - if (var1 == this.queue.sentinel) { - var1 = null; - this.head = null; - } else { - this.head = var1.previousDual; - } - - this.last = var1; - return var1; - } - public boolean hasNext() { return this.queue.sentinel != this.head; } @@ -61,4 +48,17 @@ public class IterableDualNodeQueueIterator implements Iterator { this.last = null; } } + + public Object next() { + DualNode var1 = this.head; + if (var1 == this.queue.sentinel) { + var1 = null; + this.head = null; + } else { + this.head = var1.previousDual; + } + + this.last = var1; + return var1; + } } diff --git a/runescape-client/src/main/java/IterableNodeDeque.java b/runescape-client/src/main/java/IterableNodeDeque.java index 936eda2287..d36ca65bc2 100644 --- a/runescape-client/src/main/java/IterableNodeDeque.java +++ b/runescape-client/src/main/java/IterableNodeDeque.java @@ -5,20 +5,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kz") +@ObfuscatedName("kt") @Implements("IterableNodeDeque") public class IterableNodeDeque implements Iterable, Collection { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("sentinel") Node sentinel; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) - Node field3822; + Node field3828; public IterableNodeDeque() { this.sentinel = new Node(); @@ -26,7 +26,7 @@ public class IterableNodeDeque implements Iterable, Collection { this.sentinel.next = this.sentinel; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("rsClear") public void rsClear() { while (this.sentinel.previous != this.sentinel) { @@ -35,9 +35,9 @@ public class IterableNodeDeque implements Iterable, Collection { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lnr;)V" + descriptor = "(Lnv;)V" ) @Export("addFirst") public void addFirst(Node var1) { @@ -51,9 +51,9 @@ public class IterableNodeDeque implements Iterable, Collection { var1.previous.next = var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lnr;)V" + descriptor = "(Lnv;)V" ) @Export("addLast") public void addLast(Node var1) { @@ -67,20 +67,20 @@ public class IterableNodeDeque implements Iterable, Collection { var1.previous.next = var1; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("last") public Node last() { - return this.method5474((Node)null); + return this.method5567((Node)null); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lnr;)Lnr;" + descriptor = "(Lnv;)Lnv;" ) - Node method5474(Node var1) { + Node method5567(Node var1) { Node var2; if (var1 == null) { var2 = this.sentinel.previous; @@ -89,32 +89,32 @@ public class IterableNodeDeque implements Iterable, Collection { } if (var2 == this.sentinel) { - this.field3822 = null; + this.field3828 = null; return null; } else { - this.field3822 = var2.previous; + this.field3828 = var2.previous; return var2; } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("previous") public Node previous() { - Node var1 = this.field3822; + Node var1 = this.field3828; if (var1 == this.sentinel) { - this.field3822 = null; + this.field3828 = null; return null; } else { - this.field3822 = var1.previous; + this.field3828 = var1.previous; return var1; } } @ObfuscatedName("a") - int method5476() { + int method5612() { int var1 = 0; for (Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { @@ -124,17 +124,17 @@ public class IterableNodeDeque implements Iterable, Collection { return var1; } - @ObfuscatedName("u") - public boolean method5517() { + @ObfuscatedName("e") + public boolean method5563() { return this.sentinel.previous == this.sentinel; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "()[Lnr;" + descriptor = "()[Lnv;" ) - Node[] method5486() { - Node[] var1 = new Node[this.method5476()]; + Node[] method5564() { + Node[] var1 = new Node[this.method5612()]; int var2 = 0; for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { @@ -144,21 +144,17 @@ public class IterableNodeDeque implements Iterable, Collection { return var1; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(Lnr;)Z" + descriptor = "(Lnv;)Z" ) - boolean method5482(Node var1) { + boolean method5569(Node var1) { this.addFirst(var1); return true; } - public Iterator iterator() { - return new IterableNodeDequeDescendingIterator(this); - } - - public boolean isEmpty() { - return this.method5517(); + public boolean addAll(Collection var1) { + throw new RuntimeException(); } public Object[] toArray(Object[] var1) { @@ -171,16 +167,28 @@ public class IterableNodeDeque implements Iterable, Collection { return var1; } - public boolean addAll(Collection var1) { + public Iterator iterator() { + return new IterableNodeDequeDescendingIterator(this); + } + + public boolean isEmpty() { + return this.method5563(); + } + + public boolean remove(Object var1) { throw new RuntimeException(); } - public boolean removeAll(Collection var1) { + public boolean retainAll(Collection var1) { throw new RuntimeException(); } - public Object[] toArray() { - return this.method5486(); + public void clear() { + this.rsClear(); + } + + public boolean add(Object var1) { + return this.method5569((Node)var1); } public boolean equals(Object var1) { @@ -191,37 +199,29 @@ public class IterableNodeDeque implements Iterable, Collection { return super.hashCode(); } - public boolean remove(Object var1) { - throw new RuntimeException(); - } - public boolean contains(Object var1) { throw new RuntimeException(); } - public void clear() { - this.rsClear(); - } - - public boolean retainAll(Collection var1) { - throw new RuntimeException(); + public Object[] toArray() { + return this.method5564(); } public int size() { - return this.method5476(); + return this.method5612(); } - public boolean add(Object var1) { - return this.method5482((Node)var1); + public boolean removeAll(Collection var1) { + throw new RuntimeException(); } public boolean containsAll(Collection var1) { throw new RuntimeException(); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lnr;Lnr;)V" + descriptor = "(Lnv;Lnv;)V" ) @Export("IterableNodeDeque_addBefore") public static void IterableNodeDeque_addBefore(Node var0, Node var1) { diff --git a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java index f13a191d1d..a10fdfc1be 100644 --- a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java +++ b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java @@ -4,38 +4,38 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kc") +@ObfuscatedName("ka") @Implements("IterableNodeDequeDescendingIterator") public class IterableNodeDequeDescendingIterator implements Iterator { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) @Export("deque") IterableNodeDeque deque; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) - Node field3820; - @ObfuscatedName("m") + Node field3826; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("last") Node last; @ObfuscatedSignature( - descriptor = "(Lkz;)V" + descriptor = "(Lkt;)V" ) IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { this.last = null; this.setDeque(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkz;)V" + descriptor = "(Lkt;)V" ) @Export("setDeque") void setDeque(IterableNodeDeque var1) { @@ -43,32 +43,36 @@ public class IterableNodeDequeDescendingIterator implements Iterator { this.start(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("start") void start() { - this.field3820 = this.deque != null ? this.deque.sentinel.previous : null; + this.field3826 = this.deque != null ? this.deque.sentinel.previous : null; this.last = null; } public Object next() { - Node var1 = this.field3820; + Node var1 = this.field3826; if (var1 == this.deque.sentinel) { var1 = null; - this.field3820 = null; + this.field3826 = null; } else { - this.field3820 = var1.previous; + this.field3826 = var1.previous; } this.last = var1; return var1; } - public void remove() { - this.last.remove(); - this.last = null; + public boolean hasNext() { + return this.deque.sentinel != this.field3826 && this.field3826 != null; } - public boolean hasNext() { - return this.deque.sentinel != this.field3820 && this.field3820 != null; + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } } } diff --git a/runescape-client/src/main/java/IterableNodeHashTable.java b/runescape-client/src/main/java/IterableNodeHashTable.java index 48f7d2a088..702e3e6aab 100644 --- a/runescape-client/src/main/java/IterableNodeHashTable.java +++ b/runescape-client/src/main/java/IterableNodeHashTable.java @@ -7,28 +7,28 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("nz") @Implements("IterableNodeHashTable") public final class IterableNodeHashTable implements Iterable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("size") int size; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Lnr;" + descriptor = "[Lnv;" ) @Export("buckets") Node[] buckets; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("currentGet") Node currentGet; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("current") Node current; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("index") int index; @@ -45,9 +45,9 @@ public final class IterableNodeHashTable implements Iterable { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(J)Lnr;" + descriptor = "(J)Lnv;" ) @Export("get") public Node get(long var1) { @@ -65,9 +65,9 @@ public final class IterableNodeHashTable implements Iterable { return null; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lnr;J)V" + descriptor = "(Lnv;J)V" ) @Export("put") public void put(Node var1, long var2) { @@ -83,7 +83,7 @@ public final class IterableNodeHashTable implements Iterable { var1.key = var2; } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("clear") public void clear() { for (int var1 = 0; var1 < this.size; ++var1) { @@ -103,9 +103,9 @@ public final class IterableNodeHashTable implements Iterable { this.current = null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("first") public Node first() { @@ -113,9 +113,9 @@ public final class IterableNodeHashTable implements Iterable { return this.next(); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("next") public Node next() { diff --git a/runescape-client/src/main/java/IterableNodeHashTableIterator.java b/runescape-client/src/main/java/IterableNodeHashTableIterator.java index 944d17c338..44cfa7023c 100644 --- a/runescape-client/src/main/java/IterableNodeHashTableIterator.java +++ b/runescape-client/src/main/java/IterableNodeHashTableIterator.java @@ -4,27 +4,27 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("np") +@ObfuscatedName("nf") @Implements("IterableNodeHashTableIterator") public class IterableNodeHashTableIterator implements Iterator { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "Lnz;" ) @Export("hashTable") IterableNodeHashTable hashTable; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("head") Node head; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("index") int index; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("last") Node last; @@ -38,7 +38,7 @@ public class IterableNodeHashTableIterator implements Iterator { this.start(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("start") void start() { this.head = this.hashTable.buckets[0].previous; @@ -46,32 +46,6 @@ public class IterableNodeHashTableIterator implements Iterator { this.last = null; } - public boolean hasNext() { - if (this.hashTable.buckets[this.index - 1] != this.head) { - return true; - } else { - while (this.index < this.hashTable.size) { - if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { - this.head = this.hashTable.buckets[this.index - 1].previous; - return true; - } - - this.head = this.hashTable.buckets[this.index - 1]; - } - - return false; - } - } - - public void remove() { - if (this.last == null) { - throw new IllegalStateException(); - } else { - this.last.remove(); - this.last = null; - } - } - public Object next() { Node var1; if (this.hashTable.buckets[this.index - 1] != this.head) { @@ -93,4 +67,26 @@ public class IterableNodeHashTableIterator implements Iterator { return var1; } } + + public boolean hasNext() { + if (this.hashTable.buckets[this.index - 1] != this.head) { + return true; + } else { + while (this.index < this.hashTable.size) { + if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { + this.head = this.hashTable.buckets[this.index - 1].previous; + return true; + } + + this.head = this.hashTable.buckets[this.index - 1]; + } + + return false; + } + } + + public void remove() { + this.last.remove(); + this.last = null; + } } diff --git a/runescape-client/src/main/java/JagexCache.java b/runescape-client/src/main/java/JagexCache.java index b5cb48d007..cba40f12d3 100644 --- a/runescape-client/src/main/java/JagexCache.java +++ b/runescape-client/src/main/java/JagexCache.java @@ -1,62 +1,42 @@ import java.io.File; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("et") +@ObfuscatedName("eg") @Implements("JagexCache") public class JagexCache { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("ParamDefinition_archive") - public static AbstractArchive ParamDefinition_archive; - @ObfuscatedName("o") + @ObfuscatedName("j") + @Export("JagexCache_locationFile") + static File JagexCache_locationFile; + @ObfuscatedName("m") @Export("cacheDir") - public static File cacheDir; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 244088611 - ) - @Export("idxCount") - public static int idxCount; - @ObfuscatedName("y") + static File cacheDir; + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lnm;" + descriptor = "Lnq;" ) @Export("JagexCache_randomDat") public static BufferedFile JagexCache_randomDat; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Lnm;" + descriptor = "Lnq;" ) @Export("JagexCache_dat2File") public static BufferedFile JagexCache_dat2File; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lnm;" + descriptor = "Lnq;" ) @Export("JagexCache_idx255File") public static BufferedFile JagexCache_idx255File; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "[Lnm;" + descriptor = "[Lnq;" ) @Export("JagexCache_idxFiles") public static BufferedFile[] JagexCache_idxFiles; - @ObfuscatedName("di") - @ObfuscatedGetter( - longValue = 6281553513143992855L - ) - static long field1558; - @ObfuscatedName("hy") - @ObfuscatedGetter( - intValue = -127022771 - ) - static int field1559; static { JagexCache_randomDat = null; @@ -64,15 +44,12 @@ public class JagexCache { JagexCache_idx255File = null; } - @ObfuscatedName("g") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-159486076" + descriptor = "(I)I", + garbageValue = "-1155193506" ) - static void method2744(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - var1.remove(); - } + public static int method2815() { + return KeyHandler.KeyHandler_idleCycles; } } diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 03f46184a0..bd5116cd23 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -7,122 +7,102 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("p") +@ObfuscatedName("n") @Implements("KeyHandler") public final class KeyHandler implements KeyListener, FocusListener { - @ObfuscatedName("sq") - @ObfuscatedGetter( - intValue = -1730622273 - ) - static int field123; - @ObfuscatedName("tj") - @ObfuscatedGetter( - intValue = 1247297477 - ) - @Export("foundItemIndex") - static int foundItemIndex; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lp;" + descriptor = "Ln;" ) @Export("KeyHandler_instance") public static KeyHandler KeyHandler_instance; - @ObfuscatedName("m") + @ObfuscatedName("e") + static int[] field145; + @ObfuscatedName("bv") @ObfuscatedGetter( - longValue = 8198013874257616023L + intValue = -906031261 ) - public static long field149; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Leb;" - ) - static ClanChannel field146; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = -807799673 - ) - static int field145; - @ObfuscatedName("ch") + static int field142; + @ObfuscatedName("cr") @Export("KeyHandler_pressedKeys") public static boolean[] KeyHandler_pressedKeys; - @ObfuscatedName("cx") - public static boolean[] field124; - @ObfuscatedName("cv") - public static boolean[] field125; - @ObfuscatedName("ck") - public static int[] field126; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = -1362910477 - ) - public static int field143; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = 193922977 - ) - public static int field128; - @ObfuscatedName("cp") - static char[] field129; - @ObfuscatedName("cg") - static int[] field130; - @ObfuscatedName("cd") - public static int[] field131; + @ObfuscatedName("cq") + public static boolean[] field128; @ObfuscatedName("cs") - @ObfuscatedGetter( - intValue = -1398164847 - ) - public static int field114; - @ObfuscatedName("ca") - public static int[] field139; - @ObfuscatedName("cj") - @ObfuscatedGetter( - intValue = -565313275 - ) - public static int field132; - @ObfuscatedName("ct") - @ObfuscatedGetter( - intValue = 168789529 - ) - public static int field135; + public static boolean[] field129; @ObfuscatedName("cz") + public static int[] field130; + @ObfuscatedName("cu") @ObfuscatedGetter( - intValue = 1063392473 + intValue = -1372251093 + ) + public static int field144; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = 1181141701 + ) + public static int field123; + @ObfuscatedName("cn") + static char[] field133; + @ObfuscatedName("cf") + static int[] field134; + @ObfuscatedName("ch") + public static int[] field135; + @ObfuscatedName("cc") + @ObfuscatedGetter( + intValue = 613092295 ) public static int field136; - @ObfuscatedName("ce") + @ObfuscatedName("cj") + public static int[] field137; + @ObfuscatedName("co") @ObfuscatedGetter( - intValue = -869083273 + intValue = -1951942129 ) - public static int field137; - @ObfuscatedName("dd") + public static int field140; + @ObfuscatedName("ck") @ObfuscatedGetter( - intValue = -514998399 + intValue = -764636131 + ) + public static int field139; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -1860624425 + ) + public static int field127; + @ObfuscatedName("cm") + @ObfuscatedGetter( + intValue = 245979357 + ) + public static int field126; + @ObfuscatedName("db") + @ObfuscatedGetter( + intValue = -825263243 ) @Export("KeyHandler_idleCycles") public static volatile int KeyHandler_idleCycles; - @ObfuscatedName("dk") + @ObfuscatedName("dx") @Export("KeyHandler_keyCodes") static int[] KeyHandler_keyCodes; static { KeyHandler_instance = new KeyHandler(); KeyHandler_pressedKeys = new boolean[112]; - field124 = new boolean[112]; - field125 = new boolean[112]; - field126 = new int[128]; - field143 = 0; - field128 = 0; - field129 = new char[128]; + field128 = new boolean[112]; + field129 = new boolean[112]; field130 = new int[128]; - field131 = new int[128]; - field114 = 0; - field139 = new int[128]; - field132 = 0; - field135 = 0; + field144 = 0; + field123 = 0; + field133 = new char[128]; + field134 = new int[128]; + field135 = new int[128]; field136 = 0; - field137 = 0; + field137 = new int[128]; + field140 = 0; + field139 = 0; + field127 = 0; + field126 = 0; KeyHandler_idleCycles = 0; KeyHandler_keyCodes = 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, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; } @@ -130,55 +110,6 @@ public final class KeyHandler implements KeyListener, FocusListener { KeyHandler() { } - public final void keyTyped(KeyEvent var1) { - if (KeyHandler_instance != null) { - char var2 = var1.getKeyChar(); - if (var2 != 0 && var2 != '\uffff') { - boolean var3; - if ((var2 <= 0 || var2 >= 128) && (var2 < 160 || var2 > 255)) { - label54: { - if (var2 != 0) { - char[] var4 = class316.cp1252AsciiExtension; - - for (int var5 = 0; var5 < var4.length; ++var5) { - char var6 = var4[var5]; - if (var6 == var2) { - var3 = true; - break label54; - } - } - } - - var3 = false; - } - } else { - var3 = true; - } - - if (var3) { - int var7 = field136 + 1 & 127; - if (var7 != field135) { - field130[field136] = -1; - field129[field136] = var2; - field136 = var7; - } - } - } - } - - var1.consume(); - } - - public final void focusGained(FocusEvent var1) { - } - - public final synchronized void focusLost(FocusEvent var1) { - if (KeyHandler_instance != null) { - field128 = -1; - } - - } - public final synchronized void keyPressed(KeyEvent var1) { if (KeyHandler_instance != null) { int var2 = var1.getKeyCode(); @@ -191,21 +122,21 @@ public final class KeyHandler implements KeyListener, FocusListener { var2 = -1; } - if (field128 >= 0 && var2 >= 0) { - field126[field128] = var2; - field128 = field128 + 1 & 127; - if (field143 == field128) { - field128 = -1; + if (field123 >= 0 && var2 >= 0) { + field130[field123] = var2; + field123 = field123 + 1 & 127; + if (field144 == field123) { + field123 = -1; } } int var3; if (var2 >= 0) { - var3 = field136 + 1 & 127; - if (var3 != field135) { - field130[field136] = var2; - field129[field136] = 0; - field136 = var3; + var3 = field127 + 1 & 127; + if (var3 != field139) { + field134[field127] = var2; + field133[field127] = 0; + field127 = var3; } } @@ -226,11 +157,11 @@ public final class KeyHandler implements KeyListener, FocusListener { var2 = -1; } - if (field128 >= 0 && var2 >= 0) { - field126[field128] = ~var2; - field128 = field128 + 1 & 127; - if (field128 == field143) { - field128 = -1; + if (field123 >= 0 && var2 >= 0) { + field130[field123] = ~var2; + field123 = field123 + 1 & 127; + if (field123 == field144) { + field123 = -1; } } } @@ -238,101 +169,132 @@ public final class KeyHandler implements KeyListener, FocusListener { var1.consume(); } - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(ILbg;ZS)I", - garbageValue = "27134" - ) - static int method360(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.GETWINDOWMODE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class12.getWindowedMode(); - return 1; - } else { - int var3; - if (var0 == ScriptOpcodes.SETWINDOWMODE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - ReflectionCheck.setWindowedMode(var3); - } + public final void focusGained(FocusEvent var1) { + } - return 1; - } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = VarbitComposition.clientPreferences.windowMode; - return 1; - } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { - if (var0 == 5310) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 5311) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 5312) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 5350) { - Interpreter.Interpreter_stringStackSize -= 2; - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 5351) { - --Interpreter.Interpreter_stringStackSize; - return 1; + public final synchronized void focusLost(FocusEvent var1) { + if (KeyHandler_instance != null) { + field123 = -1; + } + + } + + public final void keyTyped(KeyEvent var1) { + if (KeyHandler_instance != null) { + char var2 = var1.getKeyChar(); + if (var2 != 0 && var2 != '\uffff') { + boolean var3; + if (var2 > 0 && var2 < 128 || var2 >= 160 && var2 <= 255) { + var3 = true; } else { - return 2; - } - } else { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - VarbitComposition.clientPreferences.windowMode = var3; - DevicePcmPlayerProvider.savePreferences(); + label57: { + if (var2 != 0) { + char[] var4 = class316.cp1252AsciiExtension; + + for (int var5 = 0; var5 < var4.length; ++var5) { + char var6 = var4[var5]; + if (var2 == var6) { + var3 = true; + break label57; + } + } + } + + var3 = false; + } } - return 1; + if (var3) { + int var7 = field127 + 1 & 127; + if (var7 != field139) { + field134[field127] = -1; + field133[field127] = var2; + field127 = var7; + } + } } } + + var1.consume(); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lot;Lnz;I)Lnz;", + garbageValue = "2091535432" + ) + @Export("readStringIntParameters") + static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { + int var2 = var0.readUnsignedByte(); + int var3; + if (var1 == null) { + var3 = InvDefinition.method2881(var2); + var1 = new IterableNodeHashTable(var3); + } + + for (var3 = 0; var3 < var2; ++var3) { + boolean var4 = var0.readUnsignedByte() == 1; + int var5 = var0.readMedium(); + Object var6; + if (var4) { + var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); + } else { + var6 = new IntegerNode(var0.readInt()); + } + + var1.put((Node)var6, (long)var5); + } + + return var1; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1992278741" + ) + public static void method364() { + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; + MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; + MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; + MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; + MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; + MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; + MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; + MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; + MouseHandler.MouseHandler_lastButtonVolatile = 0; + } } - @ObfuscatedName("iw") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "2089553027" + descriptor = "(II)Z", + garbageValue = "1392114279" ) - static final void method337(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; - } + public static boolean method336(int var0) { + return (var0 >> 31 & 1) != 0; + } - if (var10 != 0) { - int var11 = (var6 << 16) / var10; - int var12 = (var7 << 16) / var10; - if (var12 <= var11) { - var11 = -var11; - } else { - var12 = -var12; - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(CS)Z", + garbageValue = "-2636" + ) + @Export("isAlphaNumeric") + public static boolean isAlphaNumeric(char var0) { + return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; + } - int var13 = var5 * var12 >> 17; - int var14 = var5 * var12 + 1 >> 17; - int var15 = var5 * var11 >> 17; - int var16 = var5 * var11 + 1 >> 17; - var0 -= Rasterizer2D.Rasterizer2D_xClipStart; - var1 -= Rasterizer2D.Rasterizer2D_yClipStart; - int var17 = var0 + var13; - int var18 = var0 - var14; - int var19 = var0 + var6 - var14; - int var20 = var0 + var13 + var6; - int var21 = var15 + var1; - int var22 = var1 - var16; - int var23 = var7 + var1 - var16; - int var24 = var7 + var15 + var1; - Rasterizer3D.method4087(var17, var18, var19); - Rasterizer3D.method4061(var21, var22, var23, var17, var18, var19, var4); - Rasterizer3D.method4087(var17, var19, var20); - Rasterizer3D.method4061(var21, var23, var24, var17, var19, var20, var4); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "980972475" + ) + public static void method349() { + Widget.Widget_cachedSprites.clear(); + Widget.Widget_cachedModels.clear(); + Widget.Widget_cachedFonts.clear(); + Widget.Widget_cachedSpriteMasks.clear(); } } diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index 9024e24949..2e13e0cf7d 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -1,49 +1,76 @@ +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; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("eg") +@ObfuscatedName("em") @Implements("KitDefinition") public class KitDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("rh") + static boolean field1665; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("KitDefinition_archive") - static AbstractArchive KitDefinition_archive; - @ObfuscatedName("k") + public static AbstractArchive KitDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lkl;" + ) + @Export("KitDefinition_modelsArchive") + public static AbstractArchive KitDefinition_modelsArchive; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1748939167 + ) + @Export("KitDefinition_fileCount") + public static int KitDefinition_fileCount; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lii;" ) @Export("KitDefinition_cached") - public static EvictingDualNodeHashTable KitDefinition_cached; - @ObfuscatedName("o") + static EvictingDualNodeHashTable KitDefinition_cached; + @ObfuscatedName("aj") + @Export("hasFocus") + protected static boolean hasFocus; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1083931277 + intValue = 908165149 ) @Export("bodypartID") public int bodypartID; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("models2") int[] models2; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("recolorFrom") short[] recolorFrom; @ObfuscatedName("a") @Export("recolorTo") short[] recolorTo; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("retextureFrom") short[] retextureFrom; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("retextureTo") short[] retextureTo; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("models") int[] models; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("nonSelectable") public boolean nonSelectable; @@ -57,10 +84,10 @@ public class KitDefinition extends DualNode { this.nonSelectable = false; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "539516942" + descriptor = "(Lot;B)V", + garbageValue = "45" ) @Export("decode") void decode(Buffer var1) { @@ -74,10 +101,10 @@ public class KitDefinition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-2069068144" + garbageValue = "-1239600886" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -120,10 +147,10 @@ public class KitDefinition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(S)Z", - garbageValue = "3701" + descriptor = "(I)Z", + garbageValue = "-1160783210" ) @Export("ready") public boolean ready() { @@ -133,7 +160,7 @@ public class KitDefinition extends DualNode { boolean var1 = true; for (int var2 = 0; var2 < this.models2.length; ++var2) { - if (!GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { + if (!KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { var1 = false; } } @@ -142,10 +169,10 @@ public class KitDefinition extends DualNode { } } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)Lgl;", - garbageValue = "209809500" + descriptor = "(I)Lgi;", + garbageValue = "-1830587271" ) @Export("getModelData") public ModelData getModelData() { @@ -155,7 +182,7 @@ public class KitDefinition extends DualNode { ModelData[] var1 = new ModelData[this.models2.length]; for (int var2 = 0; var2 < this.models2.length; ++var2) { - var1[var2] = ModelData.ModelData_get(GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive, this.models2[var2], 0); + var1[var2] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models2[var2], 0); } ModelData var4; @@ -182,16 +209,16 @@ public class KitDefinition extends DualNode { } } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "25" + descriptor = "(I)Z", + garbageValue = "-1307534976" ) - public boolean method2868() { + public boolean method2939() { boolean var1 = true; for (int var2 = 0; var2 < 5; ++var2) { - if (this.models[var2] != -1 && !GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { + if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { var1 = false; } } @@ -199,10 +226,10 @@ public class KitDefinition extends DualNode { return var1; } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)Lgl;", - garbageValue = "-880664315" + descriptor = "(B)Lgi;", + garbageValue = "-45" ) @Export("getKitDefinitionModels") public ModelData getKitDefinitionModels() { @@ -211,7 +238,7 @@ public class KitDefinition extends DualNode { for (int var3 = 0; var3 < 5; ++var3) { if (this.models[var3] != -1) { - var1[var2++] = ModelData.ModelData_get(GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive, this.models[var3], 0); + var1[var2++] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models[var3], 0); } } @@ -232,166 +259,206 @@ public class KitDefinition extends DualNode { return var5; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "0" + descriptor = "(II)Lfe;", + garbageValue = "-411855821" ) - @Export("isKeyDown") - public static final boolean isKeyDown() { - synchronized(KeyHandler.KeyHandler_instance) { - if (KeyHandler.field135 == KeyHandler.field137) { - return false; - } else { - SpriteMask.field2994 = KeyHandler.field130[KeyHandler.field135]; - class78.field1010 = KeyHandler.field129[KeyHandler.field135]; - KeyHandler.field135 = KeyHandler.field135 + 1 & 127; - return true; - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)Lfg;", - garbageValue = "2092779117" - ) - @Export("getEnum") - public static EnumComposition getEnum(int var0) { - EnumComposition var1 = (EnumComposition)EnumComposition.EnumDefinition_cached.get((long)var0); + @Export("SequenceDefinition_get") + public static SequenceDefinition SequenceDefinition_get(int var0) { + SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { - byte[] var2 = EnumComposition.EnumDefinition_archive.takeFile(8, var0); - var1 = new EnumComposition(); + byte[] var2 = class395.SequenceDefinition_archive.takeFile(12, var0); + var1 = new SequenceDefinition(); if (var2 != null) { var1.decode(new Buffer(var2)); } - EnumComposition.EnumDefinition_cached.put(var1, (long)var0); + var1.postDecode(); + SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); return var1; } } - @ObfuscatedName("y") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIIIIZS)Loc;", - garbageValue = "3029" + descriptor = "(Lkl;III)[Loz;", + garbageValue = "1507951938" ) - @Export("getItemSprite") - public static final SpritePixels getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { - if (var1 == -1) { - var4 = 0; - } else if (var4 == 2 && var1 != 1) { - var4 = 1; - } - - long var6 = ((long)var4 << 40) + (long)var0 + ((long)var1 << 16) + ((long)var2 << 38) + ((long)var3 << 42); - SpritePixels var8; - if (!var5) { - var8 = (SpritePixels)ItemComposition.ItemDefinition_cachedSprites.get(var6); - if (var8 != null) { - return var8; - } - } - - ItemComposition var9 = class65.ItemDefinition_get(var0); - if (var1 > 1 && var9.countobj != null) { - int var10 = -1; - - for (int var11 = 0; var11 < 10; ++var11) { - if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { - var10 = var9.countobj[var11]; - } - } - - if (var10 != -1) { - var9 = class65.ItemDefinition_get(var10); - } - } - - Model var19 = var9.getModel(1); - if (var19 == null) { + public static IndexedSprite[] method2934(AbstractArchive var0, int var1, int var2) { + if (!VarbitComposition.method3102(var0, var1, var2)) { return null; } else { - SpritePixels var20 = null; - if (var9.noteTemplate != -1) { - var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); - if (var20 == null) { - return null; - } - } else if (var9.notedId != -1) { - var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); - if (var20 == null) { - return null; - } - } else if (var9.placeholderTemplate != -1) { - var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); - if (var20 == null) { - return null; - } + IndexedSprite[] var4 = new IndexedSprite[class414.SpriteBuffer_spriteCount]; + + for (int var5 = 0; var5 < class414.SpriteBuffer_spriteCount; ++var5) { + IndexedSprite var6 = var4[var5] = new IndexedSprite(); + var6.width = class414.SpriteBuffer_spriteWidth; + var6.height = class408.SpriteBuffer_spriteHeight; + var6.xOffset = class135.SpriteBuffer_xOffsets[var5]; + var6.yOffset = class131.SpriteBuffer_yOffsets[var5]; + var6.subWidth = class414.SpriteBuffer_spriteWidths[var5]; + var6.subHeight = class16.SpriteBuffer_spriteHeights[var5]; + var6.palette = class351.SpriteBuffer_spritePalette; + var6.pixels = class414.SpriteBuffer_pixels[var5]; } - int[] var12 = Rasterizer2D.Rasterizer2D_pixels; - int var13 = Rasterizer2D.Rasterizer2D_width; - int var14 = Rasterizer2D.Rasterizer2D_height; - int[] var15 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var15); - var8 = new SpritePixels(36, 32); - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); - Rasterizer2D.Rasterizer2D_clear(); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - Rasterizer3D.method4049(16, 16); - Rasterizer3D.field2333 = false; - if (var9.placeholderTemplate != -1) { - var20.drawTransBgAt(0, 0); - } - - int var16 = var9.zoom2d; - if (var5) { - var16 = (int)((double)var16 * 1.5D); - } else if (var2 == 2) { - var16 = (int)(1.04D * (double)var16); - } - - int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; - int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; - var19.calculateBoundsCylinder(); - var19.method4430(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); - if (var9.notedId != -1) { - var20.drawTransBgAt(0, 0); - } - - if (var2 >= 1) { - var8.outline(1); - } - - if (var2 >= 2) { - var8.outline(16777215); - } - - if (var3 != 0) { - var8.shadow(var3); - } - - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); - if (var9.noteTemplate != -1) { - var20.drawTransBgAt(0, 0); - } - - if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { - class300.ItemDefinition_fontPlain11.draw(Players.method2260(var1), 0, 9, 16776960, 1); - } - - if (!var5) { - ItemComposition.ItemDefinition_cachedSprites.put(var8, var6); - } - - Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); - Rasterizer2D.Rasterizer2D_setClipArray(var15); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - Rasterizer3D.field2333 = true; - return var8; + StudioGame.method5130(); + return var4; } } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Loy;B)V", + garbageValue = "-40" + ) + @Export("performReflectionCheck") + public static void performReflectionCheck(PacketBuffer var0) { + ReflectionCheck var1 = (ReflectionCheck)class54.reflectionChecks.last(); + if (var1 != null) { + int var2 = var0.offset; + var0.writeInt(var1.id); + + for (int var3 = 0; var3 < var1.size; ++var3) { + if (var1.creationErrors[var3] != 0) { + var0.writeByte(var1.creationErrors[var3]); + } else { + try { + int var4 = var1.operations[var3]; + Field var5; + int var6; + if (var4 == 0) { + var5 = var1.fields[var3]; + var6 = Reflection.getInt(var5, (Object)null); + var0.writeByte(0); + var0.writeInt(var6); + } else if (var4 == 1) { + var5 = var1.fields[var3]; + Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); + var0.writeByte(0); + } else if (var4 == 2) { + var5 = var1.fields[var3]; + var6 = var5.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } + + Method var25; + if (var4 != 3) { + if (var4 == 4) { + var25 = var1.methods[var3]; + var6 = var25.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } + } else { + var25 = var1.methods[var3]; + byte[][] var10 = var1.arguments[var3]; + Object[] var7 = new Object[var10.length]; + + for (int var8 = 0; var8 < var10.length; ++var8) { + ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); + var7[var8] = var9.readObject(); + } + + Object var11 = Reflection.invoke(var25, (Object)null, var7); + if (var11 == null) { + var0.writeByte(0); + } else if (var11 instanceof Number) { + var0.writeByte(1); + var0.writeLong(((Number)var11).longValue()); + } else if (var11 instanceof String) { + var0.writeByte(2); + var0.writeStringCp1252NullTerminated((String)var11); + } else { + var0.writeByte(4); + } + } + } catch (ClassNotFoundException var13) { + var0.writeByte(-10); + } catch (InvalidClassException var14) { + var0.writeByte(-11); + } catch (StreamCorruptedException var15) { + var0.writeByte(-12); + } catch (OptionalDataException var16) { + var0.writeByte(-13); + } catch (IllegalAccessException var17) { + var0.writeByte(-14); + } catch (IllegalArgumentException var18) { + var0.writeByte(-15); + } catch (InvocationTargetException var19) { + var0.writeByte(-16); + } catch (SecurityException var20) { + var0.writeByte(-17); + } catch (IOException var21) { + var0.writeByte(-18); + } catch (NullPointerException var22) { + var0.writeByte(-19); + } catch (Exception var23) { + var0.writeByte(-20); + } catch (Throwable var24) { + var0.writeByte(-21); + } + } + } + + var0.writeCrc(var2); + var1.remove(); + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(BI)C", + garbageValue = "395470841" + ) + public static char method2959(byte var0) { + int var1 = var0 & 255; + if (var1 == 0) { + throw new IllegalArgumentException("" + Integer.toString(var1, 16)); + } else { + if (var1 >= 128 && var1 < 160) { + char var2 = class316.cp1252AsciiExtension[var1 - 128]; + if (var2 == 0) { + var2 = '?'; + } + + var1 = var2; + } + + return (char)var1; + } + } + + @ObfuscatedName("gr") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-110" + ) + static boolean method2954() { + return (Client.drawPlayerNames & 4) != 0; + } + + @ObfuscatedName("kt") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-736812823" + ) + static void method2956() { + Client.packetWriter.addNode(LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2697, Client.packetWriter.isaacCipher)); + Client.oculusOrbState = 0; + } + + @ObfuscatedName("ly") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "82" + ) + static void method2953() { + WorldMapDecorationType.clientPreferences.field1209 = Client.field524; + ScriptFrame.savePreferences(); + } } diff --git a/runescape-client/src/main/java/Language.java b/runescape-client/src/main/java/Language.java index 665d67fbc6..ff120c08c5 100644 --- a/runescape-client/src/main/java/Language.java +++ b/runescape-client/src/main/java/Language.java @@ -6,103 +6,108 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ka") +@ObfuscatedName("kn") @Implements("Language") public class Language implements MouseWheel { - @ObfuscatedName("sf") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Laf;" - ) - @Export("decimator") - static Decimator decimator; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_EN") public static final Language Language_EN; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_DE") static final Language Language_DE; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_FR") public static final Language Language_FR; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_PT") static final Language Language_PT; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_NL") static final Language Language_NL; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_ES") public static final Language Language_ES; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lka;" + descriptor = "Lkn;" ) @Export("Language_ES_MX") static final Language Language_ES_MX; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "[Lka;" + descriptor = "[Lkn;" ) @Export("Language_valuesOrdered") public static final Language[] Language_valuesOrdered; + @ObfuscatedName("gs") + @ObfuscatedGetter( + longValue = -4360755404150708535L + ) + static long field3800; + @ObfuscatedName("ke") + @ObfuscatedSignature( + descriptor = "Lhb;" + ) + @Export("textureProvider") + static TextureProvider textureProvider; @ObfuscatedName("a") - final String field3793; - @ObfuscatedName("u") + final String field3795; + @ObfuscatedName("e") @Export("language") final String language; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -1152037753 + intValue = 2144560303 ) @Export("id") final int id; static { - Language_EN = new Language("EN", "en", "English", ModeWhere.field3811, 0, "GB"); - Language_DE = new Language("DE", "de", "German", ModeWhere.field3811, 1, "DE"); - Language_FR = new Language("FR", "fr", "French", ModeWhere.field3811, 2, "FR"); - Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field3811, 3, "BR"); - Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field3809, 4, "NL"); - Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field3809, 5, "ES"); - Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field3811, 6, "MX"); - Language[] var0 = new Language[]{Language_NL, Language_FR, Language_ES_MX, Language_EN, Language_ES, Language_DE, Language_PT}; + Language_EN = new Language("EN", "en", "English", ModeWhere.field3819, 0, "GB"); + Language_DE = new Language("DE", "de", "German", ModeWhere.field3819, 1, "DE"); + Language_FR = new Language("FR", "fr", "French", ModeWhere.field3819, 2, "FR"); + Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field3819, 3, "BR"); + Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field3806, 4, "NL"); + Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field3806, 5, "ES"); + Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field3819, 6, "MX"); + Language[] var0 = method5480(); Language_valuesOrdered = new Language[var0.length]; - Language[] var2 = var0; + Language[] var1 = var0; - for (int var3 = 0; var3 < var2.length; ++var3) { - Language var4 = var2[var3]; - if (Language_valuesOrdered[var4.id] != null) { + for (int var2 = 0; var2 < var1.length; ++var2) { + Language var3 = var1[var2]; + if (Language_valuesOrdered[var3.id] != null) { throw new IllegalStateException(); } - Language_valuesOrdered[var4.id] = var4; + Language_valuesOrdered[var3.id] = var3; } } @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lki;ILjava/lang/String;)V" + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkw;ILjava/lang/String;)V" ) Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) { - this.field3793 = var1; + this.field3795 = var1; this.language = var2; this.id = var5; if (var6 != null) { @@ -113,256 +118,317 @@ public class Language implements MouseWheel { } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "4" - ) - @Export("getLanguage") - String getLanguage() { - return this.language; - } - - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "1696115711" + ) + @Export("getLanguage") + String getLanguage() { + return this.language; + } + public String toString() { return this.getLanguage().toLowerCase(Locale.ENGLISH); } - @ObfuscatedName("f") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1391914360" + descriptor = "(Lkl;I)V", + garbageValue = "2092460301" ) - static final int method5397(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; + public static void method5481(AbstractArchive var0) { + InvDefinition.InvDefinition_archive = var0; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)Ljava/lang/String;", + garbageValue = "119" + ) + public static String method5476(CharSequence var0) { + int var1 = var0.length(); + StringBuilder var2 = new StringBuilder(var1); + + for (int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { + if (var4 == ' ') { + var2.append('+'); + } else { + byte var5 = MilliClock.charToByteCp1252(var4); + var2.append('%'); + int var6 = var5 >> 4 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } + + var6 = var5 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } + } + } else { + var2.append(var4); + } + } + + return var2.toString(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "490898244" + ) + public static void method5469() { + if (MouseHandler.MouseHandler_instance != null) { + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_instance = null; + } + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;IZI)I", + garbageValue = "-287211776" + ) + static int method5477(CharSequence var0, int var1, boolean var2) { + if (var1 >= 2 && var1 <= 36) { + boolean var3 = false; + boolean var4 = false; + int var5 = 0; + int var6 = var0.length(); + + for (int var7 = 0; var7 < var6; ++var7) { + char var8 = var0.charAt(var7); + if (var7 == 0) { + if (var8 == '-') { + var3 = true; + continue; + } + + if (var8 == '+') { + continue; + } + } + + int var10; + if (var8 >= '0' && var8 <= '9') { + var10 = var8 - '0'; + } else if (var8 >= 'A' && var8 <= 'Z') { + var10 = var8 - '7'; + } else { + if (var8 < 'a' || var8 > 'z') { + throw new NumberFormatException(); + } + + var10 = var8 - 'W'; + } + + if (var10 >= var1) { + throw new NumberFormatException(); + } + + if (var3) { + var10 = -var10; + } + + int var9 = var5 * var1 + var10; + if (var9 / var1 != var5) { + throw new NumberFormatException(); + } + + var5 = var9; + var4 = true; } - return var1; + if (!var4) { + throw new NumberFormatException(); + } else { + return var5; + } } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; + throw new IllegalArgumentException("" + var1); } } - @ObfuscatedName("ao") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-6" + descriptor = "(I)[Lkn;", + garbageValue = "-1453856836" ) - static int method5401(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ObjectComposition.loadWorlds() ? 1 : 0; - return 1; + static Language[] method5480() { + return new Language[]{Language_NL, Language_PT, Language_DE, Language_ES, Language_EN, Language_ES_MX, Language_FR}; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1578017093" + ) + @Export("clearItemContainer") + static void clearItemContainer(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + for (int var2 = 0; var2 < var1.ids.length; ++var2) { + var1.ids[var2] = -1; + var1.quantities[var2] = 0; + } + + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-669861290" + ) + static int method5478(int var0, Script var1, boolean var2) { + boolean var3 = true; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var4 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + var3 = false; } else { - World var9; - if (var0 == ScriptOpcodes.WORLDLIST_START) { - var9 = GrandExchangeOfferWorldComparator.worldListStart(); - if (var9 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.id; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.location; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { - var9 = SequenceDefinition.getNextWorldListWorld(); - if (var9 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.id; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.location; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + var4 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } + int var11; + if (var0 == ScriptOpcodes.CC_SETOP) { + var11 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + var4.setAction(var11, Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]); return 1; } else { - int var3; - World var7; - int var8; - if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = null; - - for (var8 = 0; var8 < World.World_count; ++var8) { - if (var3 == class393.World_worlds[var8].id) { - var7 = class393.World_worlds[var8]; - break; - } - } - - if (var7 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.id; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.location; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { - class240.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - boolean var10 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] == 1; - var8 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - boolean var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3] == 1; - AbstractWorldMapIcon.sortWorldList(var3, var10, var8, var6); - return 1; - } else if (var0 != 6511) { - if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { - Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; + --class54.Interpreter_stringStackSize; + return 1; + } + } else { + int var6; + if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var11 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var4.parent = ViewportMouse.getWidgetChild(var11, var6); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { + var4.isScrollBar = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { + var4.dragZoneSize = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { + var4.dragThreshold = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { + var4.dataText = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { + var4.spellActionName = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { + var4.actions = null; + return 1; + } else if (var0 == 1308) { + var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 1309) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else { + int var7; + byte[] var8; + if (var0 != ScriptOpcodes.CC_SETOPKEY) { + byte var5; + if (var0 == ScriptOpcodes.CC_SETOPTKEY) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var5 = 10; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]}; + byte[] var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]}; + class134.Widget_setKey(var4, var5, var8, var9); return 1; - } else { - int var4; - ParamComposition var5; - if (var0 == ScriptOpcodes.NC_PARAM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = WorldMapIcon_1.getParamDefinition(var4); - if (var5.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ScriptEvent.getNpcDefinition(var3).getStringParam(var4, var5.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ScriptEvent.getNpcDefinition(var3).getIntParam(var4, var5.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.LC_PARAM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = WorldMapIcon_1.getParamDefinition(var4); - if (var5.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = HitSplatDefinition.getObjectDefinition(var3).getStringParam(var4, var5.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = HitSplatDefinition.getObjectDefinition(var3).getIntParam(var4, var5.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_PARAM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = WorldMapIcon_1.getParamDefinition(var4); - if (var5.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class65.ItemDefinition_get(var3).getStringParam(var4, var5.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class65.ItemDefinition_get(var3).getIntParam(var4, var5.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = WorldMapIcon_1.getParamDefinition(var4); - if (var5.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = HorizontalAlignment.StructDefinition_getStructDefinition(var3).getStringParam(var4, var5.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = HorizontalAlignment.StructDefinition_getStructDefinition(var3).getIntParam(var4, var5.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.ON_MOBILE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLIENTTYPE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.clientType & 3; - return 1; - } else if (var0 == 6520) { - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { - return 1; - } else if (var0 == 6522) { - --Interpreter.Interpreter_stringStackSize; - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 6523) { - --Interpreter.Interpreter_stringStackSize; - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_BATTERYLEVEL) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_BATTERYCHARGING) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_WIFIAVAILABLE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - return 1; - } else if (var0 == 6527) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.field487; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var11 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] - 1; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + if (var11 >= 0 && var11 <= 9) { + class117.Widget_setKeyRate(var4, var11, var6, var7); return 1; } else { - return 2; + throw new RuntimeException(); } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { + var5 = 10; + var6 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class117.Widget_setKeyRate(var4, var5, var6, var7); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + var11 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + class322.Widget_setKeyIgnoreHeld(var4, var11); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { + var5 = 10; + class322.Widget_setKeyIgnoreHeld(var4, var5); + return 1; + } else { + return 2; } } else { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var3 >= 0 && var3 < World.World_count) { - var7 = class393.World_worlds[var3]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.id; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.location; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; + byte[] var10 = null; + var8 = null; + if (var3) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 10; + + for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + AbstractByteArrayCopier.Interpreter_intStackSize] >= 0; var7 += 2) { + } + + if (var7 > 0) { + var10 = new byte[var7 / 2]; + var8 = new byte[var7 / 2]; + + for (var7 -= 2; var7 >= 0; var7 -= 2) { + var10[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + AbstractByteArrayCopier.Interpreter_intStackSize]; + var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + } + } } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]}; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]}; } - return 1; + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] - 1; + if (var7 >= 0 && var7 <= 9) { + class134.Widget_setKey(var4, var7, var10, var8); + return 1; + } else { + throw new RuntimeException(); + } } } } diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index a60debaf92..fbd0779782 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -3,23 +3,23 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mz") +@ObfuscatedName("mq") @Implements("Link") public class Link { - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lmz;" + descriptor = "Lmq;" ) @Export("previous") public Link previous; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lmz;" + descriptor = "Lmq;" ) @Export("next") public Link next; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("remove") public void remove() { if (this.next != null) { diff --git a/runescape-client/src/main/java/LinkDeque.java b/runescape-client/src/main/java/LinkDeque.java index 4a012dd8bb..df9533bf27 100644 --- a/runescape-client/src/main/java/LinkDeque.java +++ b/runescape-client/src/main/java/LinkDeque.java @@ -3,18 +3,18 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kh") +@ObfuscatedName("km") @Implements("LinkDeque") public class LinkDeque { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmz;" + descriptor = "Lmq;" ) @Export("sentinel") Link sentinel; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmz;" + descriptor = "Lmq;" ) @Export("current") Link current; @@ -25,9 +25,9 @@ public class LinkDeque { this.sentinel.next = this.sentinel; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmz;)V" + descriptor = "(Lmq;)V" ) @Export("addFirst") public void addFirst(Link var1) { @@ -41,9 +41,9 @@ public class LinkDeque { var1.previous.next = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "()Lmz;" + descriptor = "()Lmq;" ) @Export("last") public Link last() { @@ -57,9 +57,9 @@ public class LinkDeque { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "()Lmz;" + descriptor = "()Lmq;" ) @Export("previous") public Link previous() { diff --git a/runescape-client/src/main/java/Login.java b/runescape-client/src/main/java/Login.java index 1a059ff5a0..f4d8f7523b 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -5,152 +5,168 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bb") +@ObfuscatedName("bi") @Implements("Login") public class Login { - @ObfuscatedName("c") + @ObfuscatedName("su") + @ObfuscatedGetter( + intValue = 1480284863 + ) + static int field906; + @ObfuscatedName("q") @Export("clearLoginScreen") static boolean clearLoginScreen; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 559672353 + intValue = -14906911 ) @Export("xPadding") static int xPadding; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "[Loz;" ) @Export("runesSprite") static IndexedSprite[] runesSprite; - @ObfuscatedName("o") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Loi;" + descriptor = "Loz;" ) - @Export("titleboxSprite") - static IndexedSprite titleboxSprite; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - @Export("titlebuttonSprite") - static IndexedSprite titlebuttonSprite; + static IndexedSprite field873; @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Loc;" + descriptor = "Lon;" + ) + @Export("leftTitleSprite") + static SpritePixels leftTitleSprite; + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lon;" ) @Export("rightTitleSprite") static SpritePixels rightTitleSprite; - @ObfuscatedName("d") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lcn;" + descriptor = "Loz;" + ) + static IndexedSprite field876; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + static IndexedSprite field877; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lcl;" ) @Export("loginScreenRunesAnimation") static LoginScreenAnimation loginScreenRunesAnimation; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 1729619027 + intValue = 583338115 ) @Export("loginBoxX") static int loginBoxX; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -1908760531 + intValue = 1550771085 ) @Export("Login_loadingPercent") static int Login_loadingPercent; - @ObfuscatedName("w") + @ObfuscatedName("u") @Export("Login_loadingText") static String Login_loadingText; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -1565942121 + ) + static int field884; @ObfuscatedName("aj") @ObfuscatedGetter( - intValue = -267030897 + intValue = 439157501 ) - static int field874; - @ObfuscatedName("ac") + static int field869; + @ObfuscatedName("am") + static String field894; + @ObfuscatedName("ae") @ObfuscatedGetter( - intValue = 504956167 - ) - static int field883; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -1833095583 + intValue = -241225043 ) @Export("loginIndex") static int loginIndex; - @ObfuscatedName("af") + @ObfuscatedName("ai") @Export("Login_response0") static String Login_response0; - @ObfuscatedName("ax") + @ObfuscatedName("af") @Export("Login_response1") static String Login_response1; - @ObfuscatedName("bd") + @ObfuscatedName("bz") @Export("Login_response2") static String Login_response2; @ObfuscatedName("bt") @Export("Login_response3") static String Login_response3; - @ObfuscatedName("bf") + @ObfuscatedName("bg") @Export("Login_username") static String Login_username; - @ObfuscatedName("bp") + @ObfuscatedName("bf") @Export("Login_password") static String Login_password; - @ObfuscatedName("be") - static boolean field891; - @ObfuscatedName("bq") - static boolean field904; - @ObfuscatedName("bk") - static boolean field893; @ObfuscatedName("bm") + static boolean field904; + @ObfuscatedName("bv") + static boolean field895; + @ObfuscatedName("bb") + static boolean field900; + @ObfuscatedName("bh") @ObfuscatedGetter( - intValue = 445492341 + intValue = -585931493 ) @Export("currentLoginField") static int currentLoginField; - @ObfuscatedName("bg") + @ObfuscatedName("be") @Export("worldSelectOpen") static boolean worldSelectOpen; - @ObfuscatedName("ci") + @ObfuscatedName("ct") @ObfuscatedGetter( - intValue = -333225241 + intValue = -1479872751 ) @Export("hoveredWorldIndex") static int hoveredWorldIndex; - @ObfuscatedName("cl") + @ObfuscatedName("cy") @ObfuscatedGetter( - intValue = -1733678977 + intValue = 1321055669 ) @Export("worldSelectPage") static int worldSelectPage; - @ObfuscatedName("cu") + @ObfuscatedName("cg") @ObfuscatedGetter( - intValue = 2104871065 + intValue = 109893835 ) @Export("worldSelectPagesCount") static int worldSelectPagesCount; - @ObfuscatedName("cb") + @ObfuscatedName("cx") @ObfuscatedGetter( - longValue = 5033881165607082799L + longValue = 554376868223177391L ) - static long field902; - @ObfuscatedName("cf") + static long field885; + @ObfuscatedName("cd") @ObfuscatedGetter( - longValue = -6780688488603410813L + longValue = -2022270398878791713L ) - static long field875; - @ObfuscatedName("cc") - static String[] field869; - @ObfuscatedName("cn") - static String[] field892; + static long field905; + @ObfuscatedName("cp") + static String[] field890; + @ObfuscatedName("cl") + static String[] field907; static { xPadding = 0; loginBoxX = xPadding + 202; Login_loadingPercent = 10; Login_loadingText = ""; - field874 = -1; - field883 = 1; + field884 = -1; + field869 = 1; loginIndex = 0; Login_response0 = ""; Login_response1 = ""; @@ -158,9 +174,9 @@ public class Login { Login_response3 = ""; Login_username = ""; Login_password = ""; - field891 = false; field904 = false; - field893 = true; + field895 = false; + field900 = true; currentLoginField = 0; worldSelectOpen = false; hoveredWorldIndex = -1; @@ -168,56 +184,26 @@ public class Login { worldSelectPagesCount = 0; new DecimalFormat("##0.00"); new class111(); - field902 = -1L; - field875 = -1L; - field869 = new String[]{"title.jpg"}; - field892 = new String[]{"logo", "logo_deadman_mode", "logo_seasonal_mode", "titlebox", "titlebutton", "titlebutton_large", "play_now_text", "titlebutton_wide42,1", "runes", "title_mute", "options_radio_buttons,0", "options_radio_buttons,2", "options_radio_buttons,4", "options_radio_buttons,6", "sl_back", "sl_flags", "sl_arrows", "sl_stars", "sl_button"}; + field885 = -1L; + field905 = -1L; + field890 = new String[]{"title.jpg"}; + field907 = new String[]{"logo", "logo_deadman_mode", "logo_seasonal_mode", "titlebox", "titlebutton", "titlebutton_large", "play_now_text", "titlebutton_wide42,1", "runes", "title_mute", "options_radio_buttons,0", "options_radio_buttons,2", "options_radio_buttons,4", "options_radio_buttons,6", "sl_back", "sl_flags", "sl_arrows", "sl_stars", "sl_button"}; } - @ObfuscatedName("gl") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "1599063881" - ) - @Export("worldToScreen") - static final void worldToScreen(int var0, int var1, int var2) { - if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { - int var3 = GraphicsObject.getTileHeight(var0, var1, class391.Client_plane) - var2; - var0 -= WorldMapSection2.cameraX; - var3 -= SpotAnimationDefinition.cameraY; - var1 -= DevicePcmPlayerProvider.cameraZ; - int var4 = Rasterizer3D.Rasterizer3D_sine[ApproximateRouteStrategy.cameraPitch]; - int var5 = Rasterizer3D.Rasterizer3D_cosine[ApproximateRouteStrategy.cameraPitch]; - int var6 = Rasterizer3D.Rasterizer3D_sine[Fonts.cameraYaw]; - int var7 = Rasterizer3D.Rasterizer3D_cosine[Fonts.cameraYaw]; - int var8 = var6 * var1 + var0 * var7 >> 16; - var1 = var7 * var1 - var0 * var6 >> 16; - var0 = var8; - var8 = var5 * var3 - var4 * var1 >> 16; - var1 = var3 * var4 + var5 * var1 >> 16; - if (var1 >= 50) { - Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; - Client.viewportTempY = var8 * Client.viewportZoom / var1 + Client.viewportHeight / 2; - } else { - Client.viewportTempX = -1; - Client.viewportTempY = -1; - } - - } else { - Client.viewportTempX = -1; - Client.viewportTempY = -1; - } - } - - @ObfuscatedName("ll") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "16711935" + garbageValue = "-235084475" ) - static void method1915() { - if (Client.oculusOrbState == 1) { - Client.field741 = true; - } + static void method1930() { + if (Login_username == null || Login_username.length() <= 0) { + if (WorldMapDecorationType.clientPreferences.rememberedUsername != null) { + Login_username = WorldMapDecorationType.clientPreferences.rememberedUsername; + Client.Login_isUsernameRemembered = true; + } else { + Client.Login_isUsernameRemembered = false; + } + } } } diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index fcafffac28..a4572ce610 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -3,66 +3,72 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ie") +@ObfuscatedName("ip") @Implements("LoginPacket") public class LoginPacket implements class238 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lie;" + descriptor = "Lip;" ) - public static final LoginPacket field2873; - @ObfuscatedName("c") + public static final LoginPacket field2885; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lie;" + descriptor = "Lip;" ) - static final LoginPacket field2867; + static final LoginPacket field2884; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lip;" + ) + public static final LoginPacket field2891; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lip;" + ) + public static final LoginPacket field2886; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lie;" + descriptor = "Lip;" ) - public static final LoginPacket field2868; + public static final LoginPacket field2888; @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lie;" + descriptor = "Lip;" ) - public static final LoginPacket field2871; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lie;" - ) - public static final LoginPacket field2870; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lie;" - ) - static final LoginPacket field2866; + static final LoginPacket field2889; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "[Lie;" + descriptor = "[Lip;" ) @Export("LoginPacket_indexedValues") static final LoginPacket[] LoginPacket_indexedValues; - @ObfuscatedName("z") + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Len;" + ) + @Export("clock") + protected static Clock clock; + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1920525635 + intValue = 1335807315 ) @Export("id") public final int id; static { - field2873 = new LoginPacket(14, 0); - field2867 = new LoginPacket(15, 4); - field2868 = new LoginPacket(16, -2); - field2871 = new LoginPacket(18, -2); - field2870 = new LoginPacket(19, -2); - field2866 = new LoginPacket(27, 0); + field2885 = new LoginPacket(14, 0); + field2884 = new LoginPacket(15, 4); + field2891 = new LoginPacket(16, -2); + field2886 = new LoginPacket(18, -2); + field2888 = new LoginPacket(19, -2); + field2889 = new LoginPacket(27, 0); LoginPacket_indexedValues = new LoginPacket[32]; - LoginPacket[] var0 = new LoginPacket[]{field2866, field2867, field2868, field2870, field2871, field2873}; - LoginPacket[] var1 = var0; + LoginPacket[] var0 = ModelData0.method4562(); - for (int var2 = 0; var2 < var1.length; ++var2) { - LoginPacket_indexedValues[var1[var2].id] = var1[var2]; + for (int var1 = 0; var1 < var0.length; ++var1) { + LoginPacket_indexedValues[var0[var1].id] = var0[var1]; } } @@ -75,33 +81,258 @@ public class LoginPacket implements class238 { this.id = var1; } - @ObfuscatedName("n") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "([BI)Lga;", - garbageValue = "1298711293" + descriptor = "(ILbe;ZI)I", + garbageValue = "66089892" ) - static WorldMapSprite method4572(byte[] var0) { - return var0 == null ? new WorldMapSprite() : new WorldMapSprite(class17.convertJpgToSprite(var0).pixels); + static int method4659(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.itemId; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { + if (var3.itemId != -1) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_GETID) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.childIndex; + return 1; + } else { + return 2; + } } - @ObfuscatedName("c") + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "1215031715" + descriptor = "(ILbe;ZB)I", + garbageValue = "-55" ) - public static int method4571(int var0, int var1) { - return (-3 - var0 << 8) + var1; - } + static int method4660(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.publicChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + Client.publicChatMode = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + MusicPatchNode2.privateChatMode = class129.method2671(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + if (MusicPatchNode2.privateChatMode == null) { + MusicPatchNode2.privateChatMode = PrivateChatMode.field4411; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-23" - ) - static final void method4573(String var0) { - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2692, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); + Client.tradeChatMode = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + PacketBufferNode var13 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2749, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(Client.publicChatMode); + var13.packetBuffer.writeByte(MusicPatchNode2.privateChatMode.field4414); + var13.packetBuffer.writeByte(Client.tradeChatMode); + Client.packetWriter.addNode(var13); + return 1; + } else { + PacketBufferNode var6; + int var7; + String var8; + int var9; + if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { + var8 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var6 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2758, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var8) + 2); + var6.packetBuffer.writeStringCp1252NullTerminated(var8); + var6.packetBuffer.writeByte(var7 - 1); + var6.packetBuffer.writeByte(var9); + Client.packetWriter.addNode(var6); + return 1; + } else { + int var3; + Message var5; + if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = HitSplatDefinition.Messages_getByChannelAndID(var3, var7); + if (var5 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.count; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.cycle; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.sender != null ? var5.sender : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.prefix != null ? var5.prefix : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.text != null ? var5.text : ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.isFromFriend() ? 1 : (var5.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + Message var4; + if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class301.Messages_getMessage(var3); + if (var4 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.type; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.cycle; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.sender != null ? var4.sender : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.prefix != null ? var4.prefix : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.text != null ? var4.text : ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.isFromFriend() ? 1 : (var4.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { + if (MusicPatchNode2.privateChatMode == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = MusicPatchNode2.privateChatMode.field4414; + } + + return 1; + } else { + PacketBufferNode var12; + if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { + var8 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var12 = HitSplatDefinition.method3197(var7, var8, ReflectionCheck.clientLanguage, -1); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { + class54.Interpreter_stringStackSize -= 2; + var8 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + String var11 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2735, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeShort(0); + int var10 = var12.packetBuffer.offset; + var12.packetBuffer.writeStringCp1252NullTerminated(var8); + class157.method2985(var12.packetBuffer, var11); + var12.packetBuffer.writeLengthShort(var12.packetBuffer.offset - var10); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDCLAN) { + var8 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var6 = HitSplatDefinition.method3197(var7, var8, ReflectionCheck.clientLanguage, var9); + Client.packetWriter.addNode(var6); + return 1; + } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.tradeChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class124.Messages_getHistorySize(var3); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Tiles.Messages_getLastChatID(var3); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = DirectByteArrayCopier.method5102(var3); + return 1; + } else if (var0 == ScriptOpcodes.DOCHEAT) { + var8 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + UserComparator6.doCheat(var8); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { + Client.field550 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize].toLowerCase().trim(); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = Client.field550; + return 1; + } else if (var0 == ScriptOpcodes.WRITECONSOLE) { + var8 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + System.out.println(var8); + return 1; + } else if (var0 == 5024) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 5025) { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 5030) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = HitSplatDefinition.Messages_getByChannelAndID(var3, var7); + if (var5 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.count; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.cycle; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.sender != null ? var5.sender : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.prefix != null ? var5.prefix : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.text != null ? var5.text : ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.isFromFriend() ? 1 : (var5.isFromIgnored() ? 2 : 0); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == 5031) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class301.Messages_getMessage(var3); + if (var4 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.type; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.cycle; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.sender != null ? var4.sender : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.prefix != null ? var4.prefix : ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.text != null ? var4.text : ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.isFromFriend() ? 1 : (var4.isFromIgnored() ? 2 : 0); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + return 2; + } + } else { + if (class67.localPlayer != null && class67.localPlayer.username != null) { + var8 = class67.localPlayer.username.getName(); + } else { + var8 = ""; + } + + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var8; + return 1; + } + } + } + } + } } } diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index af48e5d6df..1810c01642 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -4,178 +4,188 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cn") +@ObfuscatedName("cl") @Implements("LoginScreenAnimation") public class LoginScreenAnimation { - @ObfuscatedName("ag") - static String field1167; - @ObfuscatedName("n") + @ObfuscatedName("jn") + @ObfuscatedGetter( + intValue = -1564481285 + ) + @Export("oculusOrbFocalPointY") + static int oculusOrbFocalPointY; + @ObfuscatedName("lu") + @ObfuscatedGetter( + intValue = 692810023 + ) + @Export("menuX") + static int menuX; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "[Loz;" ) @Export("sprites") IndexedSprite[] sprites; - @ObfuscatedName("z") - int[] field1159; + @ObfuscatedName("t") + int[] field1177; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1523608843 + intValue = -1281990765 ) - int field1164; - @ObfuscatedName("u") - int[] field1165; + int field1181; @ObfuscatedName("e") - int[] field1166; - @ObfuscatedName("l") - int[] field1175; + int[] field1190; + @ObfuscatedName("i") + int[] field1179; @ObfuscatedName("y") - int[] field1168; + int[] field1180; + @ObfuscatedName("w") + int[] field1182; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -32130277 + ) + int field1183; @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 1654092485 + intValue = -464579847 ) - int field1169; - @ObfuscatedName("f") + int field1191; + @ObfuscatedName("s") + int[] field1175; + @ObfuscatedName("c") + int[] field1186; + @ObfuscatedName("b") + int[] field1187; + @ObfuscatedName("x") + int[] field1188; + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 183335521 + intValue = 1357468819 + ) + int field1189; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -12695433 ) int field1178; - @ObfuscatedName("s") - int[] field1171; @ObfuscatedName("h") - int[] field1172; - @ObfuscatedName("d") - int[] field1173; - @ObfuscatedName("q") - int[] field1174; - @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1208104181 - ) - int field1163; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -183509873 - ) - int field1170; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1212021115 + intValue = -509899335 ) int field1176; @ObfuscatedSignature( - descriptor = "([Loi;)V" + descriptor = "([Loz;)V" ) LoginScreenAnimation(IndexedSprite[] var1) { - this.field1159 = new int[256]; - this.field1164 = 0; - this.field1169 = 0; + this.field1177 = new int[256]; + this.field1181 = 0; + this.field1183 = 0; + this.field1191 = 0; + this.field1189 = 0; this.field1178 = 0; - this.field1163 = 0; - this.field1170 = 0; this.field1176 = 0; this.sprites = var1; this.initColors(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "119" + descriptor = "(I)V", + garbageValue = "1243250629" ) @Export("initColors") void initColors() { - this.field1166 = new int[256]; + this.field1179 = new int[256]; int var1; for (var1 = 0; var1 < 64; ++var1) { - this.field1166[var1] = var1 * 262144; + this.field1179[var1] = var1 * 262144; } for (var1 = 0; var1 < 64; ++var1) { - this.field1166[var1 + 64] = var1 * 1024 + 16711680; + this.field1179[var1 + 64] = var1 * 1024 + 16711680; } for (var1 = 0; var1 < 64; ++var1) { - this.field1166[var1 + 128] = var1 * 4 + 16776960; + this.field1179[var1 + 128] = var1 * 4 + 16776960; } for (var1 = 0; var1 < 64; ++var1) { - this.field1166[var1 + 192] = 16777215; + this.field1179[var1 + 192] = 16777215; } - this.field1175 = new int[256]; + this.field1180 = new int[256]; for (var1 = 0; var1 < 64; ++var1) { - this.field1175[var1] = var1 * 1024; + this.field1180[var1] = var1 * 1024; } for (var1 = 0; var1 < 64; ++var1) { - this.field1175[var1 + 64] = var1 * 4 + 65280; + this.field1180[var1 + 64] = var1 * 4 + 65280; } for (var1 = 0; var1 < 64; ++var1) { - this.field1175[var1 + 128] = var1 * 262144 + 65535; + this.field1180[var1 + 128] = var1 * 262144 + 65535; } for (var1 = 0; var1 < 64; ++var1) { - this.field1175[var1 + 192] = 16777215; + this.field1180[var1 + 192] = 16777215; } - this.field1168 = new int[256]; + this.field1182 = new int[256]; for (var1 = 0; var1 < 64; ++var1) { - this.field1168[var1] = var1 * 4; + this.field1182[var1] = var1 * 4; } for (var1 = 0; var1 < 64; ++var1) { - this.field1168[var1 + 64] = var1 * 262144 + 255; + this.field1182[var1 + 64] = var1 * 262144 + 255; } for (var1 = 0; var1 < 64; ++var1) { - this.field1168[var1 + 128] = var1 * 1024 + 16711935; + this.field1182[var1 + 128] = var1 * 1024 + 16711935; } for (var1 = 0; var1 < 64; ++var1) { - this.field1168[var1 + 192] = 16777215; + this.field1182[var1 + 192] = 16777215; } - this.field1165 = new int[256]; - this.field1163 = 0; - this.field1173 = new int[32768]; - this.field1174 = new int[32768]; - this.method2158((IndexedSprite)null); - this.field1171 = new int[32768]; - this.field1172 = new int[32768]; + this.field1190 = new int[256]; + this.field1189 = 0; + this.field1187 = new int[32768]; + this.field1188 = new int[32768]; + this.method2193((IndexedSprite)null); + this.field1175 = new int[32768]; + this.field1186 = new int[32768]; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1783591644" + garbageValue = "1823287172" ) - void method2151() { - this.field1166 = null; + void method2164() { + this.field1179 = null; + this.field1180 = null; + this.field1182 = null; + this.field1190 = null; + this.field1187 = null; + this.field1188 = null; this.field1175 = null; - this.field1168 = null; - this.field1165 = null; - this.field1173 = null; - this.field1174 = null; - this.field1171 = null; - this.field1172 = null; - this.field1163 = 0; - this.field1170 = 0; + this.field1186 = null; + this.field1189 = 0; + this.field1178 = 0; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "-690579043" + garbageValue = "2074439873" ) @Export("draw") void draw(int var1, int var2) { - if (this.field1171 == null) { + if (this.field1175 == null) { this.initColors(); } @@ -190,24 +200,24 @@ public class LoginScreenAnimation { this.field1176 = var2; if (var3 > 0) { - this.method2153(var3); + this.method2180(var3); } - this.method2155(var1); + this.method2168(var1); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1927235987" + garbageValue = "162428654" ) - final void method2153(int var1) { - this.field1163 += 128 * var1; + final void method2180(int var1) { + this.field1189 += 128 * var1; int var2; - if (this.field1163 > this.field1173.length) { - this.field1163 -= this.field1173.length; + if (this.field1189 > this.field1187.length) { + this.field1189 -= this.field1187.length; var2 = (int)(Math.random() * 12.0D); - this.method2158(this.sprites[var2]); + this.method2193(this.sprites[var2]); } var2 = 0; @@ -216,12 +226,12 @@ public class LoginScreenAnimation { int var6; for (int var5 = 0; var5 < var4; ++var5) { - var6 = this.field1171[var3 + var2] - this.field1173[var2 + this.field1163 & this.field1173.length - 1] * var1 / 6; + var6 = this.field1175[var3 + var2] - this.field1187[var2 + this.field1189 & this.field1187.length - 1] * var1 / 6; if (var6 < 0) { var6 = 0; } - this.field1171[var2++] = var6; + this.field1175[var2++] = var6; } byte var15 = 10; @@ -235,42 +245,42 @@ public class LoginScreenAnimation { for (int var9 = 0; var9 < 128; ++var9) { var10 = (int)(Math.random() * 100.0D); if (var10 < 50 && var9 > var15 && var9 < var6) { - this.field1171[var9 + var8] = 255; + this.field1175[var8 + var9] = 255; } else { - this.field1171[var8 + var9] = 0; + this.field1175[var9 + var8] = 0; } } } - if (this.field1169 > 0) { - this.field1169 -= var1 * 4; + if (this.field1183 > 0) { + this.field1183 -= var1 * 4; } - if (this.field1178 > 0) { - this.field1178 -= var1 * 4; + if (this.field1191 > 0) { + this.field1191 -= var1 * 4; } - if (this.field1169 == 0 && this.field1178 == 0) { + if (this.field1183 == 0 && this.field1191 == 0) { var7 = (int)(Math.random() * (double)(2000 / var1)); if (var7 == 0) { - this.field1169 = 1024; + this.field1183 = 1024; } if (var7 == 1) { - this.field1178 = 1024; + this.field1191 = 1024; } } for (var7 = 0; var7 < 256 - var1; ++var7) { - this.field1159[var7] = this.field1159[var7 + var1]; + this.field1177[var7] = this.field1177[var7 + var1]; } for (var7 = 256 - var1; var7 < 256; ++var7) { - this.field1159[var7] = (int)(Math.sin((double)this.field1164 / 14.0D) * 16.0D + Math.sin((double)this.field1164 / 15.0D) * 14.0D + Math.sin((double)this.field1164 / 16.0D) * 12.0D); - ++this.field1164; + this.field1177[var7] = (int)(Math.sin((double)this.field1181 / 14.0D) * 16.0D + Math.sin((double)this.field1181 / 15.0D) * 14.0D + Math.sin((double)this.field1181 / 16.0D) * 12.0D); + ++this.field1181; } - this.field1170 += var1; + this.field1178 += var1; var7 = ((Client.cycle & 1) + var1) / 2; if (var7 > 0) { short var16 = 128; @@ -280,13 +290,13 @@ public class LoginScreenAnimation { int var11; int var12; int var13; - for (var11 = 0; var11 < this.field1170 * 100; ++var11) { + for (var11 = 0; var11 < this.field1178 * 100; ++var11) { var12 = (int)(Math.random() * (double)var10) + var17; var13 = (int)(Math.random() * (double)var16) + var16; - this.field1171[var12 + (var13 << 7)] = 192; + this.field1175[var12 + (var13 << 7)] = 192; } - this.field1170 = 0; + this.field1178 = 0; int var14; for (var11 = 0; var11 < 256; ++var11) { @@ -294,16 +304,16 @@ public class LoginScreenAnimation { var13 = var11 * 128; for (var14 = -var7; var14 < 128; ++var14) { - if (var14 + var7 < 128) { - var12 += this.field1171[var13 + var14 + var7]; + if (var7 + var14 < 128) { + var12 += this.field1175[var14 + var13 + var7]; } if (var14 - (var7 + 1) >= 0) { - var12 -= this.field1171[var14 + var13 - (var7 + 1)]; + var12 -= this.field1175[var13 + var14 - (var7 + 1)]; } if (var14 >= 0) { - this.field1172[var14 + var13] = var12 / (var7 * 2 + 1); + this.field1186[var14 + var13] = var12 / (var7 * 2 + 1); } } } @@ -313,16 +323,16 @@ public class LoginScreenAnimation { for (var13 = -var7; var13 < 256; ++var13) { var14 = var13 * 128; - if (var7 + var13 < 256) { - var12 += this.field1172[var7 * 128 + var11 + var14]; + if (var13 + var7 < 256) { + var12 += this.field1186[var11 + var14 + var7 * 128]; } if (var13 - (var7 + 1) >= 0) { - var12 -= this.field1172[var14 + var11 - (var7 + 1) * 128]; + var12 -= this.field1186[var11 + var14 - (var7 + 1) * 128]; } if (var13 >= 0) { - this.field1171[var11 + var14] = var12 / (var7 * 2 + 1); + this.field1175[var14 + var11] = var12 / (var7 * 2 + 1); } } } @@ -330,51 +340,51 @@ public class LoginScreenAnimation { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(IIII)I", - garbageValue = "1911312625" + garbageValue = "-2100296375" ) - final int method2165(int var1, int var2, int var3) { + final int method2167(int var1, int var2, int var3) { int var4 = 256 - var3; - return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var4 * (var1 & 65280) + var3 * (var2 & 65280) & 16711680) >> 8; + return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var3 * (var2 & 65280) + var4 * (var1 & 65280) & 16711680) >> 8; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "-57" + garbageValue = "-20" ) - final void method2155(int var1) { - int var2 = this.field1165.length; - if (this.field1169 > 0) { - this.method2171(this.field1169, this.field1175); - } else if (this.field1178 > 0) { - this.method2171(this.field1178, this.field1168); + final void method2168(int var1) { + int var2 = this.field1190.length; + if (this.field1183 > 0) { + this.method2169(this.field1183, this.field1180); + } else if (this.field1191 > 0) { + this.method2169(this.field1191, this.field1182); } else { for (int var3 = 0; var3 < var2; ++var3) { - this.field1165[var3] = this.field1166[var3]; + this.field1190[var3] = this.field1179[var3]; } } - this.method2174(var1); + this.method2170(var1); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I[IB)V", - garbageValue = "51" + descriptor = "(I[II)V", + garbageValue = "762418609" ) - final void method2171(int var1, int[] var2) { - int var3 = this.field1165.length; + final void method2169(int var1, int[] var2) { + int var3 = this.field1190.length; for (int var4 = 0; var4 < var3; ++var4) { if (var1 > 768) { - this.field1165[var4] = this.method2165(this.field1166[var4], var2[var4], 1024 - var1); + this.field1190[var4] = this.method2167(this.field1179[var4], var2[var4], 1024 - var1); } else if (var1 > 256) { - this.field1165[var4] = var2[var4]; + this.field1190[var4] = var2[var4]; } else { - this.field1165[var4] = this.method2165(var2[var4], this.field1166[var4], 256 - var1); + this.field1190[var4] = this.method2167(var2[var4], this.field1179[var4], 256 - var1); } } @@ -383,13 +393,13 @@ public class LoginScreenAnimation { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1491241203" + garbageValue = "-1989037635" ) - final void method2174(int var1) { + final void method2170(int var1) { int var2 = 0; for (int var3 = 1; var3 < 255; ++var3) { - int var4 = (256 - var3) * this.field1159[var3] / 256; + int var4 = (256 - var3) * this.field1177[var3] / 256; int var5 = var4 + var1; int var6 = 0; int var7 = 128; @@ -398,22 +408,22 @@ public class LoginScreenAnimation { var5 = 0; } - if (var5 + 128 >= class11.rasterProvider.width) { - var7 = class11.rasterProvider.width - var5; + if (var5 + 128 >= class244.rasterProvider.width) { + var7 = class244.rasterProvider.width - var5; } - int var8 = var5 + (var3 + 8) * class11.rasterProvider.width; + int var8 = var5 + (var3 + 8) * class244.rasterProvider.width; var2 += var6; for (int var9 = var6; var9 < var7; ++var9) { - int var10 = this.field1171[var2++]; + int var10 = this.field1175[var2++]; int var11 = var8 % Rasterizer2D.Rasterizer2D_width; if (var10 != 0 && var11 >= Rasterizer2D.Rasterizer2D_xClipStart && var11 < Rasterizer2D.Rasterizer2D_xClipEnd) { int var12 = var10; int var13 = 256 - var10; - var10 = this.field1165[var10]; - int var14 = class11.rasterProvider.pixels[var8]; - class11.rasterProvider.pixels[var8++] = -16777216 | ((var14 & 16711935) * var13 + (var10 & 16711935) * var12 & -16711936) + (var12 * (var10 & 65280) + var13 * (var14 & 65280) & 16711680) >> 8; + var10 = this.field1190[var10]; + int var14 = class244.rasterProvider.pixels[var8]; + class244.rasterProvider.pixels[var8++] = -16777216 | ((var14 & 16711935) * var13 + (var10 & 16711935) * var12 & -16711936) + (var13 * (var14 & 65280) + var12 * (var10 & 65280) & 16711680) >> 8; } else { ++var8; } @@ -424,21 +434,21 @@ public class LoginScreenAnimation { } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(Loi;I)V", - garbageValue = "-1146332143" + descriptor = "(Loz;I)V", + garbageValue = "1396461999" ) - final void method2158(IndexedSprite var1) { + final void method2193(IndexedSprite var1) { int var2; - for (var2 = 0; var2 < this.field1173.length; ++var2) { - this.field1173[var2] = 0; + for (var2 = 0; var2 < this.field1187.length; ++var2) { + this.field1187[var2] = 0; } int var3; for (var2 = 0; var2 < 5000; ++var2) { var3 = (int)(Math.random() * 128.0D * 256.0D); - this.field1173[var3] = (int)(Math.random() * 256.0D); + this.field1187[var3] = (int)(Math.random() * 256.0D); } int var4; @@ -447,13 +457,13 @@ public class LoginScreenAnimation { for (var3 = 1; var3 < 255; ++var3) { for (var4 = 1; var4 < 127; ++var4) { var5 = var4 + (var3 << 7); - this.field1174[var5] = (this.field1173[var5 + 1] + this.field1173[var5 - 128] + this.field1173[var5 + 128] + this.field1173[var5 - 1]) / 4; + this.field1188[var5] = (this.field1187[var5 + 1] + this.field1187[var5 - 128] + this.field1187[var5 + 128] + this.field1187[var5 - 1]) / 4; } } - int[] var8 = this.field1173; - this.field1173 = this.field1174; - this.field1174 = var8; + int[] var8 = this.field1187; + this.field1187 = this.field1188; + this.field1188 = var8; } if (var1 != null) { @@ -465,7 +475,7 @@ public class LoginScreenAnimation { var5 = var4 + var1.xOffset + 16; int var6 = var3 + var1.yOffset + 16; int var7 = var5 + (var6 << 7); - this.field1173[var7] = 0; + this.field1187[var7] = 0; } } } @@ -473,12 +483,62 @@ public class LoginScreenAnimation { } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1178151637" + descriptor = "(Liz;Lpv;B)Lis;", + garbageValue = "50" ) - static void method2173() { - WorldMapRegion.WorldMapRegion_cachedSprites.clear(); + @Export("getPacketBufferNode") + public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { + PacketBufferNode var2 = Tile.method4117(); + var2.clientPacket = var0; + var2.clientPacketLength = var0.length; + if (var2.clientPacketLength == -1) { + var2.packetBuffer = new PacketBuffer(260); + } else if (var2.clientPacketLength == -2) { + var2.packetBuffer = new PacketBuffer(10000); + } else if (var2.clientPacketLength <= 18) { + var2.packetBuffer = new PacketBuffer(20); + } else if (var2.clientPacketLength <= 98) { + var2.packetBuffer = new PacketBuffer(100); + } else { + var2.packetBuffer = new PacketBuffer(260); + } + + var2.packetBuffer.setIsaacCipher(var1); + var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); + var2.index = 0; + return var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZZB)V", + garbageValue = "-38" + ) + @Export("openURL") + public static void openURL(String var0, boolean var1, boolean var2) { + class126.method2580(var0, var1, "openjs", var2); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "7" + ) + public static void method2175() { + ObjectComposition.ObjectDefinition_cached.clear(); + ObjectComposition.ObjectDefinition_cachedModelData.clear(); + ObjectComposition.ObjectDefinition_cachedEntities.clear(); + ObjectComposition.ObjectDefinition_cachedModels.clear(); + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "([BII)I", + garbageValue = "470169586" + ) + public static int method2192(byte[] var0, int var1) { + return IgnoreList.method5946(var0, 0, var1); } } diff --git a/runescape-client/src/main/java/LoginType.java b/runescape-client/src/main/java/LoginType.java index 452ac1fdc0..352531d6c3 100644 --- a/runescape-client/src/main/java/LoginType.java +++ b/runescape-client/src/main/java/LoginType.java @@ -4,89 +4,161 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nf") +@ObfuscatedName("ny") @Implements("LoginType") public class LoginType { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) @Export("oldscape") public static final LoginType oldscape; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) - static final LoginType field4198; + static final LoginType field4221; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lny;" + ) + static final LoginType field4226; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lny;" + ) + static final LoginType field4222; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) - static final LoginType field4200; + static final LoginType field4223; @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) - static final LoginType field4204; - @ObfuscatedName("o") + static final LoginType field4224; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) - static final LoginType field4197; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lnf;" - ) - static final LoginType field4201; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lnf;" - ) - static final LoginType field4203; + static final LoginType field4225; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Lny;" ) - static final LoginType field4202; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lnf;" - ) - public static final LoginType field4199; + static final LoginType field4228; @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1416488303 + @ObfuscatedSignature( + descriptor = "Lny;" ) - final int field4206; - @ObfuscatedName("l") - final String field4207; + public static final LoginType field4227; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1281565655 + ) + final int field4229; + @ObfuscatedName("y") + final String field4220; static { - oldscape = new LoginType(1, 0, "", ""); - field4198 = new LoginType(3, 1, "", ""); - field4200 = new LoginType(6, 2, "", ""); - field4204 = new LoginType(5, 3, "", ""); - field4197 = new LoginType(7, 4, "", ""); - field4201 = new LoginType(4, 5, "", ""); - field4203 = new LoginType(2, 6, "", ""); - field4202 = new LoginType(0, 7, "", ""); - field4199 = new LoginType(8, -1, "", "", true, new LoginType[]{oldscape, field4198, field4200, field4197, field4204}); + oldscape = new LoginType(8, 0, "", ""); + field4221 = new LoginType(3, 1, "", ""); + field4226 = new LoginType(5, 2, "", ""); + field4222 = new LoginType(2, 3, "", ""); + field4223 = new LoginType(0, 4, "", ""); + field4224 = new LoginType(6, 5, "", ""); + field4225 = new LoginType(7, 6, "", ""); + field4228 = new LoginType(1, 7, "", ""); + field4227 = new LoginType(4, -1, "", "", true, new LoginType[]{oldscape, field4221, field4226, field4223, field4222}); } LoginType(int var1, int var2, String var3, String var4) { - this.field4206 = var1; - this.field4207 = var4; + this.field4229 = var1; + this.field4220 = var4; } @ObfuscatedSignature( - descriptor = "(IILjava/lang/String;Ljava/lang/String;Z[Lnf;)V" + descriptor = "(IILjava/lang/String;Ljava/lang/String;Z[Lny;)V" ) LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { - this.field4206 = var1; - this.field4207 = var4; + this.field4229 = var1; + this.field4220 = var4; } public String toString() { - return this.field4207; + return this.field4220; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)Z", + garbageValue = "0" + ) + @Export("isNumber") + public static boolean isNumber(CharSequence var0) { + boolean var2 = false; + boolean var3 = false; + int var4 = 0; + int var5 = var0.length(); + int var6 = 0; + + boolean var1; + while (true) { + if (var6 >= var5) { + var1 = var3; + break; + } + + label84: { + char var7 = var0.charAt(var6); + if (var6 == 0) { + if (var7 == '-') { + var2 = true; + break label84; + } + + if (var7 == '+') { + break label84; + } + } + + int var9; + if (var7 >= '0' && var7 <= '9') { + var9 = var7 - '0'; + } else if (var7 >= 'A' && var7 <= 'Z') { + var9 = var7 - '7'; + } else { + if (var7 < 'a' || var7 > 'z') { + var1 = false; + break; + } + + var9 = var7 - 'W'; + } + + if (var9 >= 10) { + var1 = false; + break; + } + + if (var2) { + var9 = -var9; + } + + int var8 = var4 * 10 + var9; + if (var4 != var8 / 10) { + var1 = false; + break; + } + + var4 = var8; + var3 = true; + } + + ++var6; + } + + return var1; } } diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index b668aae35c..67fbd62802 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -4,87 +4,53 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bk") +@ObfuscatedName("bb") @Implements("MenuAction") public class MenuAction { - @ObfuscatedName("tq") - @ObfuscatedGetter( - longValue = 4958938435301166591L - ) - static long field861; - @ObfuscatedName("dq") + @ObfuscatedName("te") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lnr;" ) - @Export("archive1") - static Archive archive1; - @ObfuscatedName("n") + @Export("platformInfo") + static PlatformInfo platformInfo; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -637923195 + intValue = 441486123 ) @Export("param0") int param0; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1711543003 + intValue = -1041645519 ) @Export("param1") int param1; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -699134669 + intValue = 1414459793 ) @Export("opcode") int opcode; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 208996553 + intValue = 1513793095 ) @Export("identifier") int identifier; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("action") String action; MenuAction() { } - @ObfuscatedName("k") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1047578495" + descriptor = "(III)I", + garbageValue = "-68078688" ) - public static void method1875(int var0) { - MouseHandler.MouseHandler_idleCycles = var0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-700660843" - ) - static void method1876(boolean var0) { - byte var1; - if (ArchiveDiskActionHandler.client.method1139()) { - var1 = 10; - } else { - var1 = 0; - } - - Message.method1113(var1); - if (var0) { - Login.Login_username = ""; - Login.Login_password = ""; - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - } - - class131.method2645(); - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - + public static int method1885(int var0, int var1) { + int var2 = var0 >>> 31; + return (var0 + var2) / var1 - var2; } } diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index 18e36c53c2..2c0369b5bd 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -4,52 +4,61 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bc") +@ObfuscatedName("bo") @Implements("Message") public class Message extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("ti") + @ObfuscatedSignature( + descriptor = "Lba;" + ) + @Export("friendSystem") + public static FriendSystem friendSystem; + @ObfuscatedName("x") + @Export("ByteArrayPool_altSizeArrayCounts") + public static int[] ByteArrayPool_altSizeArrayCounts; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1230726091 + intValue = -128171313 ) @Export("count") int count; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -153695861 + intValue = 724266419 ) @Export("cycle") int cycle; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -836802201 + intValue = 721880757 ) @Export("type") int type; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("sender") String sender; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("senderUsername") Username senderUsername; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("isFromFriend0") TriBool isFromFriend0; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("isFromIgnored0") TriBool isFromIgnored0; @ObfuscatedName("a") @Export("prefix") String prefix; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("text") String text; @@ -59,15 +68,14 @@ public class Message extends DualNode { this.set(var1, var2, var3, var4); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-970454688" + garbageValue = "-1807824795" ) @Export("set") void set(int var1, String var2, String var3, String var4) { - int var5 = ++Messages.Messages_count - 1; - this.count = var5; + this.count = FloorUnderlayDefinition.method3082(); this.cycle = Client.cycle; this.type = var1; this.sender = var2; @@ -78,20 +86,20 @@ public class Message extends DualNode { this.clearIsFromIgnored(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1723878443" + descriptor = "(B)V", + garbageValue = "-34" ) @Export("clearIsFromFriend") void clearIsFromFriend() { this.isFromFriend0 = TriBool.TriBool_unknown; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-669786754" + garbageValue = "-370100485" ) @Export("isFromFriend") final boolean isFromFriend() { @@ -102,30 +110,30 @@ public class Message extends DualNode { return this.isFromFriend0 == TriBool.TriBool_true; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1016404175" + garbageValue = "48200845" ) @Export("fillIsFromFriend") void fillIsFromFriend() { - this.isFromFriend0 = class20.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + this.isFromFriend0 = friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "317954036" + garbageValue = "367992410" ) @Export("clearIsFromIgnored") void clearIsFromIgnored() { this.isFromIgnored0 = TriBool.TriBool_unknown; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1887672058" + descriptor = "(S)Z", + garbageValue = "7812" ) @Export("isFromIgnored") final boolean isFromIgnored() { @@ -136,207 +144,28 @@ public class Message extends DualNode { return this.isFromIgnored0 == TriBool.TriBool_true; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1904054045" + descriptor = "(B)V", + garbageValue = "120" ) @Export("fillIsFromIgnored") void fillIsFromIgnored() { - this.isFromIgnored0 = class20.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + this.isFromIgnored0 = friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; } @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-2035701087" + garbageValue = "510739391" ) @Export("fillSenderUsername") final void fillSenderUsername() { if (this.sender != null) { - this.senderUsername = new Username(WorldMapArea.method3513(this.sender), SoundCache.loginType); + this.senderUsername = new Username(class351.method6286(this.sender), WorldMapSectionType.loginType); } else { this.senderUsername = null; } } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BB)Ljava/lang/String;", - garbageValue = "117" - ) - public static String method1104(byte[] var0) { - int var2 = var0.length; - StringBuilder var3 = new StringBuilder(); - - for (int var4 = 0; var4 < var2 + 0; var4 += 3) { - int var5 = var0[var4] & 255; - var3.append(class317.field3857[var5 >>> 2]); - if (var4 < var2 - 1) { - int var6 = var0[var4 + 1] & 255; - var3.append(class317.field3857[(var5 & 3) << 4 | var6 >>> 4]); - if (var4 < var2 - 2) { - int var7 = var0[var4 + 2] & 255; - var3.append(class317.field3857[(var6 & 15) << 2 | var7 >>> 6]).append(class317.field3857[var7 & 63]); - } else { - var3.append(class317.field3857[(var6 & 15) << 2]).append("="); - } - } else { - var3.append(class317.field3857[(var5 & 3) << 4]).append("=="); - } - } - - String var1 = var3.toString(); - return var1; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1743621885" - ) - static void method1113(int var0) { - if (var0 != Login.loginIndex) { - Login.loginIndex = var0; - } - } - - @ObfuscatedName("fq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1640344997" - ) - @Export("getLoginError") - static void getLoginError(int var0) { - if (var0 == -3) { - PlatformInfo.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); - } else if (var0 == -2) { - PlatformInfo.setLoginResponseString("Error connecting to server.", "Please try using a different world.", ""); - } else if (var0 == -1) { - PlatformInfo.setLoginResponseString("No response from server.", "Please try using a different world.", ""); - } else if (var0 == 3) { - method1113(3); - Login.field883 = 1; - } else if (var0 == 4) { - method1113(14); - Login.field874 = 0; - } else if (var0 == 5) { - Login.field883 = 2; - PlatformInfo.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); - } else if (var0 == 68 || !Client.onMobile && var0 == 6) { - PlatformInfo.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); - } else if (var0 == 7) { - PlatformInfo.setLoginResponseString("This world is full.", "Please use a different world.", ""); - } else if (var0 == 8) { - PlatformInfo.setLoginResponseString("Unable to connect.", "Login server offline.", ""); - } else if (var0 == 9) { - PlatformInfo.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); - } else if (var0 == 10) { - PlatformInfo.setLoginResponseString("Unable to connect.", "Bad session id.", ""); - } else if (var0 == 11) { - PlatformInfo.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); - } else if (var0 == 12) { - PlatformInfo.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); - } else if (var0 == 13) { - PlatformInfo.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); - } else if (var0 == 14) { - PlatformInfo.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 16) { - PlatformInfo.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); - } else if (var0 == 17) { - PlatformInfo.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", ""); - } else if (var0 == 18) { - method1113(14); - Login.field874 = 1; - } else if (var0 == 19) { - PlatformInfo.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); - } else if (var0 == 20) { - PlatformInfo.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); - } else if (var0 == 22) { - PlatformInfo.setLoginResponseString("Malformed login packet.", "Please try again.", ""); - } else if (var0 == 23) { - PlatformInfo.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 24) { - PlatformInfo.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); - } else if (var0 == 25) { - PlatformInfo.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); - } else if (var0 == 26) { - PlatformInfo.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); - } else if (var0 == 27) { - PlatformInfo.setLoginResponseString("", "Service unavailable.", ""); - } else if (var0 == 31) { - PlatformInfo.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game."); - } else if (var0 == 32) { - PlatformInfo.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system."); - } else if (var0 == 37) { - PlatformInfo.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); - } else if (var0 == 38) { - PlatformInfo.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!"); - } else if (var0 == 55) { - method1113(8); - } else { - if (var0 == 56) { - PlatformInfo.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); - HealthBarUpdate.updateGameState(11); - return; - } - - if (var0 == 57) { - PlatformInfo.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); - HealthBarUpdate.updateGameState(11); - return; - } - - if (var0 == 61) { - method1113(7); - } else { - if (var0 == 62) { - HealthBarUpdate.updateGameState(10); - method1113(9); - PlatformInfo.setLoginResponseString("Login attempt timed out.", "Please try again.", ""); - return; - } - - if (var0 == 63) { - HealthBarUpdate.updateGameState(10); - method1113(9); - PlatformInfo.setLoginResponseString("You were signed out.", "Please sign in again.", ""); - return; - } - - if (var0 == 65 || var0 == 67) { - HealthBarUpdate.updateGameState(10); - method1113(9); - PlatformInfo.setLoginResponseString("Failed to login.", "Please try again.", ""); - return; - } - - PlatformInfo.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); - } - } - - HealthBarUpdate.updateGameState(10); - } - - @ObfuscatedName("kj") - @ObfuscatedSignature( - descriptor = "(Ljd;I)Ljd;", - garbageValue = "-984488663" - ) - static Widget method1099(Widget var0) { - int var1 = class15.method192(Decimator.getWidgetFlags(var0)); - if (var1 == 0) { - return null; - } else { - for (int var2 = 0; var2 < var1; ++var2) { - var0 = class87.getWidget(var0.parentId); - if (var0 == null) { - return null; - } - } - - return var0; - } - } } diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java index a1711f10b8..80569ea171 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -6,32 +6,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cd") +@ObfuscatedName("ch") @Implements("Messages") public class Messages { - @ObfuscatedName("rj") - static boolean field1275; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("Messages_channels") static final Map Messages_channels; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "Lnz;" ) @Export("Messages_hashTable") static final IterableNodeHashTable Messages_hashTable; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Llz;" + descriptor = "Llh;" ) @Export("Messages_queue") static final IterableDualNodeQueue Messages_queue; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1104839785 + intValue = 1654217227 ) @Export("Messages_count") static int Messages_count; + @ObfuscatedName("o") + @Export("operatingSystemName") + static String operatingSystemName; + @ObfuscatedName("ba") + static String field1273; static { Messages_channels = new HashMap(); @@ -40,21 +43,39 @@ public class Messages { Messages_count = 0; } - @ObfuscatedName("g") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lkk;Ljava/lang/String;Ljava/lang/String;B)[Loc;", - garbageValue = "37" + descriptor = "(II)Z", + garbageValue = "-1980575358" ) - public static SpritePixels[] method2332(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - SpritePixels[] var5; - if (!VertexNormal.method4477(var0, var3, var4)) { - var5 = null; - } else { - var5 = class174.method3364(); + public static boolean method2350(int var0) { + return var0 >= 0 && var0 < 112 ? KeyHandler.field129[var0] : false; + } + + @ObfuscatedName("im") + @ObfuscatedSignature( + descriptor = "(IIIIII)V", + garbageValue = "-1326528361" + ) + @Export("drawScrollBar") + static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { + WorldMapDecoration.scrollBarSprites[0].drawAt(var0, var1); + WorldMapDecoration.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field553); + int var5 = var3 * (var3 - 32) / var4; + if (var5 < 8) { + var5 = 8; } - return var5; + int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field514); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field697); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field697); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field697); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field697); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field555); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field555); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field555); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var6 + var5 + var1 + 14, 15, Client.field555); } } diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 88906ab759..6ffe501c79 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -3,38 +3,38 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("in") +@ObfuscatedName("ij") @Implements("MidiFileReader") public class MidiFileReader { - @ObfuscatedName("e") - static final byte[] field2944; - @ObfuscatedName("n") + @ObfuscatedName("i") + static final byte[] field2958; + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "Lot;" ) @Export("buffer") Buffer buffer; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("division") int division; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("trackStarts") int[] trackStarts; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("trackPositions") int[] trackPositions; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("trackLengths") int[] trackLengths; - @ObfuscatedName("g") - int[] field2940; - @ObfuscatedName("z") - int field2939; - @ObfuscatedName("u") - long field2943; + @ObfuscatedName("k") + int[] field2957; + @ObfuscatedName("t") + int field2962; + @ObfuscatedName("e") + long field2955; static { - field2944 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + field2958 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; } MidiFileReader(byte[] var1) { @@ -46,14 +46,14 @@ public class MidiFileReader { this.buffer = new Buffer((byte[])null); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("parse") void parse(byte[] var1) { this.buffer.array = var1; this.buffer.offset = 10; int var2 = this.buffer.readUnsignedShort(); this.division = this.buffer.readUnsignedShort(); - this.field2939 = 500000; + this.field2962 = 500000; this.trackStarts = new int[var2]; Buffer var10000; @@ -70,7 +70,7 @@ public class MidiFileReader { var10000 = this.buffer; } - this.field2943 = 0L; + this.field2955 = 0L; this.trackPositions = new int[var2]; for (var3 = 0; var3 < var2; ++var3) { @@ -78,44 +78,44 @@ public class MidiFileReader { } this.trackLengths = new int[var2]; - this.field2940 = new int[var2]; + this.field2957 = new int[var2]; } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("clear") void clear() { this.buffer.array = null; this.trackStarts = null; this.trackPositions = null; this.trackLengths = null; - this.field2940 = null; + this.field2957 = null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("isReady") boolean isReady() { return this.buffer.array != null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("trackCount") int trackCount() { return this.trackPositions.length; } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("gotoTrack") void gotoTrack(int var1) { this.buffer.offset = this.trackPositions[var1]; } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("markTrackPosition") void markTrackPosition(int var1) { this.trackPositions[var1] = this.buffer.offset; } - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("setTrackDone") void setTrackDone() { this.buffer.offset = -1; @@ -129,36 +129,36 @@ public class MidiFileReader { var10000[var1] += var2; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("readMessage") int readMessage(int var1) { int var2 = this.readMessage0(var1); return var2; } - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("readMessage0") int readMessage0(int var1) { byte var2 = this.buffer.array[this.buffer.offset]; int var5; if (var2 < 0) { var5 = var2 & 255; - this.field2940[var1] = var5; + this.field2957[var1] = var5; ++this.buffer.offset; } else { - var5 = this.field2940[var1]; + var5 = this.field2957[var1]; } if (var5 != 240 && var5 != 247) { - return this.method4757(var1, var5); + return this.method4862(var1, var5); } else { int var3 = this.buffer.readVarInt(); if (var5 == 247 && var3 > 0) { int var4 = this.buffer.array[this.buffer.offset] & 255; if (var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { ++this.buffer.offset; - this.field2940[var1] = var4; - return this.method4757(var1, var4); + this.field2957[var1] = var4; + return this.method4862(var1, var4); } } @@ -168,8 +168,8 @@ public class MidiFileReader { } } - @ObfuscatedName("l") - int method4757(int var1, int var2) { + @ObfuscatedName("y") + int method4862(int var1, int var2) { int var4; if (var2 == 255) { int var7 = this.buffer.readUnsignedByte(); @@ -183,8 +183,8 @@ public class MidiFileReader { int var5 = this.buffer.readMedium(); var4 -= 3; int var6 = this.trackLengths[var1]; - this.field2943 += (long)var6 * (long)(this.field2939 - var5); - this.field2939 = var5; + this.field2955 += (long)var6 * (long)(this.field2962 - var5); + this.field2962 = var5; var10000 = this.buffer; var10000.offset += var4; return 2; @@ -194,7 +194,7 @@ public class MidiFileReader { return 3; } } else { - byte var3 = field2944[var2 - 128]; + byte var3 = field2958[var2 - 128]; var4 = var2; if (var3 >= 1) { var4 = var2 | this.buffer.readUnsignedByte() << 8; @@ -208,12 +208,12 @@ public class MidiFileReader { } } - @ObfuscatedName("y") - long method4769(int var1) { - return this.field2943 + (long)var1 * (long)this.field2939; + @ObfuscatedName("w") + long method4838(int var1) { + return this.field2955 + (long)var1 * (long)this.field2962; } - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("getPrioritizedTrack") int getPrioritizedTrack() { int var1 = this.trackPositions.length; @@ -230,7 +230,7 @@ public class MidiFileReader { return var2; } - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("isDone") boolean isDone() { int var1 = this.trackPositions.length; @@ -247,12 +247,12 @@ public class MidiFileReader { @ObfuscatedName("s") @Export("reset") void reset(long var1) { - this.field2943 = var1; + this.field2955 = var1; int var3 = this.trackPositions.length; for (int var4 = 0; var4 < var3; ++var4) { this.trackLengths[var4] = 0; - this.field2940[var4] = 0; + this.field2957[var4] = 0; this.buffer.offset = this.trackStarts[var4]; this.readTrackLength(var4); this.trackPositions[var4] = this.buffer.offset; diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index 13bc668c95..d16346163e 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -3,156 +3,157 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("iw") +@ObfuscatedName("ig") @Implements("MidiPcmStream") public class MidiPcmStream extends PcmStream { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("musicPatches") NodeHashTable musicPatches; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -2118775999 + intValue = -2022470643 ) int field2922; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 622600987 + intValue = 458083617 ) - int field2908; + int field2947; + @ObfuscatedName("j") + int[] field2934; + @ObfuscatedName("m") + int[] field2925; @ObfuscatedName("k") - int[] field2909; - @ObfuscatedName("o") - int[] field2926; - @ObfuscatedName("g") - int[] field2911; - @ObfuscatedName("z") - int[] field2912; - @ObfuscatedName("a") - int[] field2913; - @ObfuscatedName("u") - int[] field2914; - @ObfuscatedName("e") - int[] field2906; - @ObfuscatedName("l") - int[] field2916; - @ObfuscatedName("y") - int[] field2917; - @ObfuscatedName("x") - int[] field2929; - @ObfuscatedName("b") int[] field2930; @ObfuscatedName("t") - int[] field2921; - @ObfuscatedName("r") - int[] field2925; - @ObfuscatedName("p") - int[] field2923; - @ObfuscatedName("w") - int[] field2924; + int[] field2927; + @ObfuscatedName("a") + int[] field2938; + @ObfuscatedName("e") + int[] field2929; @ObfuscatedName("i") + int[] field2945; + @ObfuscatedName("y") + int[] field2931; + @ObfuscatedName("g") + int[] field2932; + @ObfuscatedName("z") + int[] field2948; + @ObfuscatedName("h") + int[] field2935; + @ObfuscatedName("o") + int[] field2928; + @ObfuscatedName("r") + int[] field2937; + @ObfuscatedName("n") + int[] field2926; + @ObfuscatedName("u") + int[] field2939; + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "[[Lid;" + descriptor = "[[Lib;" ) - MusicPatchNode[][] field2927; - @ObfuscatedName("aq") + MusicPatchNode[][] field2940; + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "[[Lid;" + descriptor = "[[Lib;" ) - MusicPatchNode[][] field2920; + MusicPatchNode[][] field2924; @ObfuscatedName("ad") @ObfuscatedSignature( - descriptor = "Lin;" + descriptor = "Lij;" ) @Export("midiFile") MidiFileReader midiFile; - @ObfuscatedName("al") - boolean field2928; - @ObfuscatedName("aa") + @ObfuscatedName("as") + boolean field2943; + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = 742866357 + intValue = -1699428343 ) @Export("track") int track; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = -1955489195 + intValue = -2119963639 ) @Export("trackLength") int trackLength; - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedGetter( - longValue = -8197516407400164613L + longValue = 4917334441475948519L ) - long field2931; - @ObfuscatedName("as") + long field2946; + @ObfuscatedName("al") @ObfuscatedGetter( - longValue = -7506137618568880587L + longValue = 8692867824420416607L ) - long field2932; - @ObfuscatedName("ae") + long field2936; + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "Liv;" + descriptor = "Lih;" ) @Export("patchStream") MusicPatchPcmStream patchStream; public MidiPcmStream() { this.field2922 = 256; - this.field2908 = 1000000; - this.field2909 = new int[16]; - this.field2926 = new int[16]; - this.field2911 = new int[16]; - this.field2912 = new int[16]; - this.field2913 = new int[16]; - this.field2914 = new int[16]; - this.field2906 = new int[16]; - this.field2916 = new int[16]; - this.field2917 = new int[16]; - this.field2929 = new int[16]; - this.field2930 = new int[16]; - this.field2921 = new int[16]; + this.field2947 = 1000000; + this.field2934 = new int[16]; this.field2925 = new int[16]; - this.field2923 = new int[16]; - this.field2924 = new int[16]; - this.field2927 = new MusicPatchNode[16][128]; - this.field2920 = new MusicPatchNode[16][128]; + this.field2930 = new int[16]; + this.field2927 = new int[16]; + this.field2938 = new int[16]; + this.field2929 = new int[16]; + this.field2945 = new int[16]; + this.field2931 = new int[16]; + this.field2932 = new int[16]; + this.field2948 = new int[16]; + this.field2935 = new int[16]; + this.field2928 = new int[16]; + this.field2937 = new int[16]; + this.field2926 = new int[16]; + this.field2939 = new int[16]; + this.field2940 = new MusicPatchNode[16][128]; + this.field2924 = new MusicPatchNode[16][128]; this.midiFile = new MidiFileReader(); this.patchStream = new MusicPatchPcmStream(this); this.musicPatches = new NodeHashTable(128); - this.method4679(); + this.method4724(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1688056299" + garbageValue = "-1789077761" ) @Export("setPcmStreamVolume") public synchronized void setPcmStreamVolume(int var1) { this.field2922 = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1145779147" + garbageValue = "1238348421" ) - int method4621() { + public int method4705() { return this.field2922; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lic;Lkk;Lao;II)Z", - garbageValue = "-329525945" + descriptor = "(Lim;Lkl;Lat;IB)Z", + garbageValue = "49" ) @Export("loadMusicTrack") - synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { - var1.method4840(); + public synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { + var1.method4904(); boolean var5 = true; int[] var6 = null; if (var4 > 0) { @@ -163,7 +164,7 @@ public class MidiPcmStream extends PcmStream { int var8 = (int)var7.key; MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); if (var9 == null) { - var9 = WorldMapIcon_1.method3403(var2, var8); + var9 = VarbitComposition.method3103(var2, var8); if (var9 == null) { var5 = false; continue; @@ -172,7 +173,7 @@ public class MidiPcmStream extends PcmStream { this.musicPatches.put(var9, (long)var8); } - if (!var9.method4801(var3, var7.byteArray, var6)) { + if (!var9.method4875(var3, var7.byteArray, var6)) { var5 = false; } } @@ -184,44 +185,44 @@ public class MidiPcmStream extends PcmStream { return var5; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-994227183" + descriptor = "(B)V", + garbageValue = "114" ) @Export("clearAll") - synchronized void clearAll() { + public synchronized void clearAll() { for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { var1.clear(); } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "-92" + garbageValue = "0" ) @Export("removeAll") - synchronized void removeAll() { + public synchronized void removeAll() { for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { var1.remove(); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("firstSubStream") protected synchronized PcmStream firstSubStream() { return this.patchStream; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("nextSubStream") protected synchronized PcmStream nextSubStream() { @@ -229,46 +230,46 @@ public class MidiPcmStream extends PcmStream { } @ObfuscatedName("a") - protected synchronized int vmethod4836() { + protected synchronized int vmethod4889() { return 0; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("fill") protected synchronized void fill(int[] var1, int var2, int var3) { if (this.midiFile.isReady()) { - int var4 = this.midiFile.division * this.field2908 / class276.field3287; + int var4 = this.midiFile.division * this.field2947 / PcmPlayer.field279; do { - long var5 = (long)var4 * (long)var3 + this.field2931; - if (this.field2932 - var5 >= 0L) { - this.field2931 = var5; + long var5 = (long)var3 * (long)var4 + this.field2946; + if (this.field2936 - var5 >= 0L) { + this.field2946 = var5; break; } - int var7 = (int)((this.field2932 - this.field2931 + (long)var4 - 1L) / (long)var4); - this.field2931 += (long)var7 * (long)var4; + int var7 = (int)(((long)var4 + (this.field2936 - this.field2946) - 1L) / (long)var4); + this.field2946 += (long)var4 * (long)var7; this.patchStream.fill(var1, var2, var7); var2 += var7; var3 -= var7; - this.method4652(); + this.method4737(); } while(this.midiFile.isReady()); } this.patchStream.fill(var1, var2, var3); } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(Lic;ZB)V", - garbageValue = "87" + descriptor = "(Lim;ZI)V", + garbageValue = "664654337" ) @Export("setMusicTrack") - synchronized void setMusicTrack(MusicTrack var1, boolean var2) { + public synchronized void setMusicTrack(MusicTrack var1, boolean var2) { this.clear(); this.midiFile.parse(var1.midi); - this.field2928 = var2; - this.field2931 = 0L; + this.field2943 = var2; + this.field2946 = 0L; int var3 = this.midiFile.trackCount(); for (int var4 = 0; var4 < var3; ++var4) { @@ -279,248 +280,248 @@ public class MidiPcmStream extends PcmStream { this.track = this.midiFile.getPrioritizedTrack(); this.trackLength = this.midiFile.trackLengths[this.track]; - this.field2932 = this.midiFile.method4769(this.trackLength); + this.field2936 = this.midiFile.method4838(this.trackLength); } - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("skip") protected synchronized void skip(int var1) { if (this.midiFile.isReady()) { - int var2 = this.midiFile.division * this.field2908 / class276.field3287; + int var2 = this.midiFile.division * this.field2947 / PcmPlayer.field279; do { - long var3 = this.field2931 + (long)var1 * (long)var2; - if (this.field2932 - var3 >= 0L) { - this.field2931 = var3; + long var3 = this.field2946 + (long)var2 * (long)var1; + if (this.field2936 - var3 >= 0L) { + this.field2946 = var3; break; } - int var5 = (int)((this.field2932 - this.field2931 + (long)var2 - 1L) / (long)var2); - this.field2931 += (long)var5 * (long)var2; + int var5 = (int)((this.field2936 - this.field2946 + (long)var2 - 1L) / (long)var2); + this.field2946 += (long)var2 * (long)var5; this.patchStream.skip(var5); var1 -= var5; - this.method4652(); + this.method4737(); } while(this.midiFile.isReady()); } this.patchStream.skip(var1); } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2106383017" + descriptor = "(B)V", + garbageValue = "-112" ) @Export("clear") - synchronized void clear() { + public synchronized void clear() { this.midiFile.clear(); - this.method4679(); + this.method4724(); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "5" + ) + @Export("isReady") + public synchronized boolean isReady() { + return this.midiFile.isReady(); } @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1805637929" + descriptor = "(III)V", + garbageValue = "200806688" ) - @Export("isReady") - synchronized boolean isReady() { - return this.midiFile.isReady(); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "1" - ) - public synchronized void method4628(int var1, int var2) { - this.method4629(var1, var2); + public synchronized void method4736(int var1, int var2) { + this.method4791(var1, var2); } @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "10" + descriptor = "(III)V", + garbageValue = "1047068773" ) - void method4629(int var1, int var2) { - this.field2912[var1] = var2; - this.field2914[var1] = var2 & -128; - this.method4630(var1, var2); + void method4791(int var1, int var2) { + this.field2927[var1] = var2; + this.field2929[var1] = var2 & -128; + this.method4721(var1, var2); } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1484106318" + descriptor = "(IIB)V", + garbageValue = "104" ) - void method4630(int var1, int var2) { - if (var2 != this.field2913[var1]) { - this.field2913[var1] = var2; + void method4721(int var1, int var2) { + if (var2 != this.field2938[var1]) { + this.field2938[var1] = var2; for (int var3 = 0; var3 < 128; ++var3) { - this.field2920[var1][var3] = null; + this.field2924[var1][var3] = null; } } } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "2077675735" + descriptor = "(IIIB)V", + garbageValue = "92" ) - void method4637(int var1, int var2, int var3) { - this.method4633(var1, var2, 64); - if ((this.field2929[var1] & 2) != 0) { + void method4750(int var1, int var2, int var3) { + this.method4717(var1, var2, 64); + if ((this.field2948[var1] & 2) != 0) { for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { - if (var4.field2970 == var1 && var4.field2985 < 0) { - this.field2927[var1][var4.field2986] = null; - this.field2927[var1][var2] = var4; - int var8 = (var4.field2976 * var4.field2977 >> 12) + var4.field2975; - var4.field2975 += var2 - var4.field2986 << 8; - var4.field2976 = var8 - var4.field2975; - var4.field2977 = 4096; - var4.field2986 = var2; + if (var4.field2980 == var1 && var4.field2978 < 0) { + this.field2940[var1][var4.field2988] = null; + this.field2940[var1][var2] = var4; + int var8 = (var4.field2983 * var4.field2987 >> 12) + var4.field2986; + var4.field2986 += var2 - var4.field2988 << 8; + var4.field2987 = var8 - var4.field2986; + var4.field2983 = 4096; + var4.field2988 = var2; return; } } } - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2913[var1]); + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2938[var1]); if (var9 != null) { RawSound var5 = var9.rawSounds[var2]; if (var5 != null) { MusicPatchNode var6 = new MusicPatchNode(); - var6.field2970 = var1; + var6.field2980 = var1; var6.patch = var9; var6.rawSound = var5; - var6.field2972 = var9.field2954[var2]; - var6.field2971 = var9.field2955[var2]; - var6.field2986 = var2; - var6.field2973 = var3 * var3 * var9.field2952[var2] * var9.field2957 + 1024 >> 11; - var6.field2979 = var9.field2953[var2] & 255; - var6.field2975 = (var2 << 8) - (var9.field2949[var2] & 32767); - var6.field2978 = 0; - var6.field2987 = 0; - var6.field2980 = 0; - var6.field2985 = -1; - var6.field2981 = 0; - if (this.field2925[var1] == 0) { - var6.stream = RawPcmStream.method798(var5, this.method4671(var6), this.method4690(var6), this.method4646(var6)); + var6.field2981 = var9.field2968[var2]; + var6.field2985 = var9.field2964[var2]; + var6.field2988 = var2; + var6.field2984 = var3 * var3 * var9.field2966[var2] * var9.field2969 + 1024 >> 11; + var6.field2982 = var9.field2970[var2] & 255; + var6.field2986 = (var2 << 8) - (var9.field2965[var2] & 32767); + var6.field2989 = 0; + var6.field2990 = 0; + var6.field2991 = 0; + var6.field2978 = -1; + var6.field2993 = 0; + if (this.field2937[var1] == 0) { + var6.stream = RawPcmStream.method794(var5, this.method4729(var6), this.method4782(var6), this.method4731(var6)); } else { - var6.stream = RawPcmStream.method798(var5, this.method4671(var6), 0, this.method4646(var6)); - this.method4632(var6, var9.field2949[var2] < 0); + var6.stream = RawPcmStream.method794(var5, this.method4729(var6), 0, this.method4731(var6)); + this.method4802(var6, var9.field2965[var2] < 0); } - if (var9.field2949[var2] < 0) { + if (var9.field2965[var2] < 0) { var6.stream.setNumLoops(-1); } - if (var6.field2971 >= 0) { - MusicPatchNode var7 = this.field2920[var1][var6.field2971]; - if (var7 != null && var7.field2985 < 0) { - this.field2927[var1][var7.field2986] = null; - var7.field2985 = 0; + if (var6.field2985 >= 0) { + MusicPatchNode var7 = this.field2924[var1][var6.field2985]; + if (var7 != null && var7.field2978 < 0) { + this.field2940[var1][var7.field2988] = null; + var7.field2978 = 0; } - this.field2920[var1][var6.field2971] = var6; + this.field2924[var1][var6.field2985] = var6; } this.patchStream.queue.addFirst(var6); - this.field2927[var1][var2] = var6; + this.field2940[var1][var2] = var6; } } } - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(Lid;ZI)V", - garbageValue = "-2124799901" - ) - void method4632(MusicPatchNode var1, boolean var2) { - int var3 = var1.rawSound.samples.length; - int var4; - if (var2 && var1.rawSound.field250) { - int var5 = var3 + var3 - var1.rawSound.start; - var4 = (int)((long)var5 * (long)this.field2925[var1.field2970] >> 6); - var3 <<= 8; - if (var4 >= var3) { - var4 = var3 + var3 - 1 - var4; - var1.stream.method927(); - } - } else { - var4 = (int)((long)this.field2925[var1.field2970] * (long)var3 >> 6); - } - - var1.stream.method806(var4); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "1791556978" - ) - void method4633(int var1, int var2, int var3) { - MusicPatchNode var4 = this.field2927[var1][var2]; - if (var4 != null) { - this.field2927[var1][var2] = null; - if ((this.field2929[var1] & 2) != 0) { - for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var4.field2970 == var5.field2970 && var5.field2985 < 0 && var4 != var5) { - var4.field2985 = 0; - break; - } - } - } else { - var4.field2985 = 0; - } - - } - } - @ObfuscatedName("x") @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "-948201213" + descriptor = "(Lib;ZI)V", + garbageValue = "2049564626" ) - void method4634(int var1, int var2, int var3) { + void method4802(MusicPatchNode var1, boolean var2) { + int var3 = var1.rawSound.samples.length; + int var4; + if (var2 && var1.rawSound.field249) { + int var5 = var3 + var3 - var1.rawSound.start; + var4 = (int)((long)var5 * (long)this.field2937[var1.field2980] >> 6); + var3 <<= 8; + if (var4 >= var3) { + var4 = var3 + var3 - 1 - var4; + var1.stream.method803(); + } + } else { + var4 = (int)((long)this.field2937[var1.field2980] * (long)var3 >> 6); + } + + var1.stream.method839(var4); } - @ObfuscatedName("b") + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "2145702834" + ) + void method4717(int var1, int var2, int var3) { + MusicPatchNode var4 = this.field2940[var1][var2]; + if (var4 != null) { + this.field2940[var1][var2] = null; + if ((this.field2948[var1] & 2) != 0) { + for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var4.field2980 == var5.field2980 && var5.field2978 < 0 && var4 != var5) { + var4.field2978 = 0; + break; + } + } + } else { + var4.field2978 = 0; + } + + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(IIIS)V", + garbageValue = "3615" + ) + void method4748(int var1, int var2, int var3) { + } + + @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(IIB)V", - garbageValue = "-45" + garbageValue = "-29" ) - void method4635(int var1, int var2) { + void method4719(int var1, int var2) { } - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-2086526119" + descriptor = "(IIS)V", + garbageValue = "23625" ) - void method4717(int var1, int var2) { - this.field2906[var1] = var2; + void method4720(int var1, int var2) { + this.field2945[var1] = var2; } @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-20" + descriptor = "(II)V", + garbageValue = "849653299" ) - void method4636(int var1) { + void method4723(int var1) { for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var1 < 0 || var2.field2970 == var1) { + if (var1 < 0 || var2.field2980 == var1) { if (var2.stream != null) { - var2.stream.method811(class276.field3287 / 100); - if (var2.stream.method815()) { + var2.stream.method807(PcmPlayer.field279 / 100); + if (var2.stream.method920()) { this.patchStream.mixer.addSubStream(var2.stream); } - var2.method4850(); + var2.method4913(); } - if (var2.field2985 < 0) { - this.field2927[var2.field2970][var2.field2986] = null; + if (var2.field2978 < 0) { + this.field2940[var2.field2980][var2.field2988] = null; } var2.remove(); @@ -529,107 +530,107 @@ public class MidiPcmStream extends PcmStream { } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1910217526" - ) - void method4734(int var1) { - if (var1 >= 0) { - this.field2909[var1] = 12800; - this.field2926[var1] = 8192; - this.field2911[var1] = 16383; - this.field2906[var1] = 8192; - this.field2916[var1] = 0; - this.field2917[var1] = 8192; - this.method4704(var1); - this.method4682(var1); - this.field2929[var1] = 0; - this.field2930[var1] = 32767; - this.field2921[var1] = 256; - this.field2925[var1] = 0; - this.method4701(var1, 8192); - } else { - for (var1 = 0; var1 < 16; ++var1) { - this.method4734(var1); - } - - } - } - - @ObfuscatedName("w") + @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "29" + garbageValue = "-33" ) - void method4743(int var1) { + void method4722(int var1) { + if (var1 >= 0) { + this.field2934[var1] = 12800; + this.field2925[var1] = 8192; + this.field2930[var1] = 16383; + this.field2945[var1] = 8192; + this.field2931[var1] = 0; + this.field2932[var1] = 8192; + this.method4725(var1); + this.method4726(var1); + this.field2948[var1] = 0; + this.field2935[var1] = 32767; + this.field2928[var1] = 256; + this.field2937[var1] = 0; + this.method4709(var1, 8192); + } else { + for (var1 = 0; var1 < 16; ++var1) { + this.method4722(var1); + } + + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "298420171" + ) + void method4787(int var1) { for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if ((var1 < 0 || var2.field2970 == var1) && var2.field2985 < 0) { - this.field2927[var2.field2970][var2.field2986] = null; - var2.field2985 = 0; + if ((var1 < 0 || var2.field2980 == var1) && var2.field2978 < 0) { + this.field2940[var2.field2980][var2.field2988] = null; + var2.field2978 = 0; } } } - @ObfuscatedName("av") + @ObfuscatedName("ah") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1946418256" + descriptor = "(B)V", + garbageValue = "32" ) - void method4679() { - this.method4636(-1); - this.method4734(-1); + void method4724() { + this.method4723(-1); + this.method4722(-1); int var1; for (var1 = 0; var1 < 16; ++var1) { - this.field2913[var1] = this.field2912[var1]; + this.field2938[var1] = this.field2927[var1]; } for (var1 = 0; var1 < 16; ++var1) { - this.field2914[var1] = this.field2912[var1] & -128; + this.field2929[var1] = this.field2927[var1] & -128; } } - @ObfuscatedName("ak") + @ObfuscatedName("ay") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "117" + garbageValue = "-75" ) - void method4704(int var1) { - if ((this.field2929[var1] & 2) != 0) { + void method4725(int var1) { + if ((this.field2948[var1] & 2) != 0) { for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field2970 == var1 && this.field2927[var1][var2.field2986] == null && var2.field2985 < 0) { - var2.field2985 = 0; + if (var2.field2980 == var1 && this.field2940[var1][var2.field2988] == null && var2.field2978 < 0) { + var2.field2978 = 0; } } } } - @ObfuscatedName("an") + @ObfuscatedName("al") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "1" + descriptor = "(II)V", + garbageValue = "791445586" ) - void method4682(int var1) { - if ((this.field2929[var1] & 4) != 0) { + void method4726(int var1) { + if ((this.field2948[var1] & 4) != 0) { for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field2970 == var1) { - var2.field2988 = 0; + if (var2.field2980 == var1) { + var2.field2998 = 0; } } } } - @ObfuscatedName("ab") + @ObfuscatedName("au") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-121" + descriptor = "(II)V", + garbageValue = "-1057431192" ) - void method4653(int var1) { + void method4727(int var1) { int var2 = var1 & 240; int var3; int var4; @@ -638,289 +639,289 @@ public class MidiPcmStream extends PcmStream { var3 = var1 & 15; var4 = var1 >> 8 & 127; var5 = var1 >> 16 & 127; - this.method4633(var3, var4, var5); + this.method4717(var3, var4, var5); } else if (var2 == 144) { var3 = var1 & 15; var4 = var1 >> 8 & 127; var5 = var1 >> 16 & 127; if (var5 > 0) { - this.method4637(var3, var4, var5); + this.method4750(var3, var4, var5); } else { - this.method4633(var3, var4, 64); + this.method4717(var3, var4, 64); } } else if (var2 == 160) { var3 = var1 & 15; var4 = var1 >> 8 & 127; var5 = var1 >> 16 & 127; - this.method4634(var3, var4, var5); + this.method4748(var3, var4, var5); } else if (var2 == 176) { var3 = var1 & 15; var4 = var1 >> 8 & 127; var5 = var1 >> 16 & 127; if (var4 == 0) { - this.field2914[var3] = (var5 << 14) + (this.field2914[var3] & -2080769); + this.field2929[var3] = (var5 << 14) + (this.field2929[var3] & -2080769); } if (var4 == 32) { - this.field2914[var3] = (var5 << 7) + (this.field2914[var3] & -16257); + this.field2929[var3] = (var5 << 7) + (this.field2929[var3] & -16257); } if (var4 == 1) { - this.field2916[var3] = (var5 << 7) + (this.field2916[var3] & -16257); + this.field2931[var3] = (var5 << 7) + (this.field2931[var3] & -16257); } if (var4 == 33) { - this.field2916[var3] = var5 + (this.field2916[var3] & -128); + this.field2931[var3] = var5 + (this.field2931[var3] & -128); } if (var4 == 5) { - this.field2917[var3] = (var5 << 7) + (this.field2917[var3] & -16257); + this.field2932[var3] = (var5 << 7) + (this.field2932[var3] & -16257); } if (var4 == 37) { - this.field2917[var3] = var5 + (this.field2917[var3] & -128); + this.field2932[var3] = var5 + (this.field2932[var3] & -128); } if (var4 == 7) { - this.field2909[var3] = (var5 << 7) + (this.field2909[var3] & -16257); + this.field2934[var3] = (var5 << 7) + (this.field2934[var3] & -16257); } if (var4 == 39) { - this.field2909[var3] = var5 + (this.field2909[var3] & -128); + this.field2934[var3] = var5 + (this.field2934[var3] & -128); } if (var4 == 10) { - this.field2926[var3] = (var5 << 7) + (this.field2926[var3] & -16257); + this.field2925[var3] = (var5 << 7) + (this.field2925[var3] & -16257); } if (var4 == 42) { - this.field2926[var3] = var5 + (this.field2926[var3] & -128); + this.field2925[var3] = var5 + (this.field2925[var3] & -128); } if (var4 == 11) { - this.field2911[var3] = (var5 << 7) + (this.field2911[var3] & -16257); + this.field2930[var3] = (var5 << 7) + (this.field2930[var3] & -16257); } if (var4 == 43) { - this.field2911[var3] = var5 + (this.field2911[var3] & -128); + this.field2930[var3] = var5 + (this.field2930[var3] & -128); } int[] var10000; if (var4 == 64) { if (var5 >= 64) { - var10000 = this.field2929; + var10000 = this.field2948; var10000[var3] |= 1; } else { - var10000 = this.field2929; + var10000 = this.field2948; var10000[var3] &= -2; } } if (var4 == 65) { if (var5 >= 64) { - var10000 = this.field2929; + var10000 = this.field2948; var10000[var3] |= 2; } else { - this.method4704(var3); - var10000 = this.field2929; + this.method4725(var3); + var10000 = this.field2948; var10000[var3] &= -3; } } if (var4 == 99) { - this.field2930[var3] = (var5 << 7) + (this.field2930[var3] & 127); + this.field2935[var3] = (var5 << 7) + (this.field2935[var3] & 127); } if (var4 == 98) { - this.field2930[var3] = (this.field2930[var3] & 16256) + var5; + this.field2935[var3] = (this.field2935[var3] & 16256) + var5; } if (var4 == 101) { - this.field2930[var3] = (var5 << 7) + (this.field2930[var3] & 127) + 16384; + this.field2935[var3] = (var5 << 7) + (this.field2935[var3] & 127) + 16384; } if (var4 == 100) { - this.field2930[var3] = (this.field2930[var3] & 16256) + var5 + 16384; + this.field2935[var3] = (this.field2935[var3] & 16256) + var5 + 16384; } if (var4 == 120) { - this.method4636(var3); + this.method4723(var3); } if (var4 == 121) { - this.method4734(var3); + this.method4722(var3); } if (var4 == 123) { - this.method4743(var3); + this.method4787(var3); } int var6; if (var4 == 6) { - var6 = this.field2930[var3]; + var6 = this.field2935[var3]; if (var6 == 16384) { - this.field2921[var3] = (var5 << 7) + (this.field2921[var3] & -16257); + this.field2928[var3] = (var5 << 7) + (this.field2928[var3] & -16257); } } if (var4 == 38) { - var6 = this.field2930[var3]; + var6 = this.field2935[var3]; if (var6 == 16384) { - this.field2921[var3] = var5 + (this.field2921[var3] & -128); + this.field2928[var3] = var5 + (this.field2928[var3] & -128); } } if (var4 == 16) { - this.field2925[var3] = (var5 << 7) + (this.field2925[var3] & -16257); + this.field2937[var3] = (var5 << 7) + (this.field2937[var3] & -16257); } if (var4 == 48) { - this.field2925[var3] = var5 + (this.field2925[var3] & -128); + this.field2937[var3] = var5 + (this.field2937[var3] & -128); } if (var4 == 81) { if (var5 >= 64) { - var10000 = this.field2929; + var10000 = this.field2948; var10000[var3] |= 4; } else { - this.method4682(var3); - var10000 = this.field2929; + this.method4726(var3); + var10000 = this.field2948; var10000[var3] &= -5; } } if (var4 == 17) { - this.method4701(var3, (var5 << 7) + (this.field2923[var3] & -16257)); + this.method4709(var3, (var5 << 7) + (this.field2926[var3] & -16257)); } if (var4 == 49) { - this.method4701(var3, var5 + (this.field2923[var3] & -128)); + this.method4709(var3, var5 + (this.field2926[var3] & -128)); } } else if (var2 == 192) { var3 = var1 & 15; var4 = var1 >> 8 & 127; - this.method4630(var3, var4 + this.field2914[var3]); + this.method4721(var3, var4 + this.field2929[var3]); } else if (var2 == 208) { var3 = var1 & 15; var4 = var1 >> 8 & 127; - this.method4635(var3, var4); + this.method4719(var3, var4); } else if (var2 == 224) { var3 = var1 & 15; var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); - this.method4717(var3, var4); + this.method4720(var3, var4); } else { var2 = var1 & 255; if (var2 == 255) { - this.method4679(); + this.method4724(); } } } - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "1296601791" + garbageValue = "-2135389317" ) - void method4701(int var1, int var2) { - this.field2923[var1] = var2; - this.field2924[var1] = (int)(2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var2) + 0.5D); + void method4709(int var1, int var2) { + this.field2926[var1] = var2; + this.field2939[var1] = (int)(2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var2) + 0.5D); } - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedSignature( - descriptor = "(Lid;I)I", - garbageValue = "-860885754" + descriptor = "(Lib;I)I", + garbageValue = "-1323579923" ) - int method4671(MusicPatchNode var1) { - int var2 = (var1.field2977 * var1.field2976 >> 12) + var1.field2975; - var2 += (this.field2906[var1.field2970] - 8192) * this.field2921[var1.field2970] >> 12; - MusicPatchNode2 var3 = var1.field2972; + int method4729(MusicPatchNode var1) { + int var2 = (var1.field2983 * var1.field2987 >> 12) + var1.field2986; + var2 += (this.field2945[var1.field2980] - 8192) * this.field2928[var1.field2980] >> 12; + MusicPatchNode2 var3 = var1.field2981; int var4; - if (var3.field2890 > 0 && (var3.field2893 > 0 || this.field2916[var1.field2970] > 0)) { - var4 = var3.field2893 << 2; - int var5 = var3.field2887 << 1; - if (var1.field2983 < var5) { - var4 = var4 * var1.field2983 / var5; + if (var3.field2907 > 0 && (var3.field2906 > 0 || this.field2931[var1.field2980] > 0)) { + var4 = var3.field2906 << 2; + int var5 = var3.field2908 << 1; + if (var1.field2994 < var5) { + var4 = var4 * var1.field2994 / var5; } - var4 += this.field2916[var1.field2970] >> 7; - double var6 = Math.sin(0.01227184630308513D * (double)(var1.field2984 & 511)); - var2 += (int)((double)var4 * var6); + var4 += this.field2931[var1.field2980] >> 7; + double var6 = Math.sin((double)(var1.field2995 & 511) * 0.01227184630308513D); + var2 += (int)(var6 * (double)var4); } - var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, 3.255208333333333E-4D * (double)var2) / (double)class276.field3287 + 0.5D); + var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)PcmPlayer.field279 + 0.5D); return var4 < 1 ? 1 : var4; } - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedSignature( - descriptor = "(Lid;I)I", - garbageValue = "1727050510" + descriptor = "(Lib;B)I", + garbageValue = "-1" ) - int method4690(MusicPatchNode var1) { - MusicPatchNode2 var2 = var1.field2972; - int var3 = this.field2909[var1.field2970] * this.field2911[var1.field2970] + 4096 >> 13; + int method4782(MusicPatchNode var1) { + MusicPatchNode2 var2 = var1.field2981; + int var3 = this.field2930[var1.field2980] * this.field2934[var1.field2980] + 4096 >> 13; var3 = var3 * var3 + 16384 >> 15; - var3 = var3 * var1.field2973 + 16384 >> 15; + var3 = var3 * var1.field2984 + 16384 >> 15; var3 = var3 * this.field2922 + 128 >> 8; - if (var2.field2889 > 0) { - var3 = (int)((double)var3 * Math.pow(0.5D, 1.953125E-5D * (double)var1.field2978 * (double)var2.field2889) + 0.5D); + if (var2.field2902 > 0) { + var3 = (int)((double)var3 * Math.pow(0.5D, (double)var2.field2902 * (double)var1.field2989 * 1.953125E-5D) + 0.5D); } int var4; int var5; int var6; int var7; - if (var2.field2896 != null) { - var4 = var1.field2987; - var5 = var2.field2896[var1.field2980 + 1]; - if (var1.field2980 < var2.field2896.length - 2) { - var6 = (var2.field2896[var1.field2980] & 255) << 8; - var7 = (var2.field2896[var1.field2980 + 2] & 255) << 8; - var5 += (var2.field2896[var1.field2980 + 3] - var5) * (var4 - var6) / (var7 - var6); + if (var2.field2903 != null) { + var4 = var1.field2990; + var5 = var2.field2903[var1.field2991 + 1]; + if (var1.field2991 < var2.field2903.length - 2) { + var6 = (var2.field2903[var1.field2991] & 255) << 8; + var7 = (var2.field2903[var1.field2991 + 2] & 255) << 8; + var5 += (var2.field2903[var1.field2991 + 3] - var5) * (var4 - var6) / (var7 - var6); } - var3 = var5 * var3 + 32 >> 6; + var3 = var3 * var5 + 32 >> 6; } - if (var1.field2985 > 0 && var2.field2888 != null) { - var4 = var1.field2985; - var5 = var2.field2888[var1.field2981 + 1]; - if (var1.field2981 < var2.field2888.length - 2) { - var6 = (var2.field2888[var1.field2981] & 255) << 8; - var7 = (var2.field2888[var1.field2981 + 2] & 255) << 8; - var5 += (var4 - var6) * (var2.field2888[var1.field2981 + 3] - var5) / (var7 - var6); + if (var1.field2978 > 0 && var2.field2901 != null) { + var4 = var1.field2978; + var5 = var2.field2901[var1.field2993 + 1]; + if (var1.field2993 < var2.field2901.length - 2) { + var6 = (var2.field2901[var1.field2993] & 255) << 8; + var7 = (var2.field2901[var1.field2993 + 2] & 255) << 8; + var5 += (var4 - var6) * (var2.field2901[var1.field2993 + 3] - var5) / (var7 - var6); } - var3 = var5 * var3 + 32 >> 6; + var3 = var3 * var5 + 32 >> 6; } return var3; } - @ObfuscatedName("az") + @ObfuscatedName("ax") @ObfuscatedSignature( - descriptor = "(Lid;B)I", - garbageValue = "27" + descriptor = "(Lib;I)I", + garbageValue = "1020464759" ) - int method4646(MusicPatchNode var1) { - int var2 = this.field2926[var1.field2970]; - return var2 < 8192 ? var2 * var1.field2979 + 32 >> 6 : 16384 - ((128 - var1.field2979) * (16384 - var2) + 32 >> 6); + int method4731(MusicPatchNode var1) { + int var2 = this.field2925[var1.field2980]; + return var2 < 8192 ? var2 * var1.field2982 + 32 >> 6 : 16384 - ((128 - var1.field2982) * (16384 - var2) + 32 >> 6); } - @ObfuscatedName("bd") + @ObfuscatedName("an") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-639757320" + garbageValue = "-1646259213" ) - void method4652() { + void method4737() { int var1 = this.track; int var2 = this.trackLength; long var3; - for (var3 = this.field2932; var2 == this.trackLength; var3 = this.midiFile.method4769(var2)) { + for (var3 = this.field2936; var2 == this.trackLength; var3 = this.midiFile.method4838(var2)) { while (var2 == this.midiFile.trackLengths[var1]) { this.midiFile.gotoTrack(var1); int var5 = this.midiFile.readMessage(var1); @@ -928,8 +929,8 @@ public class MidiPcmStream extends PcmStream { this.midiFile.setTrackDone(); this.midiFile.markTrackPosition(var1); if (this.midiFile.isDone()) { - if (!this.field2928 || var2 == 0) { - this.method4679(); + if (!this.field2943 || var2 == 0) { + this.method4724(); this.midiFile.clear(); return; } @@ -940,7 +941,7 @@ public class MidiPcmStream extends PcmStream { } if ((var5 & 128) != 0) { - this.method4653(var5); + this.method4727(var5); } this.midiFile.readTrackLength(var1); @@ -953,20 +954,20 @@ public class MidiPcmStream extends PcmStream { this.track = var1; this.trackLength = var2; - this.field2932 = var3; + this.field2936 = var3; } - @ObfuscatedName("bt") + @ObfuscatedName("av") @ObfuscatedSignature( - descriptor = "(Lid;I)Z", - garbageValue = "-774691318" + descriptor = "(Lib;B)Z", + garbageValue = "-114" ) - boolean method4651(MusicPatchNode var1) { + boolean method4797(MusicPatchNode var1) { if (var1.stream == null) { - if (var1.field2985 >= 0) { + if (var1.field2978 >= 0) { var1.remove(); - if (var1.field2971 > 0 && var1 == this.field2920[var1.field2970][var1.field2971]) { - this.field2920[var1.field2970][var1.field2971] = null; + if (var1.field2985 > 0 && var1 == this.field2924[var1.field2980][var1.field2985]) { + this.field2924[var1.field2980][var1.field2985] = null; } } @@ -976,118 +977,256 @@ public class MidiPcmStream extends PcmStream { } } - @ObfuscatedName("bf") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "(Lid;[IIII)Z", - garbageValue = "-702133888" + descriptor = "(Lib;[IIII)Z", + garbageValue = "1929584471" ) - boolean method4668(MusicPatchNode var1, int[] var2, int var3, int var4) { - var1.field2982 = class276.field3287 / 100; - if (var1.field2985 < 0 || var1.stream != null && !var1.stream.method860()) { - int var5 = var1.field2977; + boolean method4739(MusicPatchNode var1, int[] var2, int var3, int var4) { + var1.field2997 = PcmPlayer.field279 / 100; + if (var1.field2978 < 0 || var1.stream != null && !var1.stream.method810()) { + int var5 = var1.field2983; if (var5 > 0) { - var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field2917[var1.field2970] * 4.921259842519685E-4D) + 0.5D); + var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field2932[var1.field2980] * 4.921259842519685E-4D) + 0.5D); if (var5 < 0) { var5 = 0; } - var1.field2977 = var5; + var1.field2983 = var5; } - var1.stream.method833(this.method4671(var1)); - MusicPatchNode2 var6 = var1.field2972; + var1.stream.method808(this.method4729(var1)); + MusicPatchNode2 var6 = var1.field2981; boolean var7 = false; - ++var1.field2983; - var1.field2984 += var6.field2890; - double var8 = (double)((var1.field2986 - 60 << 8) + (var1.field2977 * var1.field2976 >> 12)) * 5.086263020833333E-6D; - if (var6.field2889 > 0) { - if (var6.field2892 > 0) { - var1.field2978 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2892 * var8) + 0.5D); + ++var1.field2994; + var1.field2995 += var6.field2907; + double var8 = (double)((var1.field2988 - 60 << 8) + (var1.field2987 * var1.field2983 >> 12)) * 5.086263020833333E-6D; + if (var6.field2902 > 0) { + if (var6.field2905 > 0) { + var1.field2989 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2905 * var8) + 0.5D); } else { - var1.field2978 += 128; + var1.field2989 += 128; } } - if (var6.field2896 != null) { - if (var6.field2895 > 0) { - var1.field2987 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2895) + 0.5D); + if (var6.field2903 != null) { + if (var6.field2900 > 0) { + var1.field2990 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2900 * var8) + 0.5D); } else { - var1.field2987 += 128; + var1.field2990 += 128; } - while (var1.field2980 < var6.field2896.length - 2 && var1.field2987 > (var6.field2896[var1.field2980 + 2] & 255) << 8) { - var1.field2980 += 2; + while (var1.field2991 < var6.field2903.length - 2 && var1.field2990 > (var6.field2903[var1.field2991 + 2] & 255) << 8) { + var1.field2991 += 2; } - if (var6.field2896.length - 2 == var1.field2980 && var6.field2896[var1.field2980 + 1] == 0) { + if (var6.field2903.length - 2 == var1.field2991 && var6.field2903[var1.field2991 + 1] == 0) { var7 = true; } } - if (var1.field2985 >= 0 && var6.field2888 != null && (this.field2929[var1.field2970] & 1) == 0 && (var1.field2971 < 0 || var1 != this.field2920[var1.field2970][var1.field2971])) { - if (var6.field2891 > 0) { - var1.field2985 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2891) + 0.5D); + if (var1.field2978 >= 0 && var6.field2901 != null && (this.field2948[var1.field2980] & 1) == 0 && (var1.field2985 < 0 || var1 != this.field2924[var1.field2980][var1.field2985])) { + if (var6.field2904 > 0) { + var1.field2978 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2904) + 0.5D); } else { - var1.field2985 += 128; + var1.field2978 += 128; } - while (var1.field2981 < var6.field2888.length - 2 && var1.field2985 > (var6.field2888[var1.field2981 + 2] & 255) << 8) { - var1.field2981 += 2; + while (var1.field2993 < var6.field2901.length - 2 && var1.field2978 > (var6.field2901[var1.field2993 + 2] & 255) << 8) { + var1.field2993 += 2; } - if (var6.field2888.length - 2 == var1.field2981) { + if (var6.field2901.length - 2 == var1.field2993) { var7 = true; } } if (var7) { - var1.stream.method811(var1.field2982); + var1.stream.method807(var1.field2997); if (var2 != null) { var1.stream.fill(var2, var3, var4); } else { var1.stream.skip(var4); } - if (var1.stream.method815()) { + if (var1.stream.method920()) { this.patchStream.mixer.addSubStream(var1.stream); } - var1.method4850(); - if (var1.field2985 >= 0) { + var1.method4913(); + if (var1.field2978 >= 0) { var1.remove(); - if (var1.field2971 > 0 && var1 == this.field2920[var1.field2970][var1.field2971]) { - this.field2920[var1.field2970][var1.field2971] = null; + if (var1.field2985 > 0 && var1 == this.field2924[var1.field2980][var1.field2985]) { + this.field2924[var1.field2980][var1.field2985] = null; } } return true; } else { - var1.stream.method810(var1.field2982, this.method4690(var1), this.method4646(var1)); + var1.stream.method806(var1.field2997, this.method4782(var1), this.method4731(var1)); return false; } } else { - var1.method4850(); + var1.method4913(); var1.remove(); - if (var1.field2971 > 0 && var1 == this.field2920[var1.field2970][var1.field2971]) { - this.field2920[var1.field2970][var1.field2971] = null; + if (var1.field2985 > 0 && var1 == this.field2924[var1.field2980][var1.field2985]) { + this.field2924[var1.field2980][var1.field2985] = null; } return true; } } - @ObfuscatedName("kv") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "1442277074" + descriptor = "(ILbe;ZI)I", + garbageValue = "-990431040" ) - @Export("Clan_joinChat") - static final void Clan_joinChat(String var0) { - if (!var0.equals("")) { - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2727, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); + static int method4814(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETX) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETY) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHIDE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETLAYER) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-733050611" + ) + public static int method4815(int var0) { + if (var0 > 0) { + return 1; + } else { + return var0 < 0 ? -1 : 0; + } + } + + @ObfuscatedName("gx") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "-1988064953" + ) + @Export("getTileHeight") + static final int getTileHeight(int var0, int var1, int var2) { + int var3 = var0 >> 7; + int var4 = var1 >> 7; + if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { + int var5 = var2; + if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { + var5 = var2 + 1; + } + + int var6 = var0 & 127; + int var7 = var1 & 127; + int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + Tiles.Tiles_heights[var5][var3 + 1][var4] * var6 >> 7; + int var9 = Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) + var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] >> 7; + return var8 * (128 - var7) + var9 * var7 >> 7; + } else { + return 0; + } + } + + @ObfuscatedName("hp") + @ObfuscatedSignature( + descriptor = "(ZLoy;S)V", + garbageValue = "16035" + ) + static final void method4806(boolean var0, PacketBuffer var1) { + while (true) { + if (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { + int var2 = var1.readBits(15); + if (var2 != 32767) { + boolean var3 = false; + if (Client.npcs[var2] == null) { + Client.npcs[var2] = new NPC(); + var3 = true; + } + + NPC var4 = Client.npcs[var2]; + Client.npcIndices[++Client.npcCount - 1] = var2; + var4.npcCycle = Client.cycle; + int var7; + if (var0) { + var7 = var1.readBits(8); + if (var7 > 127) { + var7 -= 256; + } + } else { + var7 = var1.readBits(5); + if (var7 > 15) { + var7 -= 32; + } + } + + int var8 = var1.readBits(1); + if (var8 == 1) { + Client.field535[++Client.field713 - 1] = var2; + } + + int var6; + if (var0) { + var6 = var1.readBits(8); + if (var6 > 127) { + var6 -= 256; + } + } else { + var6 = var1.readBits(5); + if (var6 > 15) { + var6 -= 32; + } + } + + int var9 = Client.defaultRotations[var1.readBits(3)]; + if (var3) { + var4.orientation = var4.rotation = var9; + } + + var4.definition = class112.getNpcDefinition(var1.readBits(14)); + boolean var10 = var1.readBits(1) == 1; + if (var10) { + var1.readBits(32); + } + + int var5 = var1.readBits(1); + var4.field1109 = var4.definition.size; + var4.field1146 = var4.definition.rotation; + if (var4.field1146 == 0) { + var4.rotation = 0; + } + + var4.walkSequence = var4.definition.walkSequence; + var4.walkBackSequence = var4.definition.walkBackSequence; + var4.walkLeftSequence = var4.definition.walkLeftSequence; + var4.walkRightSequence = var4.definition.walkRightSequence; + var4.idleSequence = var4.definition.idleSequence; + var4.turnLeftSequence = var4.definition.turnLeftSequence; + var4.turnRightSequence = var4.definition.turnRightSequence; + var4.method2234(class67.localPlayer.pathX[0] + var6, class67.localPlayer.pathY[0] + var7, var5 == 1); + continue; + } + } + + var1.exportIndex(); + return; } } } diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index a6b48dca17..9bb6a4230a 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -4,319 +4,222 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ea") +@ObfuscatedName("eh") @Implements("MilliClock") public class MilliClock extends Clock { - @ObfuscatedName("n") - long[] field1581; - @ObfuscatedName("c") + @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1926195219 + intValue = 1652344105 ) - int field1580; + static int field1588; + @ObfuscatedName("l") + long[] field1592; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 13513773 + ) + int field1587; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -546197089 + ) + int field1589; + @ObfuscatedName("j") + @ObfuscatedGetter( + longValue = 1648403741631593641L + ) + long field1586; @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1239703239 + intValue = -2027949555 ) - int field1582; + int field1590; @ObfuscatedName("k") @ObfuscatedGetter( - longValue = 1838045088116559801L + intValue = -1944600771 ) - long field1584; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -434613237 - ) - int field1583; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1538511437 - ) - int field1585; + int field1591; - public MilliClock() { - this.field1581 = new long[10]; - this.field1580 = 256; - this.field1582 = 1; - this.field1583 = 0; - this.field1584 = Occluder.method4335(); + MilliClock() { + this.field1592 = new long[10]; + this.field1587 = 256; + this.field1589 = 1; + this.field1590 = 0; + this.field1586 = UserComparator4.method2406(); for (int var1 = 0; var1 < 10; ++var1) { - this.field1581[var1] = this.field1584; + this.field1592[var1] = this.field1586; } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2146592699" + garbageValue = "-973245062" ) @Export("mark") public void mark() { for (int var1 = 0; var1 < 10; ++var1) { - this.field1581[var1] = 0L; + this.field1592[var1] = 0L; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "-1080855684" + garbageValue = "904483746" ) @Export("wait") public int wait(int var1, int var2) { - int var3 = this.field1580; - int var4 = this.field1582; - this.field1580 = 300; - this.field1582 = 1; - this.field1584 = Occluder.method4335(); - if (0L == this.field1581[this.field1585]) { - this.field1580 = var3; - this.field1582 = var4; - } else if (this.field1584 > this.field1581[this.field1585]) { - this.field1580 = (int)((long)(var1 * 2560) / (this.field1584 - this.field1581[this.field1585])); + int var3 = this.field1587; + int var4 = this.field1589; + this.field1587 = 300; + this.field1589 = 1; + this.field1586 = UserComparator4.method2406(); + if (this.field1592[this.field1591] == 0L) { + this.field1587 = var3; + this.field1589 = var4; + } else if (this.field1586 > this.field1592[this.field1591]) { + this.field1587 = (int)((long)(var1 * 2560) / (this.field1586 - this.field1592[this.field1591])); } - if (this.field1580 < 25) { - this.field1580 = 25; + if (this.field1587 < 25) { + this.field1587 = 25; } - if (this.field1580 > 256) { - this.field1580 = 256; - this.field1582 = (int)((long)var1 - (this.field1584 - this.field1581[this.field1585]) / 10L); + if (this.field1587 > 256) { + this.field1587 = 256; + this.field1589 = (int)((long)var1 - (this.field1586 - this.field1592[this.field1591]) / 10L); } - if (this.field1582 > var1) { - this.field1582 = var1; + if (this.field1589 > var1) { + this.field1589 = var1; } - this.field1581[this.field1585] = this.field1584; - this.field1585 = (this.field1585 + 1) % 10; + this.field1592[this.field1591] = this.field1586; + this.field1591 = (this.field1591 + 1) % 10; int var5; - if (this.field1582 > 1) { + if (this.field1589 > 1) { for (var5 = 0; var5 < 10; ++var5) { - if (0L != this.field1581[var5]) { - this.field1581[var5] += (long)this.field1582; + if (0L != this.field1592[var5]) { + this.field1592[var5] += (long)this.field1589; } } } - if (this.field1582 < var2) { - this.field1582 = var2; + if (this.field1589 < var2) { + this.field1589 = var2; } - PlayerType.method5099((long)this.field1582); + class121.method2542((long)this.field1589); - for (var5 = 0; this.field1583 < 256; this.field1583 += this.field1580) { + for (var5 = 0; this.field1590 < 256; this.field1590 += this.field1587) { ++var5; } - this.field1583 &= 255; + this.field1590 &= 255; return var5; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "473424280" + descriptor = "(CI)B", + garbageValue = "1031571888" ) - public static int method2795(int var0, int var1, int var2) { - var2 &= 3; - if (var2 == 0) { - return var0; - } else if (var2 == 1) { + @Export("charToByteCp1252") + public static byte charToByteCp1252(char var0) { + byte var1; + if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { + var1 = (byte)var0; + } else if (var0 == 8364) { + var1 = -128; + } else if (var0 == 8218) { + var1 = -126; + } else if (var0 == 402) { + var1 = -125; + } else if (var0 == 8222) { + var1 = -124; + } else if (var0 == 8230) { + var1 = -123; + } else if (var0 == 8224) { + var1 = -122; + } else if (var0 == 8225) { + var1 = -121; + } else if (var0 == 710) { + var1 = -120; + } else if (var0 == 8240) { + var1 = -119; + } else if (var0 == 352) { + var1 = -118; + } else if (var0 == 8249) { + var1 = -117; + } else if (var0 == 338) { + var1 = -116; + } else if (var0 == 381) { + var1 = -114; + } else if (var0 == 8216) { + var1 = -111; + } else if (var0 == 8217) { + var1 = -110; + } else if (var0 == 8220) { + var1 = -109; + } else if (var0 == 8221) { + var1 = -108; + } else if (var0 == 8226) { + var1 = -107; + } else if (var0 == 8211) { + var1 = -106; + } else if (var0 == 8212) { + var1 = -105; + } else if (var0 == 732) { + var1 = -104; + } else if (var0 == 8482) { + var1 = -103; + } else if (var0 == 353) { + var1 = -102; + } else if (var0 == 8250) { + var1 = -101; + } else if (var0 == 339) { + var1 = -100; + } else if (var0 == 382) { + var1 = -98; + } else if (var0 == 376) { + var1 = -97; + } else { + var1 = 63; + } + + return var1; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "152507441" + ) + public static void method2858() { + WorldMapElement.WorldMapElement_cachedSprites.clear(); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(II)Lht;", + garbageValue = "-1575464478" + ) + @Export("getFrames") + static Frames getFrames(int var0) { + Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); + if (var1 != null) { return var1; } else { - return var2 == 2 ? 7 - var0 : 7 - var1; - } - } - - @ObfuscatedName("jh") - @ObfuscatedSignature( - descriptor = "(Ljd;III)V", - garbageValue = "1765298455" - ) - @Export("Widget_addToMenu") - static final void Widget_addToMenu(Widget var0, int var1, int var2) { - if (var0.buttonType == 1) { - ModelData0.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); - } - - String var3; - if (var0.buttonType == 2 && !Client.isSpellSelected) { - var3 = FileSystem.Widget_getSpellActionName(var0); - if (var3 != null) { - ModelData0.insertMenuItemNoShift(var3, class54.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + var1 = class124.method2560(class13.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); + if (var1 != null) { + SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); } + + return var1; } - - if (var0.buttonType == 3) { - ModelData0.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); - } - - if (var0.buttonType == 4) { - ModelData0.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); - } - - if (var0.buttonType == 5) { - ModelData0.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); - } - - if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { - ModelData0.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); - } - - int var4; - int var15; - if (var0.type == 2) { - var15 = 0; - - for (var4 = 0; var4 < var0.height; ++var4) { - for (int var17 = 0; var17 < var0.width; ++var17) { - int var6 = (var0.paddingX + 32) * var17; - int var7 = (var0.paddingY + 32) * var4; - if (var15 < 20) { - var6 += var0.inventoryXOffsets[var15]; - var7 += var0.inventoryYOffsets[var15]; - } - - if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { - Client.dragItemSlotDestination = var15; - GameBuild.hoveredItemContainer = var0; - if (var0.itemIds[var15] > 0) { - ItemComposition var8 = class65.ItemDefinition_get(var0.itemIds[var15] - 1); - if (Client.isItemSelected == 1 && WorldMapEvent.method3947(Decimator.getWidgetFlags(var0))) { - if (var0.id != Tiles.selectedItemWidget || var15 != DesktopPlatformInfoProvider.selectedItemSlot) { - ModelData0.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class54.colorStartTag(16748608) + var8.name, 31, var8.id, var15, var0.id); - } - } else { - label316: { - int var10; - if (Client.isSpellSelected) { - var10 = Decimator.getWidgetFlags(var0); - boolean var9 = (var10 >> 30 & 1) != 0; - if (var9) { - if ((ScriptFrame.selectedSpellFlags & 16) == 16) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class54.colorStartTag(16748608) + var8.name, 32, var8.id, var15, var0.id); - } - break label316; - } - } - - String[] var18 = var8.inventoryActions; - var10 = -1; - boolean var11; - if (Client.shiftClickDrop) { - var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; - if (var11) { - var10 = var8.getShiftClickIndex(); - } - } - - if (WorldMapEvent.method3947(Decimator.getWidgetFlags(var0))) { - for (int var19 = 4; var19 >= 3; --var19) { - if (var19 != var10) { - AbstractSocket.addWidgetItemMenuItem(var0, var8, var15, var19, false); - } - } - } - - int var12 = Decimator.getWidgetFlags(var0); - var11 = (var12 >> 31 & 1) != 0; - if (var11) { - ModelData0.insertMenuItemNoShift("Use", class54.colorStartTag(16748608) + var8.name, 38, var8.id, var15, var0.id); - } - - Object var10000 = null; - int var13; - if (WorldMapEvent.method3947(Decimator.getWidgetFlags(var0))) { - for (var13 = 2; var13 >= 0; --var13) { - if (var10 != var13) { - AbstractSocket.addWidgetItemMenuItem(var0, var8, var15, var13, false); - } - } - - if (var10 >= 0) { - AbstractSocket.addWidgetItemMenuItem(var0, var8, var15, var10, true); - } - } - - var18 = var0.itemActions; - if (var18 != null) { - for (var13 = 4; var13 >= 0; --var13) { - if (var18[var13] != null) { - byte var14 = 0; - if (var13 == 0) { - var14 = 39; - } - - if (var13 == 1) { - var14 = 40; - } - - if (var13 == 2) { - var14 = 41; - } - - if (var13 == 3) { - var14 = 42; - } - - if (var13 == 4) { - var14 = 43; - } - - ModelData0.insertMenuItemNoShift(var18[var13], class54.colorStartTag(16748608) + var8.name, var14, var8.id, var15, var0.id); - } - } - } - - ModelData0.insertMenuItemNoShift("Examine", class54.colorStartTag(16748608) + var8.name, 1005, var8.id, var15, var0.id); - } - } - } - } - - ++var15; - } - } - } - - if (var0.isIf3) { - if (Client.isSpellSelected) { - var4 = Decimator.getWidgetFlags(var0); - boolean var20 = (var4 >> 21 & 1) != 0; - if (var20 && (ScriptFrame.selectedSpellFlags & 32) == 32) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); - } - } else { - for (var15 = 9; var15 >= 5; --var15) { - String var16 = class28.method405(var0, var15); - if (var16 != null) { - ModelData0.insertMenuItemNoShift(var16, var0.dataText, 1007, var15 + 1, var0.childIndex, var0.id); - } - } - - var3 = FileSystem.Widget_getSpellActionName(var0); - if (var3 != null) { - ModelData0.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); - } - - for (var4 = 4; var4 >= 0; --var4) { - String var5 = class28.method405(var0, var4); - if (var5 != null) { - GrandExchangeEvents.insertMenuItem(var5, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.prioritizeMenuEntry); - } - } - - if (Varps.method4865(Decimator.getWidgetFlags(var0))) { - ModelData0.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); - } - } - } - } } diff --git a/runescape-client/src/main/java/ModeWhere.java b/runescape-client/src/main/java/ModeWhere.java index a91352af6b..c0b400a92a 100644 --- a/runescape-client/src/main/java/ModeWhere.java +++ b/runescape-client/src/main/java/ModeWhere.java @@ -6,129 +6,152 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ki") +@ObfuscatedName("kw") @Implements("ModeWhere") public enum ModeWhere implements MouseWheel { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3811("", 0, new class301[]{class301.field3782}), - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3800("", 1, new class301[]{class301.field3781, class301.field3782}), - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3799("", 2, new class301[]{class301.field3781, class301.field3783, class301.field3782}), - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3809("", 3, new class301[]{class301.field3781}), - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3803("", 4), - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3804("", 5, new class301[]{class301.field3781, class301.field3782}), - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3801("", 6, new class301[]{class301.field3782}), - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3806("", 8, new class301[]{class301.field3781, class301.field3782}), - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3807("", 9, new class301[]{class301.field3781, class301.field3783}), - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - field3808("", 10, new class301[]{class301.field3781}), @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lki;" + descriptor = "Lkw;" ) - field3813("", 11, new class301[]{class301.field3781}), + field3819("", 0, new class301[]{class301.field3781}), + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3817("", 1, new class301[]{class301.field3782, class301.field3781}), + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3805("", 2, new class301[]{class301.field3782, class301.field3780, class301.field3781}), + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3806("", 3, new class301[]{class301.field3782}), + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3807("", 4), + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3808("", 5, new class301[]{class301.field3782, class301.field3781}), + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3809("", 6, new class301[]{class301.field3781}), + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3811("", 8, new class301[]{class301.field3782, class301.field3781}), + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3815("", 9, new class301[]{class301.field3782, class301.field3780}), + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3812("", 10, new class301[]{class301.field3782}), @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "Lki;" + descriptor = "Lkw;" ) - field3810("", 12, new class301[]{class301.field3781, class301.field3782}), - @ObfuscatedName("v") + field3813("", 11, new class301[]{class301.field3782}), + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lki;" + descriptor = "Lkw;" ) - field3802("", 13, new class301[]{class301.field3781}); + field3803("", 12, new class301[]{class301.field3782, class301.field3781}), + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lkw;" + ) + field3814("", 13, new class301[]{class301.field3782}); - @ObfuscatedName("fq") - @ObfuscatedGetter( - intValue = 1291133927 + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Ldk;" ) - static int field3814; - @ObfuscatedName("f") + static ClanSettings field3804; + @ObfuscatedName("fz") @ObfuscatedGetter( - intValue = -308798853 + intValue = 1626624097 + ) + static int field3818; + @ObfuscatedName("hp") + @Export("xteaKeys") + static int[][] xteaKeys; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1200736709 ) @Export("id") final int id; @ObfuscatedName("s") - final Set field3805; - - static { - method5408(); - } + final Set field3810; @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I[Lkr;)V" + descriptor = "(Ljava/lang/String;I[Lkh;)V" ) ModeWhere(String var3, int var4, class301[] var5) { - this.field3805 = new HashSet(); + this.field3810 = new HashSet(); this.id = var4; class301[] var6 = var5; for (int var7 = 0; var7 < var6.length; ++var7) { class301 var8 = var6[var7]; - this.field3805.add(var8); + this.field3810.add(var8); } } ModeWhere(String var3, int var4) { - this.field3805 = new HashSet(); + this.field3810 = new HashSet(); this.id = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("n") + @ObfuscatedName("fo") @ObfuscatedSignature( - descriptor = "(I)[Lki;", - garbageValue = "-1660105485" + descriptor = "(I)V", + garbageValue = "217948810" ) - static ModeWhere[] method5408() { - return new ModeWhere[]{field3810, field3800, field3813, field3802, field3803, field3808, field3804, field3801, field3807, field3811, field3809, field3806, field3799}; + static final void method5487() { + if (Client.field722 != VertexNormal.Client_plane) { + Client.field722 = VertexNormal.Client_plane; + WorldMapSectionType.method3830(VertexNormal.Client_plane); + } + + } + + @ObfuscatedName("jf") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1805506953" + ) + static boolean method5483(int var0) { + for (int var1 = 0; var1 < Client.field726; ++var1) { + if (Client.field718[var1] == var0) { + return true; + } + } + + return false; } } diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index 03da803a94..173546e226 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -3,180 +3,180 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hg") +@ObfuscatedName("hl") @Implements("Model") public class Model extends Renderable { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lhg;" + descriptor = "Lhl;" ) @Export("Model_sharedSequenceModel") static Model Model_sharedSequenceModel; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("Model_sharedSequenceModelFaceAlphas") static byte[] Model_sharedSequenceModelFaceAlphas; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lhg;" + descriptor = "Lhl;" ) @Export("Model_sharedSpotAnimationModel") static Model Model_sharedSpotAnimationModel; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("Model_sharedSpotAnimationModelFaceAlphas") static byte[] Model_sharedSpotAnimationModelFaceAlphas; - @ObfuscatedName("am") - static boolean[] field2532; - @ObfuscatedName("ao") - static boolean[] field2533; - @ObfuscatedName("ay") + @ObfuscatedName("ac") + static boolean[] field2543; + @ObfuscatedName("at") + static boolean[] field2544; + @ObfuscatedName("ax") @Export("modelViewportXs") static int[] modelViewportXs; - @ObfuscatedName("aj") + @ObfuscatedName("an") @Export("modelViewportYs") static int[] modelViewportYs; + @ObfuscatedName("av") + static int[] field2547; @ObfuscatedName("ap") - static int[] field2516; - @ObfuscatedName("ai") - static int[] field2558; - @ObfuscatedName("ac") - static int[] field2541; - @ObfuscatedName("ag") - static int[] field2539; + static int[] field2548; + @ObfuscatedName("aj") + static int[] field2549; + @ObfuscatedName("am") + static int[] field2514; @ObfuscatedName("az") - static int[] field2524; - @ObfuscatedName("ah") - static int[][] field2542; + static int[] field2539; + @ObfuscatedName("ae") + static int[][] field2553; + @ObfuscatedName("ai") + static int[] field2554; @ObfuscatedName("af") - static int[] field2543; - @ObfuscatedName("ax") - static int[][] field2556; - @ObfuscatedName("bd") - static int[] field2523; + static int[][] field2555; + @ObfuscatedName("bz") + static int[] field2556; @ObfuscatedName("bt") - static int[] field2546; + static int[] field2557; + @ObfuscatedName("bg") + static int[] field2558; @ObfuscatedName("bf") + static int[] field2559; + @ObfuscatedName("bj") + static int[] field2507; + @ObfuscatedName("bo") static int[] field2561; - @ObfuscatedName("bp") - static int[] field2538; - @ObfuscatedName("bl") - static int[] field2545; - @ObfuscatedName("bc") - static int[] field2536; - @ObfuscatedName("br") + @ObfuscatedName("bx") @Export("Model_transformTempX") static int Model_transformTempX; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @Export("Model_transformTempY") static int Model_transformTempY; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @Export("Model_transformTempZ") static int Model_transformTempZ; - @ObfuscatedName("bj") - static boolean field2554; - @ObfuscatedName("bu") + @ObfuscatedName("ba") + static boolean field2538; + @ObfuscatedName("bs") @Export("Model_sine") static int[] Model_sine; - @ObfuscatedName("bn") + @ObfuscatedName("bd") @Export("Model_cosine") static int[] Model_cosine; - @ObfuscatedName("bk") - static int[] field2559; - @ObfuscatedName("bm") - static int[] field2560; - @ObfuscatedName("o") + @ObfuscatedName("bb") + static int[] field2515; + @ObfuscatedName("bh") + static int[] field2508; + @ObfuscatedName("m") @Export("verticesCount") int verticesCount; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("verticesX") int[] verticesX; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("verticesY") int[] verticesY; @ObfuscatedName("a") @Export("verticesZ") int[] verticesZ; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("indicesCount") int indicesCount; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("indices1") int[] indices1; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("indices2") int[] indices2; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("indices3") int[] indices3; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("faceColors1") int[] faceColors1; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("faceColors2") int[] faceColors2; @ObfuscatedName("s") @Export("faceColors3") int[] faceColors3; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("faceRenderPriorities") byte[] faceRenderPriorities; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("faceAlphas") byte[] faceAlphas; - @ObfuscatedName("q") - byte[] field2510; - @ObfuscatedName("j") + @ObfuscatedName("x") + byte[] field2504; + @ObfuscatedName("p") @Export("faceTextures") short[] faceTextures; - @ObfuscatedName("x") - byte field2548; - @ObfuscatedName("b") - int field2513; - @ObfuscatedName("t") - int[] field2498; + @ObfuscatedName("z") + byte field2523; + @ObfuscatedName("h") + int field2570; + @ObfuscatedName("o") + int[] field2525; @ObfuscatedName("r") - int[] field2515; - @ObfuscatedName("p") - int[] field2549; - @ObfuscatedName("w") + int[] field2526; + @ObfuscatedName("n") + int[] field2527; + @ObfuscatedName("u") @Export("vertexLabels") int[][] vertexLabels; - @ObfuscatedName("i") + @ObfuscatedName("d") @Export("faceLabelsAlpha") int[][] faceLabelsAlpha; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("isSingleTile") public boolean isSingleTile; @ObfuscatedName("ad") @Export("boundsType") int boundsType; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("bottomY") int bottomY; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("xzRadius") int xzRadius; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("diameter") int diameter; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("radius") int radius; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("xMid") int xMid; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("yMid") int yMid; - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("zMid") int zMid; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @Export("xMidOffset") int xMidOffset; - @ObfuscatedName("an") + @ObfuscatedName("ag") @Export("yMidOffset") int yMidOffset; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("zMidOffset") int zMidOffset; @@ -185,36 +185,36 @@ public class Model extends Renderable { Model_sharedSequenceModelFaceAlphas = new byte[1]; Model_sharedSpotAnimationModel = new Model(); Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; - field2532 = new boolean[6500]; - field2533 = new boolean[6500]; + field2543 = new boolean[6500]; + field2544 = new boolean[6500]; modelViewportXs = new int[6500]; modelViewportYs = new int[6500]; - field2516 = new int[6500]; - field2558 = new int[6500]; - field2541 = new int[6500]; - field2539 = new int[6500]; - field2524 = new int[1600]; - field2542 = new int[1600][512]; - field2543 = new int[12]; - field2556 = new int[12][2000]; - field2523 = new int[2000]; - field2546 = new int[2000]; - field2561 = new int[12]; - field2538 = new int[10]; - field2545 = new int[10]; - field2536 = new int[10]; - field2554 = true; + field2547 = new int[6500]; + field2548 = new int[6500]; + field2549 = new int[6500]; + field2514 = new int[6500]; + field2539 = new int[1600]; + field2553 = new int[1600][512]; + field2554 = new int[12]; + field2555 = new int[12][2000]; + field2556 = new int[2000]; + field2557 = new int[2000]; + field2558 = new int[12]; + field2559 = new int[10]; + field2507 = new int[10]; + field2561 = new int[10]; + field2538 = true; Model_sine = Rasterizer3D.Rasterizer3D_sine; Model_cosine = Rasterizer3D.Rasterizer3D_cosine; - field2559 = Rasterizer3D.Rasterizer3D_colorPalette; - field2560 = Rasterizer3D.field2354; + field2515 = Rasterizer3D.Rasterizer3D_colorPalette; + field2508 = Rasterizer3D.field2369; } Model() { this.verticesCount = 0; this.indicesCount = 0; - this.field2548 = 0; - this.field2513 = 0; + this.field2523 = 0; + this.field2570 = 0; this.isSingleTile = false; this.xMidOffset = -1; this.yMidOffset = -1; @@ -222,13 +222,13 @@ public class Model extends Renderable { } @ObfuscatedSignature( - descriptor = "([Lhg;I)V" + descriptor = "([Lhl;I)V" ) public Model(Model[] var1, int var2) { this.verticesCount = 0; this.indicesCount = 0; - this.field2548 = 0; - this.field2513 = 0; + this.field2523 = 0; + this.field2570 = 0; this.isSingleTile = false; this.xMidOffset = -1; this.yMidOffset = -1; @@ -239,8 +239,8 @@ public class Model extends Renderable { boolean var6 = false; this.verticesCount = 0; this.indicesCount = 0; - this.field2513 = 0; - this.field2548 = -1; + this.field2570 = 0; + this.field2523 = -1; int var7; Model var8; @@ -249,22 +249,22 @@ public class Model extends Renderable { if (var8 != null) { this.verticesCount += var8.verticesCount; this.indicesCount += var8.indicesCount; - this.field2513 += var8.field2513; + this.field2570 += var8.field2570; if (var8.faceRenderPriorities != null) { var3 = true; } else { - if (this.field2548 == -1) { - this.field2548 = var8.field2548; + if (this.field2523 == -1) { + this.field2523 = var8.field2523; } - if (this.field2548 != var8.field2548) { + if (this.field2523 != var8.field2523) { var3 = true; } } var4 |= var8.faceAlphas != null; var5 |= var8.faceTextures != null; - var6 |= var8.field2510 != null; + var6 |= var8.field2504 != null; } } @@ -290,18 +290,18 @@ public class Model extends Renderable { } if (var6) { - this.field2510 = new byte[this.indicesCount]; + this.field2504 = new byte[this.indicesCount]; } - if (this.field2513 > 0) { - this.field2498 = new int[this.field2513]; - this.field2515 = new int[this.field2513]; - this.field2549 = new int[this.field2513]; + if (this.field2570 > 0) { + this.field2525 = new int[this.field2570]; + this.field2526 = new int[this.field2570]; + this.field2527 = new int[this.field2570]; } this.verticesCount = 0; this.indicesCount = 0; - this.field2513 = 0; + this.field2570 = 0; for (var7 = 0; var7 < var2; ++var7) { var8 = var1[var7]; @@ -318,7 +318,7 @@ public class Model extends Renderable { if (var8.faceRenderPriorities != null) { this.faceRenderPriorities[this.indicesCount] = var8.faceRenderPriorities[var9]; } else { - this.faceRenderPriorities[this.indicesCount] = var8.field2548; + this.faceRenderPriorities[this.indicesCount] = var8.field2523; } } @@ -335,21 +335,21 @@ public class Model extends Renderable { } if (var6) { - if (var8.field2510 != null && var8.field2510[var9] != -1) { - this.field2510[this.indicesCount] = (byte)(this.field2513 + var8.field2510[var9]); + if (var8.field2504 != null && var8.field2504[var9] != -1) { + this.field2504[this.indicesCount] = (byte)(this.field2570 + var8.field2504[var9]); } else { - this.field2510[this.indicesCount] = -1; + this.field2504[this.indicesCount] = -1; } } ++this.indicesCount; } - for (var9 = 0; var9 < var8.field2513; ++var9) { - this.field2498[this.field2513] = this.verticesCount + var8.field2498[var9]; - this.field2515[this.field2513] = this.verticesCount + var8.field2515[var9]; - this.field2549[this.field2513] = this.verticesCount + var8.field2549[var9]; - ++this.field2513; + for (var9 = 0; var9 < var8.field2570; ++var9) { + this.field2525[this.field2570] = this.verticesCount + var8.field2525[var9]; + this.field2526[this.field2570] = this.verticesCount + var8.field2526[var9]; + this.field2527[this.field2570] = this.verticesCount + var8.field2527[var9]; + ++this.field2570; } for (var9 = 0; var9 < var8.verticesCount; ++var9) { @@ -363,9 +363,9 @@ public class Model extends Renderable { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([[IIIIZI)Lhg;" + descriptor = "([[IIIIZI)Lhl;" ) @Export("contourGround") public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { @@ -387,7 +387,7 @@ public class Model extends Renderable { var11 = new Model(); var11.verticesCount = this.verticesCount; var11.indicesCount = this.indicesCount; - var11.field2513 = this.field2513; + var11.field2570 = this.field2570; var11.verticesX = this.verticesX; var11.verticesZ = this.verticesZ; var11.indices1 = this.indices1; @@ -398,12 +398,12 @@ public class Model extends Renderable { var11.faceColors3 = this.faceColors3; var11.faceRenderPriorities = this.faceRenderPriorities; var11.faceAlphas = this.faceAlphas; - var11.field2510 = this.field2510; + var11.field2504 = this.field2504; var11.faceTextures = this.faceTextures; - var11.field2548 = this.field2548; - var11.field2498 = this.field2498; - var11.field2515 = this.field2515; - var11.field2549 = this.field2549; + var11.field2523 = this.field2523; + var11.field2525 = this.field2525; + var11.field2526 = this.field2526; + var11.field2527 = this.field2527; var11.vertexLabels = this.vertexLabels; var11.faceLabelsAlpha = this.faceLabelsAlpha; var11.isSingleTile = this.isSingleTile; @@ -461,9 +461,9 @@ public class Model extends Renderable { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Z)Lhg;" + descriptor = "(Z)Lhl;" ) @Export("toSharedSequenceModel") public Model toSharedSequenceModel(boolean var1) { @@ -474,9 +474,9 @@ public class Model extends Renderable { return this.buildSharedModel(var1, Model_sharedSequenceModel, Model_sharedSequenceModelFaceAlphas); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Z)Lhg;" + descriptor = "(Z)Lhl;" ) @Export("toSharedSpotAnimationModel") public Model toSharedSpotAnimationModel(boolean var1) { @@ -487,15 +487,15 @@ public class Model extends Renderable { return this.buildSharedModel(var1, Model_sharedSpotAnimationModel, Model_sharedSpotAnimationModelFaceAlphas); } - @ObfuscatedName("z") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(ZLhg;[B)Lhg;" + descriptor = "(ZLhl;[B)Lhl;" ) @Export("buildSharedModel") Model buildSharedModel(boolean var1, Model var2, byte[] var3) { var2.verticesCount = this.verticesCount; var2.indicesCount = this.indicesCount; - var2.field2513 = this.field2513; + var2.field2570 = this.field2570; if (var2.verticesX == null || var2.verticesX.length < this.verticesCount) { var2.verticesX = new int[this.verticesCount + 100]; var2.verticesY = new int[this.verticesCount + 100]; @@ -531,12 +531,12 @@ public class Model extends Renderable { var2.faceColors2 = this.faceColors2; var2.faceColors3 = this.faceColors3; var2.faceRenderPriorities = this.faceRenderPriorities; - var2.field2510 = this.field2510; + var2.field2504 = this.field2504; var2.faceTextures = this.faceTextures; - var2.field2548 = this.field2548; - var2.field2498 = this.field2498; - var2.field2515 = this.field2515; - var2.field2549 = this.field2549; + var2.field2523 = this.field2523; + var2.field2525 = this.field2525; + var2.field2526 = this.field2526; + var2.field2527 = this.field2527; var2.vertexLabels = this.vertexLabels; var2.faceLabelsAlpha = this.faceLabelsAlpha; var2.isSingleTile = this.isSingleTile; @@ -544,7 +544,7 @@ public class Model extends Renderable { return var2; } - @ObfuscatedName("a") + @ObfuscatedName("k") @Export("calculateBoundingBox") void calculateBoundingBox(int var1) { if (this.xMidOffset == -1) { @@ -558,9 +558,9 @@ public class Model extends Renderable { int var9 = Model_sine[var1]; for (int var10 = 0; var10 < this.verticesCount; ++var10) { - int var11 = Rasterizer3D.method4063(this.verticesX[var10], this.verticesZ[var10], var8, var9); + int var11 = Rasterizer3D.method4137(this.verticesX[var10], this.verticesZ[var10], var8, var9); int var12 = this.verticesY[var10]; - int var13 = Rasterizer3D.method4096(this.verticesX[var10], this.verticesZ[var10], var8, var9); + int var13 = Rasterizer3D.method4138(this.verticesX[var10], this.verticesZ[var10], var8, var9); if (var11 < var2) { var2 = var11; } @@ -608,7 +608,7 @@ public class Model extends Renderable { } } - @ObfuscatedName("u") + @ObfuscatedName("a") @Export("calculateBoundsCylinder") public void calculateBoundsCylinder() { if (this.boundsType != 1) { @@ -642,7 +642,7 @@ public class Model extends Renderable { } @ObfuscatedName("e") - void method4368() { + void method4442() { if (this.boundsType != 2) { this.boundsType = 2; this.xzRadius = 0; @@ -663,8 +663,8 @@ public class Model extends Renderable { } } - @ObfuscatedName("l") - public int method4404() { + @ObfuscatedName("i") + public int method4468() { this.calculateBoundsCylinder(); return this.xzRadius; } @@ -676,9 +676,9 @@ public class Model extends Renderable { this.xMidOffset = -1; } - @ObfuscatedName("v") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(Lhd;I)V" + descriptor = "(Lht;I)V" ) @Export("animate") public void animate(Frames var1, int var2) { @@ -700,9 +700,9 @@ public class Model extends Renderable { } } - @ObfuscatedName("f") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(Lhd;ILhd;I[I)V" + descriptor = "(Lht;ILht;I[I)V" ) @Export("animate2") public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { @@ -752,7 +752,7 @@ public class Model extends Renderable { } } - @ObfuscatedName("s") + @ObfuscatedName("v") @Export("transform") void transform(int var1, int[] var2, int var3, int var4, int var5) { int var6 = var2.length; @@ -920,7 +920,7 @@ public class Model extends Renderable { } } - @ObfuscatedName("h") + @ObfuscatedName("s") @Export("rotateY90Ccw") public void rotateY90Ccw() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { @@ -932,7 +932,7 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("d") + @ObfuscatedName("c") @Export("rotateY180") public void rotateY180() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { @@ -943,7 +943,7 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("q") + @ObfuscatedName("b") @Export("rotateY270Ccw") public void rotateY270Ccw() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { @@ -955,7 +955,7 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("j") + @ObfuscatedName("x") @Export("rotateZ") public void rotateZ(int var1) { int var2 = Model_sine[var1]; @@ -970,7 +970,7 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("x") + @ObfuscatedName("p") @Export("offsetBy") public void offsetBy(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { @@ -985,7 +985,7 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("b") + @ObfuscatedName("z") @Export("scale") public void scale(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { @@ -997,11 +997,11 @@ public class Model extends Renderable { this.resetBounds(); } - @ObfuscatedName("t") - public final void method4430(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - field2524[0] = -1; + @ObfuscatedName("h") + public final void method4454(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + field2539[0] = -1; if (this.boundsType != 2 && this.boundsType != 1) { - this.method4368(); + this.method4442(); } int var8 = Rasterizer3D.Rasterizer3D_clipMidX; @@ -1044,13 +1044,13 @@ public class Model extends Renderable { var22 += var7; var23 = var21 * var17 - var22 * var16 >> 16; var22 = var21 * var16 + var22 * var17 >> 16; - field2516[var19] = var22 - var18; + field2547[var19] = var22 - var18; modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; - if (this.field2513 > 0) { - field2558[var19] = var20; - field2541[var19] = var23; - field2539[var19] = var22; + if (this.field2570 > 0) { + field2548[var19] = var20; + field2549[var19] = var23; + field2514[var19] = var22; } } @@ -1061,11 +1061,11 @@ public class Model extends Renderable { } - @ObfuscatedName("r") - public final void method4381(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - field2524[0] = -1; + @ObfuscatedName("o") + public final void method4483(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + field2539[0] = -1; if (this.boundsType != 2 && this.boundsType != 1) { - this.method4368(); + this.method4442(); } int var9 = Rasterizer3D.Rasterizer3D_clipMidX; @@ -1108,13 +1108,13 @@ public class Model extends Renderable { var23 += var7; var24 = var22 * var18 - var23 * var17 >> 16; var23 = var22 * var17 + var23 * var18 >> 16; - field2516[var20] = var23 - var19; + field2547[var20] = var23 - var19; modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; - if (this.field2513 > 0) { - field2558[var20] = var21; - field2541[var20] = var24; - field2539[var20] = var23; + if (this.field2570 > 0) { + field2548[var20] = var21; + field2549[var20] = var24; + field2514[var20] = var23; } } @@ -1125,13 +1125,13 @@ public class Model extends Renderable { } - @ObfuscatedName("p") + @ObfuscatedName("r") @Export("draw0") final void draw0(boolean var1, boolean var2, boolean var3, long var4) { if (this.diameter < 1600) { int var6; for (var6 = 0; var6 < this.diameter; ++var6) { - field2524[var6] = 0; + field2539[var6] = 0; } var6 = var3 ? 20 : 5; @@ -1162,55 +1162,55 @@ public class Model extends Renderable { var16 = modelViewportYs[var9]; var29 = modelViewportYs[var10]; var18 = var6 + ViewportMouse.ViewportMouse_y; - boolean var32; + boolean var34; if (var18 < var15 && var18 < var16 && var18 < var29) { - var32 = false; + var34 = false; } else { var18 = ViewportMouse.ViewportMouse_y - var6; if (var18 > var15 && var18 > var16 && var18 > var29) { - var32 = false; + var34 = false; } else { var18 = var6 + ViewportMouse.ViewportMouse_x; if (var18 < var11 && var18 < var12 && var18 < var28) { - var32 = false; + var34 = false; } else { var18 = ViewportMouse.ViewportMouse_x - var6; if (var18 > var11 && var18 > var12 && var18 > var28) { - var32 = false; + var34 = false; } else { - var32 = true; + var34 = true; } } } } - if (var32) { - class28.method401(var4); + if (var34) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; var2 = false; } } if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var9]) - (var28 - var12) * (modelViewportYs[var8] - modelViewportYs[var9]) > 0) { - field2533[var7] = false; + field2544[var7] = false; if (var11 >= 0 && var12 >= 0 && var28 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var28 <= Rasterizer3D.Rasterizer3D_clipWidth) { - field2532[var7] = false; + field2543[var7] = false; } else { - field2532[var7] = true; + field2543[var7] = true; } - var30 = (field2516[var8] + field2516[var9] + field2516[var10]) / 3 + this.radius; - field2542[var30][field2524[var30]++] = var7; + var30 = (field2547[var8] + field2547[var9] + field2547[var10]) / 3 + this.radius; + field2553[var30][field2539[var30]++] = var7; } } else { - var30 = field2558[var8]; - var15 = field2558[var9]; - var16 = field2558[var10]; - var29 = field2541[var8]; - var18 = field2541[var9]; - int var19 = field2541[var10]; - int var20 = field2539[var8]; - int var21 = field2539[var9]; - int var22 = field2539[var10]; + var30 = field2548[var8]; + var15 = field2548[var9]; + var16 = field2548[var10]; + var29 = field2549[var8]; + var18 = field2549[var9]; + int var19 = field2549[var10]; + int var20 = field2514[var8]; + int var21 = field2514[var9]; + int var22 = field2514[var10]; var30 -= var15; var16 -= var15; var29 -= var18; @@ -1221,9 +1221,9 @@ public class Model extends Renderable { int var24 = var20 * var16 - var30 * var22; int var25 = var30 * var19 - var29 * var16; if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { - field2533[var7] = true; - int var26 = (field2516[var8] + field2516[var9] + field2516[var10]) / 3 + this.radius; - field2542[var26][field2524[var26]++] = var7; + field2544[var7] = true; + int var26 = (field2547[var8] + field2547[var9] + field2547[var10]) / 3 + this.radius; + field2553[var26][field2539[var26]++] = var7; } } } @@ -1232,9 +1232,9 @@ public class Model extends Renderable { int[] var27; if (this.faceRenderPriorities == null) { for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field2524[var7]; + var8 = field2539[var7]; if (var8 > 0) { - var27 = field2542[var7]; + var27 = field2553[var7]; for (var10 = 0; var10 < var8; ++var10) { this.drawFace(var27[var10]); @@ -1244,56 +1244,56 @@ public class Model extends Renderable { } else { for (var7 = 0; var7 < 12; ++var7) { - field2543[var7] = 0; - field2561[var7] = 0; + field2554[var7] = 0; + field2558[var7] = 0; } for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field2524[var7]; + var8 = field2539[var7]; if (var8 > 0) { - var27 = field2542[var7]; + var27 = field2553[var7]; for (var10 = 0; var10 < var8; ++var10) { var11 = var27[var10]; - byte var31 = this.faceRenderPriorities[var11]; - var28 = field2543[var31]++; - field2556[var31][var28] = var11; - if (var31 < 10) { - int[] var10000 = field2561; - var10000[var31] += var7; - } else if (var31 == 10) { - field2523[var28] = var7; + byte var33 = this.faceRenderPriorities[var11]; + var28 = field2554[var33]++; + field2555[var33][var28] = var11; + if (var33 < 10) { + int[] var10000 = field2558; + var10000[var33] += var7; + } else if (var33 == 10) { + field2556[var28] = var7; } else { - field2546[var28] = var7; + field2557[var28] = var7; } } } } var7 = 0; - if (field2543[1] > 0 || field2543[2] > 0) { - var7 = (field2561[1] + field2561[2]) / (field2543[1] + field2543[2]); + if (field2554[1] > 0 || field2554[2] > 0) { + var7 = (field2558[1] + field2558[2]) / (field2554[1] + field2554[2]); } var8 = 0; - if (field2543[3] > 0 || field2543[4] > 0) { - var8 = (field2561[3] + field2561[4]) / (field2543[3] + field2543[4]); + if (field2554[3] > 0 || field2554[4] > 0) { + var8 = (field2558[3] + field2558[4]) / (field2554[3] + field2554[4]); } var9 = 0; - if (field2543[6] > 0 || field2543[8] > 0) { - var9 = (field2561[8] + field2561[6]) / (field2543[8] + field2543[6]); + if (field2554[6] > 0 || field2554[8] > 0) { + var9 = (field2558[8] + field2558[6]) / (field2554[8] + field2554[6]); } var11 = 0; - var12 = field2543[10]; - int[] var13 = field2556[10]; - int[] var14 = field2523; + var12 = field2554[10]; + int[] var13 = field2555[10]; + int[] var14 = field2556; if (var11 == var12) { var11 = 0; - var12 = field2543[11]; - var13 = field2556[11]; - var14 = field2546; + var12 = field2554[11]; + var13 = field2555[11]; + var14 = field2557; } if (var11 < var12) { @@ -1305,11 +1305,11 @@ public class Model extends Renderable { for (var15 = 0; var15 < 10; ++var15) { while (var15 == 0 && var10 > var7) { this.drawFace(var13[var11++]); - if (var11 == var12 && var13 != field2556[11]) { + if (var11 == var12 && var13 != field2555[11]) { var11 = 0; - var12 = field2543[11]; - var13 = field2556[11]; - var14 = field2546; + var12 = field2554[11]; + var13 = field2555[11]; + var14 = field2557; } if (var11 < var12) { @@ -1321,11 +1321,11 @@ public class Model extends Renderable { while (var15 == 3 && var10 > var8) { this.drawFace(var13[var11++]); - if (var11 == var12 && var13 != field2556[11]) { + if (var11 == var12 && var13 != field2555[11]) { var11 = 0; - var12 = field2543[11]; - var13 = field2556[11]; - var14 = field2546; + var12 = field2554[11]; + var13 = field2555[11]; + var14 = field2557; } if (var11 < var12) { @@ -1337,11 +1337,11 @@ public class Model extends Renderable { while (var15 == 5 && var10 > var9) { this.drawFace(var13[var11++]); - if (var11 == var12 && var13 != field2556[11]) { + if (var11 == var12 && var13 != field2555[11]) { var11 = 0; - var12 = field2543[11]; - var13 = field2556[11]; - var14 = field2546; + var12 = field2554[11]; + var13 = field2555[11]; + var14 = field2557; } if (var11 < var12) { @@ -1351,8 +1351,8 @@ public class Model extends Renderable { } } - var16 = field2543[var15]; - int[] var17 = field2556[var15]; + var16 = field2554[var15]; + int[] var17 = field2555[var15]; for (var18 = 0; var18 < var16; ++var18) { this.drawFace(var17[var18]); @@ -1361,11 +1361,11 @@ public class Model extends Renderable { while (var10 != -1000) { this.drawFace(var13[var11++]); - if (var11 == var12 && var13 != field2556[11]) { + if (var11 == var12 && var13 != field2555[11]) { var11 = 0; - var13 = field2556[11]; - var12 = field2543[11]; - var14 = field2546; + var13 = field2555[11]; + var12 = field2554[11]; + var14 = field2557; } if (var11 < var12) { @@ -1379,16 +1379,16 @@ public class Model extends Renderable { } } - @ObfuscatedName("w") + @ObfuscatedName("n") @Export("drawFace") final void drawFace(int var1) { - if (field2533[var1]) { - this.method4385(var1); + if (field2544[var1]) { + this.method4459(var1); } else { int var2 = this.indices1[var1]; int var3 = this.indices2[var1]; int var4 = this.indices3[var1]; - Rasterizer3D.field2352 = field2532[var1]; + Rasterizer3D.field2347 = field2543[var1]; if (this.faceAlphas == null) { Rasterizer3D.Rasterizer3D_alpha = 0; } else { @@ -1399,11 +1399,11 @@ public class Model extends Renderable { int var5; int var6; int var7; - if (this.field2510 != null && this.field2510[var1] != -1) { - int var8 = this.field2510[var1] & 255; - var5 = this.field2498[var8]; - var6 = this.field2515[var8]; - var7 = this.field2549[var8]; + if (this.field2504 != null && this.field2504[var1] != -1) { + int var8 = this.field2504[var1] & 255; + var5 = this.field2525[var8]; + var6 = this.field2526[var8]; + var7 = this.field2527[var8]; } else { var5 = var2; var6 = var3; @@ -1411,30 +1411,30 @@ public class Model extends Renderable { } if (this.faceColors3[var1] == -1) { - Rasterizer3D.method4094(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2558[var5], field2558[var6], field2558[var7], field2541[var5], field2541[var6], field2541[var7], field2539[var5], field2539[var6], field2539[var7], this.faceTextures[var1]); + Rasterizer3D.method4132(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2548[var5], field2548[var6], field2548[var7], field2549[var5], field2549[var6], field2549[var7], field2514[var5], field2514[var6], field2514[var7], this.faceTextures[var1]); } else { - Rasterizer3D.method4094(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field2558[var5], field2558[var6], field2558[var7], field2541[var5], field2541[var6], field2541[var7], field2539[var5], field2539[var6], field2539[var7], this.faceTextures[var1]); + Rasterizer3D.method4132(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field2548[var5], field2548[var6], field2548[var7], field2549[var5], field2549[var6], field2549[var7], field2514[var5], field2514[var6], field2514[var7], this.faceTextures[var1]); } } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method4061(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field2559[this.faceColors1[var1]]); + Rasterizer3D.method4130(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field2515[this.faceColors1[var1]]); } else { - Rasterizer3D.method4055(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); + Rasterizer3D.method4128(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); } } } - @ObfuscatedName("i") - final void method4385(int var1) { + @ObfuscatedName("u") + final void method4459(int var1) { int var2 = Rasterizer3D.Rasterizer3D_clipMidX; int var3 = Rasterizer3D.Rasterizer3D_clipMidY; int var4 = 0; int var5 = this.indices1[var1]; int var6 = this.indices2[var1]; int var7 = this.indices3[var1]; - int var8 = field2539[var5]; - int var9 = field2539[var6]; - int var10 = field2539[var7]; + int var8 = field2514[var5]; + int var9 = field2514[var6]; + int var10 = field2514[var7]; if (this.faceAlphas == null) { Rasterizer3D.Rasterizer3D_alpha = 0; } else { @@ -1446,96 +1446,96 @@ public class Model extends Renderable { int var13; int var14; if (var8 >= 50) { - field2538[var4] = modelViewportXs[var5]; - field2545[var4] = modelViewportYs[var5]; - field2536[var4++] = this.faceColors1[var1]; + field2559[var4] = modelViewportXs[var5]; + field2507[var4] = modelViewportYs[var5]; + field2561[var4++] = this.faceColors1[var1]; } else { - var11 = field2558[var5]; - var12 = field2541[var5]; + var11 = field2548[var5]; + var12 = field2549[var5]; var13 = this.faceColors1[var1]; if (var10 >= 50) { - var14 = field2560[var10 - var8] * (50 - var8); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var7] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var7] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + var14 = field2508[var10 - var8] * (50 - var8); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var7] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var7] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); } if (var9 >= 50) { - var14 = field2560[var9 - var8] * (50 - var8); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var6] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var6] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + var14 = field2508[var9 - var8] * (50 - var8); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var6] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var6] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); } } if (var9 >= 50) { - field2538[var4] = modelViewportXs[var6]; - field2545[var4] = modelViewportYs[var6]; - field2536[var4++] = this.faceColors2[var1]; + field2559[var4] = modelViewportXs[var6]; + field2507[var4] = modelViewportYs[var6]; + field2561[var4++] = this.faceColors2[var1]; } else { - var11 = field2558[var6]; - var12 = field2541[var6]; + var11 = field2548[var6]; + var12 = field2549[var6]; var13 = this.faceColors2[var1]; if (var8 >= 50) { - var14 = field2560[var8 - var9] * (50 - var9); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var5] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var5] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + var14 = field2508[var8 - var9] * (50 - var9); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var5] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var5] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); } if (var10 >= 50) { - var14 = field2560[var10 - var9] * (50 - var9); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var7] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var7] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + var14 = field2508[var10 - var9] * (50 - var9); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var7] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var7] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); } } if (var10 >= 50) { - field2538[var4] = modelViewportXs[var7]; - field2545[var4] = modelViewportYs[var7]; - field2536[var4++] = this.faceColors3[var1]; + field2559[var4] = modelViewportXs[var7]; + field2507[var4] = modelViewportYs[var7]; + field2561[var4++] = this.faceColors3[var1]; } else { - var11 = field2558[var7]; - var12 = field2541[var7]; + var11 = field2548[var7]; + var12 = field2549[var7]; var13 = this.faceColors3[var1]; if (var9 >= 50) { - var14 = field2560[var9 - var10] * (50 - var10); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var6] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var6] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + var14 = field2508[var9 - var10] * (50 - var10); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var6] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var6] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); } if (var8 >= 50) { - var14 = field2560[var8 - var10] * (50 - var10); - field2538[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2558[var5] - var11) * var14 >> 16)) / 50; - field2545[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2541[var5] - var12) * var14 >> 16)) / 50; - field2536[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + var14 = field2508[var8 - var10] * (50 - var10); + field2559[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field2548[var5] - var11) * var14 >> 16)) / 50; + field2507[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field2549[var5] - var12) * var14 >> 16)) / 50; + field2561[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); } } - var11 = field2538[0]; - var12 = field2538[1]; - var13 = field2538[2]; - var14 = field2545[0]; - int var15 = field2545[1]; - int var16 = field2545[2]; - Rasterizer3D.field2352 = false; + var11 = field2559[0]; + var12 = field2559[1]; + var13 = field2559[2]; + var14 = field2507[0]; + int var15 = field2507[1]; + int var16 = field2507[2]; + Rasterizer3D.field2347 = false; int var17; int var18; int var19; int var20; if (var4 == 3) { if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field2352 = true; + Rasterizer3D.field2347 = true; } if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field2510 != null && this.field2510[var1] != -1) { - var20 = this.field2510[var1] & 255; - var17 = this.field2498[var20]; - var18 = this.field2515[var20]; - var19 = this.field2549[var20]; + if (this.field2504 != null && this.field2504[var1] != -1) { + var20 = this.field2504[var1] & 255; + var17 = this.field2525[var20]; + var18 = this.field2526[var20]; + var19 = this.field2527[var20]; } else { var17 = var5; var18 = var6; @@ -1543,28 +1543,28 @@ public class Model extends Renderable { } if (this.faceColors3[var1] == -1) { - Rasterizer3D.method4094(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], this.faceTextures[var1]); + Rasterizer3D.method4132(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], this.faceTextures[var1]); } else { - Rasterizer3D.method4094(var14, var15, var16, var11, var12, var13, field2536[0], field2536[1], field2536[2], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], this.faceTextures[var1]); + Rasterizer3D.method4132(var14, var15, var16, var11, var12, var13, field2561[0], field2561[1], field2561[2], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], this.faceTextures[var1]); } } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method4061(var14, var15, var16, var11, var12, var13, field2559[this.faceColors1[var1]]); + Rasterizer3D.method4130(var14, var15, var16, var11, var12, var13, field2515[this.faceColors1[var1]]); } else { - Rasterizer3D.method4055(var14, var15, var16, var11, var12, var13, field2536[0], field2536[1], field2536[2]); + Rasterizer3D.method4128(var14, var15, var16, var11, var12, var13, field2561[0], field2561[1], field2561[2]); } } if (var4 == 4) { - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field2538[3] < 0 || field2538[3] > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field2352 = true; + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field2559[3] < 0 || field2559[3] > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field2347 = true; } if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field2510 != null && this.field2510[var1] != -1) { - var20 = this.field2510[var1] & 255; - var17 = this.field2498[var20]; - var18 = this.field2515[var20]; - var19 = this.field2549[var20]; + if (this.field2504 != null && this.field2504[var1] != -1) { + var20 = this.field2504[var1] & 255; + var17 = this.field2525[var20]; + var18 = this.field2526[var20]; + var19 = this.field2527[var20]; } else { var17 = var5; var18 = var6; @@ -1573,28 +1573,28 @@ public class Model extends Renderable { short var21 = this.faceTextures[var1]; if (this.faceColors3[var1] == -1) { - Rasterizer3D.method4094(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], var21); - Rasterizer3D.method4094(var14, var16, field2545[3], var11, var13, field2538[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], var21); + Rasterizer3D.method4132(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], var21); + Rasterizer3D.method4132(var14, var16, field2507[3], var11, var13, field2559[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], var21); } else { - Rasterizer3D.method4094(var14, var15, var16, var11, var12, var13, field2536[0], field2536[1], field2536[2], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], var21); - Rasterizer3D.method4094(var14, var16, field2545[3], var11, var13, field2538[3], field2536[0], field2536[2], field2536[3], field2558[var17], field2558[var18], field2558[var19], field2541[var17], field2541[var18], field2541[var19], field2539[var17], field2539[var18], field2539[var19], var21); + Rasterizer3D.method4132(var14, var15, var16, var11, var12, var13, field2561[0], field2561[1], field2561[2], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], var21); + Rasterizer3D.method4132(var14, var16, field2507[3], var11, var13, field2559[3], field2561[0], field2561[2], field2561[3], field2548[var17], field2548[var18], field2548[var19], field2549[var17], field2549[var18], field2549[var19], field2514[var17], field2514[var18], field2514[var19], var21); } } else if (this.faceColors3[var1] == -1) { - var17 = field2559[this.faceColors1[var1]]; - Rasterizer3D.method4061(var14, var15, var16, var11, var12, var13, var17); - Rasterizer3D.method4061(var14, var16, field2545[3], var11, var13, field2538[3], var17); + var17 = field2515[this.faceColors1[var1]]; + Rasterizer3D.method4130(var14, var15, var16, var11, var12, var13, var17); + Rasterizer3D.method4130(var14, var16, field2507[3], var11, var13, field2559[3], var17); } else { - Rasterizer3D.method4055(var14, var15, var16, var11, var12, var13, field2536[0], field2536[1], field2536[2]); - Rasterizer3D.method4055(var14, var16, field2545[3], var11, var13, field2538[3], field2536[0], field2536[2], field2536[3]); + Rasterizer3D.method4128(var14, var15, var16, var11, var12, var13, field2561[0], field2561[1], field2561[2]); + Rasterizer3D.method4128(var14, var16, field2507[3], var11, var13, field2559[3], field2561[0], field2561[2], field2561[3]); } } } - @ObfuscatedName("cc") + @ObfuscatedName("cr") @Export("draw") void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { - field2524[0] = -1; + field2539[0] = -1; if (this.boundsType != 1) { this.calculateBoundsCylinder(); } @@ -1624,103 +1624,103 @@ public class Model extends Renderable { var25 = true; } - boolean var26 = var25 || this.field2513 > 0; - int var27 = ViewportMouse.ViewportMouse_x; - int var29 = ViewportMouse.ViewportMouse_y; - boolean var31 = class319.method5768(); - boolean var32 = RouteStrategy.method3352(var9); - boolean var33 = false; + boolean var26 = var25 || this.field2570 > 0; + int var27 = NPC.method2232(); + int var28 = StructComposition.method3151(); + boolean var29 = GameEngine.method510(); + boolean var30 = class7.method60(var9); + boolean var31 = false; + int var33; + int var34; int var35; - int var36; - int var37; - if (var32 && var31) { - boolean var34 = false; - if (field2554) { - var34 = WorldMapLabel.method3809(this, var6, var7, var8); + if (var30 && var29) { + boolean var32 = false; + if (field2538) { + var32 = class14.method179(this, var6, var7, var8); } else { - var35 = var12 - var13; - if (var35 <= 50) { - var35 = 50; + var33 = var12 - var13; + if (var33 <= 50) { + var33 = 50; } if (var15 > 0) { var16 /= var14; - var17 /= var35; + var17 /= var33; } else { var17 /= var14; - var16 /= var35; + var16 /= var33; } if (var18 > 0) { var22 /= var14; - var20 /= var35; + var20 /= var33; } else { var20 /= var14; - var22 /= var35; + var22 /= var33; } - var36 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; - var37 = var29 - Rasterizer3D.Rasterizer3D_clipMidY; - if (var36 > var16 && var36 < var17 && var37 > var22 && var37 < var20) { - var34 = true; + var34 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; + var35 = var28 - Rasterizer3D.Rasterizer3D_clipMidY; + if (var34 > var16 && var34 < var17 && var35 > var22 && var35 < var20) { + var32 = true; } } - if (var34) { + if (var32) { if (this.isSingleTile) { - class28.method401(var9); + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var9; } else { - var33 = true; + var31 = true; } } } int var45 = Rasterizer3D.Rasterizer3D_clipMidX; - var35 = Rasterizer3D.Rasterizer3D_clipMidY; - var36 = 0; - var37 = 0; + var33 = Rasterizer3D.Rasterizer3D_clipMidY; + var34 = 0; + var35 = 0; if (var1 != 0) { - var36 = Model_sine[var1]; - var37 = Model_cosine[var1]; + var34 = Model_sine[var1]; + var35 = Model_cosine[var1]; } - for (int var38 = 0; var38 < this.verticesCount; ++var38) { - int var39 = this.verticesX[var38]; - int var40 = this.verticesY[var38]; - int var41 = this.verticesZ[var38]; - int var42; + for (int var36 = 0; var36 < this.verticesCount; ++var36) { + int var37 = this.verticesX[var36]; + int var38 = this.verticesY[var36]; + int var39 = this.verticesZ[var36]; + int var40; if (var1 != 0) { - var42 = var41 * var36 + var39 * var37 >> 16; - var41 = var41 * var37 - var39 * var36 >> 16; - var39 = var42; + var40 = var39 * var34 + var37 * var35 >> 16; + var39 = var39 * var35 - var37 * var34 >> 16; + var37 = var40; } - var39 += var6; - var40 += var7; - var41 += var8; - var42 = var41 * var4 + var5 * var39 >> 16; - var41 = var5 * var41 - var39 * var4 >> 16; - var39 = var42; - var42 = var3 * var40 - var41 * var2 >> 16; - var41 = var40 * var2 + var3 * var41 >> 16; - field2516[var38] = var41 - var12; - if (var41 >= 50) { - modelViewportXs[var38] = var39 * Rasterizer3D.Rasterizer3D_zoom / var41 + var45; - modelViewportYs[var38] = var42 * Rasterizer3D.Rasterizer3D_zoom / var41 + var35; + var37 += var6; + var38 += var7; + var39 += var8; + var40 = var39 * var4 + var5 * var37 >> 16; + var39 = var5 * var39 - var37 * var4 >> 16; + var37 = var40; + var40 = var3 * var38 - var39 * var2 >> 16; + var39 = var38 * var2 + var3 * var39 >> 16; + field2547[var36] = var39 - var12; + if (var39 >= 50) { + modelViewportXs[var36] = var37 * Rasterizer3D.Rasterizer3D_zoom / var39 + var45; + modelViewportYs[var36] = var40 * Rasterizer3D.Rasterizer3D_zoom / var39 + var33; } else { - modelViewportXs[var38] = -5000; + modelViewportXs[var36] = -5000; var24 = true; } if (var26) { - field2558[var38] = var39; - field2541[var38] = var42; - field2539[var38] = var41; + field2548[var36] = var37; + field2549[var36] = var40; + field2514[var36] = var39; } } try { - this.draw0(var24, var33, this.isSingleTile, var9); + this.draw0(var24, var31, this.isSingleTile, var9); } catch (Exception var44) { } diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index a1976e2f85..af02823d3f 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -3,135 +3,135 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gl") +@ObfuscatedName("gi") @Implements("ModelData") public class ModelData extends Renderable { - @ObfuscatedName("ak") - static int[] field2266; - @ObfuscatedName("an") - static int[] field2267; - @ObfuscatedName("ab") - static int field2243; - @ObfuscatedName("au") + @ObfuscatedName("aa") + static int[] field2253; + @ObfuscatedName("ag") + static int[] field2254; + @ObfuscatedName("aq") + static int field2280; + @ObfuscatedName("ar") @Export("ModelData_sine") static int[] ModelData_sine; - @ObfuscatedName("am") + @ObfuscatedName("ac") @Export("ModelData_cosine") static int[] ModelData_cosine; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("verticesCount") int verticesCount; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("verticesX") int[] verticesX; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("verticesY") int[] verticesY; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("verticesZ") int[] verticesZ; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("faceCount") int faceCount; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("indices1") int[] indices1; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("indices2") int[] indices2; @ObfuscatedName("a") @Export("indices3") int[] indices3; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("faceRenderTypes") byte[] faceRenderTypes; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("faceRenderPriorities") byte[] faceRenderPriorities; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("faceAlphas") byte[] faceAlphas; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("textureCoords") byte[] textureCoords; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("faceColors") short[] faceColors; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("faceTextures") short[] faceTextures; @ObfuscatedName("s") @Export("priority") byte priority; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("textureTriangleCount") int textureTriangleCount; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("textureRenderTypes") byte[] textureRenderTypes; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("texTriangleX") short[] texTriangleX; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("texTriangleY") short[] texTriangleY; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("texTriangleZ") short[] texTriangleZ; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("vertexSkins") int[] vertexSkins; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("faceSkins") int[] faceSkins; @ObfuscatedName("r") @Export("vertexLabels") int[][] vertexLabels; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("faceLabelsAlpha") int[][] faceLabelsAlpha; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "[Lhi;" + descriptor = "[Lhx;" ) @Export("faceNormals") FaceNormal[] faceNormals; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "[Lhc;" + descriptor = "[Lha;" ) @Export("vertexNormals") VertexNormal[] vertexNormals; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "[Lhc;" + descriptor = "[Lha;" ) @Export("vertexVertices") VertexNormal[] vertexVertices; @ObfuscatedName("ad") @Export("ambient") public short ambient; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("contrast") public short contrast; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("isBoundsCalculated") boolean isBoundsCalculated; - @ObfuscatedName("aw") - int field2245; - @ObfuscatedName("at") - int field2262; - @ObfuscatedName("as") - int field2241; - @ObfuscatedName("ae") - int field2253; - @ObfuscatedName("av") - int field2233; + @ObfuscatedName("ah") + int field2273; + @ObfuscatedName("ay") + int field2274; + @ObfuscatedName("al") + int field2275; + @ObfuscatedName("ao") + int field2244; + @ObfuscatedName("au") + int field2277; static { - field2266 = new int[10000]; - field2267 = new int[10000]; - field2243 = 0; + field2253 = new int[10000]; + field2254 = new int[10000]; + field2280 = 0; ModelData_sine = Rasterizer3D.Rasterizer3D_sine; ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; } @@ -144,7 +144,7 @@ public class ModelData extends Renderable { } @ObfuscatedSignature( - descriptor = "([Lgl;I)V" + descriptor = "([Lgi;I)V" ) public ModelData(ModelData[] var1, int var2) { this.verticesCount = 0; @@ -275,18 +275,18 @@ public class ModelData extends Renderable { } this.faceColors[this.faceCount] = var10.faceColors[var11]; - this.indices1[this.faceCount] = this.method3993(var10, var10.indices1[var11]); - this.indices2[this.faceCount] = this.method3993(var10, var10.indices2[var11]); - this.indices3[this.faceCount] = this.method3993(var10, var10.indices3[var11]); + this.indices1[this.faceCount] = this.method4027(var10, var10.indices1[var11]); + this.indices2[this.faceCount] = this.method4027(var10, var10.indices2[var11]); + this.indices3[this.faceCount] = this.method4027(var10, var10.indices3[var11]); ++this.faceCount; } for (var11 = 0; var11 < var10.textureTriangleCount; ++var11) { byte var12 = this.textureRenderTypes[this.textureTriangleCount] = var10.textureRenderTypes[var11]; if (var12 == 0) { - this.texTriangleX[this.textureTriangleCount] = (short)this.method3993(var10, var10.texTriangleX[var11]); - this.texTriangleY[this.textureTriangleCount] = (short)this.method3993(var10, var10.texTriangleY[var11]); - this.texTriangleZ[this.textureTriangleCount] = (short)this.method3993(var10, var10.texTriangleZ[var11]); + this.texTriangleX[this.textureTriangleCount] = (short)this.method4027(var10, var10.texTriangleX[var11]); + this.texTriangleY[this.textureTriangleCount] = (short)this.method4027(var10, var10.texTriangleY[var11]); + this.texTriangleZ[this.textureTriangleCount] = (short)this.method4027(var10, var10.texTriangleZ[var11]); } ++this.textureTriangleCount; @@ -302,15 +302,15 @@ public class ModelData extends Renderable { this.priority = 0; this.isBoundsCalculated = false; if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { - this.method3952(var1); + this.method4024(var1); } else { - this.method3953(var1); + this.method4025(var1); } } @ObfuscatedSignature( - descriptor = "(Lgl;ZZZZ)V", + descriptor = "(Lgi;ZZZZ)V", garbageValue = "1" ) public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { @@ -381,8 +381,8 @@ public class ModelData extends Renderable { this.contrast = var1.contrast; } - @ObfuscatedName("m") - void method3952(byte[] var1) { + @ObfuscatedName("f") + void method4024(byte[] var1) { Buffer var2 = new Buffer(var1); Buffer var3 = new Buffer(var1); Buffer var4 = new Buffer(var1); @@ -687,8 +687,8 @@ public class ModelData extends Renderable { } - @ObfuscatedName("k") - void method3953(byte[] var1) { + @ObfuscatedName("j") + void method4025(byte[] var1) { boolean var2 = false; boolean var3 = false; Buffer var4 = new Buffer(var1); @@ -964,11 +964,11 @@ public class ModelData extends Renderable { } - @ObfuscatedName("z") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lgl;I)I" + descriptor = "(Lgi;I)I" ) - final int method3993(ModelData var1, int var2) { + final int method4027(ModelData var1, int var2) { int var3 = -1; int var4 = var1.verticesX[var2]; int var5 = var1.verticesY[var2]; @@ -995,11 +995,11 @@ public class ModelData extends Renderable { return var3; } - @ObfuscatedName("a") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lgl;" + descriptor = "()Lgi;" ) - public ModelData method3957() { + public ModelData method4028() { ModelData var1 = new ModelData(); if (this.faceRenderTypes != null) { var1.faceRenderTypes = new byte[this.faceCount]; @@ -1039,16 +1039,16 @@ public class ModelData extends Renderable { return var1; } - @ObfuscatedName("u") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "([[IIIIZI)Lgl;" + descriptor = "([[IIIIZI)Lgi;" ) - public ModelData method3958(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + public ModelData method4083(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { this.calculateBounds(); - int var7 = var2 + this.field2262; - int var8 = var2 + this.field2241; - int var9 = var4 + this.field2233; - int var10 = var4 + this.field2253; + int var7 = var2 + this.field2274; + int var8 = var2 + this.field2275; + int var9 = var4 + this.field2277; + int var10 = var4 + this.field2244; if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { var7 >>= 7; var8 = var8 + 127 >> 7; @@ -1134,7 +1134,7 @@ public class ModelData extends Renderable { } @ObfuscatedName("e") - void method3959() { + void method4030() { int[] var1; int var2; int var10002; @@ -1194,8 +1194,8 @@ public class ModelData extends Renderable { } - @ObfuscatedName("l") - public void method3960() { + @ObfuscatedName("i") + public void method4031() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { int var2 = this.verticesX[var1]; this.verticesX[var1] = this.verticesZ[var1]; @@ -1206,7 +1206,7 @@ public class ModelData extends Renderable { } @ObfuscatedName("y") - public void method3961() { + public void method4032() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { this.verticesX[var1] = -this.verticesX[var1]; this.verticesZ[var1] = -this.verticesZ[var1]; @@ -1215,8 +1215,8 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("v") - public void method4012() { + @ObfuscatedName("w") + public void method4033() { for (int var1 = 0; var1 < this.verticesCount; ++var1) { int var2 = this.verticesZ[var1]; this.verticesZ[var1] = this.verticesX[var1]; @@ -1226,8 +1226,8 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("f") - public void method3963(int var1) { + @ObfuscatedName("g") + public void method4034(int var1) { int var2 = ModelData_sine[var1]; int var3 = ModelData_cosine[var1]; @@ -1240,7 +1240,7 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("s") + @ObfuscatedName("v") @Export("changeOffset") public void changeOffset(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { @@ -1255,7 +1255,7 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("h") + @ObfuscatedName("s") @Export("recolor") public void recolor(short var1, short var2) { for (int var3 = 0; var3 < this.faceCount; ++var3) { @@ -1266,7 +1266,7 @@ public class ModelData extends Renderable { } - @ObfuscatedName("d") + @ObfuscatedName("c") @Export("retexture") public void retexture(short var1, short var2) { if (this.faceTextures != null) { @@ -1279,8 +1279,8 @@ public class ModelData extends Renderable { } } - @ObfuscatedName("q") - public void method3979() { + @ObfuscatedName("b") + public void method4038() { int var1; for (var1 = 0; var1 < this.verticesCount; ++var1) { this.verticesZ[var1] = -this.verticesZ[var1]; @@ -1295,7 +1295,7 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("j") + @ObfuscatedName("x") @Export("resize") public void resize(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { @@ -1307,7 +1307,7 @@ public class ModelData extends Renderable { this.invalidate(); } - @ObfuscatedName("x") + @ObfuscatedName("p") @Export("calculateVertexNormals") public void calculateVertexNormals() { if (this.vertexNormals == null) { @@ -1383,7 +1383,7 @@ public class ModelData extends Renderable { } } - @ObfuscatedName("b") + @ObfuscatedName("z") @Export("invalidate") void invalidate() { this.vertexNormals = null; @@ -1392,43 +1392,43 @@ public class ModelData extends Renderable { this.isBoundsCalculated = false; } - @ObfuscatedName("t") + @ObfuscatedName("h") @Export("calculateBounds") void calculateBounds() { if (!this.isBoundsCalculated) { super.height = 0; - this.field2245 = 0; - this.field2262 = 999999; - this.field2241 = -999999; - this.field2253 = -99999; - this.field2233 = 99999; + this.field2273 = 0; + this.field2274 = 999999; + this.field2275 = -999999; + this.field2244 = -99999; + this.field2277 = 99999; for (int var1 = 0; var1 < this.verticesCount; ++var1) { int var2 = this.verticesX[var1]; int var3 = this.verticesY[var1]; int var4 = this.verticesZ[var1]; - if (var2 < this.field2262) { - this.field2262 = var2; + if (var2 < this.field2274) { + this.field2274 = var2; } - if (var2 > this.field2241) { - this.field2241 = var2; + if (var2 > this.field2275) { + this.field2275 = var2; } - if (var4 < this.field2233) { - this.field2233 = var4; + if (var4 < this.field2277) { + this.field2277 = var4; } - if (var4 > this.field2253) { - this.field2253 = var4; + if (var4 > this.field2244) { + this.field2244 = var4; } if (-var3 > super.height) { super.height = -var3; } - if (var3 > this.field2245) { - this.field2245 = var3; + if (var3 > this.field2273) { + this.field2273 = var3; } } @@ -1436,9 +1436,9 @@ public class ModelData extends Renderable { } } - @ObfuscatedName("p") + @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(IIIII)Lhg;" + descriptor = "(IIIII)Lhl;" ) @Export("toModel") public final Model toModel(int var1, int var2, int var3, int var4, int var5) { @@ -1459,38 +1459,38 @@ public class ModelData extends Renderable { } } - var8.field2513 = 0; + var8.field2570 = 0; for (var10 = 0; var10 < this.textureTriangleCount; ++var10) { if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { - ++var8.field2513; + ++var8.field2570; } } - var8.field2498 = new int[var8.field2513]; - var8.field2515 = new int[var8.field2513]; - var8.field2549 = new int[var8.field2513]; + var8.field2525 = new int[var8.field2570]; + var8.field2526 = new int[var8.field2570]; + var8.field2527 = new int[var8.field2570]; var10 = 0; int var11; for (var11 = 0; var11 < this.textureTriangleCount; ++var11) { if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { - var8.field2498[var10] = this.texTriangleX[var11] & '\uffff'; - var8.field2515[var10] = this.texTriangleY[var11] & '\uffff'; - var8.field2549[var10] = this.texTriangleZ[var11] & '\uffff'; + var8.field2525[var10] = this.texTriangleX[var11] & '\uffff'; + var8.field2526[var10] = this.texTriangleY[var11] & '\uffff'; + var8.field2527[var10] = this.texTriangleZ[var11] & '\uffff'; var9[var11] = var10++; } else { var9[var11] = -1; } } - var8.field2510 = new byte[this.faceCount]; + var8.field2504 = new byte[this.faceCount]; for (var11 = 0; var11 < this.faceCount; ++var11) { if (this.textureCoords[var11] != -1) { - var8.field2510[var11] = (byte)var9[this.textureCoords[var11] & 255]; + var8.field2504[var11] = (byte)var9[this.textureCoords[var11] & 255]; } else { - var8.field2510[var11] = -1; + var8.field2504[var11] = -1; } } } @@ -1533,7 +1533,7 @@ public class ModelData extends Renderable { if (var17 == 1) { var19 = this.faceNormals[var16]; var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method3974(this.faceColors[var16] & '\uffff', var14); + var8.faceColors1[var16] = method4071(this.faceColors[var16] & '\uffff', var14); var8.faceColors3[var16] = -1; } else if (var17 == 3) { var8.faceColors1[var16] = 128; @@ -1550,7 +1550,7 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors1[var16] = method3974(var15, var14); + var8.faceColors1[var16] = method4071(var15, var14); if (this.vertexVertices != null && this.vertexVertices[this.indices2[var16]] != null) { var13 = this.vertexVertices[this.indices2[var16]]; } else { @@ -1558,7 +1558,7 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors2[var16] = method3974(var15, var14); + var8.faceColors2[var16] = method4071(var15, var14); if (this.vertexVertices != null && this.vertexVertices[this.indices3[var16]] != null) { var13 = this.vertexVertices[this.indices3[var16]]; } else { @@ -1566,13 +1566,13 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors3[var16] = method3974(var15, var14); + var8.faceColors3[var16] = method4071(var15, var14); } } else if (var17 != 0) { if (var17 == 1) { var19 = this.faceNormals[var16]; var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method3975(var14); + var8.faceColors1[var16] = method4046(var14); var8.faceColors3[var16] = -1; } else { var8.faceColors3[var16] = -2; @@ -1585,7 +1585,7 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors1[var16] = method3975(var14); + var8.faceColors1[var16] = method4046(var14); if (this.vertexVertices != null && this.vertexVertices[this.indices2[var16]] != null) { var13 = this.vertexVertices[this.indices2[var16]]; } else { @@ -1593,7 +1593,7 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors2[var16] = method3975(var14); + var8.faceColors2[var16] = method4046(var14); if (this.vertexVertices != null && this.vertexVertices[this.indices3[var16]] != null) { var13 = this.vertexVertices[this.indices3[var16]]; } else { @@ -1601,11 +1601,11 @@ public class ModelData extends Renderable { } var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors3[var16] = method3975(var14); + var8.faceColors3[var16] = method4046(var14); } } - this.method3959(); + this.method4030(); var8.verticesCount = this.verticesCount; var8.verticesX = this.verticesX; var8.verticesY = this.verticesY; @@ -1616,16 +1616,16 @@ public class ModelData extends Renderable { var8.indices3 = this.indices3; var8.faceRenderPriorities = this.faceRenderPriorities; var8.faceAlphas = this.faceAlphas; - var8.field2548 = this.priority; + var8.field2523 = this.priority; var8.vertexLabels = this.vertexLabels; var8.faceLabelsAlpha = this.faceLabelsAlpha; var8.faceTextures = this.faceTextures; return var8; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;II)Lgl;" + descriptor = "(Lkl;II)Lgi;" ) @Export("ModelData_get") public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { @@ -1633,16 +1633,16 @@ public class ModelData extends Renderable { return var3 == null ? null : new ModelData(var3); } - @ObfuscatedName("r") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(Lgl;Lgl;IIIZ)V" + descriptor = "(Lgi;Lgi;IIIZ)V" ) - static void method3972(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { + static void method4043(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { var0.calculateBounds(); var0.calculateVertexNormals(); var1.calculateBounds(); var1.calculateVertexNormals(); - ++field2243; + ++field2280; int var6 = 0; int[] var7 = var1.verticesX; int var8 = var1.verticesCount; @@ -1652,11 +1652,11 @@ public class ModelData extends Renderable { VertexNormal var10 = var0.vertexNormals[var9]; if (var10.magnitude != 0) { int var11 = var0.verticesY[var9] - var3; - if (var11 <= var1.field2245) { + if (var11 <= var1.field2273) { int var12 = var0.verticesX[var9] - var2; - if (var12 >= var1.field2262 && var12 <= var1.field2241) { + if (var12 >= var1.field2274 && var12 <= var1.field2275) { int var13 = var0.verticesZ[var9] - var4; - if (var13 >= var1.field2233 && var13 <= var1.field2253) { + if (var13 >= var1.field2277 && var13 <= var1.field2244) { for (int var14 = 0; var14 < var8; ++var14) { VertexNormal var15 = var1.vertexNormals[var14]; if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.magnitude != 0) { @@ -1687,8 +1687,8 @@ public class ModelData extends Renderable { var17.z += var10.z; var17.magnitude += var10.magnitude; ++var6; - field2266[var9] = field2243; - field2267[var14] = field2243; + field2253[var9] = field2280; + field2254[var14] = field2280; } } } @@ -1699,7 +1699,7 @@ public class ModelData extends Renderable { if (var6 >= 3 && var5) { for (var9 = 0; var9 < var0.faceCount; ++var9) { - if (field2266[var0.indices1[var9]] == field2243 && field2266[var0.indices2[var9]] == field2243 && field2266[var0.indices3[var9]] == field2243) { + if (field2253[var0.indices1[var9]] == field2280 && field2253[var0.indices2[var9]] == field2280 && field2253[var0.indices3[var9]] == field2280) { if (var0.faceRenderTypes == null) { var0.faceRenderTypes = new byte[var0.faceCount]; } @@ -1709,7 +1709,7 @@ public class ModelData extends Renderable { } for (var9 = 0; var9 < var1.faceCount; ++var9) { - if (field2243 == field2267[var1.indices1[var9]] && field2243 == field2267[var1.indices2[var9]] && field2243 == field2267[var1.indices3[var9]]) { + if (field2280 == field2254[var1.indices1[var9]] && field2280 == field2254[var1.indices2[var9]] && field2280 == field2254[var1.indices3[var9]]) { if (var1.faceRenderTypes == null) { var1.faceRenderTypes = new byte[var1.faceCount]; } @@ -1721,8 +1721,8 @@ public class ModelData extends Renderable { } } - @ObfuscatedName("w") - static final int method3974(int var0, int var1) { + @ObfuscatedName("n") + static final int method4071(int var0, int var1) { var1 = (var0 & 127) * var1 >> 7; if (var1 < 2) { var1 = 2; @@ -1733,8 +1733,8 @@ public class ModelData extends Renderable { return (var0 & 65408) + var1; } - @ObfuscatedName("i") - static final int method3975(int var0) { + @ObfuscatedName("u") + static final int method4046(int var0) { if (var0 < 2) { var0 = 2; } else if (var0 > 126) { diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java index b4c25b1db4..3453f85bb6 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -1,38 +1,28 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hy") +@ObfuscatedName("ho") @Implements("ModelData0") public class ModelData0 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Loi;" + @ObfuscatedName("nn") + @ObfuscatedGetter( + intValue = 1954904169 ) - @Export("options_buttons_0Sprite") - static IndexedSprite options_buttons_0Sprite; + @Export("selectedSpellWidget") + static int selectedSpellWidget; ModelData0() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;I)V", - garbageValue = "-2072967606" + descriptor = "(I)[Lip;", + garbageValue = "499045866" ) - public static void method4481(AbstractArchive var0, AbstractArchive var1) { - HealthBarDefinition.HealthBarDefinition_archive = var0; - HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; - } - - @ObfuscatedName("ix") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", - garbageValue = "930571254" - ) - @Export("insertMenuItemNoShift") - public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { - GrandExchangeEvents.insertMenuItem(var0, var1, var2, var3, var4, var5, false); + static LoginPacket[] method4562() { + return new LoginPacket[]{LoginPacket.field2888, LoginPacket.field2889, LoginPacket.field2885, LoginPacket.field2891, LoginPacket.field2884, LoginPacket.field2886}; } } diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index 91ebd9b1ea..87c4d7d83b 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -3,130 +3,134 @@ import java.awt.event.FocusListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; -import java.util.Arrays; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("as") +@ObfuscatedName("al") @Implements("MouseHandler") public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lal;" + ) + @Export("MouseHandler_instance") + static MouseHandler MouseHandler_instance; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1516853091 + ) + @Export("MouseHandler_idleCycles") + public static volatile int MouseHandler_idleCycles; @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -849531271 + intValue = 1104277309 ) @Export("MouseHandler_x") public static int MouseHandler_x; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Las;" - ) - @Export("MouseHandler_instance") - public static MouseHandler MouseHandler_instance; - @ObfuscatedName("g") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -959364297 - ) - @Export("MouseHandler_idleCycles") - static volatile int MouseHandler_idleCycles; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 494054839 + intValue = 894761523 ) @Export("MouseHandler_currentButtonVolatile") - public static volatile int MouseHandler_currentButtonVolatile; + static volatile int MouseHandler_currentButtonVolatile; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -623033765 + intValue = -673069961 ) @Export("MouseHandler_xVolatile") - public static volatile int MouseHandler_xVolatile; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1657666543 - ) - @Export("MouseHandler_yVolatile") - public static volatile int MouseHandler_yVolatile; + static volatile int MouseHandler_xVolatile; @ObfuscatedName("e") @ObfuscatedGetter( - longValue = 1124876643945758811L + intValue = 24690515 + ) + @Export("MouseHandler_yVolatile") + static volatile int MouseHandler_yVolatile; + @ObfuscatedName("i") + @ObfuscatedGetter( + longValue = -740984488231653733L ) @Export("MouseHandler_lastMovedVolatile") - public static volatile long MouseHandler_lastMovedVolatile; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1842444799 - ) - @Export("MouseHandler_currentButton") - public static int MouseHandler_currentButton; + static volatile long MouseHandler_lastMovedVolatile; @ObfuscatedName("y") @ObfuscatedGetter( - longValue = 3980368663638216117L + longValue = -1355504992278167911L ) @Export("MouseHandler_millis") public static long MouseHandler_millis; - @ObfuscatedName("v") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1256288259 + intValue = 683077407 + ) + @Export("MouseHandler_currentButton") + public static int MouseHandler_currentButton; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 2082398241 ) @Export("MouseHandler_y") public static int MouseHandler_y; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -571396901 + intValue = -1841633553 ) @Export("MouseHandler_lastButtonVolatile") - public static volatile int MouseHandler_lastButtonVolatile; + static volatile int MouseHandler_lastButtonVolatile; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 563759133 + intValue = 1813524919 ) @Export("MouseHandler_lastPressedXVolatile") - public static volatile int MouseHandler_lastPressedXVolatile; - @ObfuscatedName("h") + static volatile int MouseHandler_lastPressedXVolatile; + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 1503595933 + intValue = 1656092401 ) @Export("MouseHandler_lastPressedYVolatile") - public static volatile int MouseHandler_lastPressedYVolatile; - @ObfuscatedName("d") + static volatile int MouseHandler_lastPressedYVolatile; + @ObfuscatedName("b") @ObfuscatedGetter( - longValue = -1715075205804232797L + longValue = 9065721918317991793L ) @Export("MouseHandler_lastPressedTimeMillisVolatile") - public static volatile long MouseHandler_lastPressedTimeMillisVolatile; - @ObfuscatedName("q") + static volatile long MouseHandler_lastPressedTimeMillisVolatile; + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = -1135852135 + intValue = -1586364571 ) @Export("MouseHandler_lastButton") public static int MouseHandler_lastButton; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 1511039305 + intValue = 336686179 ) @Export("MouseHandler_lastPressedX") public static int MouseHandler_lastPressedX; - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = -1644545991 + intValue = -8907389 ) @Export("MouseHandler_lastPressedY") public static int MouseHandler_lastPressedY; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - longValue = 326534539443949415L + longValue = 1174004619361524505L ) @Export("MouseHandler_lastPressedTimeMillis") public static long MouseHandler_lastPressedTimeMillis; - @ObfuscatedName("hh") - @ObfuscatedSignature( - descriptor = "Loc;" + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = -548135093 ) - @Export("compass") - static SpritePixels compass; + static int field236; + @ObfuscatedName("ot") + @ObfuscatedGetter( + intValue = -820968183 + ) + @Export("widgetDragDuration") + static int widgetDragDuration; static { MouseHandler_instance = new MouseHandler(); @@ -152,10 +156,10 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi MouseHandler() { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Ljava/awt/event/MouseEvent;B)I", - garbageValue = "44" + descriptor = "(Ljava/awt/event/MouseEvent;S)I", + garbageValue = "961" ) @Export("getButton") final int getButton(MouseEvent var1) { @@ -182,7 +186,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi MouseHandler_idleCycles = 0; MouseHandler_lastPressedXVolatile = var1.getX(); MouseHandler_lastPressedYVolatile = var1.getY(); - MouseHandler_lastPressedTimeMillisVolatile = Occluder.method4335(); + MouseHandler_lastPressedTimeMillisVolatile = UserComparator4.method2406(); MouseHandler_lastButtonVolatile = this.getButton(var1); if (MouseHandler_lastButtonVolatile != 0) { MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; @@ -195,41 +199,6 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi } - public final synchronized void mouseEntered(MouseEvent var1) { - this.mouseMoved(var1); - } - - public final void focusGained(FocusEvent var1) { - } - - public final synchronized void mouseDragged(MouseEvent var1) { - this.mouseMoved(var1); - } - - public final synchronized void mouseExited(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_xVolatile = -1; - MouseHandler_yVolatile = -1; - MouseHandler_lastMovedVolatile = var1.getWhen(); - } - - } - - public final synchronized void focusLost(FocusEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_currentButtonVolatile = 0; - } - - } - - public final void mouseClicked(MouseEvent var1) { - if (var1.isPopupTrigger()) { - var1.consume(); - } - - } - public final synchronized void mouseReleased(MouseEvent var1) { if (MouseHandler_instance != null) { MouseHandler_idleCycles = 0; @@ -242,259 +211,192 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi } - @ObfuscatedName("n") + public final synchronized void mouseEntered(MouseEvent var1) { + this.mouseMoved(var1); + } + + public final void focusGained(FocusEvent var1) { + } + + public final void mouseClicked(MouseEvent var1) { + if (var1.isPopupTrigger()) { + var1.consume(); + } + + } + + public final synchronized void focusLost(FocusEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_currentButtonVolatile = 0; + } + + } + + public final synchronized void mouseDragged(MouseEvent var1) { + this.mouseMoved(var1); + } + + public final synchronized void mouseExited(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_xVolatile = -1; + MouseHandler_yVolatile = -1; + MouseHandler_lastMovedVolatile = var1.getWhen(); + } + + } + + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1959208295" + descriptor = "(Lkl;Lkl;I)I", + garbageValue = "-853265769" ) - static void method609() { - for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var0.obj != null) { - var0.set(); + static int method614(AbstractArchive var0, AbstractArchive var1) { + int var2 = 0; + String[] var3 = Login.field890; + + int var4; + String var5; + for (var4 = 0; var4 < var3.length; ++var4) { + var5 = var3[var4]; + if (var0.tryLoadFileByNames(var5, "")) { + ++var2; } } + var3 = Login.field907; + + for (var4 = 0; var4 < var3.length; ++var4) { + var5 = var3[var4]; + if (var1.tryLoadFileByNames(var5, "")) { + ++var2; + } + } + + return var2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "([Ljava/lang/String;[II)V", - garbageValue = "1719094176" + descriptor = "(IIIII)V", + garbageValue = "1631875513" ) - public static void method580(String[] var0, int[] var1) { - GrandExchangeOfferUnitPriceComparator.method5348(var0, var1, 0, var0.length - 1); - } + static final void method586(int var0, int var1, int var2, int var3) { + for (int var4 = var1; var4 <= var3 + var1; ++var4) { + for (int var5 = var0; var5 <= var0 + var2; ++var5) { + if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { + class281.field3323[0][var5][var4] = 127; + if (var0 == var5 && var5 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; + } - @ObfuscatedName("fg") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "231950614" - ) - static void method607() { - Client.mouseLastLastPressedTimeMillis = -1L; - class184.mouseRecorder.index = 0; - Archive.hasFocus = true; - Client.hadFocus = true; - Client.field716 = -1L; - HorizontalAlignment.method2949(); - Client.packetWriter.clearBuffer(); - Client.packetWriter.packetBuffer.offset = 0; - Client.packetWriter.serverPacket = null; - Client.packetWriter.field1288 = null; - Client.packetWriter.field1289 = null; - Client.packetWriter.field1290 = null; - Client.packetWriter.serverPacketLength = 0; - Client.packetWriter.field1279 = 0; - Client.rebootTimer = 0; - Client.logoutTimer = 0; - Client.hintArrowType = 0; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - MenuAction.method1875(0); - ItemContainer.method2029(); - Client.isItemSelected = 0; - Client.isSpellSelected = false; - Client.soundEffectCount = 0; - Client.camAngleY = 0; - Client.oculusOrbState = 0; - class16.field82 = null; - Client.minimapState = 0; - Client.field719 = -1; - Client.destinationX = 0; - Client.destinationY = 0; - Client.playerAttackOption = AttackOption.AttackOption_hidden; - Client.npcAttackOption = AttackOption.AttackOption_hidden; - Client.npcCount = 0; - Players.Players_count = 0; + if (var0 + var2 == var5 && var5 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; + } - int var0; - for (var0 = 0; var0 < 2048; ++var0) { - Players.field1246[var0] = null; - Players.field1245[var0] = 1; - } + if (var4 == var1 && var4 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; + } - for (var0 = 0; var0 < 2048; ++var0) { - Client.players[var0] = null; - } - - for (var0 = 0; var0 < 32768; ++var0) { - Client.npcs[var0] = null; - } - - Client.combatTargetPlayerIndex = -1; - Client.projectiles.clear(); - Client.graphicsObjects.clear(); - - for (var0 = 0; var0 < 4; ++var0) { - for (int var4 = 0; var4 < 104; ++var4) { - for (int var2 = 0; var2 < 104; ++var2) { - Client.groundItems[var0][var4][var2] = null; + if (var3 + var1 == var4 && var4 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; + } } } } - Client.pendingSpawns = new NodeDeque(); - class20.friendSystem.clear(); - - for (var0 = 0; var0 < VarpDefinition.VarpDefinition_fileCount; ++var0) { - VarpDefinition var1 = UserComparator7.VarpDefinition_get(var0); - if (var1 != null) { - Varps.Varps_temp[var0] = 0; - Varps.Varps_main[var0] = 0; - } - } - - GrandExchangeEvent.varcs.clearTransient(); - Client.followerIndex = -1; - if (Client.rootInterface != -1) { - class120.method2516(Client.rootInterface); - } - - for (InterfaceParent var3 = (InterfaceParent)Client.interfaceParents.first(); var3 != null; var3 = (InterfaceParent)Client.interfaceParents.next()) { - WorldMapID.closeInterface(var3, true); - } - - Client.rootInterface = -1; - Client.interfaceParents = new NodeHashTable(8); - Client.meslayerContinueWidget = null; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); - - for (var0 = 0; var0 < 8; ++var0) { - Client.playerMenuActions[var0] = null; - Client.playerOptionsPriorities[var0] = false; - } - - CollisionMap.method3351(); - Client.isLoading = true; - - for (var0 = 0; var0 < 100; ++var0) { - Client.field697[var0] = true; - } - - class280.method5087(); - class78.friendsChat = null; - AttackOption.guestClanSettings = null; - Arrays.fill(Client.currentClanSettings, (Object)null); - WorldMapSectionType.guestClanChannel = null; - Arrays.fill(Client.currentClanChannels, (Object)null); - - for (var0 = 0; var0 < 8; ++var0) { - Client.grandExchangeOffers[var0] = new GrandExchangeOffer(); - } - - class117.grandExchangeEvents = null; } - @ObfuscatedName("ig") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(IIIILjava/lang/String;B)V", - garbageValue = "-31" + descriptor = "(III)I", + garbageValue = "-2114853000" ) - @Export("widgetDefaultMenuAction") - static void widgetDefaultMenuAction(int var0, int var1, int var2, int var3, String var4) { - Widget var5 = ParamComposition.getWidgetChild(var1, var2); - if (var5 != null) { - if (var5.onOp != null) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = var5; - var6.opIndex = var0; - var6.targetName = var4; - var6.args = var5.onOp; - class139.runScriptEvent(var6); + static final int method612(int var0, int var1) { + if (var0 == -2) { + return 12345678; + } else if (var0 == -1) { + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; } - boolean var8 = true; - if (var5.contentType > 0) { - var8 = class119.method2508(var5); + return var1; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; } - if (var8) { - if (Decimator.method1050(Decimator.getWidgetFlags(var5), var0 - 1)) { - PacketBufferNode var7; - if (var0 == 1) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2679, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); + return (var0 & 65408) + var1; + } + } + + @ObfuscatedName("fe") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-74151640" + ) + static final void method611() { + int var0 = Players.Players_count; + int[] var1 = Players.Players_indices; + + for (int var2 = 0; var2 < var0; ++var2) { + Player var3 = Client.players[var1[var2]]; + if (var3 != null) { + class116.updateActorSequence(var3, 1); + } + } + + } + + @ObfuscatedName("jo") + @ObfuscatedSignature( + descriptor = "([Ljt;II)V", + garbageValue = "-2051295556" + ) + @Export("runComponentCloseListeners") + static final void runComponentCloseListeners(Widget[] var0, int var1) { + for (int var2 = 0; var2 < var0.length; ++var2) { + Widget var3 = var0[var2]; + if (var3 != null) { + if (var3.type == 0) { + if (var3.children != null) { + runComponentCloseListeners(var3.children, var1); } - if (var0 == 2) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2735, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 3) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2736, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 4) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2650, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 5) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2738, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 6) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2668, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 7) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2691, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 8) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2733, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 9) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2644, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 10) { - var7 = FriendSystem.getPacketBufferNode(ClientPacket.field2671, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + ItemContainer.runIntfCloseListeners(var4.group, var1); + } + } + + ScriptEvent var5; + if (var1 == 0 && var3.onDialogAbort != null) { + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onDialogAbort; + ViewportMouse.runScriptEvent(var5); + } + + if (var1 == 1 && var3.onSubChange != null) { + if (var3.childIndex >= 0) { + Widget var6 = HealthBarUpdate.getWidget(var3.id); + if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { + continue; + } } + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onSubChange; + ViewportMouse.runScriptEvent(var5); } } } + } } diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 4d053fb1d8..a120cb0f2c 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -1,37 +1,44 @@ +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cu") +@ObfuscatedName("cg") @Implements("MouseRecorder") public class MouseRecorder implements Runnable { - @ObfuscatedName("eq") - @ObfuscatedSignature( - descriptor = "Lkx;" + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1289779463 ) - @Export("archive10") - static Archive archive10; - @ObfuscatedName("n") + @Export("canvasHeight") + public static int canvasHeight; + @ObfuscatedName("de") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive1") + static Archive archive1; + @ObfuscatedName("l") @Export("isRunning") boolean isRunning; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("lock") Object lock; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 858657877 + intValue = 70944461 ) @Export("index") int index; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("xs") int[] xs; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("ys") int[] ys; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("millis") long[] millis; @@ -45,7 +52,7 @@ public class MouseRecorder implements Runnable { } public void run() { - for (; this.isRunning; PlayerType.method5099(50L)) { + for (; this.isRunning; class121.method2542(50L)) { synchronized(this.lock) { if (this.index < 500) { this.xs[this.index] = MouseHandler.MouseHandler_x; @@ -58,60 +65,46 @@ public class MouseRecorder implements Runnable { } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "1522690177" + descriptor = "(III)V", + garbageValue = "-76927073" ) - static int method2058(int var0, int var1) { - FloorOverlayDefinition var3 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var0); - FloorOverlayDefinition var2; - if (var3 != null) { - var2 = var3; - } else { - byte[] var4 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var0); - var3 = new FloorOverlayDefinition(); - if (var4 != null) { - var3.decode(new Buffer(var4), var0); - } - - var3.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var3, (long)var0); - var2 = var3; + public static void method2078(int var0, int var1) { + VarbitComposition var2 = AttackOption.method2263(var0); + int var3 = var2.baseVar; + int var4 = var2.startBit; + int var5 = var2.endBit; + int var6 = Varps.Varps_masks[var5 - var4]; + if (var1 < 0 || var1 > var6) { + var1 = 0; } - if (var2 == null) { - return var1; - } else if (var2.secondaryRgb >= 0) { - return var2.secondaryRgb | -16777216; - } else if (var2.texture >= 0) { - int var10 = class138.method2696(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var2.texture), 96); - return Rasterizer3D.Rasterizer3D_colorPalette[var10] | -16777216; - } else if (var2.primaryRgb == 16711935) { - return var1; - } else { - int var5 = var2.hue; - int var6 = var2.saturation; - int var7 = var2.lightness; - if (var7 > 179) { - var6 /= 2; + var6 <<= var4; + Varps.Varps_main[var3] = Varps.Varps_main[var3] & ~var6 | var1 << var4 & var6; + } + + @ObfuscatedName("gn") + @ObfuscatedSignature( + descriptor = "(ZB)V", + garbageValue = "0" + ) + static final void method2075(boolean var0) { + class356.playPcmPlayers(); + ++Client.packetWriter.pendingWrites; + if (Client.packetWriter.pendingWrites >= 50 || var0) { + Client.packetWriter.pendingWrites = 0; + if (!Client.hadNetworkError && Client.packetWriter.getSocket() != null) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2706, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var1); + + try { + Client.packetWriter.flush(); + } catch (IOException var3) { + Client.hadNetworkError = true; + } } - if (var7 > 192) { - var6 /= 2; - } - - if (var7 > 217) { - var6 /= 2; - } - - if (var7 > 243) { - var6 /= 2; - } - - int var8 = (var6 / 32 << 7) + var7 / 2 + (var5 / 4 << 10); - int var9 = class138.method2696(var8, 96); - return Rasterizer3D.Rasterizer3D_colorPalette[var9] | -16777216; } } } diff --git a/runescape-client/src/main/java/MouseWheel.java b/runescape-client/src/main/java/MouseWheel.java index 23df00773c..5bfbdff338 100644 --- a/runescape-client/src/main/java/MouseWheel.java +++ b/runescape-client/src/main/java/MouseWheel.java @@ -3,13 +3,13 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kj") +@ObfuscatedName("ku") @Implements("MouseWheel") public interface MouseWheel { - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") int rsOrdinal(); diff --git a/runescape-client/src/main/java/MouseWheelHandler.java b/runescape-client/src/main/java/MouseWheelHandler.java index 67a35a48e7..988e9a5a53 100644 --- a/runescape-client/src/main/java/MouseWheelHandler.java +++ b/runescape-client/src/main/java/MouseWheelHandler.java @@ -10,9 +10,9 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("r") @Implements("MouseWheelHandler") public final class MouseWheelHandler implements class144, MouseWheelListener { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1662270439 + intValue = 1769079383 ) @Export("rotation") int rotation; @@ -21,30 +21,30 @@ public final class MouseWheelHandler implements class144, MouseWheelListener { this.rotation = 0; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;B)V", - garbageValue = "-95" + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "-635346378" ) @Export("addTo") void addTo(Component var1) { var1.addMouseWheelListener(this); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;I)V", - garbageValue = "-1252730028" + descriptor = "(Ljava/awt/Component;S)V", + garbageValue = "-29045" ) @Export("removeFrom") void removeFrom(Component var1) { var1.removeMouseWheelListener(this); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "105190927" + garbageValue = "459838731" ) @Export("useRotation") public synchronized int useRotation() { diff --git a/runescape-client/src/main/java/MusicPatch.java b/runescape-client/src/main/java/MusicPatch.java index 21a7ebe5d2..7c15d2f300 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -4,56 +4,44 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iz") +@ObfuscatedName("iq") @Implements("MusicPatch") public class MusicPatch extends Node { - @ObfuscatedName("ho") - @ObfuscatedSignature( - descriptor = "[Loc;" - ) - @Export("headIconPkSprites") - static SpritePixels[] headIconPkSprites; - @ObfuscatedName("kb") - @ObfuscatedSignature( - descriptor = "Lhp;" - ) - @Export("textureProvider") - static TextureProvider textureProvider; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1623351631 + intValue = 1265498165 ) - int field2957; - @ObfuscatedName("c") + int field2969; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Lak;" + descriptor = "[Laa;" ) @Export("rawSounds") RawSound[] rawSounds; + @ObfuscatedName("f") + short[] field2965; + @ObfuscatedName("j") + byte[] field2966; @ObfuscatedName("m") - short[] field2949; + byte[] field2970; @ObfuscatedName("k") - byte[] field2952; - @ObfuscatedName("o") - byte[] field2953; - @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "[Lib;" + descriptor = "[Lil;" ) - MusicPatchNode2[] field2954; - @ObfuscatedName("z") - byte[] field2955; + MusicPatchNode2[] field2968; + @ObfuscatedName("t") + byte[] field2964; @ObfuscatedName("a") - int[] field2950; + int[] field2967; MusicPatch(byte[] var1) { this.rawSounds = new RawSound[128]; - this.field2949 = new short[128]; - this.field2952 = new byte[128]; - this.field2953 = new byte[128]; - this.field2954 = new MusicPatchNode2[128]; - this.field2955 = new byte[128]; - this.field2950 = new int[128]; + this.field2965 = new short[128]; + this.field2966 = new byte[128]; + this.field2970 = new byte[128]; + this.field2968 = new MusicPatchNode2[128]; + this.field2964 = new byte[128]; + this.field2967 = new int[128]; Buffer var2 = new Buffer(var1); int var3; @@ -100,51 +88,51 @@ public class MusicPatch extends Node { ++var2.offset; ++var9; - byte[] var38 = new byte[var9]; + byte[] var36 = new byte[var9]; int var12; int var14; if (var9 > 1) { - var38[1] = 1; + var36[1] = 1; int var13 = 1; var12 = 2; for (var14 = 2; var14 < var9; ++var14) { - int var43 = var2.readUnsignedByte(); - if (var43 == 0) { + int var41 = var2.readUnsignedByte(); + if (var41 == 0) { var13 = var12++; } else { - if (var43 <= var13) { - --var43; + if (var41 <= var13) { + --var41; } - var13 = var43; + var13 = var41; } - var38[var14] = (byte)var13; + var36[var14] = (byte)var13; } } else { var12 = var9; } - MusicPatchNode2[] var39 = new MusicPatchNode2[var12]; + MusicPatchNode2[] var37 = new MusicPatchNode2[var12]; MusicPatchNode2 var15; - for (var14 = 0; var14 < var39.length; ++var14) { - var15 = var39[var14] = new MusicPatchNode2(); - int var42 = var2.readUnsignedByte(); - if (var42 > 0) { - var15.field2896 = new byte[var42 * 2]; + for (var14 = 0; var14 < var37.length; ++var14) { + var15 = var37[var14] = new MusicPatchNode2(); + int var40 = var2.readUnsignedByte(); + if (var40 > 0) { + var15.field2903 = new byte[var40 * 2]; } - var42 = var2.readUnsignedByte(); - if (var42 > 0) { - var15.field2888 = new byte[var42 * 2 + 2]; - var15.field2888[1] = 64; + var40 = var2.readUnsignedByte(); + if (var40 > 0) { + var15.field2901 = new byte[var40 * 2 + 2]; + var15.field2901[1] = 64; } } var14 = var2.readUnsignedByte(); - byte[] var44 = var14 > 0 ? new byte[var14 * 2] : null; + byte[] var42 = var14 > 0 ? new byte[var14 * 2] : null; var14 = var2.readUnsignedByte(); byte[] var16 = var14 > 0 ? new byte[var14 * 2] : null; @@ -166,16 +154,16 @@ public class MusicPatch extends Node { int var20; for (var20 = 0; var20 < 128; ++var20) { var19 += var2.readUnsignedByte(); - this.field2949[var20] = (short)var19; + this.field2965[var20] = (short)var19; } var19 = 0; - short[] var50; + short[] var48; for (var20 = 0; var20 < 128; ++var20) { var19 += var2.readUnsignedByte(); - var50 = this.field2949; - var50[var20] = (short)(var50[var20] + (var19 << 8)); + var48 = this.field2965; + var48[var20] = (short)(var48[var20] + (var19 << 8)); } var20 = 0; @@ -194,9 +182,9 @@ public class MusicPatch extends Node { var22 = var2.readVarInt(); } - var50 = this.field2949; - var50[var23] = (short)(var50[var23] + ((var22 - 1 & 2) << 14)); - this.field2950[var23] = var22; + var48 = this.field2965; + var48[var23] = (short)(var48[var23] + ((var22 - 1 & 2) << 14)); + this.field2967[var23] = var22; --var20; } @@ -206,7 +194,7 @@ public class MusicPatch extends Node { int var24; for (var24 = 0; var24 < 128; ++var24) { - if (this.field2950[var24] != 0) { + if (this.field2967[var24] != 0) { if (var20 == 0) { if (var21 < var4.length) { var20 = var4[var21++]; @@ -217,7 +205,7 @@ public class MusicPatch extends Node { var23 = var2.array[var5++] - 1; } - this.field2955[var24] = (byte)var23; + this.field2964[var24] = (byte)var23; --var20; } } @@ -227,7 +215,7 @@ public class MusicPatch extends Node { var24 = 0; for (int var25 = 0; var25 < 128; ++var25) { - if (this.field2950[var25] != 0) { + if (this.field2967[var25] != 0) { if (var20 == 0) { if (var21 < var7.length) { var20 = var7[var21++]; @@ -238,20 +226,20 @@ public class MusicPatch extends Node { var24 = var2.array[var8++] + 16 << 2; } - this.field2953[var25] = (byte)var24; + this.field2970[var25] = (byte)var24; --var20; } } var20 = 0; var21 = 0; - MusicPatchNode2 var40 = null; + MusicPatchNode2 var38 = null; int var26; for (var26 = 0; var26 < 128; ++var26) { - if (this.field2950[var26] != 0) { + if (this.field2967[var26] != 0) { if (var20 == 0) { - var40 = var39[var38[var21]]; + var38 = var37[var36[var21]]; if (var21 < var10.length) { var20 = var10[var21++]; } else { @@ -259,7 +247,7 @@ public class MusicPatch extends Node { } } - this.field2954[var26] = var40; + this.field2968[var26] = var38; --var20; } } @@ -277,37 +265,37 @@ public class MusicPatch extends Node { var20 = -1; } - if (this.field2950[var27] > 0) { + if (this.field2967[var27] > 0) { var26 = var2.readUnsignedByte() + 1; } } - this.field2952[var27] = (byte)var26; + this.field2966[var27] = (byte)var26; --var20; } - this.field2957 = var2.readUnsignedByte() + 1; + this.field2969 = var2.readUnsignedByte() + 1; int var29; - MusicPatchNode2 var41; + MusicPatchNode2 var39; for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2896 != null) { - for (var29 = 1; var29 < var41.field2896.length; var29 += 2) { - var41.field2896[var29] = var2.readByte(); + var39 = var37[var27]; + if (var39.field2903 != null) { + for (var29 = 1; var29 < var39.field2903.length; var29 += 2) { + var39.field2903[var29] = var2.readByte(); } } - if (var41.field2888 != null) { - for (var29 = 3; var29 < var41.field2888.length - 2; var29 += 2) { - var41.field2888[var29] = var2.readByte(); + if (var39.field2901 != null) { + for (var29 = 3; var29 < var39.field2901.length - 2; var29 += 2) { + var39.field2901[var29] = var2.readByte(); } } } - if (var44 != null) { - for (var27 = 1; var27 < var44.length; var27 += 2) { - var44[var27] = var2.readByte(); + if (var42 != null) { + for (var27 = 1; var27 < var42.length; var27 += 2) { + var42[var27] = var2.readByte(); } } @@ -318,25 +306,25 @@ public class MusicPatch extends Node { } for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2888 != null) { + var39 = var37[var27]; + if (var39.field2901 != null) { var19 = 0; - for (var29 = 2; var29 < var41.field2888.length; var29 += 2) { - var19 = var19 + 1 + var2.readUnsignedByte(); - var41.field2888[var29] = (byte)var19; + for (var29 = 2; var29 < var39.field2901.length; var29 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var39.field2901[var29] = (byte)var19; } } } for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2896 != null) { + var39 = var37[var27]; + if (var39.field2903 != null) { var19 = 0; - for (var29 = 2; var29 < var41.field2896.length; var29 += 2) { - var19 = var19 + 1 + var2.readUnsignedByte(); - var41.field2896[var29] = (byte)var19; + for (var29 = 2; var29 < var39.field2903.length; var29 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var39.field2903[var29] = (byte)var19; } } } @@ -345,45 +333,41 @@ public class MusicPatch extends Node { int var32; int var33; int var34; - int var35; - int var36; - int var47; - byte var49; - if (var44 != null) { + int var45; + byte var47; + if (var42 != null) { var19 = var2.readUnsignedByte(); - var44[0] = (byte)var19; + var42[0] = (byte)var19; - for (var27 = 2; var27 < var44.length; var27 += 2) { - var19 = var19 + 1 + var2.readUnsignedByte(); - var44[var27] = (byte)var19; + for (var27 = 2; var27 < var42.length; var27 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var42[var27] = (byte)var19; } - var49 = var44[0]; - byte var28 = var44[1]; + var47 = var42[0]; + byte var28 = var42[1]; - for (var29 = 0; var29 < var49; ++var29) { - this.field2952[var29] = (byte)(var28 * this.field2952[var29] + 32 >> 6); + for (var29 = 0; var29 < var47; ++var29) { + this.field2966[var29] = (byte)(var28 * this.field2966[var29] + 32 >> 6); } - for (var29 = 2; var29 < var44.length; var29 += 2) { - var30 = var44[var29]; - byte var31 = var44[var29 + 1]; - var32 = var28 * (var30 - var49) + (var30 - var49) / 2; + for (var29 = 2; var29 < var42.length; var29 += 2) { + var30 = var42[var29]; + byte var31 = var42[var29 + 1]; + var32 = var28 * (var30 - var47) + (var30 - var47) / 2; - for (var33 = var49; var33 < var30; ++var33) { - var35 = var30 - var49; - var36 = var32 >>> 31; - var34 = (var32 + var36) / var35 - var36; - this.field2952[var33] = (byte)(var34 * this.field2952[var33] + 32 >> 6); + for (var33 = var47; var33 < var30; ++var33) { + var34 = MenuAction.method1885(var32, var30 - var47); + this.field2966[var33] = (byte)(var34 * this.field2966[var33] + 32 >> 6); var32 += var31 - var28; } - var49 = var30; + var47 = var30; var28 = var31; } - for (var47 = var49; var47 < 128; ++var47) { - this.field2952[var47] = (byte)(var28 * this.field2952[var47] + 32 >> 6); + for (var45 = var47; var45 < 128; ++var45) { + this.field2966[var45] = (byte)(var28 * this.field2966[var45] + 32 >> 6); } var15 = null; @@ -394,123 +378,121 @@ public class MusicPatch extends Node { var16[0] = (byte)var19; for (var27 = 2; var27 < var16.length; var27 += 2) { - var19 = var19 + 1 + var2.readUnsignedByte(); + var19 = 1 + var19 + var2.readUnsignedByte(); var16[var27] = (byte)var19; } - var49 = var16[0]; - int var46 = var16[1] << 1; + var47 = var16[0]; + int var44 = var16[1] << 1; - for (var29 = 0; var29 < var49; ++var29) { - var47 = var46 + (this.field2953[var29] & 255); - if (var47 < 0) { - var47 = 0; + for (var29 = 0; var29 < var47; ++var29) { + var45 = var44 + (this.field2970[var29] & 255); + if (var45 < 0) { + var45 = 0; } - if (var47 > 128) { - var47 = 128; + if (var45 > 128) { + var45 = 128; } - this.field2953[var29] = (byte)var47; + this.field2970[var29] = (byte)var45; } - int var48; + int var46; for (var29 = 2; var29 < var16.length; var29 += 2) { var30 = var16[var29]; - var48 = var16[var29 + 1] << 1; - var32 = var46 * (var30 - var49) + (var30 - var49) / 2; + var46 = var16[var29 + 1] << 1; + var32 = var44 * (var30 - var47) + (var30 - var47) / 2; - for (var33 = var49; var33 < var30; ++var33) { - var35 = var30 - var49; - var36 = var32 >>> 31; - var34 = (var36 + var32) / var35 - var36; - int var37 = var34 + (this.field2953[var33] & 255); - if (var37 < 0) { - var37 = 0; + for (var33 = var47; var33 < var30; ++var33) { + var34 = MenuAction.method1885(var32, var30 - var47); + int var35 = var34 + (this.field2970[var33] & 255); + if (var35 < 0) { + var35 = 0; } - if (var37 > 128) { - var37 = 128; + if (var35 > 128) { + var35 = 128; } - this.field2953[var33] = (byte)var37; - var32 += var48 - var46; + this.field2970[var33] = (byte)var35; + var32 += var46 - var44; } - var49 = var30; - var46 = var48; + var47 = var30; + var44 = var46; } - for (var47 = var49; var47 < 128; ++var47) { - var48 = var46 + (this.field2953[var47] & 255); - if (var48 < 0) { - var48 = 0; + for (var45 = var47; var45 < 128; ++var45) { + var46 = var44 + (this.field2970[var45] & 255); + if (var46 < 0) { + var46 = 0; } - if (var48 > 128) { - var48 = 128; + if (var46 > 128) { + var46 = 128; } - this.field2953[var47] = (byte)var48; + this.field2970[var45] = (byte)var46; } - Object var45 = null; + Object var43 = null; } for (var27 = 0; var27 < var12; ++var27) { - var39[var27].field2889 = var2.readUnsignedByte(); + var37[var27].field2902 = var2.readUnsignedByte(); } for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2896 != null) { - var41.field2895 = var2.readUnsignedByte(); + var39 = var37[var27]; + if (var39.field2903 != null) { + var39.field2900 = var2.readUnsignedByte(); } - if (var41.field2888 != null) { - var41.field2891 = var2.readUnsignedByte(); + if (var39.field2901 != null) { + var39.field2904 = var2.readUnsignedByte(); } - if (var41.field2889 > 0) { - var41.field2892 = var2.readUnsignedByte(); + if (var39.field2902 > 0) { + var39.field2905 = var2.readUnsignedByte(); } } for (var27 = 0; var27 < var12; ++var27) { - var39[var27].field2890 = var2.readUnsignedByte(); + var37[var27].field2907 = var2.readUnsignedByte(); } for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2890 > 0) { - var41.field2893 = var2.readUnsignedByte(); + var39 = var37[var27]; + if (var39.field2907 > 0) { + var39.field2906 = var2.readUnsignedByte(); } } for (var27 = 0; var27 < var12; ++var27) { - var41 = var39[var27]; - if (var41.field2893 > 0) { - var41.field2887 = var2.readUnsignedByte(); + var39 = var37[var27]; + if (var39.field2906 > 0) { + var39.field2908 = var2.readUnsignedByte(); } } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lao;[B[IB)Z", - garbageValue = "99" + descriptor = "(Lat;[B[II)Z", + garbageValue = "52937622" ) - boolean method4801(SoundCache var1, byte[] var2, int[] var3) { + boolean method4875(SoundCache var1, byte[] var2, int[] var3) { boolean var4 = true; int var5 = 0; RawSound var6 = null; for (int var7 = 0; var7 < 128; ++var7) { if (var2 == null || var2[var7] != 0) { - int var8 = this.field2950[var7]; + int var8 = this.field2967[var7]; if (var8 != 0) { - if (var8 != var5) { + if (var5 != var8) { var5 = var8--; if ((var8 & 1) == 0) { var6 = var1.getSoundEffect(var8 >> 2, var3); @@ -525,7 +507,7 @@ public class MusicPatch extends Node { if (var6 != null) { this.rawSounds[var7] = var6; - this.field2950[var7] = 0; + this.field2967[var7] = 0; } } } @@ -534,13 +516,13 @@ public class MusicPatch extends Node { return var4; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "109092183" + descriptor = "(S)V", + garbageValue = "24574" ) @Export("clear") void clear() { - this.field2950 = null; + this.field2967 = null; } } diff --git a/runescape-client/src/main/java/MusicPatchNode.java b/runescape-client/src/main/java/MusicPatchNode.java index 4fc0868e79..ca5575942d 100644 --- a/runescape-client/src/main/java/MusicPatchNode.java +++ b/runescape-client/src/main/java/MusicPatchNode.java @@ -4,255 +4,141 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("id") +@ObfuscatedName("ib") @Implements("MusicPatchNode") public class MusicPatchNode extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1145827779 + intValue = 594812203 ) - int field2970; - @ObfuscatedName("c") + int field2980; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Liz;" + descriptor = "Liq;" ) @Export("patch") MusicPatch patch; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lak;" + descriptor = "Laa;" ) @Export("rawSound") RawSound rawSound; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - MusicPatchNode2 field2972; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1760015417 - ) - int field2971; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -967389441 - ) - int field2986; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1294952877 - ) - int field2973; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1778257623 - ) - int field2979; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 263964623 - ) - int field2975; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -614430191 - ) - int field2976; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -871521907 - ) - int field2977; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -105685889 - ) - int field2978; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -323480327 - ) - int field2987; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 252790825 - ) - int field2980; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -875778091 - ) - int field2985; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -2005976257 - ) - int field2981; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1168824453 - ) - int field2983; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1881024645 - ) - int field2984; @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Laj;" + descriptor = "Lil;" + ) + MusicPatchNode2 field2981; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 481741389 + ) + int field2985; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1319618045 + ) + int field2988; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 754199743 + ) + int field2984; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -986353547 + ) + int field2982; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1048231541 + ) + int field2986; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -40565163 + ) + int field2987; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1800306941 + ) + int field2983; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1955629255 + ) + int field2989; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 20741255 + ) + int field2990; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 723943993 + ) + int field2991; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 804975845 + ) + int field2978; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1338086521 + ) + int field2993; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1413692333 + ) + int field2994; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 306416011 + ) + int field2995; + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lan;" ) @Export("stream") RawPcmStream stream; - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = -2041811507 + intValue = -367314443 ) - int field2982; - @ObfuscatedName("t") + int field2997; + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 1634328239 + intValue = -1969010689 ) - int field2988; + int field2998; MusicPatchNode() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "290970770" + garbageValue = "1742353306" ) - void method4850() { + void method4913() { this.patch = null; this.rawSound = null; - this.field2972 = null; + this.field2981 = null; this.stream = null; } - @ObfuscatedName("o") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(Loq;II)Z", - garbageValue = "1821740156" + descriptor = "(I)V", + garbageValue = "-1553277832" ) - @Export("updateExternalPlayer") - static boolean updateExternalPlayer(PacketBuffer var0, int var1) { - int var2 = var0.readBits(2); - int var3; - int var4; - int var7; - int var8; - int var9; - int var10; - if (var2 == 0) { - if (var0.readBits(1) != 0) { - updateExternalPlayer(var0, var1); - } - - var3 = var0.readBits(13); - var4 = var0.readBits(13); - boolean var12 = var0.readBits(1) == 1; - if (var12) { - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } - - if (Client.players[var1] != null) { - throw new RuntimeException(); - } else { - Player var11 = Client.players[var1] = new Player(); - var11.index = var1; - if (Players.field1246[var1] != null) { - var11.read(Players.field1246[var1]); - } - - var11.orientation = Players.Players_orientations[var1]; - var11.targetIndex = Players.Players_targetIndices[var1]; - var7 = Players.Players_regions[var1]; - var8 = var7 >> 28; - var9 = var7 >> 14 & 255; - var10 = var7 & 255; - var11.pathTraversed[0] = Players.field1245[var1]; - var11.plane = (byte)var8; - var11.resetPath((var9 << 13) + var3 - FloorOverlayDefinition.baseX, (var10 << 13) + var4 - class320.baseY); - var11.field1074 = false; - return true; - } - } else if (var2 == 1) { - var3 = var0.readBits(2); - var4 = Players.Players_regions[var1]; - Players.Players_regions[var1] = (var4 & 268435455) + (((var4 >> 28) + var3 & 3) << 28); - return false; - } else { - int var5; - int var6; - if (var2 == 2) { - var3 = var0.readBits(5); - var4 = var3 >> 3; - var5 = var3 & 7; - var6 = Players.Players_regions[var1]; - var7 = (var6 >> 28) + var4 & 3; - var8 = var6 >> 14 & 255; - var9 = var6 & 255; - if (var5 == 0) { - --var8; - --var9; - } - - if (var5 == 1) { - --var9; - } - - if (var5 == 2) { - ++var8; - --var9; - } - - if (var5 == 3) { - --var8; - } - - if (var5 == 4) { - ++var8; - } - - if (var5 == 5) { - --var8; - ++var9; - } - - if (var5 == 6) { - ++var9; - } - - if (var5 == 7) { - ++var8; - ++var9; - } - - Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); - return false; - } else { - var3 = var0.readBits(18); - var4 = var3 >> 16; - var5 = var3 >> 8 & 255; - var6 = var3 & 255; - var7 = Players.Players_regions[var1]; - var8 = (var7 >> 28) + var4 & 3; - var9 = var5 + (var7 >> 14) & 255; - var10 = var7 + var6 & 255; - Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); - return false; - } - } - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "1415302167" - ) - static int method4849(int var0) { - return (int)((Math.log((double)var0) / Interpreter.field831 - 7.0D) * 256.0D); + static final void method4912() { + Object var10000 = null; + String var0 = "You can't add yourself to your own friend list"; + GraphicsDefaults.addGameMessage(30, "", var0); } } diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index 20614ea604..c9e8ee3508 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -4,79 +4,55 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ib") +@ObfuscatedName("il") @Implements("MusicPatchNode2") public class MusicPatchNode2 { - @ObfuscatedName("n") - byte[] field2896; - @ObfuscatedName("c") - byte[] field2888; + @ObfuscatedName("qu") + @ObfuscatedSignature( + descriptor = "Lpa;" + ) + @Export("privateChatMode") + static PrivateChatMode privateChatMode; + @ObfuscatedName("l") + byte[] field2903; + @ObfuscatedName("q") + byte[] field2901; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -105556407 + ) + int field2902; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1269066503 + ) + int field2900; @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -384855677 + intValue = -1246487845 ) - int field2889; + int field2904; @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1941614975 + intValue = -491530791 ) - int field2895; - @ObfuscatedName("o") + int field2905; + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 420962895 + intValue = -1598765927 ) - int field2891; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1489655771 - ) - int field2892; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1036239603 - ) - int field2893; + int field2906; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -367363133 + intValue = -312422877 ) - int field2890; - @ObfuscatedName("u") + int field2907; + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -765214951 + intValue = -2091086913 ) - int field2887; + int field2908; MusicPatchNode2() { } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(IIIZIZB)V", - garbageValue = "-4" - ) - @Export("doWorldSorting") - static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { - if (var0 < var1) { - int var6 = (var0 + var1) / 2; - int var7 = var0; - World var8 = class393.World_worlds[var6]; - class393.World_worlds[var6] = class393.World_worlds[var1]; - class393.World_worlds[var1] = var8; - - for (int var9 = var0; var9 < var1; ++var9) { - if (InvDefinition.method2811(class393.World_worlds[var9], var8, var2, var3, var4, var5) <= 0) { - World var10 = class393.World_worlds[var9]; - class393.World_worlds[var9] = class393.World_worlds[var7]; - class393.World_worlds[var7++] = var10; - } - } - - class393.World_worlds[var1] = class393.World_worlds[var7]; - class393.World_worlds[var7] = var8; - doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); - doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); - } - - } } diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index f0a37a42c3..f0fd90dea5 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -2,38 +2,31 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("iv") +@ObfuscatedName("ih") @Implements("MusicPatchPcmStream") public class MusicPatchPcmStream extends PcmStream { - @ObfuscatedName("ru") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lae;" - ) - @Export("pcmStreamMixer") - static PcmStreamMixer pcmStreamMixer; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Liw;" + descriptor = "Lig;" ) @Export("superStream") MidiPcmStream superStream; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("queue") NodeDeque queue; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lae;" + descriptor = "Lao;" ) @Export("mixer") PcmStreamMixer mixer; @ObfuscatedSignature( - descriptor = "(Liw;)V" + descriptor = "(Lig;)V" ) MusicPatchPcmStream(MidiPcmStream var1) { this.queue = new NodeDeque(); @@ -41,48 +34,48 @@ public class MusicPatchPcmStream extends PcmStream { this.superStream = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lid;[IIIIB)V", - garbageValue = "0" + descriptor = "(Lib;[IIIII)V", + garbageValue = "-1501079312" ) - void method4816(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { - if ((this.superStream.field2929[var1.field2970] & 4) != 0 && var1.field2985 < 0) { - int var6 = this.superStream.field2924[var1.field2970] / class276.field3287; + void method4890(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { + if ((this.superStream.field2948[var1.field2980] & 4) != 0 && var1.field2978 < 0) { + int var6 = this.superStream.field2939[var1.field2980] / PcmPlayer.field279; while (true) { - int var7 = (var6 + 1048575 - var1.field2988) / var6; + int var7 = (var6 + 1048575 - var1.field2998) / var6; if (var7 > var4) { - var1.field2988 += var4 * var6; + var1.field2998 += var6 * var4; break; } var1.stream.fill(var2, var3, var7); var3 += var7; var4 -= var7; - var1.field2988 += var7 * var6 - 1048576; - int var8 = class276.field3287 / 100; + var1.field2998 += var6 * var7 - 1048576; + int var8 = PcmPlayer.field279 / 100; int var9 = 262144 / var6; if (var9 < var8) { var8 = var9; } RawPcmStream var10 = var1.stream; - if (this.superStream.field2925[var1.field2970] == 0) { - var1.stream = RawPcmStream.method798(var1.rawSound, var10.method859(), var10.method804(), var10.method805()); + if (this.superStream.field2937[var1.field2980] == 0) { + var1.stream = RawPcmStream.method794(var1.rawSound, var10.method797(), var10.method852(), var10.method801()); } else { - var1.stream = RawPcmStream.method798(var1.rawSound, var10.method859(), 0, var10.method805()); - this.superStream.method4632(var1, var1.patch.field2949[var1.field2986] < 0); - var1.stream.method799(var8, var10.method804()); + var1.stream = RawPcmStream.method794(var1.rawSound, var10.method797(), 0, var10.method801()); + this.superStream.method4802(var1, var1.patch.field2965[var1.field2988] < 0); + var1.stream.method805(var8, var10.method852()); } - if (var1.patch.field2949[var1.field2986] < 0) { + if (var1.patch.field2965[var1.field2988] < 0) { var1.stream.setNumLoops(-1); } - var10.method811(var8); + var10.method807(var8); var10.fill(var2, var3, var5 - var3); - if (var10.method815()) { + if (var10.method920()) { this.mixer.addSubStream(var10); } } @@ -91,38 +84,38 @@ public class MusicPatchPcmStream extends PcmStream { var1.stream.fill(var2, var3, var4); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lid;II)V", - garbageValue = "630367829" + descriptor = "(Lib;IB)V", + garbageValue = "32" ) - void method4817(MusicPatchNode var1, int var2) { - if ((this.superStream.field2929[var1.field2970] & 4) != 0 && var1.field2985 < 0) { - int var3 = this.superStream.field2924[var1.field2970] / class276.field3287; - int var4 = (var3 + 1048575 - var1.field2988) / var3; - var1.field2988 = var3 * var2 + var1.field2988 & 1048575; + void method4891(MusicPatchNode var1, int var2) { + if ((this.superStream.field2948[var1.field2980] & 4) != 0 && var1.field2978 < 0) { + int var3 = this.superStream.field2939[var1.field2980] / PcmPlayer.field279; + int var4 = (var3 + 1048575 - var1.field2998) / var3; + var1.field2998 = var3 * var2 + var1.field2998 & 1048575; if (var4 <= var2) { - if (this.superStream.field2925[var1.field2970] == 0) { - var1.stream = RawPcmStream.method798(var1.rawSound, var1.stream.method859(), var1.stream.method804(), var1.stream.method805()); + if (this.superStream.field2937[var1.field2980] == 0) { + var1.stream = RawPcmStream.method794(var1.rawSound, var1.stream.method797(), var1.stream.method852(), var1.stream.method801()); } else { - var1.stream = RawPcmStream.method798(var1.rawSound, var1.stream.method859(), 0, var1.stream.method805()); - this.superStream.method4632(var1, var1.patch.field2949[var1.field2986] < 0); + var1.stream = RawPcmStream.method794(var1.rawSound, var1.stream.method797(), 0, var1.stream.method801()); + this.superStream.method4802(var1, var1.patch.field2965[var1.field2988] < 0); } - if (var1.patch.field2949[var1.field2986] < 0) { + if (var1.patch.field2965[var1.field2988] < 0) { var1.stream.setNumLoops(-1); } - var2 = var1.field2988 / var3; + var2 = var1.field2998 / var3; } } var1.stream.skip(var2); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { @@ -134,9 +127,9 @@ public class MusicPatchPcmStream extends PcmStream { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { @@ -152,230 +145,149 @@ public class MusicPatchPcmStream extends PcmStream { } @ObfuscatedName("a") - protected int vmethod4836() { + protected int vmethod4889() { return 0; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("fill") protected void fill(int[] var1, int var2, int var3) { this.mixer.fill(var1, var2, var3); for (MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method4651(var6)) { + if (!this.superStream.method4797(var6)) { int var4 = var2; int var5 = var3; do { - if (var5 <= var6.field2982) { - this.method4816(var6, var1, var4, var5, var4 + var5); - var6.field2982 -= var5; + if (var5 <= var6.field2997) { + this.method4890(var6, var1, var4, var5, var4 + var5); + var6.field2997 -= var5; break; } - this.method4816(var6, var1, var4, var6.field2982, var5 + var4); - var4 += var6.field2982; - var5 -= var6.field2982; - } while(!this.superStream.method4668(var6, var1, var4, var5)); + this.method4890(var6, var1, var4, var6.field2997, var5 + var4); + var4 += var6.field2997; + var5 -= var6.field2997; + } while(!this.superStream.method4739(var6, var1, var4, var5)); + } + } + + } + + @ObfuscatedName("y") + @Export("skip") + protected void skip(int var1) { + this.mixer.skip(var1); + + for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method4797(var3)) { + int var2 = var1; + + do { + if (var2 <= var3.field2997) { + this.method4891(var3, var2); + var3.field2997 -= var2; + break; + } + + this.method4891(var3, var3.field2997); + var2 -= var3.field2997; + } while(!this.superStream.method4739(var3, (int[])null, 0, var2)); } } } @ObfuscatedName("l") - @Export("skip") - protected void skip(int var1) { - this.mixer.skip(var1); + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lkn;S)I", + garbageValue = "7731" + ) + @Export("compareStrings") + public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { + int var3 = var0.length(); + int var4 = var1.length(); + int var5 = 0; + int var6 = 0; + char var7 = 0; + char var8 = 0; - for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method4651(var3)) { - int var2 = var1; + while (var5 - var7 < var3 || var6 - var8 < var4) { + if (var5 - var7 >= var3) { + return -1; + } - do { - if (var2 <= var3.field2982) { - this.method4817(var3, var2); - var3.field2982 -= var2; - break; - } + if (var6 - var8 >= var4) { + return 1; + } - this.method4817(var3, var3.field2982); - var2 -= var3.field2982; - } while(!this.superStream.method4668(var3, (int[])null, 0, var2)); + char var9; + if (var7 != 0) { + var9 = var7; + boolean var14 = false; + } else { + var9 = var0.charAt(var5++); + } + + char var10; + if (var8 != 0) { + var10 = var8; + boolean var15 = false; + } else { + var10 = var1.charAt(var6++); + } + + var7 = class17.method244(var9); + var8 = class17.method244(var10); + var9 = TileItem.standardizeChar(var9, var2); + var10 = TileItem.standardizeChar(var10, var2); + if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { + var9 = Character.toLowerCase(var9); + var10 = Character.toLowerCase(var10); + if (var10 != var9) { + return UserComparator4.lowercaseChar(var9, var2) - UserComparator4.lowercaseChar(var10, var2); + } } } - } + int var16 = Math.min(var3, var4); - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "1" - ) - static int method4837(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_FIND_LISTENED) { - if (AttackOption.guestClanSettings != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - class317.field3858 = AttackOption.guestClanSettings; + char var12; + int var17; + for (var17 = 0; var17 < var16; ++var17) { + if (var2 == Language.Language_FR) { + var5 = var3 - 1 - var17; + var6 = var4 - 1 - var17; } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; + var6 = var17; + var5 = var17; } - return 1; + char var11 = var0.charAt(var5); + var12 = var1.charAt(var6); + if (var12 != var11 && Character.toUpperCase(var11) != Character.toUpperCase(var12)) { + var11 = Character.toLowerCase(var11); + var12 = Character.toLowerCase(var12); + if (var11 != var12) { + return UserComparator4.lowercaseChar(var11, var2) - UserComparator4.lowercaseChar(var12, var2); + } + } + } + + var17 = var3 - var4; + if (var17 != 0) { + return var17; } else { - int var3; - if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_FIND_AFFINED) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (Client.currentClanSettings[var3] != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - class317.field3858 = Client.currentClanSettings[var3]; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCLANNAME) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class317.field3858.name; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETALLOWUNAFFINED) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.allowGuests ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKTALK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1448; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKKICK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1456; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKLOOTSHARE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1457; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCOINSHARE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1458; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDCOUNT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.memberCount; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDDISPLAYNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class317.field3858.memberNames[var3]; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDRANK) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.memberRanks[var3]; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETBANNEDCOUNT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.bannedMemberCount; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETBANNEDDISPLAYNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class317.field3858.bannedMemberNames[var3]; - return 1; - } else { - int var5; - int var6; - if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDEXTRAINFO) { - class240.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.method2556(var3, var6, var5); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCURRENTOWNER_SLOT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.currentOwner; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETREPLACEMENTOWNER_SLOT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1467; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDSLOT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.method2555(Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETSORTEDAFFINEDSLOT) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = class317.field3858.getSortedMembers()[Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1]]; - return 1; - } else if (var0 == ScriptOpcodes.AFFINEDCLANSETTINGS_ADDBANNED_FROMCHANNEL) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - SoundSystem.method778(var6, var3); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDJOINRUNEDAY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1464[var3]; - return 1; - } else { - if (var0 == ScriptOpcodes.AFFINEDCLANSETTINGS_SETMUTED_FROMCHANNEL) { - class240.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - boolean var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] == 1; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - AttackOption.method2253(var5, var3, var4); - } - - if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDMUTED) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class317.field3858.field1465[var3] ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_FIND_LISTENED) { - if (WorldMapSectionType.guestClanChannel != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - KeyHandler.field146 = WorldMapSectionType.guestClanChannel; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_FIND_AFFINED) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (Client.currentClanChannels[var3] != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - KeyHandler.field146 = Client.currentClanChannels[var3]; - ApproximateRouteStrategy.field466 = var3; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETCLANNAME) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = KeyHandler.field146.name; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETRANKKICK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = KeyHandler.field146.field1513; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETRANKTALK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = KeyHandler.field146.field1518; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERCOUNT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = KeyHandler.field146.method2677(); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERDISPLAYNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ((ClanChannelMember)KeyHandler.field146.members.get(var3)).username.getName(); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERRANK) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((ClanChannelMember)KeyHandler.field146.members.get(var3)).rank; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERWORLD) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ((ClanChannelMember)KeyHandler.field146.members.get(var3)).world; - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_KICKUSER) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - class361.method6282(ApproximateRouteStrategy.field466, var3); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERSLOT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = KeyHandler.field146.method2674(Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - return 1; - } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETSORTEDUSERSLOT) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = KeyHandler.field146.getSortedMembers()[Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1]]; - return 1; - } else if (var0 == ScriptOpcodes.CLANPROFILE_FIND) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class117.field1388 != null ? 1 : 0; - return 1; - } else { - return 2; - } + for (int var18 = 0; var18 < var16; ++var18) { + var12 = var0.charAt(var18); + char var13 = var1.charAt(var18); + if (var12 != var13) { + return UserComparator4.lowercaseChar(var12, var2) - UserComparator4.lowercaseChar(var13, var2); } } + + return 0; } } } diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index 39f1e6b132..26df5503a2 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -3,16 +3,16 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ic") +@ObfuscatedName("im") @Implements("MusicTrack") public class MusicTrack extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("table") NodeHashTable table; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("midi") byte[] midi; @@ -335,8 +335,8 @@ public class MusicTrack extends Node { } - @ObfuscatedName("c") - void method4840() { + @ObfuscatedName("q") + void method4904() { if (this.table == null) { this.table = new NodeHashTable(16); int[] var1 = new int[16]; @@ -416,18 +416,18 @@ public class MusicTrack extends Node { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("clear") void clear() { this.table = null; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;II)Lic;" + descriptor = "(Lkl;II)Lim;" ) @Export("readTrack") - static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { + public static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { byte[] var3 = var0.takeFile(var1, var2); return var3 == null ? null : new MusicTrack(new Buffer(var3)); } diff --git a/runescape-client/src/main/java/NPC.java b/runescape-client/src/main/java/NPC.java index 7f9d960562..cd6bc422a3 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -1,15 +1,14 @@ -import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cr") +@ObfuscatedName("cw") @Implements("NPC") public final class NPC extends Actor { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lfq;" + descriptor = "Lfg;" ) @Export("definition") NPCComposition definition; @@ -17,12 +16,12 @@ public final class NPC extends Actor { NPC() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IBI)V", - garbageValue = "-1998383743" + descriptor = "(IBB)V", + garbageValue = "20" ) - final void method2212(int var1, byte var2) { + final void method2223(int var1, byte var2) { int var3 = super.pathX[0]; int var4 = super.pathY[0]; if (var1 == 0) { @@ -61,7 +60,7 @@ public final class NPC extends Actor { --var4; } - if (super.sequence != -1 && class17.SequenceDefinition_get(super.sequence).field1960 == 1) { + if (super.sequence != -1 && KitDefinition.SequenceDefinition_get(super.sequence).field1960 == 1) { super.sequence = -1; } @@ -80,18 +79,18 @@ public final class NPC extends Actor { super.pathTraversed[0] = var2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected final Model getModel() { if (this.definition == null) { return null; } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? class17.SequenceDefinition_get(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence == -1 || super.idleSequence == super.movementSequence && var1 != null ? null : class17.SequenceDefinition_get(super.movementSequence); + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? KitDefinition.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence == -1 || super.idleSequence == super.movementSequence && var1 != null ? null : KitDefinition.SequenceDefinition_get(super.movementSequence); Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); if (var3 == null) { return null; @@ -99,9 +98,9 @@ public final class NPC extends Actor { var3.calculateBoundsCylinder(); super.defaultHeight = var3.height; if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - Model var4 = TaskHandler.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + Model var4 = class21.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { - var4.offsetBy(0, -super.field1134, 0); + var4.offsetBy(0, -super.field1147, 0); Model[] var5 = new Model[]{var3, var4}; var3 = new Model(var5, 2); } @@ -116,13 +115,13 @@ public final class NPC extends Actor { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIZI)V", - garbageValue = "866261786" + descriptor = "(IIZB)V", + garbageValue = "97" ) - final void method2224(int var1, int var2, boolean var3) { - if (super.sequence != -1 && class17.SequenceDefinition_get(super.sequence).field1960 == 1) { + final void method2234(int var1, int var2, boolean var3) { + if (super.sequence != -1 && KitDefinition.SequenceDefinition_get(super.sequence).field1960 == 1) { super.sequence = -1; } @@ -148,115 +147,88 @@ public final class NPC extends Actor { } super.pathLength = 0; - super.field1152 = 0; - super.field1151 = 0; + super.field1129 = 0; + super.field1164 = 0; super.pathX[0] = var1; super.pathY[0] = var2; - super.x = super.field1137 * 64 + super.pathX[0] * 128; - super.y = super.field1137 * 64 + super.pathY[0] * 128; + super.x = super.pathX[0] * 128 + super.field1109 * 64; + super.y = super.field1109 * 64 + super.pathY[0] * 128; } - @ObfuscatedName("q") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1101417957" + garbageValue = "-1841514183" ) @Export("isVisible") final boolean isVisible() { return this.definition != null; } - @ObfuscatedName("h") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "-351821257" + descriptor = "(S)I", + garbageValue = "-3271" ) - static final boolean method2225(int var0, int var1) { - ObjectComposition var2 = HitSplatDefinition.getObjectDefinition(var0); - if (var1 == 11) { - var1 = 10; - } - - if (var1 >= 5 && var1 <= 8) { - var1 = 4; - } - - return var2.method3128(var1); + static final int method2232() { + return ViewportMouse.ViewportMouse_x; } - @ObfuscatedName("hm") + @ObfuscatedName("x") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-22305198" + descriptor = "(B)V", + garbageValue = "-57" ) - static final void method2221(boolean var0) { - class1.playPcmPlayers(); - ++Client.packetWriter.pendingWrites; - if (Client.packetWriter.pendingWrites >= 50 || var0) { - Client.packetWriter.pendingWrites = 0; - if (!Client.hadNetworkError && Client.packetWriter.getSocket() != null) { - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2704, Client.packetWriter.isaacCipher); - Client.packetWriter.addNode(var1); - - try { - Client.packetWriter.flush(); - } catch (IOException var3) { - Client.hadNetworkError = true; - } - } - - } + static void method2233() { + class112.method2474(24); + class17.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); } - @ObfuscatedName("ha") + @ObfuscatedName("ex") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "18" + descriptor = "(S)V", + garbageValue = "-7381" ) - static void method2214(int var0, int var1) { - int var2 = class11.fontBold12.stringWidth("Choose Option"); + static void method2235() { + Client.packetWriter.clearBuffer(); + Client.packetWriter.packetBuffer.offset = 0; + Client.packetWriter.serverPacket = null; + Client.packetWriter.field1281 = null; + Client.packetWriter.field1293 = null; + Client.packetWriter.field1288 = null; + Client.packetWriter.serverPacketLength = 0; + Client.packetWriter.field1290 = 0; + Client.rebootTimer = 0; + class7.method46(); + Client.minimapState = 0; + Client.destinationX = 0; - int var3; - for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { - Font var7 = class11.fontBold12; - String var8; - if (var3 < 0) { - var8 = ""; - } else if (Client.menuTargets[var3].length() > 0) { - var8 = Client.menuActions[var3] + " " + Client.menuTargets[var3]; - } else { - var8 = Client.menuActions[var3]; - } + int var0; + for (var0 = 0; var0 < 2048; ++var0) { + Client.players[var0] = null; + } - int var6 = var7.stringWidth(var8); - if (var6 > var2) { - var2 = var6; + class67.localPlayer = null; + + for (var0 = 0; var0 < Client.npcs.length; ++var0) { + NPC var1 = Client.npcs[var0]; + if (var1 != null) { + var1.targetIndex = -1; + var1.false0 = false; } } - var2 += 8; - var3 = Client.menuOptionsCount * 15 + 22; - int var4 = var0 - var2 / 2; - if (var4 + var2 > InvDefinition.canvasWidth) { - var4 = InvDefinition.canvasWidth - var2; + ItemContainer.itemContainers = new NodeHashTable(32); + UserList.updateGameState(30); + + for (var0 = 0; var0 < 100; ++var0) { + Client.field710[var0] = true; } - if (var4 < 0) { - var4 = 0; - } - - int var5 = var1; - if (var3 + var1 > GameEngine.canvasHeight) { - var5 = GameEngine.canvasHeight - var3; - } - - if (var5 < 0) { - var5 = 0; - } - - WorldMapRegion.menuX = var4; - ApproximateRouteStrategy.menuY = var5; - VarcInt.menuWidth = var2; - WorldMapLabelSize.menuHeight = Client.menuOptionsCount * 15 + 22; + PacketBufferNode var2 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2718, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(class12.getWindowedMode()); + var2.packetBuffer.writeShort(Huffman.canvasWidth); + var2.packetBuffer.writeShort(MouseRecorder.canvasHeight); + Client.packetWriter.addNode(var2); } } diff --git a/runescape-client/src/main/java/NPCComposition.java b/runescape-client/src/main/java/NPCComposition.java index ed61c1b0e4..9dff0cdf5d 100644 --- a/runescape-client/src/main/java/NPCComposition.java +++ b/runescape-client/src/main/java/NPCComposition.java @@ -4,183 +4,177 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fq") +@ObfuscatedName("fg") @Implements("NPCComposition") public class NPCComposition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("NpcDefinition_archive") - public static AbstractArchive NpcDefinition_archive; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("NpcDefinition_modelArchive") - public static AbstractArchive NpcDefinition_modelArchive; - @ObfuscatedName("m") + static AbstractArchive NpcDefinition_modelArchive; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("NpcDefinition_cached") - static EvictingDualNodeHashTable NpcDefinition_cached; - @ObfuscatedName("k") + public static EvictingDualNodeHashTable NpcDefinition_cached; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("NpcDefinition_cachedModels") - static EvictingDualNodeHashTable NpcDefinition_cachedModels; - @ObfuscatedName("o") + public static EvictingDualNodeHashTable NpcDefinition_cachedModels; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -271405961 + intValue = -1515289597 ) @Export("id") public int id; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("name") public String name; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1831858613 + intValue = -1088018541 ) @Export("size") public int size; @ObfuscatedName("a") @Export("models") int[] models; - @ObfuscatedName("u") - int[] field1723; @ObfuscatedName("e") + int[] field1718; + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1016301343 + intValue = 1270107499 ) @Export("idleSequence") public int idleSequence; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -1169910643 + intValue = -1171504345 ) @Export("turnLeftSequence") public int turnLeftSequence; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -212293963 + intValue = 394531495 ) @Export("turnRightSequence") public int turnRightSequence; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = -1019485581 + intValue = -232736363 ) @Export("walkSequence") public int walkSequence; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 2095807027 + intValue = -881733323 ) @Export("walkBackSequence") public int walkBackSequence; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 1119551591 + intValue = 1920207017 ) @Export("walkLeftSequence") public int walkLeftSequence; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 1225672311 + intValue = 1537396939 ) @Export("walkRightSequence") public int walkRightSequence; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("recolorFrom") short[] recolorFrom; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("recolorTo") short[] recolorTo; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("retextureFrom") short[] retextureFrom; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("retextureTo") short[] retextureTo; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("actions") public String[] actions; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("drawMapDot") public boolean drawMapDot; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = 803139889 + intValue = -1028709613 ) @Export("combatLevel") public int combatLevel; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -695397195 + intValue = -529562005 ) @Export("widthScale") int widthScale; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = -1585899467 + intValue = -2054988051 ) @Export("heightScale") int heightScale; - @ObfuscatedName("i") + @ObfuscatedName("d") @Export("isVisible") public boolean isVisible; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = -2121359709 + intValue = -162717189 ) @Export("ambient") int ambient; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = -753201783 + intValue = 828954615 ) @Export("contrast") int contrast; - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedGetter( - intValue = -445155045 + intValue = 725954355 ) @Export("headIconPrayer") public int headIconPrayer; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = -689266547 + intValue = -1149818581 ) @Export("rotation") public int rotation; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("transforms") public int[] transforms; - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedGetter( - intValue = -1940992813 + intValue = 860386671 ) @Export("transformVarbit") int transformVarbit; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = 1124671977 + intValue = 2079885181 ) @Export("transformVarp") int transformVarp; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("isInteractable") public boolean isInteractable; - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("isClickable") public boolean isClickable; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @Export("isFollower") public boolean isFollower; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedSignature( descriptor = "Lnz;" ) @@ -219,19 +213,19 @@ public class NPCComposition extends DualNode { this.isFollower = false; } - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-28" + descriptor = "(I)V", + garbageValue = "-1073909210" ) @Export("postDecode") void postDecode() { } - @ObfuscatedName("m") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "793652104" + garbageValue = "-269433107" ) @Export("decode") void decode(Buffer var1) { @@ -245,10 +239,10 @@ public class NPCComposition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "846040716" + descriptor = "(Lot;IB)V", + garbageValue = "32" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -305,10 +299,10 @@ public class NPCComposition extends DualNode { } } else if (var2 == 60) { var3 = var1.readUnsignedByte(); - this.field1723 = new int[var3]; + this.field1718 = new int[var3]; for (var4 = 0; var4 < var3; ++var4) { - this.field1723[var4] = var1.readUnsignedShort(); + this.field1718[var4] = var1.readUnsignedShort(); } } else if (var2 == 93) { this.drawMapDot = false; @@ -336,7 +330,7 @@ public class NPCComposition extends DualNode { } else if (var2 == 111) { this.isFollower = true; } else if (var2 == 249) { - this.params = class123.readStringIntParameters(var1, this.params); + this.params = KeyHandler.readStringIntParameters(var1, this.params); } } else { this.transformVarbit = var1.readUnsignedShort(); @@ -372,10 +366,10 @@ public class NPCComposition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lfa;ILfa;II)Lhg;", - garbageValue = "1026899317" + descriptor = "(Lfe;ILfe;IB)Lhl;", + garbageValue = "122" ) @Export("getModel") public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { @@ -446,23 +440,23 @@ public class NPCComposition extends DualNode { } } - @ObfuscatedName("g") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)Lgl;", - garbageValue = "-223168743" + descriptor = "(B)Lgi;", + garbageValue = "-76" ) @Export("getModelData") public final ModelData getModelData() { if (this.transforms != null) { NPCComposition var7 = this.transform(); return var7 == null ? null : var7.getModelData(); - } else if (this.field1723 == null) { + } else if (this.field1718 == null) { return null; } else { boolean var1 = false; - for (int var2 = 0; var2 < this.field1723.length; ++var2) { - if (!NpcDefinition_modelArchive.tryLoadFile(this.field1723[var2], 0)) { + for (int var2 = 0; var2 < this.field1718.length; ++var2) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.field1718[var2], 0)) { var1 = true; } } @@ -470,10 +464,10 @@ public class NPCComposition extends DualNode { if (var1) { return null; } else { - ModelData[] var5 = new ModelData[this.field1723.length]; + ModelData[] var5 = new ModelData[this.field1718.length]; - for (int var3 = 0; var3 < this.field1723.length; ++var3) { - var5[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field1723[var3], 0); + for (int var3 = 0; var3 < this.field1718.length; ++var3) { + var5[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field1718[var3], 0); } ModelData var6; @@ -501,16 +495,16 @@ public class NPCComposition extends DualNode { } } - @ObfuscatedName("z") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)Lfq;", - garbageValue = "1490448229" + descriptor = "(I)Lfg;", + garbageValue = "-200662944" ) @Export("transform") public final NPCComposition transform() { int var1 = -1; if (this.transformVarbit != -1) { - var1 = class247.getVarbit(this.transformVarbit); + var1 = Varcs.getVarbit(this.transformVarbit); } else if (this.transformVarp != -1) { var1 = Varps.Varps_main[this.transformVarp]; } @@ -522,13 +516,13 @@ public class NPCComposition extends DualNode { var2 = this.transforms[this.transforms.length - 1]; } - return var2 != -1 ? ScriptEvent.getNpcDefinition(var2) : null; + return var2 != -1 ? class112.getNpcDefinition(var2) : null; } - @ObfuscatedName("a") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1952062" + descriptor = "(S)Z", + garbageValue = "-27313" ) @Export("transformIsVisible") public boolean transformIsVisible() { @@ -537,7 +531,7 @@ public class NPCComposition extends DualNode { } else { int var1 = -1; if (this.transformVarbit != -1) { - var1 = class247.getVarbit(this.transformVarbit); + var1 = Varcs.getVarbit(this.transformVarbit); } else if (this.transformVarp != -1) { var1 = Varps.Varps_main[this.transformVarp]; } @@ -550,10 +544,10 @@ public class NPCComposition extends DualNode { } } - @ObfuscatedName("u") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(IIB)I", - garbageValue = "-63" + garbageValue = "62" ) @Export("getIntParam") public int getIntParam(int var1, int var2) { @@ -573,22 +567,53 @@ public class NPCComposition extends DualNode { return var3; } - @ObfuscatedName("e") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)Ljava/lang/String;", - garbageValue = "1" + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "-664700971" ) @Export("getStringParam") public String getStringParam(int var1, String var2) { - return class124.method2544(this.params, var1, var2); + IterableNodeHashTable var4 = this.params; + String var3; + if (var4 == null) { + var3 = var2; + } else { + ObjectNode var5 = (ObjectNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = (String)var5.obj; + } + } + + return var3; } - @ObfuscatedName("m") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-110" + descriptor = "(IIII)I", + garbageValue = "1600615285" ) - public static boolean method2980(int var0) { - return var0 >= 0 && var0 < 112 ? KeyHandler.field124[var0] : false; + @Export("hslToRgb") + static final int hslToRgb(int var0, int var1, int var2) { + if (var2 > 179) { + var1 /= 2; + } + + if (var2 > 192) { + var1 /= 2; + } + + if (var2 > 217) { + var1 /= 2; + } + + if (var2 > 243) { + var1 /= 2; + } + + int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; + return var3; } } diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java index c9f872b1ff..2961e2743f 100644 --- a/runescape-client/src/main/java/NanoClock.java +++ b/runescape-client/src/main/java/NanoClock.java @@ -4,44 +4,44 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ej") +@ObfuscatedName("ek") @Implements("NanoClock") public class NanoClock extends Clock { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - longValue = -5383324702252343885L + longValue = 2235084272698611857L ) @Export("lastTimeNano") long lastTimeNano; - public NanoClock() { + NanoClock() { this.lastTimeNano = System.nanoTime(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2146592699" + garbageValue = "-973245062" ) @Export("mark") public void mark() { this.lastTimeNano = System.nanoTime(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "-1080855684" + garbageValue = "904483746" ) @Export("wait") public int wait(int var1, int var2) { - long var3 = 1000000L * (long)var2; + long var3 = (long)var2 * 1000000L; long var5 = this.lastTimeNano - System.nanoTime(); if (var5 < var3) { var5 = var3; } - PlayerType.method5099(var5 / 1000000L); + class121.method2542(var5 / 1000000L); long var7 = System.nanoTime(); int var9; diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index c2aaaa7670..174bcdce80 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -5,72 +5,77 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ks") +@ObfuscatedName("kb") @Implements("NetCache") public class NetCache { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmv;" + descriptor = "Lmk;" ) @Export("NetCache_socket") public static AbstractSocket NetCache_socket; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 963524213 + intValue = -639284241 ) @Export("NetCache_loadTime") public static int NetCache_loadTime; - @ObfuscatedName("k") + @ObfuscatedName("f") + @ObfuscatedGetter( + longValue = -8014822856304325521L + ) + public static long field3715; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("NetCache_pendingPriorityWrites") public static NodeHashTable NetCache_pendingPriorityWrites; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -922143367 + intValue = -729381363 ) @Export("NetCache_pendingPriorityWritesCount") public static int NetCache_pendingPriorityWritesCount; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("NetCache_pendingPriorityResponses") public static NodeHashTable NetCache_pendingPriorityResponses; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -2128365645 + intValue = 519470009 ) @Export("NetCache_pendingPriorityResponsesCount") public static int NetCache_pendingPriorityResponsesCount; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lkg;" + descriptor = "Lkz;" ) @Export("NetCache_pendingWritesQueue") public static DualNodeDeque NetCache_pendingWritesQueue; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("NetCache_pendingWrites") - public static NodeHashTable NetCache_pendingWrites; - @ObfuscatedName("e") + static NodeHashTable NetCache_pendingWrites; + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 939366245 + intValue = 1002321909 ) @Export("NetCache_pendingWritesCount") public static int NetCache_pendingWritesCount; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("NetCache_pendingResponses") public static NodeHashTable NetCache_pendingResponses; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1197767617 + intValue = 958917169 ) @Export("NetCache_pendingResponsesCount") public static int NetCache_pendingResponsesCount; @@ -80,45 +85,34 @@ public class NetCache { ) @Export("NetCache_responseHeaderBuffer") public static Buffer NetCache_responseHeaderBuffer; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1905341391 - ) - public static int field3736; - @ObfuscatedName("j") - @Export("NetCache_crc") - static CRC32 NetCache_crc; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lot;" - ) - @Export("NetCache_reference") - static Buffer NetCache_reference; @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -358118347 + ) + public static int field3726; + @ObfuscatedName("p") + @Export("NetCache_crc") + public static CRC32 NetCache_crc; + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "[Lkx;" + descriptor = "[Lky;" ) @Export("NetCache_archives") - static Archive[] NetCache_archives; - @ObfuscatedName("t") - public static byte field3735; + public static Archive[] NetCache_archives; + @ObfuscatedName("o") + public static byte field3724; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = 1579453389 + intValue = -240410497 ) @Export("NetCache_crcMismatches") public static int NetCache_crcMismatches; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = 177319997 + intValue = -720954157 ) @Export("NetCache_ioExceptions") public static int NetCache_ioExceptions; - @ObfuscatedName("gf") - @ObfuscatedSignature( - descriptor = "Lmv;" - ) - static AbstractSocket field3738; static { NetCache_loadTime = 0; @@ -132,220 +126,20 @@ public class NetCache { NetCache_pendingResponses = new NodeHashTable(4096); NetCache_pendingResponsesCount = 0; NetCache_responseHeaderBuffer = new Buffer(8); - field3736 = 0; + field3726 = 0; NetCache_crc = new CRC32(); NetCache_archives = new Archive[256]; - field3735 = 0; + field3724 = 0; NetCache_crcMismatches = 0; NetCache_ioExceptions = 0; } - @ObfuscatedName("k") + @ObfuscatedName("ep") @ObfuscatedSignature( - descriptor = "(Loq;II)V", - garbageValue = "223072322" + descriptor = "(IS)I", + garbageValue = "29415" ) - @Export("readPlayerUpdate") - static void readPlayerUpdate(PacketBuffer var0, int var1) { - boolean var2 = var0.readBits(1) == 1; - if (var2) { - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } - - int var3 = var0.readBits(2); - Player var4 = Client.players[var1]; - if (var3 == 0) { - if (var2) { - var4.field1074 = false; - } else if (Client.localPlayerIndex == var1) { - throw new RuntimeException(); - } else { - Players.Players_regions[var1] = (var4.plane << 28) + (FloorOverlayDefinition.baseX + var4.pathX[0] >> 13 << 14) + (class320.baseY + var4.pathY[0] >> 13); - if (var4.field1096 != -1) { - Players.Players_orientations[var1] = var4.field1096; - } else { - Players.Players_orientations[var1] = var4.orientation; - } - - Players.Players_targetIndices[var1] = var4.targetIndex; - Client.players[var1] = null; - if (var0.readBits(1) != 0) { - MusicPatchNode.updateExternalPlayer(var0, var1); - } - - } - } else { - int var5; - int var6; - int var7; - if (var3 == 1) { - var5 = var0.readBits(3); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - --var6; - --var7; - } else if (var5 == 1) { - --var7; - } else if (var5 == 2) { - ++var6; - --var7; - } else if (var5 == 3) { - --var6; - } else if (var5 == 4) { - ++var6; - } else if (var5 == 5) { - --var6; - ++var7; - } else if (var5 == 6) { - ++var7; - } else if (var5 == 7) { - ++var6; - ++var7; - } - - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var6, var7); - var4.field1074 = false; - } else if (var2) { - var4.field1074 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field1074 = false; - var4.method2072(var6, var7, Players.field1245[var1]); - } - - } else if (var3 == 2) { - var5 = var0.readBits(4); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - var6 -= 2; - var7 -= 2; - } else if (var5 == 1) { - --var6; - var7 -= 2; - } else if (var5 == 2) { - var7 -= 2; - } else if (var5 == 3) { - ++var6; - var7 -= 2; - } else if (var5 == 4) { - var6 += 2; - var7 -= 2; - } else if (var5 == 5) { - var6 -= 2; - --var7; - } else if (var5 == 6) { - var6 += 2; - --var7; - } else if (var5 == 7) { - var6 -= 2; - } else if (var5 == 8) { - var6 += 2; - } else if (var5 == 9) { - var6 -= 2; - ++var7; - } else if (var5 == 10) { - var6 += 2; - ++var7; - } else if (var5 == 11) { - var6 -= 2; - var7 += 2; - } else if (var5 == 12) { - --var6; - var7 += 2; - } else if (var5 == 13) { - var7 += 2; - } else if (var5 == 14) { - ++var6; - var7 += 2; - } else if (var5 == 15) { - var6 += 2; - var7 += 2; - } - - if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field1074 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field1074 = false; - var4.method2072(var6, var7, Players.field1245[var1]); - } - } else { - var4.resetPath(var6, var7); - var4.field1074 = false; - } - - } else { - var5 = var0.readBits(1); - int var8; - int var9; - int var10; - int var11; - if (var5 == 0) { - var6 = var0.readBits(12); - var7 = var6 >> 10; - var8 = var6 >> 5 & 31; - if (var8 > 15) { - var8 -= 32; - } - - var9 = var6 & 31; - if (var9 > 15) { - var9 -= 32; - } - - var10 = var8 + var4.pathX[0]; - var11 = var9 + var4.pathY[0]; - if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field1074 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field1074 = false; - var4.method2072(var10, var11, Players.field1245[var1]); - } - } else { - var4.resetPath(var10, var11); - var4.field1074 = false; - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - class391.Client_plane = var4.plane; - } - - } else { - var6 = var0.readBits(30); - var7 = var6 >> 28; - var8 = var6 >> 14 & 16383; - var9 = var6 & 16383; - var10 = (var8 + FloorOverlayDefinition.baseX + var4.pathX[0] & 16383) - FloorOverlayDefinition.baseX; - var11 = (var9 + class320.baseY + var4.pathY[0] & 16383) - class320.baseY; - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var10, var11); - var4.field1074 = false; - } else if (var2) { - var4.field1074 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field1074 = false; - var4.method2072(var10, var11, Players.field1245[var1]); - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - class391.Client_plane = var4.plane; - } - - } - } - } + static int method5335(int var0) { + return var0 * 3 + 600; } } diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index f6524086e3..5a08d09ea7 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -3,26 +3,82 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("kl") +@ObfuscatedName("kr") @Implements("NetFileRequest") public class NetFileRequest extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("bn") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "[Loz;" + ) + @Export("worldSelectFlagSprites") + static IndexedSprite[] worldSelectFlagSprites; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lky;" ) @Export("archive") - Archive archive; - @ObfuscatedName("c") + public Archive archive; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 2088693695 + intValue = 782629149 ) @Export("crc") - int crc; - @ObfuscatedName("m") + public int crc; + @ObfuscatedName("f") @Export("padding") - byte padding; + public byte padding; NetFileRequest() { } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "32" + ) + static int method5215(int var0, Script var1, boolean var2) { + Widget var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Interpreter.Widget_unpackTargetMask(WorldMapRegion.getWidgetFlags(var3)); + return 1; + } else if (var0 != ScriptOpcodes.IF_GETOP) { + if (var0 == ScriptOpcodes.IF_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } + + @ObfuscatedName("jc") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1769707986" + ) + static void method5216(int var0) { + class137.tempMenuAction = new MenuAction(); + class137.tempMenuAction.param0 = Client.menuArguments1[var0]; + class137.tempMenuAction.param1 = Client.menuArguments2[var0]; + class137.tempMenuAction.opcode = Client.menuOpcodes[var0]; + class137.tempMenuAction.identifier = Client.menuIdentifiers[var0]; + class137.tempMenuAction.action = Client.menuActions[var0]; + } } diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index f6a9b8d777..2ffcbf601b 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -9,66 +9,66 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ey") +@ObfuscatedName("eq") @Implements("NetSocket") public final class NetSocket extends AbstractSocket implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("inputStream") InputStream inputStream; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("outputStream") OutputStream outputStream; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("socket") Socket socket; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("isClosed") boolean isClosed; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lei;" + descriptor = "Lew;" ) @Export("taskHandler") TaskHandler taskHandler; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Led;" + descriptor = "Lep;" ) @Export("task") Task task; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("outBuffer") byte[] outBuffer; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -667333841 + intValue = 64228111 ) @Export("outLength") int outLength; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -1790870427 + intValue = -1225005773 ) @Export("outOffset") int outOffset; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("exceptionWriting") boolean exceptionWriting; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1964059901 + intValue = -1364680617 ) @Export("bufferLength") final int bufferLength; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1087306249 + intValue = 562282025 ) @Export("maxPacketLength") final int maxPacketLength; @ObfuscatedSignature( - descriptor = "(Ljava/net/Socket;Lei;I)V" + descriptor = "(Ljava/net/Socket;Lew;I)V" ) public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { this.isClosed = false; @@ -87,10 +87,10 @@ public final class NetSocket extends AbstractSocket implements Runnable { this.outputStream = this.socket.getOutputStream(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "4535" + descriptor = "(B)V", + garbageValue = "82" ) @Export("close") public void close() { @@ -102,7 +102,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { if (this.task != null) { while (this.task.status == 0) { - PlayerType.method5099(1L); + class121.method2542(1L); } if (this.task.status == 1) { @@ -117,30 +117,30 @@ public final class NetSocket extends AbstractSocket implements Runnable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "61" + descriptor = "(I)I", + garbageValue = "1780579727" ) @Export("readUnsignedByte") public int readUnsignedByte() throws IOException { return this.isClosed ? 0 : this.inputStream.read(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1430321597" + garbageValue = "-973037380" ) @Export("available") public int available() throws IOException { return this.isClosed ? 0 : this.inputStream.available(); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "823949627" + garbageValue = "1444896063" ) @Export("isAvailable") public boolean isAvailable(int var1) throws IOException { @@ -151,10 +151,10 @@ public final class NetSocket extends AbstractSocket implements Runnable { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "593938417" + descriptor = "([BIIB)I", + garbageValue = "-95" ) @Export("read") public int read(byte[] var1, int var2, int var3) throws IOException { @@ -176,10 +176,10 @@ public final class NetSocket extends AbstractSocket implements Runnable { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "([BIII)V", - garbageValue = "195666295" + garbageValue = "-595308050" ) @Export("write0") void write0(byte[] var1, int var2, int var3) throws IOException { @@ -211,16 +211,20 @@ public final class NetSocket extends AbstractSocket implements Runnable { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "-4" + descriptor = "([BIII)V", + garbageValue = "34744814" ) @Export("write") public void write(byte[] var1, int var2, int var3) throws IOException { this.write0(var1, var2, var3); } + protected void finalize() { + this.close(); + } + public void run() { try { while (true) { @@ -288,384 +292,739 @@ public final class NetSocket extends AbstractSocket implements Runnable { break; } } catch (Exception var12) { - class4.RunException_sendStackTrace((String)null, var12); + Timer.RunException_sendStackTrace((String)null, var12); } } - protected void finalize() { - this.close(); - } - - @ObfuscatedName("c") + @ObfuscatedName("jt") @ObfuscatedSignature( - descriptor = "(Loq;II)V", - garbageValue = "-1829651268" + descriptor = "([Ljt;IIIIIIII)V", + garbageValue = "-1869805542" ) - @Export("updatePlayers") - static final void updatePlayers(PacketBuffer var0, int var1) { - int var2 = var0.offset; - Players.Players_pendingUpdateCount = 0; - int var3 = 0; - var0.importIndex(); + @Export("updateInterface") + static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for (int var8 = 0; var8 < var0.length; ++var8) { + Widget var9 = var0[var8]; + if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || WorldMapRegion.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { + if (var9.isIf3) { + if (ObjectSound.isComponentHidden(var9)) { + continue; + } + } else if (var9.type == 0 && var9 != VarpDefinition.mousedOverWidgetIf1 && ObjectSound.isComponentHidden(var9)) { + continue; + } - int var4; - int var6; - byte[] var10000; - int var19; - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var19 = Players.Players_indices[var4]; - if ((Players.field1244[var19] & 1) == 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); + int var10 = var9.x + var6; + int var11 = var7 + var9.y; + int var12; + int var13; + int var14; + int var15; + int var17; + int var18; + if (var9.type == 2) { + var12 = var2; + var13 = var3; + var14 = var4; + var15 = var5; } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = ReflectionCheck.method1083(var0); - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); + int var16; + if (var9.type == 9) { + var16 = var10; + var17 = var11; + var18 = var10 + var9.width; + int var19 = var11 + var9.height; + if (var18 < var10) { + var16 = var18; + var18 = var10; + } + + if (var19 < var11) { + var17 = var19; + var19 = var11; + } + + ++var18; + ++var19; + var12 = var16 > var2 ? var16 : var2; + var13 = var17 > var3 ? var17 : var3; + var14 = var18 < var4 ? var18 : var4; + var15 = var19 < var5 ? var19 : var5; } else { - NetCache.readPlayerUpdate(var0, var19); + var16 = var10 + var9.width; + var17 = var11 + var9.height; + var12 = var10 > var2 ? var10 : var2; + var13 = var11 > var3 ? var11 : var3; + var14 = var16 < var4 ? var16 : var4; + var15 = var17 < var5 ? var17 : var5; } } - } - } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + if (var9 == Client.clickedWidget) { + Client.field671 = true; + Client.field672 = var10; + Client.field608 = var11; + } - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var19 = Players.Players_indices[var4]; - if ((Players.field1244[var19] & 1) != 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = ReflectionCheck.method1083(var0); - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } else { - NetCache.readPlayerUpdate(var0, var19); + boolean var33 = false; + if (var9.field3121) { + switch(Client.field509) { + case 0: + var33 = true; + case 1: + default: + break; + case 2: + if (Client.field673 == var9.id >>> 16) { + var33 = true; + } + break; + case 3: + if (var9.id == Client.field673) { + var33 = true; } } } - } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + if (var33 || !var9.isIf3 || var12 < var14 && var13 < var15) { + if (var9.isIf3) { + ScriptEvent var26; + if (var9.noClickThrough) { + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var26.isMouseInputEvent) { + var26.remove(); + var26.widget.containsMouse = false; + } + } - for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { - var19 = Players.Players_emptyIndices[var4]; - if ((Players.field1244[var19] & 1) != 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = ReflectionCheck.method1083(var0); - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } else if (MusicPatchNode.updateExternalPlayer(var0, var19)) { - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); + if (MouseHandler.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + class174.addCancelMenuEntry(); + } + } + } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { + var26.remove(); + } } } } - } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + var17 = MouseHandler.MouseHandler_x; + var18 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var17 = MouseHandler.MouseHandler_lastPressedX; + var18 = MouseHandler.MouseHandler_lastPressedY; + } - for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { - var19 = Players.Players_emptyIndices[var4]; - if ((Players.field1244[var19] & 1) == 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); + boolean var34 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; + if (var9.contentType == 1337) { + if (!Client.isLoading && !Client.isMenuOpen && var34) { + TaskHandler.addSceneMenuOptions(var17, var18, var12, var13); + } + } else if (var9.contentType == 1338) { + class92.checkIfMinimapClicked(var9, var10, var11); + } else { + if (var9.contentType == 1400) { + TileItem.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var34, var10, var11, var9.width, var9.height); + } + + if (!Client.isMenuOpen && var34) { + if (var9.contentType == 1400) { + TileItem.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = ReflectionCheck.method1083(var0); - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } else if (MusicPatchNode.updateExternalPlayer(var0, var19)) { - var10000 = Players.field1244; - var10000[var19] = (byte)(var10000[var19] | 2); - } - } - } - } - - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - Players.Players_count = 0; - Players.Players_emptyIdxCount = 0; - - Player var5; - for (var4 = 1; var4 < 2048; ++var4) { - var10000 = Players.field1244; - var10000[var4] = (byte)(var10000[var4] >> 1); - var5 = Client.players[var4]; - if (var5 != null) { - Players.Players_indices[++Players.Players_count - 1] = var4; - } else { - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var4; + SoundSystem.Widget_addToMenu(var9, var17 - var10, var18 - var11); } } - for (var3 = 0; var3 < Players.Players_pendingUpdateCount; ++var3) { - var4 = Players.Players_pendingUpdateIndices[var3]; - var5 = Client.players[var4]; - var6 = var0.readUnsignedByte(); - if ((var6 & 4) != 0) { - var6 += var0.readUnsignedByte() << 8; - } - - byte var7 = -1; - if ((var6 & 512) != 0) { - var7 = var0.method6901(); - } - - if ((var6 & 256) != 0) { - var5.field1135 = var0.method6899(); - var5.field1141 = var0.method6899(); - var5.field1121 = var0.method6848(); - var5.field1110 = var0.method6899(); - var5.field1139 = var0.method6940() + Client.cycle; - var5.field1140 = var0.readUnsignedShort() + Client.cycle; - var5.field1101 = var0.readUnsignedShort(); - if (var5.field1074) { - var5.field1135 += var5.tileX; - var5.field1141 += var5.tileY; - var5.field1121 += var5.tileX; - var5.field1110 += var5.tileY; - var5.pathLength = 0; - } else { - var5.field1135 += var5.pathX[0]; - var5.field1141 += var5.pathY[0]; - var5.field1121 += var5.pathX[0]; - var5.field1110 += var5.pathY[0]; - var5.pathLength = 1; - } - - var5.field1152 = 0; - } - - if ((var6 & 8192) != 0) { - Players.field1245[var4] = var0.method6899(); - } - - int var8; - int var9; - if ((var6 & 16) != 0) { - var8 = var0.method6940(); - if (var8 == 65535) { - var8 = -1; - } - - var9 = var0.method6844(); - PacketWriter.performPlayerAnimation(var5, var8, var9); - } - - if ((var6 & 32) != 0) { - var5.overheadText = var0.readStringCp1252NullTerminated(); - if (var5.overheadText.charAt(0) == '~') { - var5.overheadText = var5.overheadText.substring(1); - SecureRandomCallable.addGameMessage(2, var5.username.getName(), var5.overheadText); - } else if (var5 == class129.localPlayer) { - SecureRandomCallable.addGameMessage(2, var5.username.getName(), var5.overheadText); - } - - var5.isAutoChatting = false; - var5.overheadTextColor = 0; - var5.overheadTextEffect = 0; - var5.overheadTextCyclesRemaining = 150; - } - - if ((var6 & 8) != 0) { - var5.targetIndex = var0.method6940(); - if (var5.targetIndex == 65535) { - var5.targetIndex = -1; - } - } - - int var11; - int var12; - int var15; - if ((var6 & 64) != 0) { - var8 = var0.method6940(); - PlayerType var16 = (PlayerType)class260.findEnumerated(StructComposition.PlayerType_values(), var0.method6844()); - boolean var10 = var0.readUnsignedByte() == 1; - var11 = var0.method6849(); - var12 = var0.offset; - if (var5.username != null && var5.appearance != null) { - boolean var13 = false; - if (var16.isUser && class20.friendSystem.isIgnored(var5.username)) { - var13 = true; - } - - if (!var13 && Client.field602 == 0 && !var5.isHidden) { - Players.field1255.offset = 0; - var0.method7010(Players.field1255.array, 0, var11); - Players.field1255.offset = 0; - String var14 = AbstractFont.escapeBrackets(class113.method2480(FloorDecoration.method4029(Players.field1255))); - var5.overheadText = var14.trim(); - var5.overheadTextColor = var8 >> 8; - var5.overheadTextEffect = var8 & 255; - var5.overheadTextCyclesRemaining = 150; - var5.isAutoChatting = var10; - var5.field1108 = var5 != class129.localPlayer && var16.isUser && "" != Client.field647 && var14.toLowerCase().indexOf(Client.field647) == -1; - if (var16.isPrivileged) { - var15 = var10 ? 91 : 1; - } else { - var15 = var10 ? 90 : 2; + boolean var21; + int var23; + if (var33) { + for (int var20 = 0; var20 < var9.field3115.length; ++var20) { + var21 = false; + boolean var27 = false; + if (!var21 && var9.field3115[var20] != null) { + for (var23 = 0; var23 < var9.field3115[var20].length; ++var23) { + boolean var24 = false; + if (var9.field3190 != null) { + var24 = KeyHandler.KeyHandler_pressedKeys[var9.field3115[var20][var23]]; } - if (var16.modIcon != -1) { - SecureRandomCallable.addGameMessage(var15, ApproximateRouteStrategy.method1122(var16.modIcon) + var5.username.getName(), var14); - } else { - SecureRandomCallable.addGameMessage(var15, var5.username.getName(), var14); + if (ModeWhere.method5483(var9.field3115[var20][var23]) || var24) { + var21 = true; + if (var9.field3190 != null && var9.field3190[var20] > Client.cycle) { + break; + } + + byte var32 = var9.field3123[var20][var23]; + if (var32 == 0 || ((var32 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var32 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var32 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var32 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { + var27 = true; + break; + } } } } - var0.offset = var12 + var11; - } - - if ((var6 & 2048) != 0) { - var5.spotAnimation = var0.method6853(); - var8 = var0.readInt(); - var5.field1134 = var8 >> 16; - var5.field1133 = (var8 & 65535) + Client.cycle; - var5.spotAnimationFrame = 0; - var5.spotAnimationFrameCycle = 0; - if (var5.field1133 > Client.cycle) { - var5.spotAnimationFrame = -1; - } - - if (var5.spotAnimation == 65535) { - var5.spotAnimation = -1; - } - } - - if ((var6 & 2) != 0) { - var8 = var0.readUnsignedByte(); - byte[] var23 = new byte[var8]; - Buffer var17 = new Buffer(var23); - var0.method7010(var23, 0, var8); - Players.field1246[var4] = var17; - var5.read(var17); - } - - if ((var6 & 128) != 0) { - var5.field1096 = var0.method6853(); - if (var5.pathLength == 0) { - var5.orientation = var5.field1096; - var5.field1096 = -1; - } - } - - if ((var6 & 1) != 0) { - var8 = var0.method6844(); - int var18; - int var20; - int var22; - if (var8 > 0) { - for (var9 = 0; var9 < var8; ++var9) { - var11 = -1; - var12 = -1; - var22 = -1; - var20 = var0.readUShortSmart(); - if (var20 == 32767) { - var20 = var0.readUShortSmart(); - var12 = var0.readUShortSmart(); - var11 = var0.readUShortSmart(); - var22 = var0.readUShortSmart(); - } else if (var20 != 32766) { - var12 = var0.readUShortSmart(); - } else { - var20 = -1; + if (var27) { + if (var20 < 10) { + ReflectionCheck.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); + } else if (var20 == 10) { + class258.Widget_runOnTargetLeave(); + ArchiveDiskAction.selectSpell(var9.id, var9.childIndex, Interpreter.Widget_unpackTargetMask(WorldMapRegion.getWidgetFlags(var9)), var9.itemId); + Client.selectedSpellActionName = GameEngine.Widget_getSpellActionName(var9); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; } - var18 = var0.readUShortSmart(); - var5.addHitSplat(var20, var12, var11, var22, Client.cycle, var18); + Client.selectedSpellName = var9.dataText + FloorUnderlayDefinition.colorStartTag(16777215); } - } - var9 = var0.readUnsignedByte(); - if (var9 > 0) { - for (var20 = 0; var20 < var9; ++var20) { - var11 = var0.readUShortSmart(); - var12 = var0.readUShortSmart(); - if (var12 != 32767) { - var22 = var0.readUShortSmart(); - var18 = var0.method6844(); - var15 = var12 > 0 ? var0.method7007() : var18; - var5.addHealthBar(var11, Client.cycle, var12, var22, var18, var15); + var23 = var9.field3147[var20]; + if (var9.field3190 == null) { + var9.field3190 = new int[var9.field3115.length]; + } + + if (var9.field3066 == null) { + var9.field3066 = new int[var9.field3115.length]; + } + + if (var23 != 0) { + if (var9.field3190[var20] == 0) { + var9.field3190[var20] = var23 + Client.cycle + var9.field3066[var20]; } else { - var5.removeHealthBar(var11); + var9.field3190[var20] = var23 + Client.cycle; } - } - } - } - - if ((var6 & 1024) != 0) { - for (var8 = 0; var8 < 3; ++var8) { - var5.actions[var8] = var0.readStringCp1252NullTerminated(); - } - } - - if (var5.field1074) { - if (var7 == 127) { - var5.resetPath(var5.tileX, var5.tileY); - } else { - byte var21; - if (var7 != -1) { - var21 = var7; } else { - var21 = Players.field1245[var4]; + var9.field3190[var20] = Integer.MAX_VALUE; } + } - var5.method2072(var5.tileX, var5.tileY, var21); + if (!var21 && var9.field3190 != null) { + var9.field3190[var20] = 0; } } } - if (var0.offset - var2 != var1) { - throw new RuntimeException(var0.offset - var2 + " " + var1); + if (var9.isIf3) { + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + var34 = true; + } else { + var34 = false; + } + + boolean var35 = false; + if ((MouseHandler.MouseHandler_currentButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var34) { + var35 = true; + } + + var21 = false; + if ((MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { + var21 = true; + } + + if (var21) { + GrandExchangeEvents.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); + } + + if (var9.contentType == 1400) { + TileItem.worldMap.method6603(var17, var18, var34 & var35, var34 & var21); + } + + if (Client.clickedWidget != null && var9 != Client.clickedWidget && var34 && GrandExchangeOfferTotalQuantityComparator.method5360(WorldMapRegion.getWidgetFlags(var9))) { + Client.draggedOnWidget = var9; + } + + if (var9 == Client.clickedWidgetParent) { + Client.field595 = true; + Client.field669 = var10; + Client.field670 = var11; + } + + if (var9.hasListener) { + ScriptEvent var22; + if (var34 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseY = Client.mouseWheelRotation; + var22.args = var9.onScroll; + Client.scriptEvents.addFirst(var22); + } + + if (Client.clickedWidget != null || GameEngine.dragInventoryWidget != null || Client.isMenuOpen) { + var21 = false; + var35 = false; + var34 = false; + } + + if (!var9.isClicked && var21) { + var9.isClicked = true; + if (var9.onClick != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; + var22.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; + var22.args = var9.onClick; + Client.scriptEvents.addFirst(var22); + } + } + + if (var9.isClicked && var35 && var9.onClickRepeat != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onClickRepeat; + Client.scriptEvents.addFirst(var22); + } + + if (var9.isClicked && !var35) { + var9.isClicked = false; + if (var9.onRelease != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onRelease; + Client.field695.addFirst(var22); + } + } + + if (var35 && var9.onHold != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onHold; + Client.scriptEvents.addFirst(var22); + } + + if (!var9.containsMouse && var34) { + var9.containsMouse = true; + if (var9.onMouseOver != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseOver; + Client.scriptEvents.addFirst(var22); + } + } + + if (var9.containsMouse && var34 && var9.onMouseRepeat != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseRepeat; + Client.scriptEvents.addFirst(var22); + } + + if (var9.containsMouse && !var34) { + var9.containsMouse = false; + if (var9.onMouseLeave != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseLeave; + Client.field695.addFirst(var22); + } + } + + if (var9.onTimer != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onTimer; + Client.field731.addFirst(var22); + } + + ScriptEvent var25; + int var36; + int var37; + if (var9.onVarTransmit != null && Client.changedVarpCount > var9.field3185) { + if (var9.varTransmitTriggers != null && Client.changedVarpCount - var9.field3185 <= 32) { + label814: + for (var37 = var9.field3185; var37 < Client.changedVarpCount; ++var37) { + var23 = Client.changedVarps[var37 & 31]; + + for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { + if (var23 == var9.varTransmitTriggers[var36]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var25); + break label814; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field3185 = Client.changedVarpCount; + } + + if (var9.onInvTransmit != null && Client.field679 > var9.field3186) { + if (var9.invTransmitTriggers != null && Client.field679 - var9.field3186 <= 32) { + label790: + for (var37 = var9.field3186; var37 < Client.field679; ++var37) { + var23 = Client.changedItemContainers[var37 & 31]; + + for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { + if (var23 == var9.invTransmitTriggers[var36]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var25); + break label790; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field3186 = Client.field679; + } + + if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field3187) { + if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field3187 <= 32) { + label766: + for (var37 = var9.field3187; var37 < Client.changedSkillsCount; ++var37) { + var23 = Client.changedSkills[var37 & 31]; + + for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { + if (var23 == var9.statTransmitTriggers[var36]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var25); + break label766; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field3187 = Client.changedSkillsCount; + } + + if (Client.chatCycle > var9.field3064 && var9.onChatTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onChatTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field685 > var9.field3064 && var9.onFriendTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onFriendTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field686 > var9.field3064 && var9.onClanTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onClanTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field687 > var9.field3064 && var9.field3161 != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.field3161; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field594 > var9.field3064 && var9.field3163 != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.field3163; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field577 > var9.field3064 && var9.onStockTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onStockTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field489 > var9.field3064 && var9.field3168 != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.field3168; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field691 > var9.field3064 && var9.onMiscTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onMiscTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field3064 = Client.cycleCntr; + if (var9.onKey != null) { + for (var37 = 0; var37 < Client.field726; ++var37) { + ScriptEvent var31 = new ScriptEvent(); + var31.widget = var9; + var31.keyTyped = Client.field718[var37]; + var31.keyPressed = Client.field532[var37]; + var31.args = var9.onKey; + Client.scriptEvents.addFirst(var31); + } + } + + ScriptEvent var30; + int[] var38; + if (var9.field3157 != null) { + var38 = ByteArrayPool.method5897(); + + for (var23 = 0; var23 < var38.length; ++var23) { + var30 = new ScriptEvent(); + var30.widget = var9; + var30.keyTyped = var38[var23]; + var30.args = var9.field3157; + Client.scriptEvents.addFirst(var30); + } + } + + if (var9.field3158 != null) { + var38 = Tile.method4116(); + + for (var23 = 0; var23 < var38.length; ++var23) { + var30 = new ScriptEvent(); + var30.widget = var9; + var30.keyTyped = var38[var23]; + var30.args = var9.field3158; + Client.scriptEvents.addFirst(var30); + } + } + } + } + + if (!var9.isIf3) { + if (Client.clickedWidget != null || GameEngine.dragInventoryWidget != null || Client.isMenuOpen) { + continue; + } + + if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + if (var9.mouseOverRedirect >= 0) { + VarpDefinition.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; + } else { + VarpDefinition.mousedOverWidgetIf1 = var9; + } + } + + if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + PlayerType.field3661 = var9; + } + + if (var9.scrollHeight > var9.height) { + ViewportMouse.method4559(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); + } + } + + if (var9.type == 0) { + updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + if (var9.children != null) { + updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + } + + InterfaceParent var28 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); + if (var28 != null) { + if (var28.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { + for (ScriptEvent var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var29.isMouseInputEvent) { + var29.remove(); + var29.widget.containsMouse = false; + } + } + + if (MouseHandler.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + class174.addCancelMenuEntry(); + } + } + + class87.updateRootInterface(var28.group, var12, var13, var14, var15, var10, var11); + } } } } } } + } - @ObfuscatedName("ew") + @ObfuscatedName("ji") @ObfuscatedSignature( - descriptor = "(B)Lno;", - garbageValue = "14" + descriptor = "(IB)V", + garbageValue = "27" ) - @Export("getWorldMap") - static WorldMap getWorldMap() { - return class65.worldMap; + @Export("changeGameOptions") + static final void changeGameOptions(int var0) { + class120.method2530(); + ViewportMouse.method4556(); + int var1 = ApproximateRouteStrategy.VarpDefinition_get(var0).type; + if (var1 != 0) { + int var2 = Varps.Varps_main[var0]; + if (var1 == 1) { + if (var2 == 1) { + class268.method5105(0.9D); + } + + if (var2 == 2) { + class268.method5105(0.8D); + } + + if (var2 == 3) { + class268.method5105(0.7D); + } + + if (var2 == 4) { + class268.method5105(0.6D); + } + } + + if (var1 == 3) { + if (var2 == 0) { + class29.method430(255); + } + + if (var2 == 1) { + class29.method430(192); + } + + if (var2 == 2) { + class29.method430(128); + } + + if (var2 == 3) { + class29.method430(64); + } + + if (var2 == 4) { + class29.method430(0); + } + } + + if (var1 == 4) { + if (var2 == 0) { + class129.updateSoundEffectVolume(127); + } + + if (var2 == 1) { + class129.updateSoundEffectVolume(96); + } + + if (var2 == 2) { + class129.updateSoundEffectVolume(64); + } + + if (var2 == 3) { + class129.updateSoundEffectVolume(32); + } + + if (var2 == 4) { + class129.updateSoundEffectVolume(0); + } + } + + if (var1 == 5) { + Client.leftClickOpensMenu = var2; + } + + if (var1 == 6) { + Client.chatEffects = var2; + } + + if (var1 == 9) { + Client.field655 = var2; + } + + if (var1 == 10) { + if (var2 == 0) { + GrandExchangeOfferOwnWorldComparator.method1104(127); + } + + if (var2 == 1) { + GrandExchangeOfferOwnWorldComparator.method1104(96); + } + + if (var2 == 2) { + GrandExchangeOfferOwnWorldComparator.method1104(64); + } + + if (var2 == 3) { + GrandExchangeOfferOwnWorldComparator.method1104(32); + } + + if (var2 == 4) { + GrandExchangeOfferOwnWorldComparator.method1104(0); + } + } + + if (var1 == 17) { + Client.followerIndex = var2 & 65535; + } + + AttackOption[] var3; + if (var1 == 18) { + var3 = new AttackOption[]{AttackOption.field1234, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_hidden, AttackOption.field1237}; + Client.playerAttackOption = (AttackOption)class128.findEnumerated(var3, var2); + if (Client.playerAttackOption == null) { + Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + if (var1 == 19) { + if (var2 == -1) { + Client.combatTargetPlayerIndex = -1; + } else { + Client.combatTargetPlayerIndex = var2 & 2047; + } + } + + if (var1 == 22) { + var3 = new AttackOption[]{AttackOption.field1234, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_hidden, AttackOption.field1237}; + Client.npcAttackOption = (AttackOption)class128.findEnumerated(var3, var2); + if (Client.npcAttackOption == null) { + Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + } } } diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java index 15b45bc1e9..99cf03a2e4 100644 --- a/runescape-client/src/main/java/Node.java +++ b/runescape-client/src/main/java/Node.java @@ -3,26 +3,26 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nr") +@ObfuscatedName("nv") @Implements("Node") public class Node { - @ObfuscatedName("fy") + @ObfuscatedName("fa") @Export("key") public long key; - @ObfuscatedName("fx") + @ObfuscatedName("fq") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("previous") public Node previous; - @ObfuscatedName("fa") + @ObfuscatedName("fe") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("next") public Node next; - @ObfuscatedName("fe") + @ObfuscatedName("ep") @Export("remove") public void remove() { if (this.next != null) { @@ -33,7 +33,7 @@ public class Node { } } - @ObfuscatedName("ff") + @ObfuscatedName("en") @Export("hasNext") public boolean hasNext() { return this.next != null; diff --git a/runescape-client/src/main/java/NodeDeque.java b/runescape-client/src/main/java/NodeDeque.java index d92b020ff9..dc344250c9 100644 --- a/runescape-client/src/main/java/NodeDeque.java +++ b/runescape-client/src/main/java/NodeDeque.java @@ -3,18 +3,18 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kn") +@ObfuscatedName("kf") @Implements("NodeDeque") public class NodeDeque { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("sentinel") public Node sentinel; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("current") Node current; @@ -25,7 +25,7 @@ public class NodeDeque { this.sentinel.next = this.sentinel; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("clear") public void clear() { while (true) { @@ -39,9 +39,9 @@ public class NodeDeque { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lnr;)V" + descriptor = "(Lnv;)V" ) @Export("addFirst") public void addFirst(Node var1) { @@ -55,9 +55,9 @@ public class NodeDeque { var1.previous.next = var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lnr;)V" + descriptor = "(Lnv;)V" ) @Export("addLast") public void addLast(Node var1) { @@ -71,9 +71,9 @@ public class NodeDeque { var1.previous.next = var1; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("removeLast") public Node removeLast() { @@ -86,9 +86,9 @@ public class NodeDeque { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("removeFirst") public Node removeFirst() { @@ -101,9 +101,9 @@ public class NodeDeque { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("last") public Node last() { @@ -119,7 +119,7 @@ public class NodeDeque { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("first") public Node first() { @@ -133,9 +133,9 @@ public class NodeDeque { } } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("previous") public Node previous() { @@ -149,9 +149,9 @@ public class NodeDeque { } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("next") public Node next() { @@ -165,9 +165,9 @@ public class NodeDeque { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lnr;Lnr;)V" + descriptor = "(Lnv;Lnv;)V" ) @Export("NodeDeque_addBefore") public static void NodeDeque_addBefore(Node var0, Node var1) { diff --git a/runescape-client/src/main/java/NodeHashTable.java b/runescape-client/src/main/java/NodeHashTable.java index c66f62029c..f289d32f14 100644 --- a/runescape-client/src/main/java/NodeHashTable.java +++ b/runescape-client/src/main/java/NodeHashTable.java @@ -3,31 +3,31 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nk") +@ObfuscatedName("ni") @Implements("NodeHashTable") public final class NodeHashTable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("size") int size; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Lnr;" + descriptor = "[Lnv;" ) @Export("buckets") Node[] buckets; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("currentGet") Node currentGet; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnr;" + descriptor = "Lnv;" ) @Export("current") Node current; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("index") int index; @@ -44,9 +44,9 @@ public final class NodeHashTable { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(J)Lnr;" + descriptor = "(J)Lnv;" ) @Export("get") public Node get(long var1) { @@ -64,9 +64,9 @@ public final class NodeHashTable { return null; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lnr;J)V" + descriptor = "(Lnv;J)V" ) @Export("put") public void put(Node var1, long var2) { @@ -82,9 +82,9 @@ public final class NodeHashTable { var1.key = var2; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("first") public Node first() { @@ -92,9 +92,9 @@ public final class NodeHashTable { return this.next(); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "()Lnr;" + descriptor = "()Lnv;" ) @Export("next") public Node next() { diff --git a/runescape-client/src/main/java/ObjectComposition.java b/runescape-client/src/main/java/ObjectComposition.java index c33fa4980f..cb63b47356 100644 --- a/runescape-client/src/main/java/ObjectComposition.java +++ b/runescape-client/src/main/java/ObjectComposition.java @@ -1,266 +1,270 @@ -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ff") +@ObfuscatedName("fo") @Implements("ObjectComposition") public class ObjectComposition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("tg") + @Export("foundItemIds") + static short[] foundItemIds; + @ObfuscatedName("l") @Export("ObjectDefinition_isLowDetail") - public static boolean ObjectDefinition_isLowDetail; - @ObfuscatedName("c") + static boolean ObjectDefinition_isLowDetail; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("ObjectDefinition_archive") - public static AbstractArchive ObjectDefinition_archive; - @ObfuscatedName("m") + static AbstractArchive ObjectDefinition_archive; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("ObjectDefinition_modelsArchive") - public static AbstractArchive ObjectDefinition_modelsArchive; - @ObfuscatedName("k") + static AbstractArchive ObjectDefinition_modelsArchive; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ObjectDefinition_cached") - public static EvictingDualNodeHashTable ObjectDefinition_cached; - @ObfuscatedName("o") + static EvictingDualNodeHashTable ObjectDefinition_cached; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ObjectDefinition_cachedModelData") public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ObjectDefinition_cachedEntities") - public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; - @ObfuscatedName("z") + static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ObjectDefinition_cachedModels") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModels; + static EvictingDualNodeHashTable ObjectDefinition_cachedModels; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "[Lgl;" + descriptor = "[Lgi;" ) - static ModelData[] field1825; - @ObfuscatedName("ec") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive5") - static Archive archive5; - @ObfuscatedName("u") + static ModelData[] field1830; + @ObfuscatedName("nh") @ObfuscatedGetter( - intValue = -1044328551 + intValue = -496958309 + ) + @Export("selectedSpellFlags") + static int selectedSpellFlags; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1967132325 ) @Export("id") public int id; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("modelIds") int[] modelIds; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("models") int[] models; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("name") public String name; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("recolorFrom") short[] recolorFrom; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("recolorTo") short[] recolorTo; @ObfuscatedName("s") @Export("retextureFrom") short[] retextureFrom; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("retextureTo") short[] retextureTo; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = -1836042659 + intValue = -52448415 ) @Export("sizeX") public int sizeX; - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = -1683838953 + intValue = 2087941395 ) @Export("sizeY") public int sizeY; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 829915011 + intValue = -2102964255 ) @Export("interactType") public int interactType; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("boolean1") public boolean boolean1; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 1322187909 + intValue = -1466223365 ) @Export("int1") public int int1; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = 108702019 + intValue = 779332633 ) @Export("clipType") int clipType; @ObfuscatedName("r") @Export("nonFlatShading") boolean nonFlatShading; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("modelClipped") public boolean modelClipped; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = 2147348083 + intValue = 1366637979 ) @Export("animationId") public int animationId; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = 1278892535 + intValue = 185149677 ) @Export("int2") public int int2; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = -1520041239 + intValue = 29012483 ) @Export("ambient") int ambient; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = 820858291 + intValue = 1186950665 ) @Export("contrast") int contrast; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("actions") public String[] actions; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = -672286997 + intValue = 882792935 ) @Export("mapIconId") public int mapIconId; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = -1868083565 + intValue = 327823803 ) @Export("mapSceneId") public int mapSceneId; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("isRotated") boolean isRotated; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("clipped") public boolean clipped; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedGetter( - intValue = -209037363 + intValue = -1641704529 ) @Export("modelSizeX") int modelSizeX; - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedGetter( - intValue = 26817019 + intValue = 1726351319 ) @Export("modelHeight") int modelHeight; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = -1579724339 + intValue = 190251917 ) @Export("modelSizeY") int modelSizeY; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = 825551813 + intValue = -2136514037 ) @Export("offsetX") int offsetX; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @ObfuscatedGetter( - intValue = 1367346881 + intValue = -485262707 ) @Export("offsetHeight") int offsetHeight; - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedGetter( - intValue = 141493519 + intValue = -2108867747 ) @Export("offsetY") int offsetY; - @ObfuscatedName("am") + @ObfuscatedName("ac") @Export("boolean2") public boolean boolean2; - @ObfuscatedName("ao") + @ObfuscatedName("at") @Export("isSolid") boolean isSolid; - @ObfuscatedName("ay") + @ObfuscatedName("ax") @ObfuscatedGetter( - intValue = -1902505869 + intValue = -1016327393 ) @Export("int3") public int int3; - @ObfuscatedName("aj") + @ObfuscatedName("an") @Export("transforms") public int[] transforms; - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedGetter( - intValue = -1557220695 + intValue = 361978407 ) @Export("transformVarbit") int transformVarbit; - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedGetter( - intValue = -1088768559 + intValue = 510021155 ) @Export("transformVarp") int transformVarp; - @ObfuscatedName("ac") + @ObfuscatedName("aj") @ObfuscatedGetter( - intValue = 1374180849 + intValue = -1633303267 ) @Export("ambientSoundId") public int ambientSoundId; - @ObfuscatedName("ag") + @ObfuscatedName("am") @ObfuscatedGetter( - intValue = 883575663 + intValue = 1584485603 ) + @Export("int7") public int int7; - @ObfuscatedName("ar") + @ObfuscatedName("aw") @ObfuscatedGetter( - intValue = -154554887 + intValue = -2032112943 ) @Export("int5") public int int5; @ObfuscatedName("az") @ObfuscatedGetter( - intValue = 2024942233 + intValue = -357023419 ) @Export("int6") public int int6; - @ObfuscatedName("ah") + @ObfuscatedName("ae") @Export("soundEffectIds") public int[] soundEffectIds; - @ObfuscatedName("af") + @ObfuscatedName("ai") + @Export("boolean3") public boolean boolean3; - @ObfuscatedName("ax") + @ObfuscatedName("af") @ObfuscatedSignature( descriptor = "Lnz;" ) @@ -273,7 +277,7 @@ public class ObjectComposition extends DualNode { ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); - field1825 = new ModelData[4]; + field1830 = new ModelData[4]; } ObjectComposition() { @@ -313,10 +317,10 @@ public class ObjectComposition extends DualNode { this.boolean3 = true; } - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-178081733" + garbageValue = "-1078015676" ) @Export("postDecode") void postDecode() { @@ -339,10 +343,10 @@ public class ObjectComposition extends DualNode { } - @ObfuscatedName("m") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "1" + descriptor = "(Lot;I)V", + garbageValue = "2001330401" ) @Export("decode") void decode(Buffer var1) { @@ -356,10 +360,10 @@ public class ObjectComposition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "2141484475" + descriptor = "(Lot;IB)V", + garbageValue = "37" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -498,7 +502,7 @@ public class ObjectComposition extends DualNode { } else if (var2 == 89) { this.boolean3 = false; } else if (var2 == 249) { - this.params = class123.readStringIntParameters(var1, this.params); + this.params = KeyHandler.readStringIntParameters(var1, this.params); } } else { this.transformVarbit = var1.readUnsignedShort(); @@ -534,12 +538,12 @@ public class ObjectComposition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "1735527188" + garbageValue = "-1929847726" ) - public final boolean method3128(int var1) { + public final boolean method3213(int var1) { if (this.models != null) { for (int var4 = 0; var4 < this.models.length; ++var4) { if (this.models[var4] == var1) { @@ -563,10 +567,10 @@ public class ObjectComposition extends DualNode { } } - @ObfuscatedName("g") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-74" + descriptor = "(I)Z", + garbageValue = "-1982910394" ) @Export("needsModelFiles") public final boolean needsModelFiles() { @@ -583,10 +587,10 @@ public class ObjectComposition extends DualNode { } } - @ObfuscatedName("z") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(II[[IIIIB)Lhr;", - garbageValue = "1" + descriptor = "(II[[IIIII)Lhi;", + garbageValue = "610598122" ) @Export("getEntity") public final Renderable getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) { @@ -617,24 +621,24 @@ public class ObjectComposition extends DualNode { } if (this.nonFlatShading) { - var9 = ((ModelData)var9).method3957(); + var9 = ((ModelData)var9).method4028(); } if (this.clipType >= 0) { if (var9 instanceof Model) { var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType); } else if (var9 instanceof ModelData) { - var9 = ((ModelData)var9).method3958(var3, var4, var5, var6, true, this.clipType); + var9 = ((ModelData)var9).method4083(var3, var4, var5, var6, true, this.clipType); } } return (Renderable)var9; } - @ObfuscatedName("a") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(II[[IIIII)Lhg;", - garbageValue = "-668748839" + descriptor = "(II[[IIIII)Lhl;", + garbageValue = "144741058" ) @Export("getModel") public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { @@ -663,10 +667,10 @@ public class ObjectComposition extends DualNode { return var9; } - @ObfuscatedName("u") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(II[[IIIILfa;II)Lhg;", - garbageValue = "1946600104" + descriptor = "(II[[IIIILfe;IB)Lhl;", + garbageValue = "38" ) @Export("getModelDynamic") public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) { @@ -705,10 +709,10 @@ public class ObjectComposition extends DualNode { } } - @ObfuscatedName("e") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(IIS)Lgl;", - garbageValue = "1724" + descriptor = "(III)Lgi;", + garbageValue = "739180603" ) @Export("getModelData") final ModelData getModelData(int var1, int var2) { @@ -746,19 +750,19 @@ public class ObjectComposition extends DualNode { } if (var4) { - var3.method3979(); + var3.method4038(); } ObjectDefinition_cachedModelData.put(var3, (long)var7); } if (var5 > 1) { - field1825[var6] = var3; + field1830[var6] = var3; } } if (var5 > 1) { - var3 = new ModelData(field1825, var5); + var3 = new ModelData(field1830, var5); } } else { int var9 = -1; @@ -788,7 +792,7 @@ public class ObjectComposition extends DualNode { } if (var10) { - var3.method3979(); + var3.method4038(); } ObjectDefinition_cachedModelData.put(var3, (long)var5); @@ -808,19 +812,19 @@ public class ObjectComposition extends DualNode { var11 = true; } - ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, null == this.recolorFrom, this.retextureFrom == null, true); + ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, null == this.recolorFrom, null == this.retextureFrom, true); if (var1 == 4 && var2 > 3) { - var8.method3963(256); + var8.method4034(256); var8.changeOffset(45, 0, -45); } var2 &= 3; if (var2 == 1) { - var8.method3960(); + var8.method4031(); } else if (var2 == 2) { - var8.method3961(); + var8.method4032(); } else if (var2 == 3) { - var8.method4012(); + var8.method4033(); } if (this.recolorFrom != null) { @@ -846,16 +850,16 @@ public class ObjectComposition extends DualNode { return var8; } - @ObfuscatedName("l") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)Lff;", - garbageValue = "593938417" + descriptor = "(B)Lfo;", + garbageValue = "3" ) @Export("transform") public final ObjectComposition transform() { int var1 = -1; if (this.transformVarbit != -1) { - var1 = class247.getVarbit(this.transformVarbit); + var1 = Varcs.getVarbit(this.transformVarbit); } else if (this.transformVarp != -1) { var1 = Varps.Varps_main[this.transformVarp]; } @@ -867,13 +871,13 @@ public class ObjectComposition extends DualNode { var2 = this.transforms[this.transforms.length - 1]; } - return var2 != -1 ? HitSplatDefinition.getObjectDefinition(var2) : null; + return var2 != -1 ? class245.getObjectDefinition(var2) : null; } - @ObfuscatedName("y") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1072868231" + descriptor = "(IIS)I", + garbageValue = "-9471" ) @Export("getIntParam") public int getIntParam(int var1, int var2) { @@ -895,18 +899,31 @@ public class ObjectComposition extends DualNode { @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-862572509" + descriptor = "(ILjava/lang/String;B)Ljava/lang/String;", + garbageValue = "-25" ) @Export("getStringParam") public String getStringParam(int var1, String var2) { - return class124.method2544(this.params, var1, var2); + IterableNodeHashTable var4 = this.params; + String var3; + if (var4 == null) { + var3 = var2; + } else { + ObjectNode var5 = (ObjectNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = (String)var5.obj; + } + } + + return var3; } - @ObfuscatedName("f") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "298899350" + descriptor = "(B)Z", + garbageValue = "7" ) @Export("hasSound") public boolean hasSound() { @@ -915,7 +932,7 @@ public class ObjectComposition extends DualNode { } else { for (int var1 = 0; var1 < this.transforms.length; ++var1) { if (this.transforms[var1] != -1) { - ObjectComposition var2 = HitSplatDefinition.getObjectDefinition(this.transforms[var1]); + ObjectComposition var2 = class245.getObjectDefinition(this.transforms[var1]); if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) { return true; } @@ -925,63 +942,4 @@ public class ObjectComposition extends DualNode { return false; } } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1346199233" - ) - @Export("loadWorlds") - static boolean loadWorlds() { - try { - if (WorldMapArchiveLoader.World_request == null) { - WorldMapArchiveLoader.World_request = class262.urlRequester.request(new URL(class328.field3915)); - } else if (WorldMapArchiveLoader.World_request.isDone()) { - byte[] var0 = WorldMapArchiveLoader.World_request.getResponse(); - Buffer var1 = new Buffer(var0); - var1.readInt(); - World.World_count = var1.readUnsignedShort(); - class393.World_worlds = new World[World.World_count]; - - World var3; - for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { - var3 = class393.World_worlds[var2] = new World(); - var3.id = var1.readUnsignedShort(); - var3.properties = var1.readInt(); - var3.host = var1.readStringCp1252NullTerminated(); - var3.activity = var1.readStringCp1252NullTerminated(); - var3.location = var1.readUnsignedByte(); - var3.population = var1.readShort(); - } - - Coord.sortWorlds(class393.World_worlds, 0, class393.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); - WorldMapArchiveLoader.World_request = null; - return true; - } - } catch (Exception var4) { - var4.printStackTrace(); - WorldMapArchiveLoader.World_request = null; - } - - return false; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;ZI)[B", - garbageValue = "-1741880241" - ) - public static byte[] method3159(Object var0, boolean var1) { - if (var0 == null) { - return null; - } else if (var0 instanceof byte[]) { - byte[] var3 = (byte[])((byte[])var0); - return var1 ? FloorUnderlayDefinition.method3026(var3) : var3; - } else if (var0 instanceof AbstractByteArrayCopier) { - AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; - return var2.get(); - } else { - throw new IllegalArgumentException(); - } - } } diff --git a/runescape-client/src/main/java/ObjectNode.java b/runescape-client/src/main/java/ObjectNode.java index 064ebe4ff4..be1f609cfa 100644 --- a/runescape-client/src/main/java/ObjectNode.java +++ b/runescape-client/src/main/java/ObjectNode.java @@ -2,10 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("nw") +@ObfuscatedName("nn") @Implements("ObjectNode") public class ObjectNode extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("obj") public final Object obj; diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java index 1cc7e09b13..b0b6b57673 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -4,92 +4,87 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("be") +@ObfuscatedName("bm") @Implements("ObjectSound") public final class ObjectSound extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("objectSounds") static NodeDeque objectSounds; - @ObfuscatedName("fu") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1135350331 - ) - static int field811; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 623460127 + intValue = 12452185 ) @Export("plane") int plane; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1356057799 + intValue = -1536364883 ) @Export("x") int x; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -506004711 + intValue = -1658207689 ) @Export("y") int y; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1721967971 + intValue = -1738796741 ) - int field806; - @ObfuscatedName("g") + int field807; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 2019735621 + intValue = -1807311773 ) - int field801; - @ObfuscatedName("z") + int field803; + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1293883573 + intValue = -568523691 ) int field804; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1271461183 + intValue = -908511827 ) @Export("soundEffectId") int soundEffectId; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Laj;" + descriptor = "Lan;" ) @Export("stream1") RawPcmStream stream1; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1952974983 - ) - int field805; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1623306055 - ) - int field800; - @ObfuscatedName("y") - @Export("soundEffectIds") - int[] soundEffectIds; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1908724289 + intValue = -623249431 ) int field808; - @ObfuscatedName("f") + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1245804267 + ) + int field809; + @ObfuscatedName("w") + @Export("soundEffectIds") + int[] soundEffectIds; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 2138886061 + ) + int field811; + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Laj;" + descriptor = "Lan;" ) @Export("stream2") RawPcmStream stream2; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lff;" + descriptor = "Lfo;" ) @Export("obj") ObjectComposition obj; @@ -101,10 +96,10 @@ public final class ObjectSound extends Node { ObjectSound() { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "434138079" + garbageValue = "926767071" ) @Export("set") void set() { @@ -113,42 +108,107 @@ public final class ObjectSound extends Node { if (var2 != null) { this.soundEffectId = var2.ambientSoundId; this.field804 = var2.int7 * 128; - this.field805 = var2.int5; - this.field800 = var2.int6; + this.field808 = var2.int5; + this.field809 = var2.int6; this.soundEffectIds = var2.soundEffectIds; } else { this.soundEffectId = -1; this.field804 = 0; - this.field805 = 0; - this.field800 = 0; + this.field808 = 0; + this.field809 = 0; this.soundEffectIds = null; } if (var1 != this.soundEffectId && this.stream1 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(this.stream1); + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(this.stream1); this.stream1 = null; } } - @ObfuscatedName("o") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "1676783295" + descriptor = "(I)V", + garbageValue = "2044677367" ) - public static int method1731(int var0, int var1, int var2) { - int var3 = class120.method2512(var2 - var1 + 1); - var3 <<= var1; - var0 |= var3; - return var0; + protected static final void method1719() { + LoginPacket.clock.mark(); + + int var0; + for (var0 = 0; var0 < 32; ++var0) { + GameEngine.graphicsTickTimes[var0] = 0L; + } + + for (var0 = 0; var0 < 32; ++var0) { + GameEngine.clientTickTimes[var0] = 0L; + } + + GameEngine.gameCyclesToDo = 0; } - @ObfuscatedName("gm") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-60" + descriptor = "(ILbe;ZI)I", + garbageValue = "-2053759056" ) - static boolean method1734() { - return (Client.drawPlayerNames & 4) != 0; + static int method1730(int var0, Script var1, boolean var2) { + if (var0 != 7000 && var0 != 7005 && var0 != 7010 && var0 != 7015 && var0 != 7020 && var0 != 7025 && var0 != 7030 && var0 != 7035) { + if (var0 != 7001 && var0 != 7002 && var0 != 7011 && var0 != 7012 && var0 != 7021 && var0 != 7022) { + if (var0 != 7003 && var0 != 7013 && var0 != 7023) { + if (var0 != 7006 && var0 != 7007 && var0 != 7016 && var0 != 7017 && var0 != 7026 && var0 != 7027) { + if (var0 != 7008 && var0 != 7018 && var0 != 7028) { + if (var0 != 7031 && var0 != 7032) { + if (var0 == 7033) { + --class54.Interpreter_stringStackSize; + return 1; + } else if (var0 != 7036 && var0 != 7037) { + if (var0 == 7038) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 != 7004 && var0 != 7009 && var0 != 7014 && var0 != 7019 && var0 != 7024 && var0 != 7029 && var0 != 7034 && var0 != 7039) { + return 2; + } else { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } + } else { + --class54.Interpreter_stringStackSize; + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } else { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + return 1; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 5; + return 1; + } + } + + @ObfuscatedName("kj") + @ObfuscatedSignature( + descriptor = "(Ljt;B)Z", + garbageValue = "-105" + ) + @Export("isComponentHidden") + static boolean isComponentHidden(Widget var0) { + return var0.isHidden; } } diff --git a/runescape-client/src/main/java/Occluder.java b/runescape-client/src/main/java/Occluder.java index 23074c076b..3228fc0868 100644 --- a/runescape-client/src/main/java/Occluder.java +++ b/runescape-client/src/main/java/Occluder.java @@ -1,133 +1,113 @@ -import java.awt.FontMetrics; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hq") +@ObfuscatedName("hp") @Implements("Occluder") public final class Occluder { - @ObfuscatedName("aw") - @Export("loginScreenFontMetrics") - static FontMetrics loginScreenFontMetrics; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -320150853 + intValue = 1719542493 ) @Export("minTileX") int minTileX; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 180770347 + intValue = 1789010699 ) @Export("maxTileX") int maxTileX; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1338738523 + intValue = -1557432233 ) @Export("minTileY") int minTileY; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1860315469 + intValue = 817292531 ) @Export("maxTileY") int maxTileY; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1852677063 + intValue = 400749645 ) @Export("type") int type; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -908029863 + intValue = 502654349 ) @Export("minX") int minX; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 510909857 + intValue = -873671995 ) @Export("maxX") int maxX; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 186412371 + intValue = -922941329 ) @Export("minZ") int minZ; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1957631521 + intValue = -1363675319 ) @Export("maxZ") int maxZ; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1933521517 + intValue = 468546867 ) @Export("minY") int minY; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1842578097 + intValue = -1571319031 ) @Export("maxY") int maxY; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 146752915 + intValue = -1978554207 ) - int field2450; + int field2466; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1028665229 + ) + int field2467; @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -220596823 + intValue = -1892876933 ) - int field2452; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 525415407 - ) - int field2453; + int field2468; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = -985390885 + intValue = 791479165 ) - int field2456; - @ObfuscatedName("h") + int field2469; + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = -795788233 + intValue = -1288534623 ) - int field2440; - @ObfuscatedName("d") + int field2470; + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = -1447654559 + intValue = 1161578073 ) - int field2459; - @ObfuscatedName("q") + int field2463; + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = 105190927 + intValue = 312083711 ) - int field2451; + int field2472; Occluder() { } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)J", - garbageValue = "1" - ) - public static final synchronized long method4335() { - long var0 = System.currentTimeMillis(); - if (var0 < class396.field4262) { - class396.field4261 += class396.field4262 - var0; - } - - class396.field4262 = var0; - return var0 + class396.field4261; - } } diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index 9efaf8f8c5..9cf0c2b5fb 100644 --- a/runescape-client/src/main/java/PacketBuffer.java +++ b/runescape-client/src/main/java/PacketBuffer.java @@ -4,86 +4,86 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oq") +@ObfuscatedName("oy") @Implements("PacketBuffer") public class PacketBuffer extends Buffer { - @ObfuscatedName("c") - static final int[] field4266; - @ObfuscatedName("n") + @ObfuscatedName("q") + static final int[] field4285; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Loe;" + descriptor = "Lpv;" ) @Export("isaacCipher") IsaacCipher isaacCipher; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1741398245 + intValue = 699340495 ) @Export("bitIndex") int bitIndex; static { - field4266 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; + field4285 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; } public PacketBuffer(int var1) { super(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([IS)V", - garbageValue = "10361" + descriptor = "([II)V", + garbageValue = "-1448401984" ) @Export("newIsaacCipher") public void newIsaacCipher(int[] var1) { this.isaacCipher = new IsaacCipher(var1); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Loe;I)V", - garbageValue = "1295476424" + descriptor = "(Lpv;S)V", + garbageValue = "30422" ) @Export("setIsaacCipher") public void setIsaacCipher(IsaacCipher var1) { this.isaacCipher = var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-489006382" + descriptor = "(IB)V", + garbageValue = "2" ) @Export("writeByteIsaac") public void writeByteIsaac(int var1) { super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1990458391" + garbageValue = "952726655" ) @Export("readByteIsaac") public int readByteIsaac() { return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "940310064" + descriptor = "(S)Z", + garbageValue = "25434" ) - public boolean method6763() { - int var1 = super.array[super.offset] - this.isaacCipher.method7376() & 255; + public boolean method6848() { + int var1 = super.array[super.offset] - this.isaacCipher.method7440() & 255; return var1 >= 128; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "28" + garbageValue = "45" ) @Export("readSmartByteShortIsaac") public int readSmartByteShortIsaac() { @@ -91,12 +91,12 @@ public class PacketBuffer extends Buffer { return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "99" + descriptor = "([BIII)V", + garbageValue = "-1932587196" ) - public void method6767(byte[] var1, int var2, int var3) { + public void method6853(byte[] var1, int var2, int var3) { for (int var4 = 0; var4 < var3; ++var4) { var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt()); } @@ -106,17 +106,17 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1253402397" + garbageValue = "-8907389" ) @Export("importIndex") public void importIndex() { this.bitIndex = super.offset * 8; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(II)I", - garbageValue = "-911407487" + garbageValue = "-308052507" ) @Export("readBits") public int readBits(int var1) { @@ -125,74 +125,36 @@ public class PacketBuffer extends Buffer { int var4 = 0; for (this.bitIndex += var1; var1 > var3; var3 = 8) { - var4 += (super.array[var2++] & field4266[var3]) << var1 - var3; + var4 += (super.array[var2++] & field4285[var3]) << var1 - var3; var1 -= var3; } if (var3 == var1) { - var4 += super.array[var2] & field4266[var3]; + var4 += super.array[var2] & field4285[var3]; } else { - var4 += super.array[var2] >> var3 - var1 & field4266[var1]; + var4 += super.array[var2] >> var3 - var1 & field4285[var1]; } return var4; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-749875980" + garbageValue = "1759118925" ) @Export("exportIndex") public void exportIndex() { super.offset = (this.bitIndex + 7) / 8; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(II)I", - garbageValue = "-1116579683" + garbageValue = "335509391" ) @Export("bitsRemaining") public int bitsRemaining(int var1) { return var1 * 8 - this.bitIndex; } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(Lkk;Ljava/lang/String;Ljava/lang/String;B)[Loi;", - garbageValue = "16" - ) - public static IndexedSprite[] method6764(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - IndexedSprite[] var5; - if (!VertexNormal.method4477(var0, var3, var4)) { - var5 = null; - } else { - IndexedSprite[] var7 = new IndexedSprite[class413.SpriteBuffer_spriteCount]; - - for (int var8 = 0; var8 < class413.SpriteBuffer_spriteCount; ++var8) { - IndexedSprite var9 = var7[var8] = new IndexedSprite(); - var9.width = class413.SpriteBuffer_spriteWidth; - var9.height = class413.SpriteBuffer_spriteHeight; - var9.xOffset = class413.SpriteBuffer_xOffsets[var8]; - var9.yOffset = class413.SpriteBuffer_yOffsets[var8]; - var9.subWidth = InvDefinition.SpriteBuffer_spriteWidths[var8]; - var9.subHeight = class413.SpriteBuffer_spriteHeights[var8]; - var9.palette = ItemContainer.SpriteBuffer_spritePalette; - var9.pixels = class283.SpriteBuffer_pixels[var8]; - } - - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - var5 = var7; - } - - return var5; - } } diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java index 417df11a1b..56b8779271 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -4,42 +4,53 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("il") +@ObfuscatedName("is") @Implements("PacketBufferNode") public class PacketBufferNode extends Node { - @ObfuscatedName("o") + @ObfuscatedName("sf") + @ObfuscatedGetter( + intValue = 1714569287 + ) + static int field2786; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "[Lil;" + descriptor = "[Lis;" ) @Export("PacketBufferNode_packetBufferNodes") static PacketBufferNode[] PacketBufferNode_packetBufferNodes; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 881537125 + intValue = -1923924179 ) @Export("PacketBufferNode_packetBufferNodeCount") static int PacketBufferNode_packetBufferNodeCount; - @ObfuscatedName("n") + @ObfuscatedName("iz") + @ObfuscatedGetter( + intValue = -1453961237 + ) + @Export("selectedItemId") + static int selectedItemId; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lix;" + descriptor = "Liz;" ) @Export("clientPacket") - ClientPacket clientPacket; - @ObfuscatedName("c") + public ClientPacket clientPacket; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1180228705 + intValue = -215681187 ) @Export("clientPacketLength") - int clientPacketLength; - @ObfuscatedName("m") + public int clientPacketLength; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Loq;" + descriptor = "Loy;" ) @Export("packetBuffer") public PacketBuffer packetBuffer; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1171592885 + intValue = 1705067673 ) @Export("index") public int index; @@ -52,10 +63,10 @@ public class PacketBufferNode extends Node { PacketBufferNode() { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "981374716" + garbageValue = "1435986558" ) @Export("release") public void release() { @@ -64,12 +75,24 @@ public class PacketBufferNode extends Node { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "16776960" + descriptor = "(II)Z", + garbageValue = "-1167818871" ) - public static void method4564() { - FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); + public static boolean method4654(int var0) { + return var0 >= 0 && var0 < 112 ? KeyHandler.field128[var0] : false; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-337771237" + ) + static void method4653(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + var1.remove(); + } } } diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index 2f3bd05eaf..26c23d5187 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -5,91 +5,90 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cs") +@ObfuscatedName("cc") @Implements("PacketWriter") public class PacketWriter { - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Ljd;" + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1760192501 ) - @Export("scriptDotWidget") - static Widget scriptDotWidget; - @ObfuscatedName("n") + static int field1285; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmv;" + descriptor = "Lmk;" ) @Export("socket") AbstractSocket socket; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) @Export("packetBufferNodes") IterableNodeDeque packetBufferNodes; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 494517725 + intValue = 2092986285 ) @Export("bufferSize") int bufferSize; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "Lot;" ) @Export("buffer") Buffer buffer; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Loe;" + descriptor = "Lpv;" ) @Export("isaacCipher") public IsaacCipher isaacCipher; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Loq;" + descriptor = "Loy;" ) @Export("packetBuffer") PacketBuffer packetBuffer; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) @Export("serverPacket") ServerPacket serverPacket; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -527684957 + intValue = -2128041511 ) @Export("serverPacketLength") int serverPacketLength; - @ObfuscatedName("u") - boolean field1285; @ObfuscatedName("e") + boolean field1289; + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 1308451043 + intValue = -880191509 ) - int field1279; - @ObfuscatedName("l") + int field1290; + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 318973305 + intValue = -1893951709 ) @Export("pendingWrites") int pendingWrites; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - ServerPacket field1288; + ServerPacket field1281; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + ServerPacket field1293; @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - ServerPacket field1289; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - ServerPacket field1290; + ServerPacket field1288; PacketWriter() { this.packetBufferNodes = new IterableNodeDeque(); @@ -98,15 +97,15 @@ public class PacketWriter { this.packetBuffer = new PacketBuffer(40000); this.serverPacket = null; this.serverPacketLength = 0; - this.field1285 = true; - this.field1279 = 0; + this.field1289 = true; + this.field1290 = 0; this.pendingWrites = 0; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-118" + descriptor = "(I)V", + garbageValue = "586577523" ) @Export("clearBuffer") final void clearBuffer() { @@ -114,10 +113,10 @@ public class PacketWriter { this.bufferSize = 0; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "6" + garbageValue = "1" ) @Export("flush") final void flush() throws IOException { @@ -142,10 +141,10 @@ public class PacketWriter { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lil;I)V", - garbageValue = "45336817" + descriptor = "(Lis;B)V", + garbageValue = "0" ) @Export("addNode") public final void addNode(PacketBufferNode var1) { @@ -155,20 +154,20 @@ public class PacketWriter { this.bufferSize += var1.index; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lmv;I)V", - garbageValue = "-1644269631" + descriptor = "(Lmk;I)V", + garbageValue = "1927110230" ) @Export("setSocket") void setSocket(AbstractSocket var1) { this.socket = var1; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "2058963217" + garbageValue = "1001132724" ) @Export("close") void close() { @@ -179,67 +178,66 @@ public class PacketWriter { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1672369616" + garbageValue = "533248193" ) @Export("removeSocket") void removeSocket() { this.socket = null; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(B)Lmv;", - garbageValue = "57" + descriptor = "(B)Lmk;", + garbageValue = "119" ) @Export("getSocket") AbstractSocket getSocket() { return this.socket; } - @ObfuscatedName("n") + @ObfuscatedName("fd") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "1600925897" + descriptor = "(I)V", + garbageValue = "-2081885223" ) - static int method2358(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return -1; - } else { - return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; + static final void method2354() { + if (WorldMapSectionType.ClanChat_inClanChat) { + if (class264.friendsChat != null) { + class264.friendsChat.sort(); + } + + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsInFriendsChat(); + } + + WorldMapSectionType.ClanChat_inClanChat = false; } + } - @ObfuscatedName("gt") + @ObfuscatedName("kd") @ObfuscatedSignature( - descriptor = "(Lco;III)V", - garbageValue = "-454761472" + descriptor = "(III)V", + garbageValue = "926421993" ) - @Export("performPlayerAnimation") - static void performPlayerAnimation(Player var0, int var1, int var2) { - if (var0.sequence == var1 && var1 != -1) { - int var3 = class17.SequenceDefinition_get(var1).field1961; - if (var3 == 1) { - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field1099 = 0; + static final void method2375(int var0, int var1) { + if (Client.currentClanChannels[var0] != null) { + if (var1 >= 0 && var1 < Client.currentClanChannels[var0].method2729()) { + ClanChannelMember var2 = (ClanChannelMember)Client.currentClanChannels[var0].members.get(var1); + if (var2.rank == -1) { + PacketWriter var3 = Client.packetWriter; + PacketBufferNode var4 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2715, var3.isaacCipher); + var4.packetBuffer.writeByte(3 + class113.stringCp1252NullTerminatedByteSize(var2.username.getName())); + var4.packetBuffer.writeByte(var0); + var4.packetBuffer.writeShort(var1); + var4.packetBuffer.writeStringCp1252NullTerminated(var2.username.getName()); + var3.addNode(var4); + } } - - if (var3 == 2) { - var0.field1099 = 0; - } - } else if (var1 == -1 || var0.sequence == -1 || class17.SequenceDefinition_get(var1).field1955 >= class17.SequenceDefinition_get(var0.sequence).field1955) { - var0.sequence = var1; - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field1099 = 0; - var0.field1152 = var0.pathLength; } - } } diff --git a/runescape-client/src/main/java/ParamComposition.java b/runescape-client/src/main/java/ParamComposition.java index e9e5a8a2b8..f57582e389 100644 --- a/runescape-client/src/main/java/ParamComposition.java +++ b/runescape-client/src/main/java/ParamComposition.java @@ -3,35 +3,36 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fn") +@ObfuscatedName("ff") @Implements("ParamComposition") public class ParamComposition extends DualNode { - @ObfuscatedName("tp") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lnh;" + descriptor = "Lkl;" ) - @Export("platformInfo") - static PlatformInfo platformInfo; - @ObfuscatedName("c") + @Export("StructDefinition_archive") + static AbstractArchive StructDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("ParamDefinition_cached") public static EvictingDualNodeHashTable ParamDefinition_cached; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("type") char type; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 745031589 + intValue = -344905889 ) @Export("defaultInt") public int defaultInt; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("defaultStr") public String defaultStr; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("autoDisable") boolean autoDisable; @@ -43,19 +44,19 @@ public class ParamComposition extends DualNode { this.autoDisable = true; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1027941323" + garbageValue = "-1043156770" ) @Export("postDecode") void postDecode() { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lot;S)V", - garbageValue = "3920" + descriptor = "(Lot;I)V", + garbageValue = "1816742030" ) @Export("decode") void decode(Buffer var1) { @@ -69,31 +70,15 @@ public class ParamComposition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "310770628" + garbageValue = "1310353401" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { if (var2 == 1) { - byte var4 = var1.readByte(); - int var5 = var4 & 255; - if (var5 == 0) { - throw new IllegalArgumentException("" + Integer.toString(var5, 16)); - } - - if (var5 >= 128 && var5 < 160) { - char var6 = class316.cp1252AsciiExtension[var5 - 128]; - if (var6 == 0) { - var6 = '?'; - } - - var5 = var6; - } - - char var3 = (char)var5; - this.type = var3; + this.type = KitDefinition.method2959(var1.readByte()); } else if (var2 == 2) { this.defaultInt = var1.readInt(); } else if (var2 == 4) { @@ -104,93 +89,59 @@ public class ParamComposition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "625331841" + descriptor = "(S)Z", + garbageValue = "-14378" ) @Export("isString") public boolean isString() { return this.type == 's'; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/Throwable;Ljava/lang/String;)Lps;" + descriptor = "(CB)Z", + garbageValue = "13" ) - @Export("newRunException") - public static RunException newRunException(Throwable var0, String var1) { - RunException var2; - if (var0 instanceof RunException) { - var2 = (RunException)var0; - var2.message = var2.message + ' ' + var1; + public static boolean method3128(char var0) { + if (var0 >= ' ' && var0 < 127 || var0 > 127 && var0 < 160 || var0 > 160 && var0 <= 255) { + return true; } else { - var2 = new RunException(var0, var1); - } + if (var0 != 0) { + char[] var1 = class316.cp1252AsciiExtension; - return var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(III)Ljd;", - garbageValue = "-1331542221" - ) - @Export("getWidgetChild") - public static Widget getWidgetChild(int var0, int var1) { - Widget var2 = class87.getWidget(var0); - if (var1 == -1) { - return var2; - } else { - return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1984835425" - ) - @Export("Messages_getLastChatID") - static int Messages_getLastChatID(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - if (var1 == null) { - return -1; - } else { - return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; - } - } - - @ObfuscatedName("hd") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIIB)V", - garbageValue = "74" - ) - @Export("updatePendingSpawn") - static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - PendingSpawn var9 = null; - - for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { - var9 = var10; - break; + for (int var2 = 0; var2 < var1.length; ++var2) { + char var3 = var1[var2]; + if (var0 == var3) { + return true; + } + } } - } - if (var9 == null) { - var9 = new PendingSpawn(); - var9.plane = var0; - var9.type = var3; - var9.x = var1; - var9.y = var2; - InterfaceParent.method2044(var9); - Client.pendingSpawns.addFirst(var9); + return false; } + } - var9.id = var4; - var9.field1087 = var5; - var9.orientation = var6; - var9.delay = var7; - var9.hitpoints = var8; + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "81" + ) + static int method3129(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.LOGOUT) { + Client.logoutTimer = 250; + return 1; + } else if (var0 != 5631 && var0 != 5633) { + if (var0 == 5632) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 26; + return 1; + } else { + return 2; + } + } else { + class54.Interpreter_stringStackSize -= 2; + return 1; + } } } diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index e676b10ee3..75c5cffc1a 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -4,215 +4,213 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ab") +@ObfuscatedName("aq") @Implements("PcmPlayer") public class PcmPlayer { - @ObfuscatedName("g") + @ObfuscatedName("sm") + @ObfuscatedGetter( + intValue = 2053999609 + ) + static int field284; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1333600085 + ) + public static int field279; + @ObfuscatedName("k") @Export("PcmPlayer_stereo") public static boolean PcmPlayer_stereo; @ObfuscatedName("a") @Export("soundSystemExecutor") static ScheduledExecutorService soundSystemExecutor; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -629714143 + intValue = 234394993 ) - public static int field268; - @ObfuscatedName("am") - @Export("null_string") - protected static String null_string; - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "Lmt;" - ) - static Bounds field287; - @ObfuscatedName("oz") - @ObfuscatedSignature( - descriptor = "[Ljd;" - ) - static Widget[] field280; - @ObfuscatedName("f") + public static int field283; + @ObfuscatedName("v") @Export("samples") protected int[] samples; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lap;" + descriptor = "Lav;" ) @Export("stream") PcmStream stream; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = -1999204821 + intValue = -1215690509 ) - int field271; - @ObfuscatedName("d") + int field269; + @ObfuscatedName("b") @ObfuscatedGetter( - longValue = 5714523010373363809L + longValue = 2700493498205354685L ) @Export("timeMs") long timeMs; - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = 549678595 + intValue = 1537731573 ) @Export("capacity") int capacity; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1096848183 - ) - int field274; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -155644099 - ) - int field275; - @ObfuscatedName("b") - @ObfuscatedGetter( - longValue = -8899173845831765053L - ) - long field276; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -445294945 - ) - int field277; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1228293169 - ) - int field278; @ObfuscatedName("p") @ObfuscatedGetter( - intValue = -126021099 + intValue = -1674723661 ) - int field266; - @ObfuscatedName("w") + int field272; + @ObfuscatedName("z") @ObfuscatedGetter( - longValue = 4456126482109034013L + intValue = 1001923267 ) - long field267; - @ObfuscatedName("i") - boolean field281; - @ObfuscatedName("at") + int field265; + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 1656264467 + longValue = -2229248515898476515L ) - int field286; - @ObfuscatedName("as") + long field274; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 352319831 + ) + int field275; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 998812825 + ) + int field262; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -388583705 + ) + int field277; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = -1357881854631939735L + ) + long field278; + @ObfuscatedName("d") + boolean field266; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 461057869 + ) + int field281; + @ObfuscatedName("al") @ObfuscatedSignature( - descriptor = "[Lap;" + descriptor = "[Lav;" ) - PcmStream[] field283; - @ObfuscatedName("ae") + PcmStream[] field286; + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "[Lap;" + descriptor = "[Lav;" ) - PcmStream[] field284; + PcmStream[] field282; protected PcmPlayer() { - this.field271 = 32; - this.timeMs = Occluder.method4335(); - this.field276 = 0L; + this.field269 = 32; + this.timeMs = UserComparator4.method2406(); + this.field274 = 0L; + this.field275 = 0; + this.field262 = 0; this.field277 = 0; - this.field278 = 0; - this.field266 = 0; - this.field267 = 0L; - this.field281 = true; - this.field286 = 0; - this.field283 = new PcmStream[8]; - this.field284 = new PcmStream[8]; + this.field278 = 0L; + this.field266 = true; + this.field281 = 0; + this.field286 = new PcmStream[8]; + this.field282 = new PcmStream[8]; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "1" + descriptor = "(I)V", + garbageValue = "1783507069" ) @Export("init") protected void init() throws Exception { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "-111" + garbageValue = "15" ) @Export("open") protected void open(int var1) throws Exception { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-10" + descriptor = "(I)I", + garbageValue = "-625452134" ) @Export("position") protected int position() throws Exception { return this.capacity; } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("write") protected void write() throws Exception { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "8" + descriptor = "(I)V", + garbageValue = "-1407514911" ) @Export("close") protected void close() { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1022493238" + descriptor = "(B)V", + garbageValue = "-115" ) @Export("discard") protected void discard() throws Exception { } - @ObfuscatedName("r") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(Lap;B)V", - garbageValue = "-59" + descriptor = "(Lav;I)V", + garbageValue = "1536652372" ) @Export("setStream") public final synchronized void setStream(PcmStream var1) { this.stream = var1; } - @ObfuscatedName("p") + @ObfuscatedName("r") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "505126667" + garbageValue = "1578748771" ) @Export("run") public final synchronized void run() { if (this.samples != null) { - long var1 = Occluder.method4335(); + long var1 = UserComparator4.method2406(); try { - if (0L != this.field276) { - if (var1 < this.field276) { + if (0L != this.field274) { + if (var1 < this.field274) { return; } this.open(this.capacity); - this.field276 = 0L; - this.field281 = true; + this.field274 = 0L; + this.field266 = true; } int var3 = this.position(); - if (this.field266 - var3 > this.field277) { - this.field277 = this.field266 - var3; + if (this.field277 - var3 > this.field275) { + this.field275 = this.field277 - var3; } - int var4 = this.field275 + this.field274; + int var4 = this.field272 + this.field265; if (var4 + 256 > 16384) { var4 = 16128; } @@ -226,10 +224,10 @@ public class PcmPlayer { this.close(); this.open(this.capacity); var3 = 0; - this.field281 = true; + this.field266 = true; if (var4 + 256 > this.capacity) { var4 = this.capacity - 256; - this.field275 = var4 - this.field274; + this.field265 = var4 - this.field272; } } @@ -239,28 +237,28 @@ public class PcmPlayer { var3 += 256; } - if (var1 > this.field267) { - if (!this.field281) { - if (this.field277 == 0 && this.field278 == 0) { + if (var1 > this.field278) { + if (!this.field266) { + if (this.field275 == 0 && this.field262 == 0) { this.close(); - this.field276 = var1 + 2000L; + this.field274 = var1 + 2000L; return; } - this.field275 = Math.min(this.field278, this.field277); - this.field278 = this.field277; + this.field265 = Math.min(this.field262, this.field275); + this.field262 = this.field275; } else { - this.field281 = false; + this.field266 = false; } - this.field277 = 0; - this.field267 = var1 + 2000L; + this.field275 = 0; + this.field278 = var1 + 2000L; } - this.field266 = var3; + this.field277 = var3; } catch (Exception var7) { this.close(); - this.field276 = 2000L + var1; + this.field274 = var1 + 2000L; } try { @@ -270,7 +268,7 @@ public class PcmPlayer { while (var1 > 5000L + this.timeMs) { this.skip(256); - this.timeMs += (long)(256000 / class276.field3287); + this.timeMs += (long)(256000 / field279); } } catch (Exception var6) { this.timeMs = var1; @@ -279,49 +277,49 @@ public class PcmPlayer { } } - @ObfuscatedName("w") + @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "17185845" + garbageValue = "-1285587409" ) - public final void method710() { - this.field281 = true; + public final void method696() { + this.field266 = true; } - @ObfuscatedName("i") + @ObfuscatedName("u") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1056182586" + garbageValue = "-1511155327" ) @Export("tryDiscard") public final synchronized void tryDiscard() { - this.field281 = true; + this.field266 = true; try { this.discard(); } catch (Exception var2) { this.close(); - this.field276 = Occluder.method4335() + 2000L; + this.field274 = UserComparator4.method2406() + 2000L; } } - @ObfuscatedName("aq") + @ObfuscatedName("d") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "592744996" + garbageValue = "25571035" ) @Export("shutdown") public final synchronized void shutdown() { - if (class258.soundSystem != null) { + if (Skeleton.soundSystem != null) { boolean var1 = true; for (int var2 = 0; var2 < 2; ++var2) { - if (this == class258.soundSystem.players[var2]) { - class258.soundSystem.players[var2] = null; + if (this == Skeleton.soundSystem.players[var2]) { + Skeleton.soundSystem.players[var2] = null; } - if (class258.soundSystem.players[var2] != null) { + if (Skeleton.soundSystem.players[var2] != null) { var1 = false; } } @@ -329,7 +327,7 @@ public class PcmPlayer { if (var1) { soundSystemExecutor.shutdownNow(); soundSystemExecutor = null; - class258.soundSystem = null; + Skeleton.soundSystem = null; } } @@ -337,16 +335,16 @@ public class PcmPlayer { this.samples = null; } - @ObfuscatedName("ad") + @ObfuscatedName("ab") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-1949816461" + garbageValue = "4570450" ) @Export("skip") final void skip(int var1) { - this.field286 -= var1; - if (this.field286 < 0) { - this.field286 = 0; + this.field281 -= var1; + if (this.field281 < 0) { + this.field281 = 0; } if (this.stream != null) { @@ -355,7 +353,7 @@ public class PcmPlayer { } - @ObfuscatedName("al") + @ObfuscatedName("ad") @Export("fill") final void fill(int[] var1, int var2) { int var3 = var2; @@ -364,17 +362,17 @@ public class PcmPlayer { } class321.clearIntArray(var1, 0, var3); - this.field286 -= var2; - if (this.stream != null && this.field286 <= 0) { - this.field286 += class276.field3287 >> 4; - class157.PcmStream_disable(this.stream); - this.method715(this.stream, this.stream.vmethod972()); + this.field281 -= var2; + if (this.stream != null && this.field281 <= 0) { + this.field281 += field279 >> 4; + class12.PcmStream_disable(this.stream); + this.method711(this.stream, this.stream.vmethod944()); int var4 = 0; int var5 = 255; int var6; PcmStream var10; - label109: + label108: for (var6 = 7; var5 != 0; --var6) { int var7; int var8; @@ -390,13 +388,13 @@ public class PcmPlayer { if ((var9 & 1) != 0) { var5 &= ~(1 << var7); var10 = null; - PcmStream var11 = this.field283[var7]; + PcmStream var11 = this.field286[var7]; - label103: + label102: while (true) { while (true) { if (var11 == null) { - break label103; + break label102; } AbstractSound var12 = var11.sound; @@ -406,33 +404,33 @@ public class PcmPlayer { var11 = var11.after; } else { var11.active = true; - int var13 = var11.vmethod4836(); + int var13 = var11.vmethod4889(); var4 += var13; if (var12 != null) { var12.position += var13; } - if (var4 >= this.field271) { - break label109; + if (var4 >= this.field269) { + break label108; } PcmStream var14 = var11.firstSubStream(); if (var14 != null) { for (int var15 = var11.field335; var14 != null; var14 = var11.nextSubStream()) { - this.method715(var14, var15 * var14.vmethod972() >> 8); + this.method711(var14, var15 * var14.vmethod944() >> 8); } } PcmStream var18 = var11.after; var11.after = null; if (var10 == null) { - this.field283[var7] = var18; + this.field286[var7] = var18; } else { var10.after = var18; } if (var18 == null) { - this.field284[var7] = var10; + this.field282[var7] = var10; } var11 = var18; @@ -447,9 +445,9 @@ public class PcmPlayer { } for (var6 = 0; var6 < 8; ++var6) { - PcmStream var16 = this.field283[var6]; - PcmStream[] var17 = this.field283; - this.field284[var6] = null; + PcmStream var16 = this.field286[var6]; + PcmStream[] var17 = this.field286; + this.field282[var6] = null; for (var17[var6] = null; var16 != null; var16 = var10) { var10 = var16.after; @@ -458,60 +456,182 @@ public class PcmPlayer { } } - if (this.field286 < 0) { - this.field286 = 0; + if (this.field281 < 0) { + this.field281 = 0; } if (this.stream != null) { this.stream.fill(var1, 0, var2); } - this.timeMs = Occluder.method4335(); + this.timeMs = UserComparator4.method2406(); } - @ObfuscatedName("aw") + @ObfuscatedName("ak") @ObfuscatedSignature( - descriptor = "(Lap;IB)V", - garbageValue = "-38" + descriptor = "(Lav;II)V", + garbageValue = "589893178" ) - final void method715(PcmStream var1, int var2) { + final void method711(PcmStream var1, int var2) { int var3 = var2 >> 5; - PcmStream var4 = this.field284[var3]; + PcmStream var4 = this.field282[var3]; if (var4 == null) { - this.field283[var3] = var1; + this.field286[var3] = var1; } else { var4.after = var1; } - this.field284[var3] = var1; + this.field282[var3] = var1; var1.field335 = var2; } - @ObfuscatedName("fy") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "-1047991262" + descriptor = "(I)[Lfp;", + garbageValue = "1715478775" ) - @Export("queueSoundEffect") - static void queueSoundEffect(int var0, int var1, int var2) { - if (VarbitComposition.clientPreferences.soundEffectsVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var0; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = 0; - ++Client.soundEffectCount; + static HorizontalAlignment[] method702() { + return new HorizontalAlignment[]{HorizontalAlignment.field1708, HorizontalAlignment.field1707, HorizontalAlignment.HorizontalAlignment_centered}; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(I)[Ljm;", + garbageValue = "1452483568" + ) + public static class283[] method744() { + return new class283[]{class283.field3648, class283.field3646, class283.field3649, class283.field3647}; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "1564904197" + ) + static int method697(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } else { + var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } + + String var4 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + int[] var5 = null; + if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { + int var6 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var6 > 0) { + for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]) { + } + } + + var4 = var4.substring(0, var4.length() - 1); + } + + Object[] var8 = new Object[var4.length() + 1]; + + int var7; + for (var7 = var8.length - 1; var7 >= 1; --var7) { + if (var4.charAt(var7 - 1) == 's') { + var8[var7] = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + } else { + var8[var7] = new Integer(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } + } + + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var7 != -1) { + var8[0] = new Integer(var7); + } else { + var8 = null; + } + + if (var0 == ScriptOpcodes.CC_SETONCLICK) { + var3.onClick = var8; + } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { + var3.onHold = var8; + } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { + var3.onRelease = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { + var3.onMouseOver = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { + var3.onMouseLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { + var3.onDrag = var8; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { + var3.onTargetLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { + var3.onVarTransmit = var8; + var3.varTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { + var3.onTimer = var8; + } else if (var0 == ScriptOpcodes.CC_SETONOP) { + var3.onOp = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { + var3.onDragComplete = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { + var3.onClickRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { + var3.onMouseRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { + var3.onInvTransmit = var8; + var3.invTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { + var3.onStatTransmit = var8; + var3.statTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { + var3.onTargetEnter = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { + var3.onScroll = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { + var3.onChatTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONKEY) { + var3.onKey = var8; + } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { + var3.onFriendTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { + var3.onClanTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { + var3.onMiscTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { + var3.onDialogAbort = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { + var3.onSubChange = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { + var3.onStockTransmit = var8; + } else if (var0 == 1426) { + var3.field3168 = var8; + } else if (var0 == ScriptOpcodes.CC_SETONRESIZE) { + var3.onResize = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLANSETTINGSTRANSMIT) { + var3.field3161 = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLANCHANNELTRANSMIT) { + var3.field3163 = var8; + } else if (var0 == 1430) { + var3.field3157 = var8; + } else { + if (var0 != 1431) { + return 2; + } + + var3.field3158 = var8; + } + + var3.hasListener = true; + return 1; + } + + @ObfuscatedName("ff") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-856147347" + ) + static void method741(int var0, int var1) { + if (WorldMapDecorationType.clientPreferences.musicVolume != 0 && var0 != -1) { + class67.method1886(class4.archive11, var0, 0, WorldMapDecorationType.clientPreferences.musicVolume, false); + Client.field663 = true; } } - - @ObfuscatedName("kt") - @ObfuscatedSignature( - descriptor = "(Ljd;B)Z", - garbageValue = "1" - ) - @Export("isComponentHidden") - static boolean isComponentHidden(Widget var0) { - return var0.isHidden; - } } diff --git a/runescape-client/src/main/java/PcmStream.java b/runescape-client/src/main/java/PcmStream.java index 60cd885a1c..d972bb95d2 100644 --- a/runescape-client/src/main/java/PcmStream.java +++ b/runescape-client/src/main/java/PcmStream.java @@ -3,62 +3,62 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ap") +@ObfuscatedName("av") @Implements("PcmStream") public abstract class PcmStream extends Node { - @ObfuscatedName("h") + @ObfuscatedName("w") + @Export("active") + volatile boolean active; + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "Lap;" + descriptor = "Lav;" ) @Export("after") PcmStream after; - @ObfuscatedName("d") + @ObfuscatedName("x") int field335; - @ObfuscatedName("q") + @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "Lbt;" ) @Export("sound") AbstractSound sound; - @ObfuscatedName("j") - @Export("active") - volatile boolean active; protected PcmStream() { this.active = true; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("firstSubStream") protected abstract PcmStream firstSubStream(); - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("nextSubStream") protected abstract PcmStream nextSubStream(); @ObfuscatedName("a") - protected abstract int vmethod4836(); + protected abstract int vmethod4889(); - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("fill") protected abstract void fill(int[] var1, int var2, int var3); - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("skip") protected abstract void skip(int var1); - @ObfuscatedName("ar") - int vmethod972() { + @ObfuscatedName("aq") + int vmethod944() { return 255; } - @ObfuscatedName("fl") + @ObfuscatedName("ei") @Export("update") final void update(int[] var1, int var2, int var3) { if (this.active) { diff --git a/runescape-client/src/main/java/PcmStreamMixer.java b/runescape-client/src/main/java/PcmStreamMixer.java index 35a6fc57de..d5a505ff6b 100644 --- a/runescape-client/src/main/java/PcmStreamMixer.java +++ b/runescape-client/src/main/java/PcmStreamMixer.java @@ -3,104 +3,104 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ae") +@ObfuscatedName("ao") @Implements("PcmStreamMixer") public class PcmStreamMixer extends PcmStream { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("subStreams") NodeDeque subStreams; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) - NodeDeque field242; - @ObfuscatedName("m") - int field243; - @ObfuscatedName("k") - int field244; + NodeDeque field238; + @ObfuscatedName("f") + int field239; + @ObfuscatedName("j") + int field240; public PcmStreamMixer() { this.subStreams = new NodeDeque(); - this.field242 = new NodeDeque(); - this.field243 = 0; - this.field244 = -1; + this.field238 = new NodeDeque(); + this.field239 = 0; + this.field240 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lap;)V" + descriptor = "(Lav;)V" ) @Export("addSubStream") public final synchronized void addSubStream(PcmStream var1) { this.subStreams.addLast(var1); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lap;)V" + descriptor = "(Lav;)V" ) @Export("removeSubStream") public final synchronized void removeSubStream(PcmStream var1) { var1.remove(); } - @ObfuscatedName("m") - void method643() { - if (this.field243 > 0) { - for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field242.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field242.previous()) { - var1.field381 -= this.field243; + @ObfuscatedName("f") + void method619() { + if (this.field239 > 0) { + for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field238.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field238.previous()) { + var1.field382 -= this.field239; } - this.field244 -= this.field243; - this.field243 = 0; + this.field240 -= this.field239; + this.field239 = 0; + } + + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Lnv;Laz;)V" + ) + void method645(Node var1, PcmStreamMixerListener var2) { + while (this.field238.sentinel != var1 && ((PcmStreamMixerListener)var1).field382 <= var2.field382) { + var1 = var1.previous; + } + + NodeDeque.NodeDeque_addBefore(var2, var1); + this.field240 = ((PcmStreamMixerListener)this.field238.sentinel.previous).field382; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(Laz;)V" + ) + void method621(PcmStreamMixerListener var1) { + var1.remove(); + var1.remove2(); + Node var2 = this.field238.sentinel.previous; + if (var2 == this.field238.sentinel) { + this.field240 = -1; + } else { + this.field240 = ((PcmStreamMixerListener)var2).field382; } } @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lnr;Laz;)V" - ) - void method615(Node var1, PcmStreamMixerListener var2) { - while (this.field242.sentinel != var1 && ((PcmStreamMixerListener)var1).field381 <= var2.field381) { - var1 = var1.previous; - } - - NodeDeque.NodeDeque_addBefore(var2, var1); - this.field244 = ((PcmStreamMixerListener)this.field242.sentinel.previous).field381; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Laz;)V" - ) - void method631(PcmStreamMixerListener var1) { - var1.remove(); - var1.remove2(); - Node var2 = this.field242.sentinel.previous; - if (var2 == this.field242.sentinel) { - this.field244 = -1; - } else { - this.field244 = ((PcmStreamMixerListener)var2).field381; - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { return (PcmStream)this.subStreams.last(); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { @@ -108,47 +108,47 @@ public class PcmStreamMixer extends PcmStream { } @ObfuscatedName("a") - protected int vmethod4836() { + protected int vmethod4889() { return 0; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("fill") public final synchronized void fill(int[] var1, int var2, int var3) { do { - if (this.field244 < 0) { + if (this.field240 < 0) { this.updateSubStreams(var1, var2, var3); return; } - if (var3 + this.field243 < this.field244) { - this.field243 += var3; + if (var3 + this.field239 < this.field240) { + this.field239 += var3; this.updateSubStreams(var1, var2, var3); return; } - int var4 = this.field244 - this.field243; + int var4 = this.field240 - this.field239; this.updateSubStreams(var1, var2, var4); var2 += var4; var3 -= var4; - this.field243 += var4; - this.method643(); - PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field242.last(); + this.field239 += var4; + this.method619(); + PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field238.last(); synchronized(var5) { int var7 = var5.update(); if (var7 < 0) { - var5.field381 = 0; - this.method631(var5); + var5.field382 = 0; + this.method621(var5); } else { - var5.field381 = var7; - this.method615(var5.previous, var5); + var5.field382 = var7; + this.method645(var5.previous, var5); } } } while(var3 != 0); } - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("updateSubStreams") void updateSubStreams(int[] var1, int var2, int var3) { for (PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { @@ -157,42 +157,42 @@ public class PcmStreamMixer extends PcmStream { } - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("skip") public final synchronized void skip(int var1) { do { - if (this.field244 < 0) { + if (this.field240 < 0) { this.skipSubStreams(var1); return; } - if (this.field243 + var1 < this.field244) { - this.field243 += var1; + if (this.field239 + var1 < this.field240) { + this.field239 += var1; this.skipSubStreams(var1); return; } - int var2 = this.field244 - this.field243; + int var2 = this.field240 - this.field239; this.skipSubStreams(var2); var1 -= var2; - this.field243 += var2; - this.method643(); - PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field242.last(); + this.field239 += var2; + this.method619(); + PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field238.last(); synchronized(var3) { int var5 = var3.update(); if (var5 < 0) { - var3.field381 = 0; - this.method631(var3); + var3.field382 = 0; + this.method621(var3); } else { - var3.field381 = var5; - this.method615(var3.previous, var3); + var3.field382 = var5; + this.method645(var3.previous, var3); } } } while(var1 != 0); } - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("skipSubStreams") void skipSubStreams(int var1) { for (PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { diff --git a/runescape-client/src/main/java/PcmStreamMixerListener.java b/runescape-client/src/main/java/PcmStreamMixerListener.java index 31ca247f17..be0326d986 100644 --- a/runescape-client/src/main/java/PcmStreamMixerListener.java +++ b/runescape-client/src/main/java/PcmStreamMixerListener.java @@ -6,16 +6,16 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("az") @Implements("PcmStreamMixerListener") public abstract class PcmStreamMixerListener extends Node { - @ObfuscatedName("n") - int field381; + @ObfuscatedName("l") + int field382; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("remove2") abstract void remove2(); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lae;)I" + descriptor = "(Lao;)I" ) @Export("update") abstract int update(); diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java index 9cabeaca41..a84f1fa8c0 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -4,75 +4,80 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cb") +@ObfuscatedName("cx") @Implements("PendingSpawn") public final class PendingSpawn extends Node { - @ObfuscatedName("n") + @ObfuscatedName("go") + @ObfuscatedSignature( + descriptor = "Lmk;" + ) + static AbstractSocket field1101; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 798136439 + intValue = -64819785 ) @Export("plane") int plane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 277556061 + intValue = 1686538883 ) @Export("type") int type; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 510316027 + intValue = -1948405039 ) @Export("x") int x; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 928364177 + intValue = -1302314377 ) @Export("y") int y; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1051559985 + intValue = -36721559 ) @Export("objectId") int objectId; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1704984919 + intValue = 1553617043 ) - int field1088; - @ObfuscatedName("z") + int field1095; + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -643946929 + intValue = 531221351 ) - int field1083; + int field1096; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -1287186215 + intValue = 474756437 ) @Export("id") int id; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1547375193 + intValue = 1648049167 ) @Export("orientation") int orientation; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 516398745 + intValue = -716448433 ) - int field1087; - @ObfuscatedName("l") + int field1104; + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 409571987 + intValue = 161742555 ) @Export("delay") int delay; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = 1484794423 + intValue = -1575290553 ) @Export("hitpoints") int hitpoints; @@ -82,74 +87,352 @@ public final class PendingSpawn extends Node { this.hitpoints = -1; } - @ObfuscatedName("n") + @ObfuscatedName("gf") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;I)V", - garbageValue = "1900075173" + descriptor = "(IIIIB)V", + garbageValue = "14" ) - public static void method2121(AbstractArchive var0, AbstractArchive var1) { - KitDefinition.KitDefinition_archive = var0; - GrandExchangeOfferUnitPriceComparator.KitDefinition_modelsArchive = var1; - DirectByteArrayCopier.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); - } + @Export("drawEntities") + static final void drawEntities(int var0, int var1, int var2, int var3) { + ++Client.viewportDrawCount; + if (class67.localPlayer.x >> 7 == Client.destinationX && class67.localPlayer.y >> 7 == Client.destinationY) { + Client.destinationX = 0; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IB)Lfe;", - garbageValue = "24" - ) - public static HitSplatDefinition method2120(int var0) { - HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0); - var1 = new HitSplatDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); + class326.method5929(); + class18.method280(); + UserComparator5.addNpcsToScene(true); + class355.method6311(); + UserComparator5.addNpcsToScene(false); + FriendsChat.method5993(); + class54.method1055(); + class130.setViewportShape(var0, var1, var2, var3, true); + var0 = Client.viewportOffsetX; + var1 = Client.viewportOffsetY; + var2 = Client.viewportWidth; + var3 = Client.viewportHeight; + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + int var14; + int var15; + int var16; + int var18; + if (!Client.isCameraLocked) { + var4 = Client.camAngleX; + if (Client.field565 / 256 > var4) { + var4 = Client.field565 / 256; } - HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); - return var1; + if (Client.field739[4] && Client.field741[4] + 128 > var4) { + var4 = Client.field741[4] + 128; + } + + var5 = Client.camAngleY & 2047; + var6 = class132.oculusOrbFocalPointX; + var7 = class194.field2186; + var8 = LoginScreenAnimation.oculusOrbFocalPointY; + var9 = NetCache.method5335(var4); + var11 = var3 - 334; + if (var11 < 0) { + var11 = 0; + } else if (var11 > 100) { + var11 = 100; + } + + var12 = (Client.zoomWidth - Client.zoomHeight) * var11 / 100 + Client.zoomHeight; + var10 = var12 * var9 / 256; + var11 = 2048 - var4 & 2047; + var12 = 2048 - var5 & 2047; + int var13 = 0; + var14 = 0; + var15 = var10; + int var17; + if (var11 != 0) { + var16 = Rasterizer3D.Rasterizer3D_sine[var11]; + var17 = Rasterizer3D.Rasterizer3D_cosine[var11]; + var18 = var17 * var14 - var10 * var16 >> 16; + var15 = var10 * var17 + var14 * var16 >> 16; + var14 = var18; + } + + if (var12 != 0) { + var16 = Rasterizer3D.Rasterizer3D_sine[var12]; + var17 = Rasterizer3D.Rasterizer3D_cosine[var12]; + var18 = var15 * var16 + var13 * var17 >> 16; + var15 = var15 * var17 - var13 * var16 >> 16; + var13 = var18; + } + + Canvas.cameraX = var6 - var13; + class14.cameraY = var7 - var14; + VarpDefinition.cameraZ = var8 - var15; + WorldMapIcon_1.cameraPitch = var4; + HealthBarUpdate.cameraYaw = var5; + if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (class132.oculusOrbFocalPointX >> 7 != class67.localPlayer.x >> 7 || LoginScreenAnimation.oculusOrbFocalPointY >> 7 != class67.localPlayer.y >> 7)) { + var16 = class67.localPlayer.plane; + var17 = (class132.oculusOrbFocalPointX >> 7) + WorldMapSectionType.baseX; + var18 = (LoginScreenAnimation.oculusOrbFocalPointY >> 7) + PlayerComposition.baseY; + UrlRequest.method2386(var17, var18, var16, true); + } } - } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-238397190" - ) - static boolean method2118(char var0) { - return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var0) != -1; - } + if (!Client.isCameraLocked) { + var4 = class117.method2519(); + } else { + if (WorldMapDecorationType.clientPreferences.roofsHidden) { + var5 = VertexNormal.Client_plane; + } else { + var6 = MidiPcmStream.getTileHeight(Canvas.cameraX, VarpDefinition.cameraZ, VertexNormal.Client_plane); + if (var6 - class14.cameraY < 800 && (Tiles.Tiles_renderFlags[VertexNormal.Client_plane][Canvas.cameraX >> 7][VarpDefinition.cameraZ >> 7] & 4) != 0) { + var5 = VertexNormal.Client_plane; + } else { + var5 = 3; + } + } - @ObfuscatedName("it") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-984867343" - ) - static void method2119() { - for (int var0 = 0; var0 < Client.menuOptionsCount; ++var0) { - int var2 = Client.menuOpcodes[var0]; - boolean var1 = var2 == 57 || var2 == 58 || var2 == 1007 || var2 == 25 || var2 == 30; - if (var1) { - if (var0 < Client.menuOptionsCount - 1) { - for (int var3 = var0; var3 < Client.menuOptionsCount - 1; ++var3) { - Client.menuActions[var3] = Client.menuActions[var3 + 1]; - Client.menuTargets[var3] = Client.menuTargets[var3 + 1]; - Client.menuOpcodes[var3] = Client.menuOpcodes[var3 + 1]; - Client.menuIdentifiers[var3] = Client.menuIdentifiers[var3 + 1]; - Client.menuArguments1[var3] = Client.menuArguments1[var3 + 1]; - Client.menuArguments2[var3] = Client.menuArguments2[var3 + 1]; - Client.menuShiftClick[var3] = Client.menuShiftClick[var3 + 1]; + var4 = var5; + } + + var5 = Canvas.cameraX; + var6 = class14.cameraY; + var7 = VarpDefinition.cameraZ; + var8 = WorldMapIcon_1.cameraPitch; + var9 = HealthBarUpdate.cameraYaw; + + for (var10 = 0; var10 < 5; ++var10) { + if (Client.field739[var10]) { + var11 = (int)(Math.random() * (double)(Client.field740[var10] * 2 + 1) - (double)Client.field740[var10] + Math.sin((double)Client.field743[var10] * ((double)Client.field742[var10] / 100.0D)) * (double)Client.field741[var10]); + if (var10 == 0) { + Canvas.cameraX += var11; + } + + if (var10 == 1) { + class14.cameraY += var11; + } + + if (var10 == 2) { + VarpDefinition.cameraZ += var11; + } + + if (var10 == 3) { + HealthBarUpdate.cameraYaw = var11 + HealthBarUpdate.cameraYaw & 2047; + } + + if (var10 == 4) { + WorldMapIcon_1.cameraPitch += var11; + if (WorldMapIcon_1.cameraPitch < 128) { + WorldMapIcon_1.cameraPitch = 128; + } + + if (WorldMapIcon_1.cameraPitch > 383) { + WorldMapIcon_1.cameraPitch = 383; + } + } + } + } + + var10 = MouseHandler.MouseHandler_x; + var11 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var10 = MouseHandler.MouseHandler_lastPressedX; + var11 = MouseHandler.MouseHandler_lastPressedY; + } + + if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { + class67.method1888(var10 - var0, var11 - var1); + } else { + ViewportMouse.ViewportMouse_isInViewport = false; + ViewportMouse.ViewportMouse_entityCount = 0; + } + + class356.playPcmPlayers(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + class356.playPcmPlayers(); + var12 = Rasterizer3D.Rasterizer3D_zoom; + Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; + PlayerComposition.scene.draw(Canvas.cameraX, class14.cameraY, VarpDefinition.cameraZ, WorldMapIcon_1.cameraPitch, HealthBarUpdate.cameraYaw, var4); + Rasterizer3D.Rasterizer3D_zoom = var12; + class356.playPcmPlayers(); + PlayerComposition.scene.clearTempGameObjects(); + Client.overheadTextCount = 0; + boolean var31 = false; + var14 = -1; + var15 = -1; + var16 = Players.Players_count; + int[] var28 = Players.Players_indices; + + for (var18 = 0; var18 < var16 + Client.npcCount; ++var18) { + Object var30; + if (var18 < var16) { + var30 = Client.players[var28[var18]]; + if (var28[var18] == Client.combatTargetPlayerIndex) { + var31 = true; + var14 = var18; + continue; + } + + if (var30 == class67.localPlayer) { + var15 = var18; + continue; + } + } else { + var30 = Client.npcs[Client.npcIndices[var18 - var16]]; + } + + BufferedFile.drawActor2d((Actor)var30, var18, var0, var1, var2, var3); + } + + if (Client.renderSelf && var15 != -1) { + BufferedFile.drawActor2d(class67.localPlayer, var15, var0, var1, var2, var3); + } + + if (var31) { + BufferedFile.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3); + } + + for (var18 = 0; var18 < Client.overheadTextCount; ++var18) { + int var19 = Client.overheadTextXs[var18]; + int var20 = Client.overheadTextYs[var18]; + int var21 = Client.overheadTextXOffsets[var18]; + int var22 = Client.overheadTextAscents[var18]; + boolean var23 = true; + + while (var23) { + var23 = false; + + for (int var29 = 0; var29 < var18; ++var29) { + if (var20 + 2 > Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] && var20 - var22 < Client.overheadTextYs[var29] + 2 && var19 - var21 < Client.overheadTextXOffsets[var29] + Client.overheadTextXs[var29] && var21 + var19 > Client.overheadTextXs[var29] - Client.overheadTextXOffsets[var29] && Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] < var20) { + var20 = Client.overheadTextYs[var29] - Client.overheadTextAscents[var29]; + var23 = true; + } + } + } + + Client.viewportTempX = Client.overheadTextXs[var18]; + Client.viewportTempY = Client.overheadTextYs[var18] = var20; + String var24 = Client.overheadText[var18]; + if (Client.chatEffects == 0) { + int var25 = 16776960; + if (Client.overheadTextColors[var18] < 6) { + var25 = Client.field554[Client.overheadTextColors[var18]]; + } + + if (Client.overheadTextColors[var18] == 6) { + var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; + } + + if (Client.overheadTextColors[var18] == 7) { + var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; + } + + if (Client.overheadTextColors[var18] == 8) { + var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; + } + + int var26; + if (Client.overheadTextColors[var18] == 9) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 1280 + 16711680; + } else if (var26 < 100) { + var25 = 16776960 - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 5 + 65280; } } - --var0; - --Client.menuOptionsCount; + if (Client.overheadTextColors[var18] == 10) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 5 + 16711680; + } else if (var26 < 100) { + var25 = 16711935 - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; + } + } + + if (Client.overheadTextColors[var18] == 11) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = 16777215 - var26 * 327685; + } else if (var26 < 100) { + var25 = (var26 - 50) * 327685 + 65280; + } else if (var26 < 150) { + var25 = 16777215 - (var26 - 100) * 327680; + } + } + + if (Client.overheadTextEffects[var18] == 0) { + Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); + } + + if (Client.overheadTextEffects[var18] == 1) { + Interpreter.fontBold12.drawCenteredWave(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 2) { + Interpreter.fontBold12.drawCenteredWave2(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 3) { + Interpreter.fontBold12.drawCenteredShake(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); + } + + if (Client.overheadTextEffects[var18] == 4) { + var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (Interpreter.fontBold12.stringWidth(var24) + 100) / 150; + Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); + Interpreter.fontBold12.draw(var24, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + + if (Client.overheadTextEffects[var18] == 5) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + int var27 = 0; + if (var26 < 25) { + var27 = var26 - 25; + } else if (var26 > 125) { + var27 = var26 - 125; + } + + Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - Interpreter.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); + Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + } else { + Interpreter.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); } } - NPC.method2214(VarcInt.menuWidth / 2 + WorldMapRegion.menuX, ApproximateRouteStrategy.menuY); + WorldMapScaleHandler.method4005(var0, var1); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field536); + class11.method110(var0, var1, var2, var3); + Canvas.cameraX = var5; + class14.cameraY = var6; + VarpDefinition.cameraZ = var7; + WorldMapIcon_1.cameraPitch = var8; + HealthBarUpdate.cameraYaw = var9; + if (Client.isLoading) { + byte var32 = 0; + var14 = var32 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; + if (var14 == 0) { + Client.isLoading = false; + } + } + + if (Client.isLoading) { + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + ScriptFrame.drawLoadingMessage("Loading - please wait.", false); + } + } } diff --git a/runescape-client/src/main/java/PlatformInfo.java b/runescape-client/src/main/java/PlatformInfo.java index 1d627d82c7..875412b8bf 100644 --- a/runescape-client/src/main/java/PlatformInfo.java +++ b/runescape-client/src/main/java/PlatformInfo.java @@ -4,230 +4,971 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nh") +@ObfuscatedName("nr") @Implements("PlatformInfo") public class PlatformInfo extends Node { - @ObfuscatedName("qf") - @Export("ClanChat_inClanChat") - static boolean ClanChat_inClanChat; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = -301713757 + intValue = -1197166297 ) - int field4088; - @ObfuscatedName("ae") - boolean field4072; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -111848783 - ) - int field4076; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 820690551 - ) - int field4074; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 116174243 - ) - int field4075; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 1318161517 - ) - int field4065; + int field4103; + @ObfuscatedName("ao") + boolean field4096; @ObfuscatedName("au") @ObfuscatedGetter( - intValue = 980413449 + intValue = -1040893309 ) - int field4081; - @ObfuscatedName("am") - boolean field4078; - @ObfuscatedName("ao") + int field4097; + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = -1922115909 + intValue = 1392249455 ) - int field4079; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 719297693 - ) - int field4080; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -1688569519 - ) - int field4067; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = -672091149 - ) - int field4082; - @ObfuscatedName("ac") - String field4083; + int field4098; @ObfuscatedName("ag") - String field4084; + @ObfuscatedGetter( + intValue = -1075806637 + ) + int field4109; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -530796901 + ) + int field4100; @ObfuscatedName("ar") - String field4085; - @ObfuscatedName("az") - String field4086; - @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = 1923916565 + intValue = -1276768227 ) - int field4087; - @ObfuscatedName("af") + int field4101; + @ObfuscatedName("ac") + boolean field4107; + @ObfuscatedName("at") @ObfuscatedGetter( - intValue = -1684165867 + intValue = -2099427815 ) - int field4095; + int field4099; @ObfuscatedName("ax") @ObfuscatedGetter( - intValue = -517088015 + intValue = 1412007133 ) - int field4089; - @ObfuscatedName("bd") + int field4104; + @ObfuscatedName("av") @ObfuscatedGetter( - intValue = 2045048519 + intValue = -309561397 ) - int field4071; + int field4105; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 401410233 + ) + int field4106; + @ObfuscatedName("aj") + String field4110; + @ObfuscatedName("am") + String field4084; + @ObfuscatedName("aw") + String field4094; + @ObfuscatedName("az") + String field4095; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 646549057 + ) + int field4090; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = -1327131373 + ) + int field4118; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 1421225597 + ) + int field4112; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = -988523473 + ) + int field4114; @ObfuscatedName("bt") - String field4091; + String field4115; + @ObfuscatedName("bg") + String field4113; @ObfuscatedName("bf") - String field4096; - @ObfuscatedName("bp") - int[] field4064; - @ObfuscatedName("bl") + int[] field4108; + @ObfuscatedName("bj") @ObfuscatedGetter( - intValue = -1427079985 + intValue = -1802718035 ) - int field4094; - @ObfuscatedName("bc") - String field4077; + int field4117; + @ObfuscatedName("bo") + String field4119; PlatformInfo(int var1, boolean var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11, int var12, String var13, String var14, String var15, String var16, int var17, int var18, int var19, int var20, String var21, String var22, int[] var23, int var24, String var25) { - this.field4064 = new int[3]; - this.field4088 = var1; - this.field4072 = var2; - this.field4076 = var3; - this.field4074 = var4; - this.field4075 = var5; - this.field4065 = var6; - this.field4081 = var7; - this.field4078 = var8; - this.field4079 = var9; - this.field4080 = var10; - this.field4067 = var11; - this.field4082 = var12; - this.field4083 = var13; + this.field4108 = new int[3]; + this.field4103 = var1; + this.field4096 = var2; + this.field4097 = var3; + this.field4098 = var4; + this.field4109 = var5; + this.field4100 = var6; + this.field4101 = var7; + this.field4107 = var8; + this.field4099 = var9; + this.field4104 = var10; + this.field4105 = var11; + this.field4106 = var12; + this.field4110 = var13; this.field4084 = var14; - this.field4085 = var15; - this.field4086 = var16; - this.field4087 = var17; - this.field4095 = var18; - this.field4089 = var19; - this.field4071 = var20; - this.field4091 = var21; - this.field4096 = var22; - this.field4064 = var23; - this.field4094 = var24; - this.field4077 = var25; + this.field4094 = var15; + this.field4095 = var16; + this.field4090 = var17; + this.field4118 = var18; + this.field4112 = var19; + this.field4114 = var20; + this.field4115 = var21; + this.field4113 = var22; + this.field4108 = var23; + this.field4117 = var24; + this.field4119 = var25; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;B)V", - garbageValue = "46" + garbageValue = "92" ) @Export("write") public void write(Buffer var1) { var1.writeByte(8); - var1.writeByte(this.field4088); - var1.writeByte(this.field4072 ? 1 : 0); - var1.writeShort(this.field4076); - var1.writeByte(this.field4074); - var1.writeByte(this.field4075); - var1.writeByte(this.field4065); - var1.writeByte(this.field4081); - var1.writeByte(this.field4078 ? 1 : 0); - var1.writeShort(this.field4079); - var1.writeByte(this.field4080); - var1.writeMedium(this.field4067); - var1.writeShort(this.field4082); - var1.writeStringCp1252NullCircumfixed(this.field4083); + var1.writeByte(this.field4103); + var1.writeByte(this.field4096 ? 1 : 0); + var1.writeShort(this.field4097); + var1.writeByte(this.field4098); + var1.writeByte(this.field4109); + var1.writeByte(this.field4100); + var1.writeByte(this.field4101); + var1.writeByte(this.field4107 ? 1 : 0); + var1.writeShort(this.field4099); + var1.writeByte(this.field4104); + var1.writeMedium(this.field4105); + var1.writeShort(this.field4106); + var1.writeStringCp1252NullCircumfixed(this.field4110); var1.writeStringCp1252NullCircumfixed(this.field4084); - var1.writeStringCp1252NullCircumfixed(this.field4085); - var1.writeStringCp1252NullCircumfixed(this.field4086); - var1.writeByte(this.field4095); - var1.writeShort(this.field4087); - var1.writeStringCp1252NullCircumfixed(this.field4091); - var1.writeStringCp1252NullCircumfixed(this.field4096); - var1.writeByte(this.field4089); - var1.writeByte(this.field4071); + var1.writeStringCp1252NullCircumfixed(this.field4094); + var1.writeStringCp1252NullCircumfixed(this.field4095); + var1.writeByte(this.field4118); + var1.writeShort(this.field4090); + var1.writeStringCp1252NullCircumfixed(this.field4115); + var1.writeStringCp1252NullCircumfixed(this.field4113); + var1.writeByte(this.field4112); + var1.writeByte(this.field4114); - for (int var2 = 0; var2 < this.field4064.length; ++var2) { - var1.writeInt(this.field4064[var2]); + for (int var2 = 0; var2 < this.field4108.length; ++var2) { + var1.writeInt(this.field4108[var2]); } - var1.writeInt(this.field4094); - var1.writeStringCp1252NullCircumfixed(this.field4077); + var1.writeInt(this.field4117); + var1.writeStringCp1252NullCircumfixed(this.field4119); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1850450729" + garbageValue = "-695384014" ) @Export("size") public int size() { byte var1 = 39; - int var2 = var1 + class262.method5002(this.field4083); - var2 += class262.method5002(this.field4084); - var2 += class262.method5002(this.field4085); - var2 += class262.method5002(this.field4086); - var2 += class262.method5002(this.field4091); - var2 += class262.method5002(this.field4096); - var2 += class262.method5002(this.field4077); + int var2 = var1 + class28.method414(this.field4110); + var2 += class28.method414(this.field4084); + var2 += class28.method414(this.field4094); + var2 += class28.method414(this.field4095); + var2 += class28.method414(this.field4115); + var2 += class28.method414(this.field4113); + var2 += class28.method414(this.field4119); return var2; } - @ObfuscatedName("y") + @ObfuscatedName("hw") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", - garbageValue = "100" + descriptor = "(IIIILjava/lang/String;Ljava/lang/String;IIB)V", + garbageValue = "2" ) - @Export("setLoginResponseString") - static void setLoginResponseString(String var0, String var1, String var2) { - Login.Login_response1 = var0; - Login.Login_response2 = var1; - Login.Login_response3 = var2; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "-1464995775" - ) - @Export("hslToRgb") - static final int hslToRgb(int var0, int var1, int var2) { - if (var2 > 179) { - var1 /= 2; + @Export("menuAction") + static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { + if (var2 >= 2000) { + var2 -= 2000; } - if (var2 > 192) { - var1 /= 2; + PacketBufferNode var8; + if (var2 == 1) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2763, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.method7029(PacketBufferNode.selectedItemId); + var8.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.writeShort(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.writeIntME(UserComparator6.selectedItemWidget); + var8.packetBuffer.writeShort(ArchiveDiskAction.selectedItemSlot); + Client.packetWriter.addNode(var8); + } else if (var2 == 2) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2728, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(Client.field647); + var8.packetBuffer.method6942(ModelData0.selectedSpellWidget); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method7029(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var8); + } else if (var2 == 3) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2762, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.method7026(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method7029(PlayerComposition.baseY + var1); + var8.packetBuffer.method7029(var0 + WorldMapSectionType.baseX); + Client.packetWriter.addNode(var8); + } else if (var2 == 4) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2708, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(PlayerComposition.baseY + var1); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 5) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2712, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method7029(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 6) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2700, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(PlayerComposition.baseY + var1); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method7026(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method7029(var3); + Client.packetWriter.addNode(var8); + } else { + PacketBufferNode var9; + NPC var13; + if (var2 == 7) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2717, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6942(UserComparator6.selectedItemWidget); + var9.packetBuffer.method6931(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6930(PacketBufferNode.selectedItemId); + var9.packetBuffer.method6930(ArchiveDiskAction.selectedItemSlot); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 8) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2747, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6930(Client.selectedSpellChildIndex); + var9.packetBuffer.method7029(var3); + var9.packetBuffer.method6940(ModelData0.selectedSpellWidget); + var9.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShort(Client.field647); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 9) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2729, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 10) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2721, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 11) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2711, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6930(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 12) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2691, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 13) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2733, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6931(var3); + var9.packetBuffer.method7026(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else { + Player var15; + if (var2 == 14) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2753, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6931(ArchiveDiskAction.selectedItemSlot); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6940(UserComparator6.selectedItemWidget); + var9.packetBuffer.method7029(PacketBufferNode.selectedItemId); + var9.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 15) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2764, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6942(ModelData0.selectedSpellWidget); + var9.packetBuffer.method6931(var3); + var9.packetBuffer.method6931(Client.field647); + var9.packetBuffer.method6931(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 16) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2681, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6931(var3); + var8.packetBuffer.writeShort(PacketBufferNode.selectedItemId); + var8.packetBuffer.writeInt(UserComparator6.selectedItemWidget); + var8.packetBuffer.method7029(PlayerComposition.baseY + var1); + var8.packetBuffer.method6930(ArchiveDiskAction.selectedItemSlot); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + Client.packetWriter.addNode(var8); + } else if (var2 == 17) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2672, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.method6930(var3); + var8.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); + var8.packetBuffer.method7029(Client.field647); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method6942(ModelData0.selectedSpellWidget); + Client.packetWriter.addNode(var8); + } else if (var2 == 18) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2683, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.writeShort(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 19) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2692, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method7029(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6931(PlayerComposition.baseY + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 20) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2707, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.writeShort(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method7029(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 21) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2663, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.method7026(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method6931(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method7029(PlayerComposition.baseY + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 22) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2736, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7026(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method7029(PlayerComposition.baseY + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 23) { + if (Client.isMenuOpen) { + PlayerComposition.scene.setViewportWalking(); + } else { + PlayerComposition.scene.menuOpen(VertexNormal.Client_plane, var0, var1, true); + } + } else { + PacketBufferNode var11; + Widget var16; + if (var2 == 24) { + var16 = HealthBarUpdate.getWidget(var1); + boolean var12 = true; + if (var16.contentType > 0) { + var12 = class244.method4661(var16); + } + + if (var12) { + var11 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2739, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var11); + } + } else { + if (var2 == 25) { + var16 = ViewportMouse.getWidgetChild(var1, var0); + if (var16 != null) { + class258.Widget_runOnTargetLeave(); + ArchiveDiskAction.selectSpell(var1, var0, Interpreter.Widget_unpackTargetMask(WorldMapRegion.getWidgetFlags(var16)), var16.itemId); + Client.isItemSelected = 0; + Client.selectedSpellActionName = GameEngine.Widget_getSpellActionName(var16); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + if (var16.isIf3) { + Client.selectedSpellName = var16.dataText + FloorUnderlayDefinition.colorStartTag(16777215); + } else { + Client.selectedSpellName = FloorUnderlayDefinition.colorStartTag(65280) + var16.spellName + FloorUnderlayDefinition.colorStartTag(16777215); + } + } + + return; + } + + if (var2 == 26) { + WorldMapLabelSize.method3445(); + } else { + int var10; + Widget var14; + if (var2 == 28) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2739, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = HealthBarUpdate.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var10 = var14.cs1Instructions[0][1]; + Varps.Varps_main[var10] = 1 - Varps.Varps_main[var10]; + NetSocket.changeGameOptions(var10); + } + } else if (var2 == 29) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2739, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = HealthBarUpdate.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var10 = var14.cs1Instructions[0][1]; + if (Varps.Varps_main[var10] != var14.cs1ComparisonValues[0]) { + Varps.Varps_main[var10] = var14.cs1ComparisonValues[0]; + NetSocket.changeGameOptions(var10); + } + } + } else if (var2 == 30) { + if (Client.meslayerContinueWidget == null) { + Decimator.resumePauseWidget(var1, var0); + Client.meslayerContinueWidget = ViewportMouse.getWidgetChild(var1, var0); + class16.invalidateWidget(Client.meslayerContinueWidget); + } + } else if (var2 == 31) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2716, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(PacketBufferNode.selectedItemId); + var8.packetBuffer.method6940(var1); + var8.packetBuffer.writeShort(ArchiveDiskAction.selectedItemSlot); + var8.packetBuffer.method7029(var0); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.writeIntME(UserComparator6.selectedItemWidget); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 32) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2719, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); + var8.packetBuffer.method7029(var0); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeIntME(ModelData0.selectedSpellWidget); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 33) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2668, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6940(var1); + var8.packetBuffer.method6930(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 34) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2731, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var0); + var8.packetBuffer.method6930(var3); + var8.packetBuffer.writeIntME(var1); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 35) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2714, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(var3); + var8.packetBuffer.method6940(var1); + var8.packetBuffer.method6931(var0); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 36) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2685, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(var0); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.method6942(var1); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 37) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2659, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(var3); + var8.packetBuffer.method6942(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else { + if (var2 == 38) { + class258.Widget_runOnTargetLeave(); + var16 = HealthBarUpdate.getWidget(var1); + Client.isItemSelected = 1; + ArchiveDiskAction.selectedItemSlot = var0; + UserComparator6.selectedItemWidget = var1; + PacketBufferNode.selectedItemId = var3; + class16.invalidateWidget(var16); + Client.selectedItemName = FloorUnderlayDefinition.colorStartTag(16748608) + class87.ItemDefinition_get(var3).name + FloorUnderlayDefinition.colorStartTag(16777215); + if (Client.selectedItemName == null) { + Client.selectedItemName = "null"; + } + + return; + } + + if (var2 == 39) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2726, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6942(var1); + var8.packetBuffer.method6931(var3); + var8.packetBuffer.method6930(var0); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 40) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2677, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(var3); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 41) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2699, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.method6930(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 42) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2722, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6940(var1); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.method6931(var0); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 43) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2689, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var3); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + } else if (var2 == 44) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2740, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6930(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 45) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2761, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6931(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 46) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2664, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6931(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 47) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2682, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6931(var3); + var9.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 48) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2678, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6930(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 49) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2695, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method6930(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 50) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2709, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method7029(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 51) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2662, Client.packetWriter.isaacCipher); + var9.packetBuffer.method7029(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else { + label638: { + if (var2 != 57) { + if (var2 == 58) { + var16 = ViewportMouse.getWidgetChild(var1, var0); + if (var16 != null) { + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2671, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6942(ModelData0.selectedSpellWidget); + var9.packetBuffer.method6942(var1); + var9.packetBuffer.method6931(var16.itemId); + var9.packetBuffer.method6930(Client.field647); + var9.packetBuffer.method6930(var0); + var9.packetBuffer.method7029(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var9); + } + break label638; + } + + if (var2 == 1001) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2701, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(var3); + var8.packetBuffer.method6930(PlayerComposition.baseY + var1); + var8.packetBuffer.method6930(var0 + WorldMapSectionType.baseX); + var8.packetBuffer.method7066(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + break label638; + } + + if (var2 == 1002) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2693, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7029(var3); + Client.packetWriter.addNode(var8); + break label638; + } + + if (var2 == 1003) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var13 = Client.npcs[var3]; + if (var13 != null) { + NPCComposition var17 = var13.definition; + if (var17.transforms != null) { + var17 = var17.transform(); + } + + if (var17 != null) { + var11 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2759, Client.packetWriter.isaacCipher); + var11.packetBuffer.method6931(var17.id); + Client.packetWriter.addNode(var11); + } + } + break label638; + } + + if (var2 == 1004) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2751, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6930(var3); + Client.packetWriter.addNode(var8); + break label638; + } + + if (var2 == 1005) { + var16 = HealthBarUpdate.getWidget(var1); + if (var16 != null && var16.itemQuantities[var0] >= 100000) { + GraphicsDefaults.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + class87.ItemDefinition_get(var3).name); + } else { + var9 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2751, Client.packetWriter.isaacCipher); + var9.packetBuffer.method6930(var3); + Client.packetWriter.addNode(var9); + } + + Client.field620 = 0; + class7.field31 = HealthBarUpdate.getWidget(var1); + Client.field597 = var0; + break label638; + } + + if (var2 != 1007) { + if (var2 == 1009 || var2 == 1011 || var2 == 1008 || var2 == 1012 || var2 == 1010) { + TileItem.worldMap.worldMapMenuAction(var2, var3, new Coord(var0), new Coord(var1)); + } + break label638; + } + } + + var16 = ViewportMouse.getWidgetChild(var1, var0); + if (var16 != null) { + ReflectionCheck.widgetDefaultMenuAction(var3, var1, var0, var16.itemId, var5); + } + } + } + } + } + } + } + } } - if (var2 > 217) { - var1 /= 2; + if (Client.isItemSelected != 0) { + Client.isItemSelected = 0; + class16.invalidateWidget(HealthBarUpdate.getWidget(UserComparator6.selectedItemWidget)); } - if (var2 > 243) { - var1 /= 2; + if (Client.isSpellSelected) { + class258.Widget_runOnTargetLeave(); + } + + if (class7.field31 != null && Client.field620 == 0) { + class16.invalidateWidget(class7.field31); } - int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; - return var3; } } diff --git a/runescape-client/src/main/java/PlatformInfoProvider.java b/runescape-client/src/main/java/PlatformInfoProvider.java index 619a9a46e5..35d41bfe21 100644 --- a/runescape-client/src/main/java/PlatformInfoProvider.java +++ b/runescape-client/src/main/java/PlatformInfoProvider.java @@ -3,13 +3,13 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nj") +@ObfuscatedName("nk") @Implements("PlatformInfoProvider") public interface PlatformInfoProvider { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lnh;", - garbageValue = "64" + descriptor = "(I)Lnr;", + garbageValue = "-1957452301" ) @Export("get") PlatformInfo get(); diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index 5a00573ad4..dd9dd18aae 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -1,169 +1,168 @@ -import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("co") +@ObfuscatedName("ci") @Implements("Player") public final class Player extends Actor { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("username") Username username; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Liu;" + descriptor = "Lie;" ) @Export("appearance") PlayerComposition appearance; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1215084871 + intValue = 1051269069 ) @Export("headIconPk") int headIconPk; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1108907855 + intValue = -1768904761 ) @Export("headIconPrayer") int headIconPrayer; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("actions") String[] actions; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1751513381 + intValue = 1150967033 ) @Export("combatLevel") int combatLevel; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -551145915 + intValue = 1021404595 ) @Export("skillLevel") int skillLevel; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -1943839413 + intValue = 78214381 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 67918315 + intValue = 918727087 ) @Export("animationCycleStart") int animationCycleStart; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1219281891 + intValue = 1671660339 ) @Export("animationCycleEnd") int animationCycleEnd; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1933702097 + intValue = -924564511 ) - int field1058; - @ObfuscatedName("v") + int field1087; + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 1956520531 + intValue = 201682335 ) @Export("tileHeight2") int tileHeight2; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 511442915 + intValue = -236914309 ) - int field1060; + int field1070; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lhg;" + descriptor = "Lhl;" ) @Export("model0") Model model0; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = -307154423 + intValue = -1035892391 ) @Export("minX") int minX; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = -947744909 + intValue = -2014633579 ) @Export("minY") int minY; - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = 708380149 + intValue = -1248260379 ) @Export("maxX") int maxX; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 1807997209 + intValue = -1768054799 ) @Export("maxY") int maxY; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("isUnanimated") boolean isUnanimated; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 355972801 + intValue = 1848750593 ) @Export("team") int team; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("isHidden") boolean isHidden; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -730574653 + intValue = -1789077761 ) @Export("plane") int plane; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = 1981247977 + intValue = -2000058311 ) @Export("index") int index; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("isFriendTriBool") TriBool isFriendTriBool; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("isInFriendsChat") TriBool isInFriendsChat; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("isInClanChat") TriBool isInClanChat; @ObfuscatedName("ad") - boolean field1074; - @ObfuscatedName("al") + boolean field1060; + @ObfuscatedName("as") @ObfuscatedGetter( - intValue = 1541892707 + intValue = -1518425549 ) @Export("tileX") int tileX; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = 1231847489 + intValue = -1990098543 ) @Export("tileY") int tileY; @@ -187,13 +186,13 @@ public final class Player extends Actor { this.isFriendTriBool = TriBool.TriBool_unknown; this.isInFriendsChat = TriBool.TriBool_unknown; this.isInClanChat = TriBool.TriBool_unknown; - this.field1074 = false; + this.field1060 = false; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "-21" + descriptor = "(Lot;I)V", + garbageValue = "-1541664871" ) @Export("read") final void read(Buffer var1) { @@ -221,7 +220,7 @@ public final class Player extends Actor { } if (var4[var5] >= 512) { - var8 = class65.ItemDefinition_get(var4[var5] - 512).team; + var8 = class87.ItemDefinition_get(var4[var5] - 512).team; if (var8 != 0) { this.team = var8; } @@ -233,7 +232,7 @@ public final class Player extends Actor { for (var6 = 0; var6 < 5; ++var6) { var7 = var1.readUnsignedByte(); - if (var7 < 0 || var7 >= class11.field54[var6].length) { + if (var7 < 0 || var7 >= class185.field2101[var6].length) { var7 = 0; } @@ -276,11 +275,11 @@ public final class Player extends Actor { super.runSequence = -1; } - this.username = new Username(var1.readStringCp1252NullTerminated(), SoundCache.loginType); + this.username = new Username(var1.readStringCp1252NullTerminated(), WorldMapSectionType.loginType); this.clearIsFriend(); this.clearIsInFriendsChat(); - this.method2112(); - if (this == class129.localPlayer) { + this.method2127(); + if (this == class67.localPlayer) { RunException.localPlayerName = this.username.getName(); } @@ -315,13 +314,13 @@ public final class Player extends Actor { if (var16) { var19 = var1.readUnsignedByte(); var20 = new int[]{var19 & 15, var19 >> 4 & 15}; - var21 = var18.field1600 != null && var20.length == var18.field1600.length; + var21 = var18.field1606 != null && var20.length == var18.field1606.length; for (var22 = 0; var22 < 2; ++var22) { if (var20[var22] != 15) { var23 = (short)var1.readUnsignedShort(); if (var21) { - var18.field1600[var20[var22]] = var23; + var18.field1606[var20[var22]] = var23; } } } @@ -330,13 +329,13 @@ public final class Player extends Actor { if (var17) { var19 = var1.readUnsignedByte(); var20 = new int[]{var19 & 15, var19 >> 4 & 15}; - var21 = var18.field1599 != null && var20.length == var18.field1599.length; + var21 = var18.field1607 != null && var20.length == var18.field1607.length; for (var22 = 0; var22 < 2; ++var22) { if (var20[var22] != 15) { var23 = (short)var1.readUnsignedShort(); if (var21) { - var18.field1599[var20[var22]] = var23; + var18.field1607[var20[var22]] = var23; } } } @@ -352,21 +351,21 @@ public final class Player extends Actor { this.appearance = new PlayerComposition(); } - this.appearance.method4894(var4, var25, var26, var24, var2 == 1, var3); + this.appearance.method4954(var4, var25, var26, var24, var2 == 1, var3); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected final Model getModel() { if (this.appearance == null) { return null; } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? class17.SequenceDefinition_get(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence == -1 || this.isUnanimated || super.movementSequence == super.idleSequence && var1 != null ? null : class17.SequenceDefinition_get(super.movementSequence); + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? KitDefinition.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence == -1 || this.isUnanimated || super.movementSequence == super.idleSequence && var1 != null ? null : KitDefinition.SequenceDefinition_get(super.movementSequence); Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); if (var3 == null) { return null; @@ -376,9 +375,9 @@ public final class Player extends Actor { Model var4; Model[] var5; if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - var4 = TaskHandler.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + var4 = class21.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { - var4.offsetBy(0, -super.field1134, 0); + var4.offsetBy(0, -super.field1147, 0); var5 = new Model[]{var3, var4}; var3 = new Model(var5, 2); } @@ -391,7 +390,7 @@ public final class Player extends Actor { if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { var4 = this.model0; - var4.offsetBy(this.field1058 - super.x, this.tileHeight2 - this.tileHeight, this.field1060 - super.y); + var4.offsetBy(this.field1087 - super.x, this.tileHeight2 - this.tileHeight, this.field1070 - super.y); if (super.orientation == 512) { var4.rotateY90Ccw(); var4.rotateY90Ccw(); @@ -416,7 +415,7 @@ public final class Player extends Actor { var4.rotateY90Ccw(); } - var4.offsetBy(super.x - this.field1058, this.tileHeight - this.tileHeight2, super.y - this.field1060); + var4.offsetBy(super.x - this.field1087, this.tileHeight - this.tileHeight2, super.y - this.field1070); } } @@ -426,10 +425,10 @@ public final class Player extends Actor { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-124" + descriptor = "(I)Z", + garbageValue = "1896228975" ) @Export("isFriend") boolean isFriend() { @@ -440,30 +439,30 @@ public final class Player extends Actor { return this.isFriendTriBool == TriBool.TriBool_true; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-39" + descriptor = "(I)V", + garbageValue = "-326576513" ) @Export("clearIsFriend") void clearIsFriend() { this.isFriendTriBool = TriBool.TriBool_unknown; } - @ObfuscatedName("z") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1234826787" + descriptor = "(B)V", + garbageValue = "20" ) @Export("checkIsFriend") void checkIsFriend() { - this.isFriendTriBool = class20.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + this.isFriendTriBool = Message.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; } - @ObfuscatedName("a") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1414959112" + garbageValue = "2035950911" ) @Export("isFriendsChatMember") boolean isFriendsChatMember() { @@ -474,10 +473,10 @@ public final class Player extends Actor { return this.isInFriendsChat == TriBool.TriBool_true; } - @ObfuscatedName("u") + @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1129684416" + garbageValue = "-49500709" ) @Export("clearIsInFriendsChat") void clearIsInFriendsChat() { @@ -487,36 +486,43 @@ public final class Player extends Actor { @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "25" + garbageValue = "1" ) @Export("updateIsInFriendsChat") void updateIsInFriendsChat() { - this.isInFriendsChat = class78.friendsChat != null && class78.friendsChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + this.isInFriendsChat = class264.friendsChat != null && class264.friendsChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; } - @ObfuscatedName("l") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1614166805" + garbageValue = "1547987750" ) @Export("updateIsInClanChat") void updateIsInClanChat() { - this.isInClanChat = Client.currentClanSettings[0] != null && Client.currentClanSettings[0].method2555(this.username.getName()) != -1 ? TriBool.TriBool_true : TriBool.TriBool_false; + for (int var1 = 0; var1 < 2; ++var1) { + if (Client.currentClanSettings[var1] != null && Client.currentClanSettings[var1].method2584(this.username.getName()) != -1) { + this.isInClanChat = TriBool.TriBool_true; + return; + } + } + + this.isInClanChat = TriBool.TriBool_false; } @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "670956224" + descriptor = "(B)V", + garbageValue = "1" ) - void method2112() { + void method2127() { this.isInClanChat = TriBool.TriBool_unknown; } - @ObfuscatedName("v") + @ObfuscatedName("w") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1394389853" + garbageValue = "1535473073" ) @Export("isClanMember") boolean isClanMember() { @@ -527,27 +533,27 @@ public final class Player extends Actor { return this.isInClanChat == TriBool.TriBool_true; } - @ObfuscatedName("f") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1086386147" + garbageValue = "16777215" ) @Export("transformedSize") int transformedSize() { - return this.appearance != null && this.appearance.npcTransformId != -1 ? ScriptEvent.getNpcDefinition(this.appearance.npcTransformId).size : 1; + return this.appearance != null && this.appearance.npcTransformId != -1 ? class112.getNpcDefinition(this.appearance.npcTransformId).size : 1; } - @ObfuscatedName("s") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(IIBB)V", - garbageValue = "-36" + garbageValue = "39" ) - final void method2072(int var1, int var2, byte var3) { - if (super.sequence != -1 && class17.SequenceDefinition_get(super.sequence).field1960 == 1) { + final void method2092(int var1, int var2, byte var3) { + if (super.sequence != -1 && KitDefinition.SequenceDefinition_get(super.sequence).field1960 == 1) { super.sequence = -1; } - super.field1096 = -1; + super.field1134 = -1; if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) { if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) { if (var3 == 2) { @@ -556,22 +562,268 @@ public final class Player extends Actor { int var6 = super.pathY[0]; int var7 = this.transformedSize(); if (var5 >= var7 && var5 < 104 - var7 && var6 >= var7 && var6 < 104 - var7 && var1 >= var7 && var1 < 104 - var7 && var2 >= var7 && var2 < 104 - var7) { - int var10 = this.transformedSize(); - Client.field765.approxDestinationX = var1; - Client.field765.approxDestinationY = var2; - Client.field765.approxDestinationSizeX = 1; - Client.field765.approxDestinationSizeY = 1; - ApproximateRouteStrategy var11 = Client.field765; - int var12 = WorldMapEvent.method3948(var5, var6, var10, var11, Client.collisionMaps[this.plane], true, Client.field514, Client.field767); - if (var12 >= 1) { - for (int var13 = 0; var13 < var12 - 1; ++var13) { - var4.method2074(Client.field514[var13], Client.field767[var13], (byte)2); + int var9 = this.transformedSize(); + Client.field649.approxDestinationX = var1; + Client.field649.approxDestinationY = var2; + Client.field649.approxDestinationSizeX = 1; + Client.field649.approxDestinationSizeY = 1; + ApproximateRouteStrategy var10 = Client.field649; + ApproximateRouteStrategy var11 = var10; + CollisionMap var12 = Client.collisionMaps[this.plane]; + int[] var13 = Client.field668; + int[] var14 = Client.field491; + int var15 = 0; + + label378: + while (true) { + int var16; + if (var15 >= 128) { + int var17; + int var18; + byte var20; + int var21; + int var22; + int var24; + int var26; + int var27; + int var28; + boolean var35; + int var37; + int var38; + int var40; + if (var9 == 1) { + var17 = var5; + var18 = var6; + byte var19 = 64; + var20 = 64; + var21 = var5 - var19; + var22 = var6 - var20; + class174.directions[var19][var20] = 99; + class174.distances[var19][var20] = 0; + byte var23 = 0; + var24 = 0; + class174.bufferX[var23] = var5; + var40 = var23 + 1; + class174.bufferY[var23] = var6; + int[][] var25 = var12.flags; + + boolean var36; + while (true) { + if (var24 == var40) { + class318.field3870 = var17; + class174.field1994 = var18; + var36 = false; + break; + } + + var17 = class174.bufferX[var24]; + var18 = class174.bufferY[var24]; + var24 = var24 + 1 & 4095; + var37 = var17 - var21; + var38 = var18 - var22; + var26 = var17 - var12.xInset; + var27 = var18 - var12.yInset; + if (var11.hasArrived(1, var17, var18, var12)) { + class318.field3870 = var17; + class174.field1994 = var18; + var36 = true; + break; + } + + var28 = class174.distances[var37][var38] + 1; + if (var37 > 0 && class174.directions[var37 - 1][var38] == 0 && (var25[var26 - 1][var27] & 19136776) == 0) { + class174.bufferX[var40] = var17 - 1; + class174.bufferY[var40] = var18; + var40 = var40 + 1 & 4095; + class174.directions[var37 - 1][var38] = 2; + class174.distances[var37 - 1][var38] = var28; + } + + if (var37 < 127 && class174.directions[var37 + 1][var38] == 0 && (var25[var26 + 1][var27] & 19136896) == 0) { + class174.bufferX[var40] = var17 + 1; + class174.bufferY[var40] = var18; + var40 = var40 + 1 & 4095; + class174.directions[var37 + 1][var38] = 8; + class174.distances[var37 + 1][var38] = var28; + } + + if (var38 > 0 && class174.directions[var37][var38 - 1] == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { + class174.bufferX[var40] = var17; + class174.bufferY[var40] = var18 - 1; + var40 = var40 + 1 & 4095; + class174.directions[var37][var38 - 1] = 1; + class174.distances[var37][var38 - 1] = var28; + } + + if (var38 < 127 && class174.directions[var37][var38 + 1] == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { + class174.bufferX[var40] = var17; + class174.bufferY[var40] = var18 + 1; + var40 = var40 + 1 & 4095; + class174.directions[var37][var38 + 1] = 4; + class174.distances[var37][var38 + 1] = var28; + } + + if (var37 > 0 && var38 > 0 && class174.directions[var37 - 1][var38 - 1] == 0 && (var25[var26 - 1][var27 - 1] & 19136782) == 0 && (var25[var26 - 1][var27] & 19136776) == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { + class174.bufferX[var40] = var17 - 1; + class174.bufferY[var40] = var18 - 1; + var40 = var40 + 1 & 4095; + class174.directions[var37 - 1][var38 - 1] = 3; + class174.distances[var37 - 1][var38 - 1] = var28; + } + + if (var37 < 127 && var38 > 0 && class174.directions[var37 + 1][var38 - 1] == 0 && (var25[var26 + 1][var27 - 1] & 19136899) == 0 && (var25[var26 + 1][var27] & 19136896) == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { + class174.bufferX[var40] = var17 + 1; + class174.bufferY[var40] = var18 - 1; + var40 = var40 + 1 & 4095; + class174.directions[var37 + 1][var38 - 1] = 9; + class174.distances[var37 + 1][var38 - 1] = var28; + } + + if (var37 > 0 && var38 < 127 && class174.directions[var37 - 1][var38 + 1] == 0 && (var25[var26 - 1][var27 + 1] & 19136824) == 0 && (var25[var26 - 1][var27] & 19136776) == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { + class174.bufferX[var40] = var17 - 1; + class174.bufferY[var40] = var18 + 1; + var40 = var40 + 1 & 4095; + class174.directions[var37 - 1][var38 + 1] = 6; + class174.distances[var37 - 1][var38 + 1] = var28; + } + + if (var37 < 127 && var38 < 127 && class174.directions[var37 + 1][var38 + 1] == 0 && (var25[var26 + 1][var27 + 1] & 19136992) == 0 && (var25[var26 + 1][var27] & 19136896) == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { + class174.bufferX[var40] = var17 + 1; + class174.bufferY[var40] = var18 + 1; + var40 = var40 + 1 & 4095; + class174.directions[var37 + 1][var38 + 1] = 12; + class174.distances[var37 + 1][var38 + 1] = var28; + } + } + + var35 = var36; + } else if (var9 == 2) { + var35 = Canvas.method381(var5, var6, var10, var12); + } else { + var35 = class129.method2673(var5, var6, var9, var10, var12); + } + + int var8; + label401: { + var16 = var5 - 64; + var17 = var6 - 64; + var18 = class318.field3870; + var37 = class174.field1994; + if (!var35) { + var38 = Integer.MAX_VALUE; + var21 = Integer.MAX_VALUE; + byte var39 = 10; + var40 = var11.approxDestinationX; + var24 = var11.approxDestinationY; + int var34 = var11.approxDestinationSizeX; + var26 = var11.approxDestinationSizeY; + + for (var27 = var40 - var39; var27 <= var40 + var39; ++var27) { + for (var28 = var24 - var39; var28 <= var39 + var24; ++var28) { + int var29 = var27 - var16; + int var30 = var28 - var17; + if (var29 >= 0 && var30 >= 0 && var29 < 128 && var30 < 128 && class174.distances[var29][var30] < 100) { + int var31 = 0; + if (var27 < var40) { + var31 = var40 - var27; + } else if (var27 > var40 + var34 - 1) { + var31 = var27 - (var34 + var40 - 1); + } + + int var32 = 0; + if (var28 < var24) { + var32 = var24 - var28; + } else if (var28 > var24 + var26 - 1) { + var32 = var28 - (var26 + var24 - 1); + } + + int var33 = var31 * var31 + var32 * var32; + if (var33 < var38 || var38 == var33 && class174.distances[var29][var30] < var21) { + var38 = var33; + var21 = class174.distances[var29][var30]; + var18 = var27; + var37 = var28; + } + } + } + } + + if (var38 == Integer.MAX_VALUE) { + var8 = -1; + break label401; + } + } + + if (var5 == var18 && var37 == var6) { + var8 = 0; + } else { + var20 = 0; + class174.bufferX[var20] = var18; + var38 = var20 + 1; + class174.bufferY[var20] = var37; + + for (var21 = var22 = class174.directions[var18 - var16][var37 - var17]; var5 != var18 || var6 != var37; var21 = class174.directions[var18 - var16][var37 - var17]) { + if (var22 != var21) { + var22 = var21; + class174.bufferX[var38] = var18; + class174.bufferY[var38++] = var37; + } + + if ((var21 & 2) != 0) { + ++var18; + } else if ((var21 & 8) != 0) { + --var18; + } + + if ((var21 & 1) != 0) { + ++var37; + } else if ((var21 & 4) != 0) { + --var37; + } + } + + var40 = 0; + + while (var38-- > 0) { + var13[var40] = class174.bufferX[var38]; + var14[var40++] = class174.bufferY[var38]; + if (var40 >= var13.length) { + break; + } + } + + var8 = var40; + } + } + + var15 = var8; + if (var8 < 1) { + break; + } + + var16 = 0; + + while (true) { + if (var16 >= var15 - 1) { + break label378; + } + + var4.method2094(Client.field668[var16], Client.field491[var16], (byte)2); + ++var16; + } } + + for (var16 = 0; var16 < 128; ++var16) { + class174.directions[var15][var16] = 0; + class174.distances[var15][var16] = 99999999; + } + + ++var15; } } } - this.method2074(var1, var2, var3); + this.method2094(var1, var2, var3); } else { this.resetPath(var1, var2); } @@ -581,29 +833,29 @@ public final class Player extends Actor { } - @ObfuscatedName("h") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "-44" + descriptor = "(III)V", + garbageValue = "-725905590" ) @Export("resetPath") void resetPath(int var1, int var2) { super.pathLength = 0; - super.field1152 = 0; - super.field1151 = 0; + super.field1129 = 0; + super.field1164 = 0; super.pathX[0] = var1; super.pathY[0] = var2; int var3 = this.transformedSize(); - super.x = var3 * 64 + super.pathX[0] * 128; + super.x = super.pathX[0] * 128 + var3 * 64; super.y = var3 * 64 + super.pathY[0] * 128; } - @ObfuscatedName("d") + @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(IIBI)V", - garbageValue = "-1585056778" + garbageValue = "1407598778" ) - final void method2074(int var1, int var2, byte var3) { + final void method2094(int var1, int var2, byte var3) { if (super.pathLength < 9) { ++super.pathLength; } @@ -619,350 +871,905 @@ public final class Player extends Actor { super.pathTraversed[0] = var3; } - @ObfuscatedName("q") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-1101417957" + garbageValue = "-1841514183" ) @Export("isVisible") final boolean isVisible() { return this.appearance != null; } - @ObfuscatedName("n") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1704721627" + descriptor = "(Loy;ILci;II)V", + garbageValue = "-1673892976" ) - public static boolean method2117() { - long var0 = Occluder.method4335(); - int var2 = (int)(var0 - KeyHandler.field149); - KeyHandler.field149 = var0; - if (var2 > 200) { - var2 = 200; - } - - NetCache.NetCache_loadTime += var2; - if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { - return true; - } else if (NetCache.NetCache_socket == null) { - return false; - } else { - try { - if (NetCache.NetCache_loadTime > 30000) { - throw new IOException(); - } else { - NetFileRequest var3; - Buffer var4; - while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); - var4 = new Buffer(4); - var4.writeByte(1); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key); - --NetCache.NetCache_pendingPriorityWritesCount; - ++NetCache.NetCache_pendingPriorityResponsesCount; - } - - while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); - var4 = new Buffer(4); - var4.writeByte(0); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - var3.removeDual(); - NetCache.NetCache_pendingResponses.put(var3, var3.key); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingResponsesCount; - } - - for (int var15 = 0; var15 < 100; ++var15) { - int var16 = NetCache.NetCache_socket.available(); - if (var16 < 0) { - throw new IOException(); - } - - if (var16 == 0) { - break; - } - - NetCache.NetCache_loadTime = 0; - byte var5 = 0; - if (Coord.NetCache_currentResponse == null) { - var5 = 8; - } else if (NetCache.field3736 == 0) { - var5 = 1; - } - - int var6; - int var7; - int var8; - int var10; - byte[] var10000; - int var10001; - Buffer var22; - if (var5 > 0) { - var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset; - if (var6 > var16) { - var6 = var16; - } - - NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6); - if (NetCache.field3735 != 0) { - for (var7 = 0; var7 < var6; ++var7) { - var10000 = NetCache.NetCache_responseHeaderBuffer.array; - var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset; - var10000[var10001] ^= NetCache.field3735; - } - } - - var22 = NetCache.NetCache_responseHeaderBuffer; - var22.offset += var6; - if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { - break; - } - - if (Coord.NetCache_currentResponse == null) { - NetCache.NetCache_responseHeaderBuffer.offset = 0; - var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); - int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var10 = NetCache.NetCache_responseHeaderBuffer.readInt(); - long var11 = (long)(var8 + (var7 << 16)); - NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11); - class268.field3217 = true; - if (var13 == null) { - var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); - class268.field3217 = false; - } - - if (var13 == null) { - throw new IOException(); - } - - int var14 = var9 == 0 ? 5 : 9; - Coord.NetCache_currentResponse = var13; - class138.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + Coord.NetCache_currentResponse.padding); - class138.NetCache_responseArchiveBuffer.writeByte(var9); - class138.NetCache_responseArchiveBuffer.writeInt(var10); - NetCache.field3736 = 8; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else if (NetCache.field3736 == 0) { - if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { - NetCache.field3736 = 1; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else { - Coord.NetCache_currentResponse = null; - } - } - } else { - var6 = class138.NetCache_responseArchiveBuffer.array.length - Coord.NetCache_currentResponse.padding; - var7 = 512 - NetCache.field3736; - if (var7 > var6 - class138.NetCache_responseArchiveBuffer.offset) { - var7 = var6 - class138.NetCache_responseArchiveBuffer.offset; - } - - if (var7 > var16) { - var7 = var16; - } - - NetCache.NetCache_socket.read(class138.NetCache_responseArchiveBuffer.array, class138.NetCache_responseArchiveBuffer.offset, var7); - if (NetCache.field3735 != 0) { - for (var8 = 0; var8 < var7; ++var8) { - var10000 = class138.NetCache_responseArchiveBuffer.array; - var10001 = var8 + class138.NetCache_responseArchiveBuffer.offset; - var10000[var10001] ^= NetCache.field3735; - } - } - - var22 = class138.NetCache_responseArchiveBuffer; - var22.offset += var7; - NetCache.field3736 += var7; - if (var6 == class138.NetCache_responseArchiveBuffer.offset) { - if (Coord.NetCache_currentResponse.key == 16711935L) { - NetCache.NetCache_reference = class138.NetCache_responseArchiveBuffer; - - for (var8 = 0; var8 < 256; ++var8) { - Archive var17 = NetCache.NetCache_archives[var8]; - if (var17 != null) { - NetCache.NetCache_reference.offset = var8 * 8 + 5; - var10 = NetCache.NetCache_reference.readInt(); - int var18 = NetCache.NetCache_reference.readInt(); - var17.loadIndex(var10, var18); - } - } - } else { - NetCache.NetCache_crc.reset(); - NetCache.NetCache_crc.update(class138.NetCache_responseArchiveBuffer.array, 0, var6); - var8 = (int)NetCache.NetCache_crc.getValue(); - if (var8 != Coord.NetCache_currentResponse.crc) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var20) { - } - - ++NetCache.NetCache_crcMismatches; - NetCache.NetCache_socket = null; - NetCache.field3735 = (byte)((int)(Math.random() * 255.0D + 1.0D)); - return false; - } - - NetCache.NetCache_crcMismatches = 0; - NetCache.NetCache_ioExceptions = 0; - Coord.NetCache_currentResponse.archive.write((int)(Coord.NetCache_currentResponse.key & 65535L), class138.NetCache_responseArchiveBuffer.array, (Coord.NetCache_currentResponse.key & 16711680L) == 16711680L, class268.field3217); - } - - Coord.NetCache_currentResponse.remove(); - if (class268.field3217) { - --NetCache.NetCache_pendingPriorityResponsesCount; - } else { - --NetCache.NetCache_pendingResponsesCount; - } - - NetCache.field3736 = 0; - Coord.NetCache_currentResponse = null; - class138.NetCache_responseArchiveBuffer = null; - } else { - if (NetCache.field3736 != 512) { - break; - } - - NetCache.field3736 = 0; - } - } - } - - return true; - } - } catch (IOException var21) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var19) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - return false; + static final void method2133(PacketBuffer var0, int var1, Player var2, int var3) { + byte var4 = -1; + int var5; + if ((var3 & 8192) != 0) { + for (var5 = 0; var5 < 3; ++var5) { + var2.actions[var5] = var0.readStringCp1252NullTerminated(); } } - } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1807736547" - ) - static final int method2115(int var0, int var1) { - int var2 = var0 + var1 * 57; - var2 ^= var2 << 13; - int var3 = var2 * (var2 * var2 * 15731 + 789221) + 1376312589 & Integer.MAX_VALUE; - return var3 >> 19 & 255; - } + if ((var3 & 1024) != 0) { + Players.field1245[var1] = var0.readByte(); + } - @ObfuscatedName("gg") - @ObfuscatedSignature( - descriptor = "(Lcf;I)V", - garbageValue = "-825840289" - ) - static final void method2114(Actor var0) { - var0.isWalking = false; - SequenceDefinition var1; - if (var0.movementSequence != -1) { - var1 = class17.SequenceDefinition_get(var0.movementSequence); - if (var1 != null && var1.frameIds != null) { - ++var0.movementFrameCycle; - if (var0.movementFrame < var1.frameIds.length && var0.movementFrameCycle > var1.frameLengths[var0.movementFrame]) { - var0.movementFrameCycle = 1; - ++var0.movementFrame; - HealthBarUpdate.method2148(var1, var0.movementFrame, var0.x, var0.y); - } + if ((var3 & 4) != 0) { + var2.targetIndex = var0.method6933(); + if (var2.targetIndex == 65535) { + var2.targetIndex = -1; + } + } - if (var0.movementFrame >= var1.frameIds.length) { - var0.movementFrameCycle = 0; - var0.movementFrame = 0; - HealthBarUpdate.method2148(var1, var0.movementFrame, var0.x, var0.y); - } + if ((var3 & 256) != 0) { + var2.field1148 = var0.method6915(); + var2.field1126 = var0.method6915(); + var2.field1149 = var0.method6929(); + var2.field1125 = var0.method6929(); + var2.field1145 = var0.method6933() + Client.cycle; + var2.field1165 = var0.method6933() + Client.cycle; + var2.field1151 = var0.method6934(); + if (var2.field1060) { + var2.field1148 += var2.tileX; + var2.field1126 += var2.tileY; + var2.field1149 += var2.tileX; + var2.field1125 += var2.tileY; + var2.pathLength = 0; } else { - var0.movementSequence = -1; + var2.field1148 += var2.pathX[0]; + var2.field1126 += var2.pathY[0]; + var2.field1149 += var2.pathX[0]; + var2.field1125 += var2.pathY[0]; + var2.pathLength = 1; } + + var2.field1129 = 0; } - if (var0.spotAnimation != -1 && Client.cycle >= var0.field1133) { - if (var0.spotAnimationFrame < 0) { - var0.spotAnimationFrame = 0; + if ((var3 & 16) != 0) { + var2.overheadText = var0.readStringCp1252NullTerminated(); + if (var2.overheadText.charAt(0) == '~') { + var2.overheadText = var2.overheadText.substring(1); + GraphicsDefaults.addGameMessage(2, var2.username.getName(), var2.overheadText); + } else if (var2 == class67.localPlayer) { + GraphicsDefaults.addGameMessage(2, var2.username.getName(), var2.overheadText); } - int var3 = TaskHandler.SpotAnimationDefinition_get(var0.spotAnimation).sequence; - if (var3 != -1) { - SequenceDefinition var2 = class17.SequenceDefinition_get(var3); - if (var2 != null && var2.frameIds != null) { - ++var0.spotAnimationFrameCycle; - if (var0.spotAnimationFrame < var2.frameIds.length && var0.spotAnimationFrameCycle > var2.frameLengths[var0.spotAnimationFrame]) { - var0.spotAnimationFrameCycle = 1; - ++var0.spotAnimationFrame; - HealthBarUpdate.method2148(var2, var0.spotAnimationFrame, var0.x, var0.y); - } - - if (var0.spotAnimationFrame >= var2.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var2.frameIds.length)) { - var0.spotAnimation = -1; - } - } else { - var0.spotAnimation = -1; - } - } else { - var0.spotAnimation = -1; - } + var2.isAutoChatting = false; + var2.overheadTextColor = 0; + var2.overheadTextEffect = 0; + var2.overheadTextCyclesRemaining = 150; } - if (var0.sequence != -1 && var0.sequenceDelay <= 1) { - var1 = class17.SequenceDefinition_get(var0.sequence); - if (var1.field1959 == 1 && var0.field1152 > 0 && var0.field1139 <= Client.cycle && var0.field1140 < Client.cycle) { - var0.sequenceDelay = 1; - return; - } - } - - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - var1 = class17.SequenceDefinition_get(var0.sequence); - if (var1 != null && var1.frameIds != null) { - ++var0.sequenceFrameCycle; - if (var0.sequenceFrame < var1.frameIds.length && var0.sequenceFrameCycle > var1.frameLengths[var0.sequenceFrame]) { - var0.sequenceFrameCycle = 1; - ++var0.sequenceFrame; - HealthBarUpdate.method2148(var1, var0.sequenceFrame, var0.x, var0.y); - } - - if (var0.sequenceFrame >= var1.frameIds.length) { - var0.sequenceFrame -= var1.frameCount; - ++var0.field1099; - if (var0.field1099 >= var1.field1958) { - var0.sequence = -1; - } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) { - HealthBarUpdate.method2148(var1, var0.sequenceFrame, var0.x, var0.y); + int var6; + int var8; + int var9; + int var12; + if ((var3 & 32) != 0) { + var5 = var0.method6925(); + int var7; + int var10; + int var15; + if (var5 > 0) { + for (var6 = 0; var6 < var5; ++var6) { + var8 = -1; + var9 = -1; + var10 = -1; + var7 = var0.readUShortSmart(); + if (var7 == 32767) { + var7 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + var8 = var0.readUShortSmart(); + var10 = var0.readUShortSmart(); + } else if (var7 != 32766) { + var9 = var0.readUShortSmart(); } else { - var0.sequence = -1; + var7 = -1; + } + + var15 = var0.readUShortSmart(); + var2.addHitSplat(var7, var9, var8, var10, Client.cycle, var15); + } + } + + var6 = var0.readUnsignedByte(); + if (var6 > 0) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + if (var9 != 32767) { + var10 = var0.readUShortSmart(); + var15 = var0.readUnsignedByte(); + var12 = var9 > 0 ? var0.method6925() : var15; + var2.addHealthBar(var8, Client.cycle, var9, var10, var15, var12); + } else { + var2.removeHealthBar(var8); } } - - var0.isWalking = var1.field1954; - } else { - var0.sequence = -1; } } - if (var0.sequenceDelay > 0) { - --var0.sequenceDelay; + if ((var3 & 8) != 0) { + var5 = var0.method6933(); + if (var5 == 65535) { + var5 = -1; + } + + var6 = var0.readUnsignedByte(); + SpotAnimationDefinition.performPlayerAnimation(var2, var5, var6); + } + + if ((var3 & 128) != 0) { + var5 = var0.method7059(); + PlayerType var13 = (PlayerType)class128.findEnumerated(class19.PlayerType_values(), var0.readUnsignedByte()); + boolean var17 = var0.method6927() == 1; + var8 = var0.method6926(); + var9 = var0.offset; + if (var2.username != null && var2.appearance != null) { + boolean var18 = false; + if (var13.isUser && Message.friendSystem.isIgnored(var2.username)) { + var18 = true; + } + + if (!var18 && Client.field559 == 0 && !var2.isHidden) { + Players.field1259.offset = 0; + var0.method7021(Players.field1259.array, 0, var8); + Players.field1259.offset = 0; + String var11 = AbstractFont.escapeBrackets(Tiles.method2025(SecureRandomFuture.method1951(Players.field1259))); + var2.overheadText = var11.trim(); + var2.overheadTextColor = var5 >> 8; + var2.overheadTextEffect = var5 & 255; + var2.overheadTextCyclesRemaining = 150; + var2.isAutoChatting = var17; + var2.field1121 = var2 != class67.localPlayer && var13.isUser && "" != Client.field550 && var11.toLowerCase().indexOf(Client.field550) == -1; + if (var13.isPrivileged) { + var12 = var17 ? 91 : 1; + } else { + var12 = var17 ? 90 : 2; + } + + if (var13.modIcon != -1) { + GraphicsDefaults.addGameMessage(var12, ReflectionCheck.method1064(var13.modIcon) + var2.username.getName(), var11); + } else { + GraphicsDefaults.addGameMessage(var12, var2.username.getName(), var11); + } + } + } + + var0.offset = var9 + var8; + } + + if ((var3 & 1) != 0) { + var2.field1134 = var0.method6934(); + if (var2.pathLength == 0) { + var2.orientation = var2.field1134; + var2.field1134 = -1; + } + } + + if ((var3 & 4096) != 0) { + var2.spotAnimation = var0.method7059(); + var5 = var0.method6876(); + var2.field1147 = var5 >> 16; + var2.field1105 = (var5 & 65535) + Client.cycle; + var2.spotAnimationFrame = 0; + var2.spotAnimationFrameCycle = 0; + if (var2.field1105 > Client.cycle) { + var2.spotAnimationFrame = -1; + } + + if (var2.spotAnimation == 65535) { + var2.spotAnimation = -1; + } + } + + if ((var3 & 2048) != 0) { + var4 = var0.method6915(); + } + + if ((var3 & 2) != 0) { + var5 = var0.method6927(); + byte[] var19 = new byte[var5]; + Buffer var14 = new Buffer(var19); + var0.method6947(var19, 0, var5); + Players.field1248[var1] = var14; + var2.read(var14); + } + + if (var2.field1060) { + if (var4 == 127) { + var2.resetPath(var2.tileX, var2.tileY); + } else { + byte var16; + if (var4 != -1) { + var16 = var4; + } else { + var16 = Players.field1245[var1]; + } + + var2.method2092(var2.tileX, var2.tileY, var16); + } } } - @ObfuscatedName("lk") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-2056441227" + descriptor = "(Llt;Llt;Llt;B)V", + garbageValue = "91" ) - public static boolean method2094() { - return Client.staffModLevel >= 2; + @Export("drawTitle") + static void drawTitle(Font var0, Font var1, Font var2) { + Login.xPadding = (Huffman.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + class78.loginBoxCenter = Login.loginBoxX + 180; + byte var3; + int var4; + int var9; + int var11; + int var12; + int var25; + int var26; + int var28; + int var34; + if (Login.worldSelectOpen) { + if (BoundaryObject.worldSelectBackSprites == null) { + BoundaryObject.worldSelectBackSprites = Script.method1970(class176.archive8, "sl_back", ""); + } + + Archive var40; + int var42; + IndexedSprite[] var44; + int var45; + if (NetFileRequest.worldSelectFlagSprites == null) { + var40 = class176.archive8; + var42 = var40.getGroupId("sl_flags"); + var45 = var40.getFileId(var42, ""); + var44 = KitDefinition.method2934(var40, var42, var45); + NetFileRequest.worldSelectFlagSprites = var44; + } + + if (EnumComposition.worldSelectArrows == null) { + var40 = class176.archive8; + var42 = var40.getGroupId("sl_arrows"); + var45 = var40.getFileId(var42, ""); + var44 = KitDefinition.method2934(var40, var42, var45); + EnumComposition.worldSelectArrows = var44; + } + + if (class320.worldSelectStars == null) { + var40 = class176.archive8; + var42 = var40.getGroupId("sl_stars"); + var45 = var40.getFileId(var42, ""); + var44 = KitDefinition.method2934(var40, var42, var45); + class320.worldSelectStars = var44; + } + + if (WorldMapCacheName.worldSelectLeftSprite == null) { + WorldMapCacheName.worldSelectLeftSprite = class131.SpriteBuffer_getIndexedSpriteByName(class176.archive8, "leftarrow", ""); + } + + if (ByteArrayPool.worldSelectRightSprite == null) { + ByteArrayPool.worldSelectRightSprite = class131.SpriteBuffer_getIndexedSpriteByName(class176.archive8, "rightarrow", ""); + } + + Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); + var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); + if (class320.worldSelectStars != null) { + class320.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); + var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); + class320.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); + var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); + } + + if (EnumComposition.worldSelectArrows != null) { + var34 = Login.xPadding + 280; + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { + EnumComposition.worldSelectArrows[2].drawAt(var34, 4); + } else { + EnumComposition.worldSelectArrows[0].drawAt(var34, 4); + } + + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { + EnumComposition.worldSelectArrows[3].drawAt(var34 + 15, 4); + } else { + EnumComposition.worldSelectArrows[1].drawAt(var34 + 15, 4); + } + + var0.draw("World", var34 + 32, 17, 16777215, -1); + var4 = Login.xPadding + 390; + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { + EnumComposition.worldSelectArrows[2].drawAt(var4, 4); + } else { + EnumComposition.worldSelectArrows[0].drawAt(var4, 4); + } + + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { + EnumComposition.worldSelectArrows[3].drawAt(var4 + 15, 4); + } else { + EnumComposition.worldSelectArrows[1].drawAt(var4 + 15, 4); + } + + var0.draw("Players", var4 + 32, 17, 16777215, -1); + var42 = Login.xPadding + 500; + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { + EnumComposition.worldSelectArrows[2].drawAt(var42, 4); + } else { + EnumComposition.worldSelectArrows[0].drawAt(var42, 4); + } + + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { + EnumComposition.worldSelectArrows[3].drawAt(var42 + 15, 4); + } else { + EnumComposition.worldSelectArrows[1].drawAt(var42 + 15, 4); + } + + var0.draw("Location", var42 + 32, 17, 16777215, -1); + var45 = Login.xPadding + 610; + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { + EnumComposition.worldSelectArrows[2].drawAt(var45, 4); + } else { + EnumComposition.worldSelectArrows[0].drawAt(var45, 4); + } + + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { + EnumComposition.worldSelectArrows[3].drawAt(var45 + 15, 4); + } else { + EnumComposition.worldSelectArrows[1].drawAt(var45 + 15, 4); + } + + var0.draw("Type", var45 + 32, 17, 16777215, -1); + } + + Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); + var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); + Login.hoveredWorldIndex = -1; + if (BoundaryObject.worldSelectBackSprites != null) { + var3 = 88; + byte var37 = 19; + var42 = 765 / (var3 + 1) - 1; + var45 = 480 / (var37 + 1); + + do { + var25 = var45; + var26 = var42; + if (var45 * (var42 - 1) >= World.World_count) { + --var42; + } + + if (var42 * (var45 - 1) >= World.World_count) { + --var45; + } + + if (var42 * (var45 - 1) >= World.World_count) { + --var45; + } + } while(var25 != var45 || var26 != var42); + + var25 = (765 - var42 * var3) / (var42 + 1); + if (var25 > 5) { + var25 = 5; + } + + var26 = (480 - var45 * var37) / (var45 + 1); + if (var26 > 5) { + var26 = 5; + } + + var9 = (765 - var42 * var3 - var25 * (var42 - 1)) / 2; + var28 = (480 - var45 * var37 - var26 * (var45 - 1)) / 2; + var11 = (var45 + World.World_count - 1) / var45; + Login.worldSelectPagesCount = var11 - var42; + if (WorldMapCacheName.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { + WorldMapCacheName.worldSelectLeftSprite.drawAt(8, MouseRecorder.canvasHeight / 2 - WorldMapCacheName.worldSelectLeftSprite.subHeight / 2); + } + + if (ByteArrayPool.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { + ByteArrayPool.worldSelectRightSprite.drawAt(Huffman.canvasWidth - ByteArrayPool.worldSelectRightSprite.subWidth - 8, MouseRecorder.canvasHeight / 2 - ByteArrayPool.worldSelectRightSprite.subHeight / 2); + } + + var12 = var28 + 23; + int var38 = var9 + Login.xPadding; + int var14 = 0; + boolean var15 = false; + int var16 = Login.worldSelectPage; + + int var17; + for (var17 = var16 * var45; var17 < World.World_count && var16 - Login.worldSelectPage < var42; ++var17) { + World var18 = class386.World_worlds[var17]; + boolean var19 = true; + String var20 = Integer.toString(var18.population); + if (var18.population == -1) { + var20 = "OFF"; + var19 = false; + } else if (var18.population > 1980) { + var20 = "FULL"; + var19 = false; + } + + int var22 = 0; + byte var21; + if (var18.isBeta()) { + if (var18.isMembersOnly()) { + var21 = 7; + } else { + var21 = 6; + } + } else if (var18.isDeadman()) { + var22 = 16711680; + if (var18.isMembersOnly()) { + var21 = 5; + } else { + var21 = 4; + } + } else if (var18.method1639()) { + if (var18.isMembersOnly()) { + var21 = 9; + } else { + var21 = 8; + } + } else if (var18.isPvp()) { + if (var18.isMembersOnly()) { + var21 = 3; + } else { + var21 = 2; + } + } else if (var18.isMembersOnly()) { + var21 = 1; + } else { + var21 = 0; + } + + if (MouseHandler.MouseHandler_x >= var38 && MouseHandler.MouseHandler_y >= var12 && MouseHandler.MouseHandler_x < var3 + var38 && MouseHandler.MouseHandler_y < var37 + var12 && var19) { + Login.hoveredWorldIndex = var17; + BoundaryObject.worldSelectBackSprites[var21].drawTransOverlayAt(var38, var12, 128, 16777215); + var15 = true; + } else { + BoundaryObject.worldSelectBackSprites[var21].drawAt(var38, var12); + } + + if (NetFileRequest.worldSelectFlagSprites != null) { + NetFileRequest.worldSelectFlagSprites[(var18.isMembersOnly() ? 8 : 0) + var18.location].drawAt(var38 + 29, var12); + } + + var0.drawCentered(Integer.toString(var18.id), var38 + 15, var37 / 2 + var12 + 5, var22, -1); + var1.drawCentered(var20, var38 + 60, var37 / 2 + var12 + 5, 268435455, -1); + var12 = var12 + var26 + var37; + ++var14; + if (var14 >= var45) { + var12 = var28 + 23; + var38 = var38 + var25 + var3; + var14 = 0; + ++var16; + } + } + + if (var15) { + var17 = var1.stringWidth(class386.World_worlds[Login.hoveredWorldIndex].activity) + 6; + int var32 = var1.ascent + 8; + int var39 = MouseHandler.MouseHandler_y + 25; + if (var32 + var39 > 480) { + var39 = MouseHandler.MouseHandler_y - 25 - var32; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var17 / 2, var39, var17, var32, 16777120); + Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var17 / 2, var39, var17, var32, 0); + var1.drawCentered(class386.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var39 + var1.ascent + 4, 0, -1); + } + } + + class244.rasterProvider.drawFull(0, 0); + } else { + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + ClanChannelMember.logoSprite.drawAt(Login.xPadding + 382 - ClanChannelMember.logoSprite.subWidth / 2, 18); + if (Client.gameState == 0 || Client.gameState == 5) { + var3 = 20; + var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var3, 16777215, -1); + var4 = 253 - var3; + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var4, 304, 34, 9179409); + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var4 + 1, 302, 32, 0); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var4 + 2, Login.Login_loadingPercent * 3, 30, 9179409); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150 + Login.Login_loadingPercent * 3, var4 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); + var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var3, 16777215, -1); + } + + String var6; + String var7; + String var8; + short var33; + short var35; + if (Client.gameState == 20) { + SoundCache.titleboxSprite.drawAt(Login.loginBoxX + 180 - SoundCache.titleboxSprite.subWidth / 2, 271 - SoundCache.titleboxSprite.subHeight / 2); + var33 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var34 += 7; + if (Login.loginIndex != 4 && Login.loginIndex != 10) { + var0.draw("Login: ", Login.loginBoxX + 180 - 110, var34, 16777215, 0); + var35 = 200; + if (WorldMapDecorationType.clientPreferences.hideUsername) { + var8 = Login.Login_username; + var7 = StructComposition.method3152('*', var8.length()); + var6 = var7; + } else { + var6 = Login.Login_username; + } + + for (var6 = var6; var0.stringWidth(var6) > var35; var6 = var6.substring(0, var6.length() - 1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var6), Login.loginBoxX + 180 - 70, var34, 16777215, 0); + var34 += 15; + + for (var7 = class129.method2670(Login.Login_password); var0.stringWidth(var7) > var35; var7 = var7.substring(1)) { + } + + var0.draw("Password: " + var7, Login.loginBoxX + 180 - 108, var34, 16777215, 0); + var34 += 15; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + SoundCache.titleboxSprite.drawAt(Login.loginBoxX, 171); + short var23; + if (Login.loginIndex == 0) { + var33 = 251; + var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 30; + var4 = Login.loginBoxX + 180 - 80; + var23 = 291; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawLines("New User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); + var4 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawLines("Existing User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); + } else if (Login.loginIndex == 1) { + var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); + var33 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16777215, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Continue", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Cancel", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 2) { + var33 = 201; + var0.drawCentered(Login.Login_response1, class78.loginBoxCenter, var33, 16776960, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, class78.loginBoxCenter, var34, 16776960, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, class78.loginBoxCenter, var34, 16776960, 0); + var34 += 15; + var34 += 7; + var0.draw("Login: ", class78.loginBoxCenter - 110, var34, 16777215, 0); + var35 = 200; + if (WorldMapDecorationType.clientPreferences.hideUsername) { + var8 = Login.Login_username; + var7 = StructComposition.method3152('*', var8.length()); + var6 = var7; + } else { + var6 = Login.Login_username; + } + + for (var6 = var6; var0.stringWidth(var6) > var35; var6 = var6.substring(1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var6) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? FloorUnderlayDefinition.colorStartTag(16776960) + "|" : ""), class78.loginBoxCenter - 70, var34, 16777215, 0); + var34 += 15; + var8 = Login.Login_password; + var7 = StructComposition.method3152('*', var8.length()); + + String var27; + for (var27 = var7; var0.stringWidth(var27) > var35; var27 = var27.substring(1)) { + } + + var0.draw("Password: " + var27 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? FloorUnderlayDefinition.colorStartTag(16776960) + "|" : ""), class78.loginBoxCenter - 108, var34, 16777215, 0); + var34 += 15; + var33 = 277; + var28 = class78.loginBoxCenter + -117; + IndexedSprite var29 = Script.method1955(Client.Login_isUsernameRemembered, Login.field904); + var29.drawAt(var28, var33); + var28 = var28 + var29.subWidth + 5; + var1.draw("Remember username", var28, var33 + 13, 16776960, 0); + var28 = class78.loginBoxCenter + 24; + var29 = Script.method1955(WorldMapDecorationType.clientPreferences.hideUsername, Login.field895); + var29.drawAt(var28, var33); + var28 = var28 + var29.subWidth + 5; + var1.draw("Hide username", var28, var33 + 13, 16776960, 0); + var34 = var33 + 15; + var12 = class78.loginBoxCenter - 80; + short var13 = 321; + class132.titlebuttonSprite.drawAt(var12 - 73, var13 - 20); + var0.drawCentered("Login", var12, var13 + 5, 16777215, 0); + var12 = class78.loginBoxCenter + 80; + class132.titlebuttonSprite.drawAt(var12 - 73, var13 - 20); + var0.drawCentered("Cancel", var12, var13 + 5, 16777215, 0); + var33 = 357; + switch(Login.field869) { + case 2: + Login.field894 = "Having trouble logging in?"; + break; + default: + Login.field894 = "Can't login? Click here."; + } + + Ignored.field3969 = new Bounds(class78.loginBoxCenter, var33, var1.stringWidth(Login.field894), 11); + class13.field76 = new Bounds(class78.loginBoxCenter, var33, var1.stringWidth("Still having trouble logging in?"), 11); + var1.drawCentered(Login.field894, class78.loginBoxCenter, var33, 16777215, 0); + } else if (Login.loginIndex == 3) { + var33 = 201; + var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 20; + var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var4 = Login.loginBoxX + 180; + var23 = 276; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var2.drawCentered("Try again", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180; + var23 = 326; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var2.drawCentered("Forgotten password?", var4, var23 + 5, 16777215, 0); + } else { + String var5; + if (Login.loginIndex == 4) { + var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); + var33 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16777215, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var5 = "PIN: "; + var7 = Ignored.otp; + var6 = StructComposition.method3152('*', var7.length()); + var0.draw(var5 + var6 + (Client.cycle % 40 < 20 ? FloorUnderlayDefinition.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var34, 16777215, 0); + var34 -= 8; + var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var34, 16776960, 0); + var34 += 15; + var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var34, 16776960, 0); + var26 = 180 + Login.loginBoxX - 9 + var0.stringWidth("for 30 days: ") + 15; + var9 = var34 - var0.ascent; + IndexedSprite var10; + if (Login.field900) { + var10 = FileSystem.options_buttons_2Sprite; + } else { + var10 = class397.options_buttons_0Sprite; + } + + var10.drawAt(var26, var9); + var34 += 15; + var11 = Login.loginBoxX + 180 - 80; + short var36 = 321; + class132.titlebuttonSprite.drawAt(var11 - 73, var36 - 20); + var0.drawCentered("Continue", var11, var36 + 5, 16777215, 0); + var11 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var11 - 73, var36 - 20); + var0.drawCentered("Cancel", var11, var36 + 5, 16777215, 0); + var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var36 + 36, 255, 0); + } else { + short var43; + if (Login.loginIndex == 5) { + var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); + var33 = 221; + var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var34 += 14; + var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var34, 16777215, 0); + var35 = 174; + if (WorldMapDecorationType.clientPreferences.hideUsername) { + var8 = Login.Login_username; + var7 = StructComposition.method3152('*', var8.length()); + var6 = var7; + } else { + var6 = Login.Login_username; + } + + for (var6 = var6; var0.stringWidth(var6) > var35; var6 = var6.substring(1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var6) + (Client.cycle % 40 < 20 ? FloorUnderlayDefinition.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var34, 16777215, 0); + var34 += 15; + var25 = Login.loginBoxX + 180 - 80; + var43 = 321; + class132.titlebuttonSprite.drawAt(var25 - 73, var43 - 20); + var0.drawCentered("Recover", var25, var43 + 5, 16777215, 0); + var25 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var25 - 73, var43 - 20); + var0.drawCentered("Back", var25, var43 + 5, 16777215, 0); + var43 = 356; + var1.drawCentered("Still having trouble logging in?", class78.loginBoxCenter, var43, 268435455, 0); + } else if (Login.loginIndex == 6) { + var33 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var4 = Login.loginBoxX + 180; + var23 = 321; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 7) { + var33 = 216; + var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Set Date of Birth", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 8) { + var33 = 216; + var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Privacy Policy", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 9) { + var33 = 221; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 25; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 25; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16776960, 0); + var4 = Login.loginBoxX + 180; + var23 = 311; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Try again", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 10) { + var34 = Login.loginBoxX + 180; + var35 = 209; + var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var35, 16776960, 0); + var4 = var35 + 20; + Login.field873.drawAt(var34 - 109, var4); + class4.field8.drawAt(var34 - 48, var4 + 18); + } else if (Login.loginIndex == 12) { + var34 = class78.loginBoxCenter; + var35 = 216; + var2.drawCentered("Before using this app, please read and accept our", var34, var35, 16777215, 0); + var4 = var35 + 17; + var2.drawCentered("terms of use, privacy policy, and end user licence", var34, var4, 16777215, 0); + var4 += 17; + var2.drawCentered("agreement (EULA).", var34, var4, 16777215, 0); + var4 += 17; + var2.drawCentered("By accepting, you agree to these documents.", var34, var4, 16777215, 0); + var34 = class78.loginBoxCenter - 80; + var35 = 311; + class132.titlebuttonSprite.drawAt(var34 - 73, var35 - 20); + var0.drawCentered("Accept", var34, var35 + 5, 16777215, 0); + var34 = class78.loginBoxCenter + 80; + class132.titlebuttonSprite.drawAt(var34 - 73, var35 - 20); + var0.drawCentered("Decline", var34, var35 + 5, 16777215, 0); + } else if (Login.loginIndex == 13) { + var33 = 231; + var2.drawCentered("You must accept our terms of use, privacy policy,", Login.loginBoxX + 180, var33, 16777215, 0); + var34 = var33 + 20; + var2.drawCentered("and end user licence agreement to continue.", Login.loginBoxX + 180, var34, 16777215, 0); + var4 = Login.loginBoxX + 180; + var33 = 311; + class132.titlebuttonSprite.drawAt(var4 - 73, var33 - 20); + var0.drawCentered("Back", var4, var33 + 5, 16777215, 0); + } else if (Login.loginIndex == 14) { + var33 = 201; + String var24 = ""; + var5 = ""; + var6 = ""; + switch(Login.field884) { + case 0: + var24 = "Your account has been disabled."; + var5 = Strings.field3540; + var6 = ""; + break; + case 1: + var24 = "Account locked as we suspect it has been stolen."; + var5 = Strings.field3539; + var6 = ""; + break; + default: + class20.Login_promptCredentials(false); + } + + var0.drawCentered(var24, Login.loginBoxX + 180, var33, 16776960, 0); + var34 = var33 + 15; + var2.drawCentered(var5, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var2.drawCentered(var6, Login.loginBoxX + 180, var34, 16776960, 0); + var34 += 15; + var25 = Login.loginBoxX + 180; + var43 = 276; + class132.titlebuttonSprite.drawAt(var25 - 73, var43 - 20); + var0.drawCentered("Support Page", var25, var43 + 5, 16777215, 0); + var25 = Login.loginBoxX + 180; + var43 = 326; + class132.titlebuttonSprite.drawAt(var25 - 73, var43 - 20); + var0.drawCentered("Back", var25, var43 + 5, 16777215, 0); + } else if (Login.loginIndex == 24) { + var33 = 221; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var33, 16777215, 0); + var34 = var33 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var34, 16777215, 0); + var34 += 15; + var4 = Login.loginBoxX + 180; + var23 = 301; + class132.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Ok", var4, var23 + 5, 16777215, 0); + } + } + } + } + + if (Client.gameState >= 10) { + int[] var30 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var30); + Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, MouseRecorder.canvasHeight); + Login.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); + Login.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); + Rasterizer2D.Rasterizer2D_setClipArray(var30); + } + + class16.title_muteSprite[WorldMapDecorationType.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); + if (Client.gameState > 5 && Language.Language_EN == ReflectionCheck.clientLanguage) { + if (Client.field563 != null) { + var34 = Login.xPadding + 5; + var35 = 463; + byte var41 = 100; + byte var31 = 35; + Client.field563.drawAt(var34, var35); + var0.drawCentered("World" + " " + Client.worldId, var41 / 2 + var34, var31 / 2 + var35 - 2, 16777215, 0); + if (class4.World_request != null) { + var1.drawCentered("Loading...", var41 / 2 + var34, var31 / 2 + var35 + 12, 16777215, 0); + } else { + var1.drawCentered("Click to switch", var41 / 2 + var34, var31 / 2 + var35 + 12, 16777215, 0); + } + } else { + Client.field563 = class131.SpriteBuffer_getIndexedSpriteByName(class176.archive8, "sl_button", ""); + } + } + + } } } diff --git a/runescape-client/src/main/java/PlayerComposition.java b/runescape-client/src/main/java/PlayerComposition.java index 7de353a606..2a8e6e3f3e 100644 --- a/runescape-client/src/main/java/PlayerComposition.java +++ b/runescape-client/src/main/java/PlayerComposition.java @@ -4,56 +4,65 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iu") +@ObfuscatedName("ie") @Implements("PlayerComposition") public class PlayerComposition { - @ObfuscatedName("v") + @ObfuscatedName("e") + public static short[] field3023; + @ObfuscatedName("g") @Export("equipmentIndices") static final int[] equipmentIndices; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("PlayerAppearance_cachedModels") - static EvictingDualNodeHashTable PlayerAppearance_cachedModels; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Loi;" + public static EvictingDualNodeHashTable PlayerAppearance_cachedModels; + @ObfuscatedName("gi") + @ObfuscatedGetter( + intValue = -176425063 ) - static IndexedSprite field3019; - @ObfuscatedName("n") + @Export("baseY") + static int baseY; + @ObfuscatedName("hl") + @ObfuscatedSignature( + descriptor = "Lhy;" + ) + @Export("scene") + static Scene scene; + @ObfuscatedName("l") @Export("equipment") int[] equipment; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("bodyColors") int[] bodyColors; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("isFemale") public boolean isFemale; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1369074167 + intValue = -969164405 ) @Export("npcTransformId") public int npcTransformId; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - longValue = 8815096852894373557L + longValue = -1231560757100650169L ) @Export("hash") long hash; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - longValue = 2680930768098400257L + longValue = -479237997467646527L ) - long field3016; - @ObfuscatedName("z") + long field3021; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "[Les;" + descriptor = "[Led;" ) class150[] field3018; @ObfuscatedName("a") - boolean field3015; + boolean field3022; static { equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; @@ -61,24 +70,24 @@ public class PlayerComposition { } public PlayerComposition() { - this.field3015 = false; + this.field3022 = false; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([I[Les;Z[IZII)V", - garbageValue = "-2080402960" + descriptor = "([I[Led;Z[IZII)V", + garbageValue = "1177494598" ) - public void method4894(int[] var1, class150[] var2, boolean var3, int[] var4, boolean var5, int var6) { + public void method4954(int[] var1, class150[] var2, boolean var3, int[] var4, boolean var5, int var6) { this.field3018 = var2; - this.field3015 = var3; + this.field3022 = var3; this.update(var1, var4, var5, var6); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "([I[IZIS)V", - garbageValue = "-26830" + descriptor = "([I[IZII)V", + garbageValue = "-106025647" ) @Export("update") public void update(int[] var1, int[] var2, boolean var3, int var4) { @@ -86,9 +95,9 @@ public class PlayerComposition { var1 = new int[12]; for (int var5 = 0; var5 < 7; ++var5) { - for (int var6 = 0; var6 < DirectByteArrayCopier.KitDefinition_fileCount; ++var6) { - KitDefinition var7 = class122.KitDefinition_get(var6); - if (var7 != null && !var7.nonSelectable && (var3 ? 7 : 0) + var5 == var7.bodypartID) { + for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { + KitDefinition var7 = WorldMapLabelSize.KitDefinition_get(var6); + if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (var3 ? 7 : 0)) { var1[equipmentIndices[var5]] = var6 + 256; break; } @@ -103,10 +112,10 @@ public class PlayerComposition { this.setHash(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IZB)V", - garbageValue = "2" + descriptor = "(IZI)V", + garbageValue = "-566640321" ) @Export("changeAppearance") public void changeAppearance(int var1, boolean var2) { @@ -120,17 +129,17 @@ public class PlayerComposition { if (!var2) { --var3; if (var3 < 0) { - var3 = DirectByteArrayCopier.KitDefinition_fileCount - 1; + var3 = KitDefinition.KitDefinition_fileCount - 1; } } else { ++var3; - if (var3 >= DirectByteArrayCopier.KitDefinition_fileCount) { + if (var3 >= KitDefinition.KitDefinition_fileCount) { var3 = 0; } } - var4 = class122.KitDefinition_get(var3); - } while(var4 == null || var4.nonSelectable || var1 + (this.isFemale ? 7 : 0) != var4.bodypartID); + var4 = WorldMapLabelSize.KitDefinition_get(var3); + } while(var4 == null || var4.nonSelectable || (this.isFemale ? 7 : 0) + var1 != var4.bodypartID); this.equipment[equipmentIndices[var1]] = var3 + 256; this.setHash(); @@ -138,37 +147,50 @@ public class PlayerComposition { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IZB)V", - garbageValue = "0" + descriptor = "(IZI)V", + garbageValue = "497995662" ) - public void method4901(int var1, boolean var2) { + public void method4953(int var1, boolean var2) { int var3 = this.bodyColors[var1]; + boolean var4; if (!var2) { do { --var3; if (var3 < 0) { - var3 = class11.field54[var1].length - 1; + var3 = class185.field2101[var1].length - 1; } - } while(!WorldMapArea.method3507(var1, var3)); + + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); } else { do { ++var3; - if (var3 >= class11.field54[var1].length) { + if (var3 >= class185.field2101[var1].length) { var3 = 0; } - } while(!WorldMapArea.method3507(var1, var3)); + + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); } this.bodyColors[var1] = var3; this.setHash(); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(ZS)V", - garbageValue = "166" + descriptor = "(ZI)V", + garbageValue = "-561469046" ) @Export("changeSex") public void changeSex(boolean var1) { @@ -177,10 +199,10 @@ public class PlayerComposition { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "-127" + descriptor = "(Lot;I)V", + garbageValue = "-941948910" ) @Export("write") public void write(Buffer var1) { @@ -202,10 +224,10 @@ public class PlayerComposition { } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-103" + descriptor = "(I)V", + garbageValue = "2100773488" ) @Export("setHash") void setHash() { @@ -241,7 +263,7 @@ public class PlayerComposition { this.hash += (long)(this.isFemale ? 1 : 0); this.equipment[5] = var3; this.equipment[9] = var4; - if (0L != var1 && this.hash != var1 || this.field3015) { + if (var1 != 0L && var1 != this.hash || this.field3022) { PlayerAppearance_cachedModels.remove(var1); } @@ -249,13 +271,13 @@ public class PlayerComposition { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Lfa;ILfa;II)Lhg;", - garbageValue = "1999334669" + descriptor = "(Lfe;ILfe;II)Lhl;", + garbageValue = "-2102525225" ) @Export("getModel") public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { if (this.npcTransformId != -1) { - return ScriptEvent.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); + return class112.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); } else { long var5 = this.hash; int[] var7 = this.equipment; @@ -284,18 +306,18 @@ public class PlayerComposition { int var11; for (int var10 = 0; var10 < 12; ++var10) { var11 = var7[var10]; - if (var11 >= 256 && var11 < 512 && !class122.KitDefinition_get(var11 - 256).ready()) { + if (var11 >= 256 && var11 < 512 && !WorldMapLabelSize.KitDefinition_get(var11 - 256).ready()) { var9 = true; } - if (var11 >= 512 && !class65.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { + if (var11 >= 512 && !class87.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { var9 = true; } } if (var9) { - if (-1L != this.field3016) { - var18 = (Model)PlayerAppearance_cachedModels.get(this.field3016); + if (this.field3021 != -1L) { + var18 = (Model)PlayerAppearance_cachedModels.get(this.field3021); } if (var18 == null) { @@ -311,29 +333,29 @@ public class PlayerComposition { for (int var12 = 0; var12 < 12; ++var12) { var13 = var7[var12]; if (var13 >= 256 && var13 < 512) { - ModelData var14 = class122.KitDefinition_get(var13 - 256).getModelData(); + ModelData var14 = WorldMapLabelSize.KitDefinition_get(var13 - 256).getModelData(); if (var14 != null) { var19[var11++] = var14; } } if (var13 >= 512) { - ItemComposition var22 = class65.ItemDefinition_get(var13 - 512); - ModelData var15 = var22.method3237(this.isFemale); + ItemComposition var22 = class87.ItemDefinition_get(var13 - 512); + ModelData var15 = var22.method3290(this.isFemale); if (var15 != null) { if (this.field3018 != null) { class150 var16 = this.field3018[var12]; if (var16 != null) { int var17; - if (var16.field1600 != null && var22.recolorFrom != null && var22.recolorTo.length == var16.field1600.length) { + if (var16.field1606 != null && var22.recolorFrom != null && var16.field1606.length == var22.recolorTo.length) { for (var17 = 0; var17 < var22.recolorFrom.length; ++var17) { - var15.recolor(var22.recolorTo[var17], var16.field1600[var17]); + var15.recolor(var22.recolorTo[var17], var16.field1606[var17]); } } - if (var16.field1599 != null && var22.retextureFrom != null && var22.retextureTo.length == var16.field1599.length) { + if (var16.field1607 != null && var22.retextureFrom != null && var16.field1607.length == var22.retextureTo.length) { for (var17 = 0; var17 < var22.retextureFrom.length; ++var17) { - var15.retexture(var22.retextureTo[var17], var16.field1599[var17]); + var15.retexture(var22.retextureTo[var17], var16.field1607[var17]); } } } @@ -347,18 +369,18 @@ public class PlayerComposition { ModelData var20 = new ModelData(var19, var11); for (var13 = 0; var13 < 5; ++var13) { - if (this.bodyColors[var13] < class11.field54[var13].length) { - var20.recolor(User.field3948[var13], class11.field54[var13][this.bodyColors[var13]]); + if (this.bodyColors[var13] < class185.field2101[var13].length) { + var20.recolor(field3023[var13], class185.field2101[var13][this.bodyColors[var13]]); } - if (this.bodyColors[var13] < UserComparator9.field1330[var13].length) { - var20.recolor(class28.field167[var13], UserComparator9.field1330[var13][this.bodyColors[var13]]); + if (this.bodyColors[var13] < WorldMapLabel.field2180[var13].length) { + var20.recolor(SceneTilePaint.field2600[var13], WorldMapLabel.field2180[var13][this.bodyColors[var13]]); } } var18 = var20.toModel(64, 850, -30, -50, -30); PlayerAppearance_cachedModels.put(var18, var5); - this.field3016 = var5; + this.field3021 = var5; } } @@ -379,26 +401,26 @@ public class PlayerComposition { } } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)Lgl;", - garbageValue = "1556772534" + descriptor = "(I)Lgi;", + garbageValue = "305930830" ) @Export("getModelData") ModelData getModelData() { if (this.npcTransformId != -1) { - return ScriptEvent.getNpcDefinition(this.npcTransformId).getModelData(); + return class112.getNpcDefinition(this.npcTransformId).getModelData(); } else { boolean var1 = false; int var3; for (int var2 = 0; var2 < 12; ++var2) { var3 = this.equipment[var2]; - if (var3 >= 256 && var3 < 512 && !class122.KitDefinition_get(var3 - 256).method2868()) { + if (var3 >= 256 && var3 < 512 && !WorldMapLabelSize.KitDefinition_get(var3 - 256).method2939()) { var1 = true; } - if (var3 >= 512 && !class65.ItemDefinition_get(var3 - 512).method3187(this.isFemale)) { + if (var3 >= 512 && !class87.ItemDefinition_get(var3 - 512).method3266(this.isFemale)) { var1 = true; } } @@ -414,14 +436,14 @@ public class PlayerComposition { var5 = this.equipment[var4]; ModelData var6; if (var5 >= 256 && var5 < 512) { - var6 = class122.KitDefinition_get(var5 - 256).getKitDefinitionModels(); + var6 = WorldMapLabelSize.KitDefinition_get(var5 - 256).getKitDefinitionModels(); if (var6 != null) { var7[var3++] = var6; } } if (var5 >= 512) { - var6 = class65.ItemDefinition_get(var5 - 512).method3255(this.isFemale); + var6 = class87.ItemDefinition_get(var5 - 512).method3267(this.isFemale); if (var6 != null) { var7[var3++] = var6; } @@ -431,12 +453,12 @@ public class PlayerComposition { ModelData var8 = new ModelData(var7, var3); for (var5 = 0; var5 < 5; ++var5) { - if (this.bodyColors[var5] < class11.field54[var5].length) { - var8.recolor(User.field3948[var5], class11.field54[var5][this.bodyColors[var5]]); + if (this.bodyColors[var5] < class185.field2101[var5].length) { + var8.recolor(field3023[var5], class185.field2101[var5][this.bodyColors[var5]]); } - if (this.bodyColors[var5] < UserComparator9.field1330[var5].length) { - var8.recolor(class28.field167[var5], UserComparator9.field1330[var5][this.bodyColors[var5]]); + if (this.bodyColors[var5] < WorldMapLabel.field2180[var5].length) { + var8.recolor(SceneTilePaint.field2600[var5], WorldMapLabel.field2180[var5][this.bodyColors[var5]]); } } @@ -445,13 +467,13 @@ public class PlayerComposition { } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "116" + garbageValue = "57" ) @Export("getChatHeadId") public int getChatHeadId() { - return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + ScriptEvent.getNpcDefinition(this.npcTransformId).id; + return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + class112.getNpcDefinition(this.npcTransformId).id; } } diff --git a/runescape-client/src/main/java/PlayerType.java b/runescape-client/src/main/java/PlayerType.java index 82db1c4f5b..c9f51bdd69 100644 --- a/runescape-client/src/main/java/PlayerType.java +++ b/runescape-client/src/main/java/PlayerType.java @@ -3,68 +3,84 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jx") +@ObfuscatedName("jd") @Implements("PlayerType") public enum PlayerType implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_normal") PlayerType_normal(0, -1, true, false, true), - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_playerModerator") PlayerType_playerModerator(1, 0, true, true, true), - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_jagexModerator") PlayerType_jagexModerator(2, 1, true, true, false), - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_ironman") PlayerType_ironman(3, 2, false, false, true), - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_ultimateIronman") PlayerType_ultimateIronman(4, 3, false, false, true), - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) @Export("PlayerType_hardcoreIronman") PlayerType_hardcoreIronman(5, 10, false, false, true), - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Ljx;" + descriptor = "Ljd;" ) - field3668(6, 22, false, false, true); - + field3657(6, 22, false, false, true), @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Ljd;" + ) + field3658(7, 41, false, false, true), + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Ljd;" + ) + field3654(8, 42, false, false, true); + + @ObfuscatedName("mw") + @ObfuscatedSignature( + descriptor = "Ljt;" + ) + static Widget field3661; + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -846617789 + intValue = 1199460545 ) @Export("id") final int id; - @ObfuscatedName("u") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -559637127 + intValue = 84538647 ) @Export("modIcon") public final int modIcon; - @ObfuscatedName("e") + @ObfuscatedName("w") @Export("isPrivileged") public final boolean isPrivileged; - @ObfuscatedName("l") + @ObfuscatedName("g") @Export("isUser") public final boolean isUser; @@ -75,26 +91,52 @@ public enum PlayerType implements MouseWheel { this.isUser = var7; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("n") - public static final void method5099(long var0) { - if (var0 > 0L) { - if (0L == var0 % 10L) { - WorldMapRegion.method3602(var0 - 1L); - WorldMapRegion.method3602(1L); - } else { - WorldMapRegion.method3602(var0); + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "74" + ) + static int method5153(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + int var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (!Client.isCameraLocked) { + Client.camAngleX = var3; + Client.camAngleY = var4; } + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.camAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.camAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var3 < 0) { + var3 = 0; + } + + Client.camFollowHeight = var3; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.camFollowHeight; + return 1; + } else { + return 2; } } } diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index 176237ef00..ed8feb8fe6 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -4,64 +4,64 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cp") +@ObfuscatedName("cn") @Implements("Players") public class Players { - @ObfuscatedName("m") - static byte[] field1244; - @ObfuscatedName("k") + @ObfuscatedName("f") + static byte[] field1247; + @ObfuscatedName("j") static byte[] field1245; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "[Lot;" ) - static Buffer[] field1246; - @ObfuscatedName("g") + static Buffer[] field1248; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -398895759 + intValue = -929860441 ) @Export("Players_count") static int Players_count; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("Players_indices") static int[] Players_indices; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -491206921 + intValue = 1961381127 ) @Export("Players_emptyIdxCount") static int Players_emptyIdxCount; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("Players_emptyIndices") static int[] Players_emptyIndices; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("Players_regions") static int[] Players_regions; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("Players_orientations") static int[] Players_orientations; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("Players_targetIndices") static int[] Players_targetIndices; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 91202637 + intValue = -1631297959 ) @Export("Players_pendingUpdateCount") static int Players_pendingUpdateCount; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("Players_pendingUpdateIndices") static int[] Players_pendingUpdateIndices; @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "Lot;" ) - static Buffer field1255; + static Buffer field1259; static { - field1244 = new byte[2048]; + field1247 = new byte[2048]; field1245 = new byte[2048]; - field1246 = new Buffer[2048]; + field1248 = new Buffer[2048]; Players_count = 0; Players_indices = new int[2048]; Players_emptyIdxCount = 0; @@ -71,47 +71,25 @@ public class Players { Players_targetIndices = new int[2048]; Players_pendingUpdateCount = 0; Players_pendingUpdateIndices = new int[2048]; - field1255 = new Buffer(new byte[5000]); + field1259 = new Buffer(new byte[5000]); } - @ObfuscatedName("v") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "-1886800204" + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "1246868543" ) - static final String method2260(int var0) { - if (var0 < 100000) { - return "" + var0 + ""; - } else { - return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; + @Export("addChatMessage") + static void addChatMessage(int var0, String var1, String var2, String var3) { + ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); + if (var4 == null) { + var4 = new ChatChannel(); + Messages.Messages_channels.put(var0, var4); } - } - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-286848897" - ) - @Export("isCharPrintable") - public static boolean isCharPrintable(char var0) { - if (var0 >= ' ' && var0 <= '~') { - return true; - } else if (var0 >= 160 && var0 <= 255) { - return true; - } else { - return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; - } - } - - @ObfuscatedName("ko") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1654335904" - ) - @Export("Clan_leaveChat") - static final void Clan_leaveChat() { - PacketBufferNode var0 = FriendSystem.getPacketBufferNode(ClientPacket.field2727, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(0); - Client.packetWriter.addNode(var0); + Message var5 = var4.addMessage(var0, var1, var2, var3); + Messages.Messages_hashTable.put(var5, (long)var5.count); + Messages.Messages_queue.add(var5); + Client.chatCycle = Client.cycleCntr; } } diff --git a/runescape-client/src/main/java/PrivateChatMode.java b/runescape-client/src/main/java/PrivateChatMode.java index 39febff3b9..d241d40f83 100644 --- a/runescape-client/src/main/java/PrivateChatMode.java +++ b/runescape-client/src/main/java/PrivateChatMode.java @@ -3,37 +3,37 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("px") +@ObfuscatedName("pa") @Implements("PrivateChatMode") public class PrivateChatMode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lpx;" + descriptor = "Lpa;" ) - static final PrivateChatMode field4392; - @ObfuscatedName("c") + static final PrivateChatMode field4412; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lpx;" + descriptor = "Lpa;" ) - public static final PrivateChatMode field4395; - @ObfuscatedName("m") + public static final PrivateChatMode field4411; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lpx;" + descriptor = "Lpa;" ) - static final PrivateChatMode field4394; - @ObfuscatedName("k") + static final PrivateChatMode field4413; + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1838715125 + intValue = -1139302799 ) - public final int field4393; + public final int field4414; static { - field4392 = new PrivateChatMode(0); - field4395 = new PrivateChatMode(1); - field4394 = new PrivateChatMode(2); + field4412 = new PrivateChatMode(0); + field4411 = new PrivateChatMode(1); + field4413 = new PrivateChatMode(2); } PrivateChatMode(int var1) { - this.field4393 = var1; + this.field4414 = var1; } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 88806243c3..6816bed599 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -4,134 +4,135 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bx") +@ObfuscatedName("bq") @Implements("Projectile") public final class Projectile extends Renderable { - @ObfuscatedName("sy") - @ObfuscatedGetter( - intValue = -137640895 + @ObfuscatedName("kp") + @ObfuscatedSignature( + descriptor = "Ljt;" ) - static int field923; - @ObfuscatedName("n") + @Export("hoveredItemContainer") + static Widget hoveredItemContainer; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 371400441 + intValue = 612017877 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1544589667 + intValue = -1252527971 ) @Export("plane") int plane; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1776950519 + intValue = -861559657 ) @Export("sourceX") int sourceX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -853682291 + intValue = -178242535 ) @Export("sourceY") int sourceY; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1068225469 + intValue = -1274361179 ) @Export("sourceZ") int sourceZ; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -500238855 + intValue = 632360777 ) @Export("endHeight") int endHeight; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 457578437 + intValue = 1209560849 ) @Export("cycleStart") int cycleStart; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 1625899633 + intValue = 1759593837 ) @Export("cycleEnd") int cycleEnd; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1339845409 + intValue = -212620571 ) @Export("slope") int slope; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 705683361 + intValue = -1789569559 ) @Export("startHeight") int startHeight; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 2077250747 + intValue = -1450017667 ) @Export("targetIndex") int targetIndex; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("isMoving") boolean isMoving; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("x") double x; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("y") double y; @ObfuscatedName("s") @Export("z") double z; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("speedX") double speedX; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("speedY") double speedY; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("speed") double speed; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("speedZ") double speedZ; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("accelerationZ") double accelerationZ; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = -1707129837 + intValue = 1966340063 ) @Export("yaw") int yaw; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = -1652805209 + intValue = -618468267 ) @Export("pitch") int pitch; @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "Lfa;" + descriptor = "Lfe;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = 361188885 + intValue = 999044951 ) @Export("frame") int frame; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = 366386853 + intValue = -987354937 ) @Export("frameCycle") int frameCycle; @@ -152,19 +153,19 @@ public final class Projectile extends Renderable { this.targetIndex = var10; this.endHeight = var11; this.isMoving = false; - int var12 = TaskHandler.SpotAnimationDefinition_get(this.id).sequence; + int var12 = class21.SpotAnimationDefinition_get(this.id).sequence; if (var12 != -1) { - this.sequenceDefinition = class17.SequenceDefinition_get(var12); + this.sequenceDefinition = KitDefinition.SequenceDefinition_get(var12); } else { this.sequenceDefinition = null; } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(IIIII)V", - garbageValue = "2137080708" + garbageValue = "-631217793" ) @Export("setDestination") final void setDestination(int var1, int var2, int var3, int var4) { @@ -181,22 +182,22 @@ public final class Projectile extends Renderable { var5 = (double)(this.cycleEnd + 1 - var4); this.speedX = ((double)var1 - this.x) / var5; this.speedY = ((double)var2 - this.y) / var5; - this.speed = Math.sqrt(this.speedY * this.speedY + this.speedX * this.speedX); + this.speed = Math.sqrt(this.speedX * this.speedX + this.speedY * this.speedY); if (!this.isMoving) { - this.speedZ = -this.speed * Math.tan((double)this.slope * 0.02454369D); + this.speedZ = -this.speed * Math.tan(0.02454369D * (double)this.slope); } - this.accelerationZ = ((double)var3 - this.z - var5 * this.speedZ) * 2.0D / (var5 * var5); + this.accelerationZ = 2.0D * ((double)var3 - this.z - var5 * this.speedZ) / (var5 * var5); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected final Model getModel() { - SpotAnimationDefinition var1 = TaskHandler.SpotAnimationDefinition_get(this.id); + SpotAnimationDefinition var1 = class21.SpotAnimationDefinition_get(this.id); Model var2 = var1.getModel(this.frame); if (var2 == null) { return null; @@ -206,17 +207,17 @@ public final class Projectile extends Renderable { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1930137131" + descriptor = "(IB)V", + garbageValue = "-39" ) @Export("advance") final void advance(int var1) { this.isMoving = true; - this.x += this.speedX * (double)var1; + this.x += (double)var1 * this.speedX; this.y += (double)var1 * this.speedY; - this.z += this.speedZ * (double)var1 + (double)var1 * (double)var1 * this.accelerationZ * 0.5D; + this.z += (double)var1 * this.speedZ + (double)var1 * 0.5D * this.accelerationZ * (double)var1; this.speedZ += (double)var1 * this.accelerationZ; this.yaw = (int)(Math.atan2(this.speedX, this.speedY) * 325.949D) + 1024 & 2047; this.pitch = (int)(Math.atan2(this.speedZ, this.speed) * 325.949D) & 2047; diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java index 2720d5a810..39b9a23684 100644 --- a/runescape-client/src/main/java/RasterProvider.java +++ b/runescape-client/src/main/java/RasterProvider.java @@ -14,13 +14,13 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("aw") +@ObfuscatedName("ah") @Implements("RasterProvider") public final class RasterProvider extends AbstractRasterProvider { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("component") Component component; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("image") Image image; @@ -36,40 +36,40 @@ public final class RasterProvider extends AbstractRasterProvider { this.apply(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/awt/Component;I)V", - garbageValue = "1432255251" + garbageValue = "-212105390" ) @Export("setComponent") final void setComponent(Component var1) { this.component = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "286261249" + garbageValue = "517256419" ) @Export("drawFull") public final void drawFull(int var1, int var2) { this.drawFull0(this.component.getGraphics(), var1, var2); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(IIIII)V", - garbageValue = "-1489672411" + garbageValue = "2140501062" ) @Export("draw") public final void draw(int var1, int var2, int var3, int var4) { this.draw0(this.component.getGraphics(), var1, var2, var3, var4); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Ljava/awt/Graphics;III)V", - garbageValue = "1067634344" + garbageValue = "-1289290087" ) @Export("drawFull0") final void drawFull0(Graphics var1, int var2, int var3) { @@ -81,10 +81,10 @@ public final class RasterProvider extends AbstractRasterProvider { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(Ljava/awt/Graphics;IIIII)V", - garbageValue = "1088726714" + garbageValue = "-1394783467" ) @Export("draw0") final void draw0(Graphics var1, int var2, int var3, int var4, int var5) { diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java index 34619f6d0e..1cc34d3b31 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -3,28 +3,28 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oy") +@ObfuscatedName("oo") @Implements("Rasterizer2D") public class Rasterizer2D extends DualNode { @ObfuscatedName("ad") @Export("Rasterizer2D_pixels") public static int[] Rasterizer2D_pixels; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("Rasterizer2D_width") public static int Rasterizer2D_width; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("Rasterizer2D_height") public static int Rasterizer2D_height; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("Rasterizer2D_yClipStart") public static int Rasterizer2D_yClipStart; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("Rasterizer2D_yClipEnd") public static int Rasterizer2D_yClipEnd; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("Rasterizer2D_xClipStart") public static int Rasterizer2D_xClipStart; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("Rasterizer2D_xClipEnd") public static int Rasterizer2D_xClipEnd; @@ -47,7 +47,7 @@ public class Rasterizer2D extends DualNode { Rasterizer2D_setClip(0, 0, var1, var2); } - @ObfuscatedName("dx") + @ObfuscatedName("dq") @Export("Rasterizer2D_resetClip") public static void Rasterizer2D_resetClip() { Rasterizer2D_xClipStart = 0; @@ -56,7 +56,7 @@ public class Rasterizer2D extends DualNode { Rasterizer2D_yClipEnd = Rasterizer2D_height; } - @ObfuscatedName("dl") + @ObfuscatedName("du") @Export("Rasterizer2D_setClip") public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) { if (var0 < 0) { @@ -81,7 +81,7 @@ public class Rasterizer2D extends DualNode { Rasterizer2D_yClipEnd = var3; } - @ObfuscatedName("du") + @ObfuscatedName("dc") @Export("Rasterizer2D_expandClip") public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) { if (Rasterizer2D_xClipStart < var0) { @@ -102,7 +102,7 @@ public class Rasterizer2D extends DualNode { } - @ObfuscatedName("dj") + @ObfuscatedName("dy") @Export("Rasterizer2D_getClipArray") public static void Rasterizer2D_getClipArray(int[] var0) { var0[0] = Rasterizer2D_xClipStart; @@ -111,7 +111,7 @@ public class Rasterizer2D extends DualNode { var0[3] = Rasterizer2D_yClipEnd; } - @ObfuscatedName("dy") + @ObfuscatedName("dl") @Export("Rasterizer2D_setClipArray") public static void Rasterizer2D_setClipArray(int[] var0) { Rasterizer2D_xClipStart = var0[0]; @@ -120,7 +120,7 @@ public class Rasterizer2D extends DualNode { Rasterizer2D_yClipEnd = var0[3]; } - @ObfuscatedName("dr") + @ObfuscatedName("df") @Export("Rasterizer2D_clear") public static void Rasterizer2D_clear() { int var0 = 0; @@ -141,7 +141,7 @@ public class Rasterizer2D extends DualNode { } - @ObfuscatedName("dc") + @ObfuscatedName("dj") @Export("drawCircle") static void drawCircle(int var0, int var1, int var2, int var3) { if (var2 == 0) { @@ -349,7 +349,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("dv") + @ObfuscatedName("dt") @Export("Rasterizer2D_fillRectangleAlpha") public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { if (var0 < Rasterizer2D_xClipStart) { @@ -387,7 +387,7 @@ public class Rasterizer2D extends DualNode { } - @ObfuscatedName("de") + @ObfuscatedName("dr") @Export("Rasterizer2D_fillRectangle") public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) { if (var0 < Rasterizer2D_xClipStart) { @@ -421,7 +421,7 @@ public class Rasterizer2D extends DualNode { } - @ObfuscatedName("dz") + @ObfuscatedName("do") @Export("Rasterizer2D_fillRectangleGradient") public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) { if (var2 > 0 && var3 > 0) { @@ -523,7 +523,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("dt") + @ObfuscatedName("dv") @ObfuscatedSignature( descriptor = "(IIIIII[BIZ)V", garbageValue = "1" @@ -604,7 +604,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("da") + @ObfuscatedName("di") @Export("Rasterizer2D_drawRectangle") public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) { Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); @@ -613,7 +613,7 @@ public class Rasterizer2D extends DualNode { Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); } - @ObfuscatedName("di") + @ObfuscatedName("dw") @Export("Rasterizer2D_drawRectangleAlpha") public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); @@ -625,7 +625,7 @@ public class Rasterizer2D extends DualNode { } - @ObfuscatedName("dw") + @ObfuscatedName("dn") @Export("Rasterizer2D_drawHorizontalLine") public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) { if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { @@ -647,7 +647,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("dq") + @ObfuscatedName("dh") @Export("Rasterizer2D_drawHorizontalLineAlpha") static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) { if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { @@ -677,7 +677,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("eo") + @ObfuscatedName("ds") @Export("Rasterizer2D_drawVerticalLine") public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) { if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { @@ -699,7 +699,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("ep") + @ObfuscatedName("da") @Export("Rasterizer2D_drawVerticalLineAlpha") static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) { if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { @@ -730,7 +730,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("ez") + @ObfuscatedName("dk") @Export("Rasterizer2D_drawLine") public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) { var2 -= var0; @@ -812,7 +812,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("ec") + @ObfuscatedName("dz") @Export("Rasterizer2D_setPixel") static void Rasterizer2D_setPixel(int var0, int var1, int var2) { if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { @@ -820,7 +820,7 @@ public class Rasterizer2D extends DualNode { } } - @ObfuscatedName("ev") + @ObfuscatedName("de") @Export("Rasterizer2D_fillMaskedRectangle") public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) { int var5 = var0 + Rasterizer2D_width * var1; diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java index 6b98dc3af1..e779aff00a 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -3,92 +3,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hb") +@ObfuscatedName("hd") @Implements("Rasterizer3D") public class Rasterizer3D extends Rasterizer2D { - @ObfuscatedName("n") - static boolean field2352; - @ObfuscatedName("c") + @ObfuscatedName("l") static boolean field2347; - @ObfuscatedName("m") + @ObfuscatedName("q") + static boolean field2346; + @ObfuscatedName("f") @Export("Rasterizer3D_isLowDetailTexture") static boolean Rasterizer3D_isLowDetailTexture; - @ObfuscatedName("k") - public static boolean field2333; - @ObfuscatedName("o") + @ObfuscatedName("j") + public static boolean field2348; + @ObfuscatedName("m") @Export("Rasterizer3D_alpha") static int Rasterizer3D_alpha; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("Rasterizer3D_zoom") public static int Rasterizer3D_zoom; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("Rasterizer3D_clipMidX") static int Rasterizer3D_clipMidX; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("Rasterizer3D_clipMidY") static int Rasterizer3D_clipMidY; @ObfuscatedName("s") @Export("Rasterizer3D_clipWidth") static int Rasterizer3D_clipWidth; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("Rasterizer3D_clipHeight") static int Rasterizer3D_clipHeight; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("Rasterizer3D_clipNegativeMidX") static int Rasterizer3D_clipNegativeMidX; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("Rasterizer3D_clipMidX2") static int Rasterizer3D_clipMidX2; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("Rasterizer3D_clipNegativeMidY") static int Rasterizer3D_clipNegativeMidY; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("Rasterizer3D_clipMidY2") static int Rasterizer3D_clipMidY2; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("Rasterizer3D_rowOffsets") static int[] Rasterizer3D_rowOffsets; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("Rasterizer3D_colorPalette") public static int[] Rasterizer3D_colorPalette; @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "Lhl;" + descriptor = "Lhu;" ) @Export("Rasterizer3D_textureLoader") public static TextureLoader Rasterizer3D_textureLoader; - @ObfuscatedName("p") - static int[] field2353; - @ObfuscatedName("w") - static int[] field2354; - @ObfuscatedName("i") + @ObfuscatedName("n") + static int[] field2368; + @ObfuscatedName("u") + static int[] field2369; + @ObfuscatedName("d") @Export("Rasterizer3D_sine") public static int[] Rasterizer3D_sine; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("Rasterizer3D_cosine") public static int[] Rasterizer3D_cosine; static { - field2352 = false; field2347 = false; + field2346 = false; Rasterizer3D_isLowDetailTexture = false; - field2333 = true; + field2348 = true; Rasterizer3D_alpha = 0; Rasterizer3D_zoom = 512; Rasterizer3D_rowOffsets = new int[1024]; Rasterizer3D_colorPalette = new int[65536]; - field2353 = new int[512]; - field2354 = new int[2048]; + field2368 = new int[512]; + field2369 = new int[2048]; Rasterizer3D_sine = new int[2048]; Rasterizer3D_cosine = new int[2048]; int var0; for (var0 = 1; var0 < 512; ++var0) { - field2353[var0] = 32768 / var0; + field2368[var0] = 32768 / var0; } for (var0 = 1; var0 < 2048; ++var0) { - field2354[var0] = 65536 / var0; + field2369[var0] = 65536 / var0; } for (var0 = 0; var0 < 2048; ++var0) { @@ -98,20 +98,20 @@ public class Rasterizer3D extends Rasterizer2D { } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("Rasterizer3D_setClipFromRasterizer2D") public static final void Rasterizer3D_setClipFromRasterizer2D() { Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("Rasterizer3D_setClip") static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { Rasterizer3D_clipWidth = var2 - var0; Rasterizer3D_clipHeight = var3 - var1; Rasterizer3D_method3(); if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { - Rasterizer3D_rowOffsets = new int[ItemContainer.method2041(Rasterizer3D_clipHeight)]; + Rasterizer3D_rowOffsets = new int[InvDefinition.method2881(Rasterizer3D_clipHeight)]; } int var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; @@ -123,7 +123,7 @@ public class Rasterizer3D extends Rasterizer2D { } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("Rasterizer3D_method3") public static final void Rasterizer3D_method3() { Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; @@ -134,8 +134,8 @@ public class Rasterizer3D extends Rasterizer2D { Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; } - @ObfuscatedName("k") - public static final void method4049(int var0, int var1) { + @ObfuscatedName("j") + public static final void method4122(int var0, int var1) { int var2 = Rasterizer3D_rowOffsets[0]; int var3 = var2 / Rasterizer2D.Rasterizer2D_width; int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; @@ -147,22 +147,22 @@ public class Rasterizer3D extends Rasterizer2D { Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lhl;)V" + descriptor = "(Lhu;)V" ) @Export("Rasterizer3D_setTextureLoader") public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { Rasterizer3D_textureLoader = var0; } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("Rasterizer3D_setBrightness") public static final void Rasterizer3D_setBrightness(double var0) { Rasterizer3D_buildPalette(var0, 0, 512); } - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("Rasterizer3D_buildPalette") static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { int var4 = var2 * 128; @@ -256,13 +256,13 @@ public class Rasterizer3D extends Rasterizer2D { return var11 + (var10 << 8) + (var9 << 16); } - @ObfuscatedName("u") - public static void method4087(int var0, int var1, int var2) { - field2352 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; + @ObfuscatedName("e") + public static void method4127(int var0, int var1, int var2) { + field2347 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; } - @ObfuscatedName("e") - static final void method4055(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + @ObfuscatedName("i") + static final void method4128(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; @@ -767,10 +767,10 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("Rasterizer3D_vertAlpha") static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (field2352) { + if (field2347) { if (var5 > Rasterizer3D_clipWidth) { var5 = Rasterizer3D_clipWidth; } @@ -786,7 +786,7 @@ public class Rasterizer3D extends Rasterizer2D { int var8; int var9; int var10; - if (field2333) { + if (field2348) { var3 = var5 - var4 >> 2; var7 <<= 2; if (Rasterizer3D_alpha == 0) { @@ -870,8 +870,8 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("y") - public static final void method4061(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + @ObfuscatedName("w") + public static final void method4130(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { int var7 = 0; if (var0 != var1) { var7 = (var4 - var3 << 14) / (var1 - var0); @@ -978,33 +978,7 @@ public class Rasterizer3D extends Rasterizer2D { var2 = 0; } - if (var0 != var2 && var9 < var7 || var0 == var2 && var8 > var7) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); - var5 += var8; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); - var4 += var9; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } else { + if ((var0 == var2 || var9 >= var7) && (var0 != var2 || var8 <= var7)) { var1 -= var2; var2 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -1030,6 +1004,32 @@ public class Rasterizer3D extends Rasterizer2D { var3 += var7; var0 += Rasterizer2D.Rasterizer2D_width; } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); + var5 += var8; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); + var4 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } } } } @@ -1326,10 +1326,10 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("Rasterizer3D_horizAlpha") static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { - if (field2352) { + if (field2347) { if (var5 > Rasterizer3D_clipWidth) { var5 = Rasterizer3D_clipWidth; } @@ -1421,16 +1421,16 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("f") - static final void method4094(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) { + @ObfuscatedName("v") + static final void method4132(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); int var20; if (var19 == null) { var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method4055(var0, var1, var2, var3, var4, var5, method4062(var20, var6), method4062(var20, var7), method4062(var20, var8)); + method4128(var0, var1, var2, var3, var4, var5, method4145(var20, var6), method4145(var20, var7), method4145(var20, var8)); } else { Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field2347 = Rasterizer3D_textureLoader.vmethod4485(var18); + field2346 = Rasterizer3D_textureLoader.vmethod4565(var18); var20 = var4 - var3; int var21 = var1 - var0; int var22 = var5 - var3; @@ -1590,41 +1590,7 @@ public class Rasterizer3D extends Rasterizer2D { var32 += var34 * var41; var35 += var37 * var41; var38 += var40 * var41; - if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { + if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { var1 -= var2; var2 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -1658,6 +1624,40 @@ public class Rasterizer3D extends Rasterizer2D { var35 += var37; var38 += var40; } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } } @@ -1691,41 +1691,7 @@ public class Rasterizer3D extends Rasterizer2D { var32 += var34 * var41; var35 += var37 * var41; var38 += var40 * var41; - if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { + if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { var0 -= var2; var2 -= var1; var1 = Rasterizer3D_rowOffsets[var1]; @@ -1759,6 +1725,40 @@ public class Rasterizer3D extends Rasterizer2D { var35 += var37; var38 += var40; } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } else { var5 = var4 <<= 14; @@ -2045,7 +2045,7 @@ public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("s") @Export("Rasterizer3D_iDontKnow") static final void Rasterizer3D_iDontKnow(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 (field2352) { + if (field2347) { if (var6 > Rasterizer3D_clipWidth) { var6 = Rasterizer3D_clipWidth; } @@ -2109,7 +2109,7 @@ public class Rasterizer3D extends Rasterizer2D { var17 >>= 3; var8 <<= 3; var15 = var7 >> 8; - if (field2347) { + if (field2346) { if (var17 > 0) { do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; @@ -2304,7 +2304,7 @@ public class Rasterizer3D extends Rasterizer2D { var17 >>= 3; var8 <<= 3; var15 = var7 >> 8; - if (field2347) { + if (field2346) { if (var17 > 0) { do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; @@ -2463,17 +2463,17 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("drawTexturedTile") static final void drawTexturedTile(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); int var20; if (var19 == null) { var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method4055(var0, var1, var2, var3, var4, var5, method4062(var20, var6), method4062(var20, var7), method4062(var20, var8)); + method4128(var0, var1, var2, var3, var4, var5, method4145(var20, var6), method4145(var20, var7), method4145(var20, var8)); } else { Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field2347 = Rasterizer3D_textureLoader.vmethod4485(var18); + field2346 = Rasterizer3D_textureLoader.vmethod4565(var18); var20 = var4 - var3; int var21 = var1 - var0; int var22 = var5 - var3; @@ -2545,41 +2545,7 @@ public class Rasterizer3D extends Rasterizer2D { var32 += var34 * var41; var35 += var37 * var41; var38 += var40 * var41; - if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { + if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { var2 -= var1; var1 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -2613,6 +2579,40 @@ public class Rasterizer3D extends Rasterizer2D { var35 += var37; var38 += var40; } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } else { var4 = var3 <<= 14; @@ -2633,41 +2633,7 @@ public class Rasterizer3D extends Rasterizer2D { var32 += var34 * var41; var35 += var37 * var41; var38 += var40 * var41; - if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { + if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { var1 -= var2; var2 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -2701,6 +2667,40 @@ public class Rasterizer3D extends Rasterizer2D { var35 += var37; var38 += var40; } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } } @@ -2734,41 +2734,7 @@ public class Rasterizer3D extends Rasterizer2D { var32 += var34 * var41; var35 += var37 * var41; var38 += var40 * var41; - if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { + if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { var0 -= var2; var2 -= var1; var1 = Rasterizer3D_rowOffsets[var1]; @@ -2802,6 +2768,40 @@ public class Rasterizer3D extends Rasterizer2D { var35 += var37; var38 += var40; } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } else { var5 = var4 <<= 14; @@ -3085,10 +3085,10 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("Rasterizer3D_textureAlpha") static final void Rasterizer3D_textureAlpha(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 (field2352) { + if (field2347) { if (var6 > Rasterizer3D_clipWidth) { var6 = Rasterizer3D_clipWidth; } @@ -3141,7 +3141,7 @@ public class Rasterizer3D extends Rasterizer2D { var17 >>= 3; var8 <<= 3; var15 = var7 >> 8; - if (field2347) { + if (field2346) { if (var17 > 0) { do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; @@ -3284,7 +3284,7 @@ public class Rasterizer3D extends Rasterizer2D { var17 >>= 3; var8 <<= 3; var15 = var7 >> 8; - if (field2347) { + if (field2346) { if (var17 > 0) { do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; @@ -3401,8 +3401,8 @@ public class Rasterizer3D extends Rasterizer2D { } } - @ObfuscatedName("q") - static final int method4062(int var0, int var1) { + @ObfuscatedName("x") + static final int method4145(int var0, int var1) { var1 = (var0 & 127) * var1 >> 7; if (var1 < 2) { var1 = 2; @@ -3413,33 +3413,33 @@ public class Rasterizer3D extends Rasterizer2D { return (var0 & 65408) + var1; } - @ObfuscatedName("j") - static final int method4063(int var0, int var1, int var2, int var3) { + @ObfuscatedName("p") + static final int method4137(int var0, int var1, int var2, int var3) { return var0 * var2 + var3 * var1 >> 16; } - @ObfuscatedName("x") - static final int method4096(int var0, int var1, int var2, int var3) { + @ObfuscatedName("z") + static final int method4138(int var0, int var1, int var2, int var3) { return var2 * var1 - var3 * var0 >> 16; } - @ObfuscatedName("b") - static final int method4123(int var0, int var1, int var2, int var3) { + @ObfuscatedName("h") + static final int method4139(int var0, int var1, int var2, int var3) { return var0 * var2 - var3 * var1 >> 16; } - @ObfuscatedName("t") - static final int method4066(int var0, int var1, int var2, int var3) { + @ObfuscatedName("o") + static final int method4125(int var0, int var1, int var2, int var3) { return var3 * var0 + var2 * var1 >> 16; } @ObfuscatedName("r") - static final int method4067(int var0, int var1, int var2, int var3) { + static final int method4141(int var0, int var1, int var2, int var3) { return var0 * var2 + var3 * var1 >> 16; } - @ObfuscatedName("p") - static final int method4112(int var0, int var1, int var2, int var3) { + @ObfuscatedName("n") + static final int method4183(int var0, int var1, int var2, int var3) { return var2 * var1 - var3 * var0 >> 16; } } diff --git a/runescape-client/src/main/java/RawPcmStream.java b/runescape-client/src/main/java/RawPcmStream.java index 23cf748825..16c802b973 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -3,92 +3,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("aj") +@ObfuscatedName("an") @Implements("RawPcmStream") public class RawPcmStream extends PcmStream { - @ObfuscatedName("n") - int field323; - @ObfuscatedName("c") - int field331; + @ObfuscatedName("l") + int field332; + @ObfuscatedName("q") + int field326; + @ObfuscatedName("f") + int field321; + @ObfuscatedName("j") + int field322; @ObfuscatedName("m") - int field320; + int field323; @ObfuscatedName("k") - int field319; - @ObfuscatedName("o") - int field318; - @ObfuscatedName("g") - int field330; - @ObfuscatedName("z") int field324; + @ObfuscatedName("t") + int field325; @ObfuscatedName("a") @Export("numLoops") int numLoops; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("start") int start; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("end") int end; - @ObfuscatedName("l") - boolean field328; @ObfuscatedName("y") - int field329; + boolean field329; + @ObfuscatedName("g") + int field320; @ObfuscatedName("v") - int field322; - @ObfuscatedName("f") - int field327; + int field331; @ObfuscatedName("s") - int field332; + int field330; + @ObfuscatedName("c") + int field319; @ObfuscatedSignature( - descriptor = "(Lak;III)V" + descriptor = "(Laa;III)V" ) RawPcmStream(RawSound var1, int var2, int var3, int var4) { super.sound = var1; this.start = var1.start; this.end = var1.end; - this.field328 = var1.field250; - this.field331 = var2; - this.field320 = var3; - this.field319 = var4; - this.field323 = 0; - this.method809(); + this.field329 = var1.field249; + this.field326 = var2; + this.field321 = var3; + this.field322 = var4; + this.field332 = 0; + this.method795(); } @ObfuscatedSignature( - descriptor = "(Lak;II)V" + descriptor = "(Laa;II)V" ) RawPcmStream(RawSound var1, int var2, int var3) { super.sound = var1; this.start = var1.start; this.end = var1.end; - this.field328 = var1.field250; - this.field331 = var2; - this.field320 = var3; - this.field319 = 8192; - this.field323 = 0; - this.method809(); + this.field329 = var1.field249; + this.field326 = var2; + this.field321 = var3; + this.field322 = 8192; + this.field332 = 0; + this.method795(); } - @ObfuscatedName("o") - void method809() { - this.field318 = this.field320; - this.field330 = method953(this.field320, this.field319); - this.field324 = method795(this.field320, this.field319); + @ObfuscatedName("m") + void method795() { + this.field323 = this.field321; + this.field324 = method865(this.field321, this.field322); + this.field325 = method790(this.field321, this.field322); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { return null; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "()Lap;" + descriptor = "()Lav;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { @@ -96,14 +96,14 @@ public class RawPcmStream extends PcmStream { } @ObfuscatedName("a") - protected int vmethod4836() { - return this.field320 == 0 && this.field329 == 0 ? 0 : 1; + protected int vmethod4889() { + return this.field321 == 0 && this.field320 == 0 ? 0 : 1; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("fill") public synchronized void fill(int[] var1, int var2, int var3) { - if (this.field320 == 0 && this.field329 == 0) { + if (this.field321 == 0 && this.field320 == 0) { this.skip(var3); } else { RawSound var4 = (RawSound)super.sound; @@ -117,163 +117,163 @@ public class RawPcmStream extends PcmStream { int var9 = var2; var3 += var2; - if (this.field323 < 0) { - if (this.field331 <= 0) { - this.method808(); + if (this.field332 < 0) { + if (this.field326 <= 0) { + this.method804(); this.remove(); return; } - this.field323 = 0; + this.field332 = 0; } - if (this.field323 >= var7) { - if (this.field331 >= 0) { - this.method808(); + if (this.field332 >= var7) { + if (this.field326 >= 0) { + this.method804(); this.remove(); return; } - this.field323 = var7 - 1; + this.field332 = var7 - 1; } if (this.numLoops < 0) { - if (this.field328) { - if (this.field331 < 0) { - var9 = this.method938(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field323 >= var5) { + if (this.field329) { + if (this.field326 < 0) { + var9 = this.method818(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field332 >= var5) { return; } - this.field323 = var5 + var5 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var5 + var5 - 1 - this.field332; + this.field326 = -this.field326; } while (true) { - var9 = this.method947(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field323 < var6) { + var9 = this.method885(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field332 < var6) { return; } - this.field323 = var6 + var6 - 1 - this.field323; - this.field331 = -this.field331; - var9 = this.method938(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field323 >= var5) { + this.field332 = var6 + var6 - 1 - this.field332; + this.field326 = -this.field326; + var9 = this.method818(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field332 >= var5) { return; } - this.field323 = var5 + var5 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var5 + var5 - 1 - this.field332; + this.field326 = -this.field326; } - } else if (this.field331 < 0) { + } else if (this.field326 < 0) { while (true) { - var9 = this.method938(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field323 >= var5) { + var9 = this.method818(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field332 >= var5) { return; } - this.field323 = var6 - 1 - (var6 - 1 - this.field323) % var8; + this.field332 = var6 - 1 - (var6 - 1 - this.field332) % var8; } } else { while (true) { - var9 = this.method947(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field323 < var6) { + var9 = this.method885(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field332 < var6) { return; } - this.field323 = var5 + (this.field323 - var5) % var8; + this.field332 = var5 + (this.field332 - var5) % var8; } } } else { if (this.numLoops > 0) { - if (this.field328) { + if (this.field329) { label127: { - if (this.field331 < 0) { - var9 = this.method938(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field323 >= var5) { + if (this.field326 < 0) { + var9 = this.method818(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field332 >= var5) { return; } - this.field323 = var5 + var5 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var5 + var5 - 1 - this.field332; + this.field326 = -this.field326; if (--this.numLoops == 0) { break label127; } } do { - var9 = this.method947(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field323 < var6) { + var9 = this.method885(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field332 < var6) { return; } - this.field323 = var6 + var6 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var6 + var6 - 1 - this.field332; + this.field326 = -this.field326; if (--this.numLoops == 0) { break; } - var9 = this.method938(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field323 >= var5) { + var9 = this.method818(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field332 >= var5) { return; } - this.field323 = var5 + var5 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var5 + var5 - 1 - this.field332; + this.field326 = -this.field326; } while(--this.numLoops != 0); } } else { int var10; - if (this.field331 < 0) { + if (this.field326 < 0) { while (true) { - var9 = this.method938(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field323 >= var5) { + var9 = this.method818(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field332 >= var5) { return; } - var10 = (var6 - 1 - this.field323) / var8; + var10 = (var6 - 1 - this.field332) / var8; if (var10 >= this.numLoops) { - this.field323 += var8 * this.numLoops; + this.field332 += var8 * this.numLoops; this.numLoops = 0; break; } - this.field323 += var8 * var10; + this.field332 += var8 * var10; this.numLoops -= var10; } } else { while (true) { - var9 = this.method947(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field323 < var6) { + var9 = this.method885(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field332 < var6) { return; } - var10 = (this.field323 - var5) / var8; + var10 = (this.field332 - var5) / var8; if (var10 >= this.numLoops) { - this.field323 -= var8 * this.numLoops; + this.field332 -= var8 * this.numLoops; this.numLoops = 0; break; } - this.field323 -= var8 * var10; + this.field332 -= var8 * var10; this.numLoops -= var10; } } } } - if (this.field331 < 0) { - this.method938(var1, var9, 0, var3, 0); - if (this.field323 < 0) { - this.field323 = -1; - this.method808(); + if (this.field326 < 0) { + this.method818(var1, var9, 0, var3, 0); + if (this.field332 < 0) { + this.field332 = -1; + this.method804(); this.remove(); } } else { - this.method947(var1, var9, var7, var3, 0); - if (this.field323 >= var7) { - this.field323 = var7; - this.method808(); + this.method885(var1, var9, var7, var3, 0); + if (this.field332 >= var7) { + this.field332 = var7; + this.method804(); this.remove(); } } @@ -282,33 +282,33 @@ public class RawPcmStream extends PcmStream { } } - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("setNumLoops") public synchronized void setNumLoops(int var1) { this.numLoops = var1; } - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("skip") public synchronized void skip(int var1) { - if (this.field329 > 0) { - if (var1 >= this.field329) { - if (this.field320 == Integer.MIN_VALUE) { - this.field320 = 0; + if (this.field320 > 0) { + if (var1 >= this.field320) { + if (this.field321 == Integer.MIN_VALUE) { + this.field321 = 0; + this.field325 = 0; this.field324 = 0; - this.field330 = 0; - this.field318 = 0; + this.field323 = 0; this.remove(); - var1 = this.field329; + var1 = this.field320; } - this.field329 = 0; - this.method809(); + this.field320 = 0; + this.method795(); } else { - this.field318 += this.field322 * var1; - this.field330 += this.field327 * var1; - this.field324 += this.field332 * var1; - this.field329 -= var1; + this.field323 += this.field331 * var1; + this.field324 += this.field330 * var1; + this.field325 += this.field319 * var1; + this.field320 -= var1; } } @@ -321,130 +321,130 @@ public class RawPcmStream extends PcmStream { this.numLoops = 0; } - if (this.field323 < 0) { - if (this.field331 <= 0) { - this.method808(); + if (this.field332 < 0) { + if (this.field326 <= 0) { + this.method804(); this.remove(); return; } - this.field323 = 0; + this.field332 = 0; } - if (this.field323 >= var5) { - if (this.field331 >= 0) { - this.method808(); + if (this.field332 >= var5) { + if (this.field326 >= 0) { + this.method804(); this.remove(); return; } - this.field323 = var5 - 1; + this.field332 = var5 - 1; } - this.field323 += this.field331 * var1; + this.field332 += this.field326 * var1; if (this.numLoops < 0) { - if (!this.field328) { - if (this.field331 < 0) { - if (this.field323 >= var3) { + if (!this.field329) { + if (this.field326 < 0) { + if (this.field332 >= var3) { return; } - this.field323 = var4 - 1 - (var4 - 1 - this.field323) % var6; + this.field332 = var4 - 1 - (var4 - 1 - this.field332) % var6; } else { - if (this.field323 < var4) { + if (this.field332 < var4) { return; } - this.field323 = var3 + (this.field323 - var3) % var6; + this.field332 = var3 + (this.field332 - var3) % var6; } } else { - if (this.field331 < 0) { - if (this.field323 >= var3) { + if (this.field326 < 0) { + if (this.field332 >= var3) { return; } - this.field323 = var3 + var3 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var3 + var3 - 1 - this.field332; + this.field326 = -this.field326; } - while (this.field323 >= var4) { - this.field323 = var4 + var4 - 1 - this.field323; - this.field331 = -this.field331; - if (this.field323 >= var3) { + while (this.field332 >= var4) { + this.field332 = var4 + var4 - 1 - this.field332; + this.field326 = -this.field326; + if (this.field332 >= var3) { return; } - this.field323 = var3 + var3 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var3 + var3 - 1 - this.field332; + this.field326 = -this.field326; } } } else { if (this.numLoops > 0) { - if (this.field328) { + if (this.field329) { label129: { - if (this.field331 < 0) { - if (this.field323 >= var3) { + if (this.field326 < 0) { + if (this.field332 >= var3) { return; } - this.field323 = var3 + var3 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var3 + var3 - 1 - this.field332; + this.field326 = -this.field326; if (--this.numLoops == 0) { break label129; } } do { - if (this.field323 < var4) { + if (this.field332 < var4) { return; } - this.field323 = var4 + var4 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var4 + var4 - 1 - this.field332; + this.field326 = -this.field326; if (--this.numLoops == 0) { break; } - if (this.field323 >= var3) { + if (this.field332 >= var3) { return; } - this.field323 = var3 + var3 - 1 - this.field323; - this.field331 = -this.field331; + this.field332 = var3 + var3 - 1 - this.field332; + this.field326 = -this.field326; } while(--this.numLoops != 0); } } else { label161: { int var7; - if (this.field331 < 0) { - if (this.field323 >= var3) { + if (this.field326 < 0) { + if (this.field332 >= var3) { return; } - var7 = (var4 - 1 - this.field323) / var6; + var7 = (var4 - 1 - this.field332) / var6; if (var7 >= this.numLoops) { - this.field323 += var6 * this.numLoops; + this.field332 += var6 * this.numLoops; this.numLoops = 0; break label161; } - this.field323 += var6 * var7; + this.field332 += var6 * var7; this.numLoops -= var7; } else { - if (this.field323 < var4) { + if (this.field332 < var4) { return; } - var7 = (this.field323 - var3) / var6; + var7 = (this.field332 - var3) / var6; if (var7 >= this.numLoops) { - this.field323 -= var6 * this.numLoops; + this.field332 -= var6 * this.numLoops; this.numLoops = 0; break label161; } - this.field323 -= var6 * var7; + this.field332 -= var6 * var7; this.numLoops -= var7; } @@ -453,51 +453,51 @@ public class RawPcmStream extends PcmStream { } } - if (this.field331 < 0) { - if (this.field323 < 0) { - this.field323 = -1; - this.method808(); + if (this.field326 < 0) { + if (this.field332 < 0) { + this.field332 = -1; + this.method804(); this.remove(); } - } else if (this.field323 >= var5) { - this.field323 = var5; - this.method808(); + } else if (this.field332 >= var5) { + this.field332 = var5; + this.method804(); this.remove(); } } } - @ObfuscatedName("y") - public synchronized void method801(int var1) { - this.method803(var1 << 6, this.method805()); + @ObfuscatedName("w") + public synchronized void method891(int var1) { + this.method799(var1 << 6, this.method801()); + } + + @ObfuscatedName("g") + synchronized void method884(int var1) { + this.method799(var1, this.method801()); } @ObfuscatedName("v") - synchronized void method802(int var1) { - this.method803(var1, this.method805()); - } - - @ObfuscatedName("f") - synchronized void method803(int var1, int var2) { - this.field320 = var1; - this.field319 = var2; - this.field329 = 0; - this.method809(); + synchronized void method799(int var1, int var2) { + this.field321 = var1; + this.field322 = var2; + this.field320 = 0; + this.method795(); } @ObfuscatedName("s") - public synchronized int method804() { - return this.field320 == Integer.MIN_VALUE ? 0 : this.field320; + public synchronized int method852() { + return this.field321 == Integer.MIN_VALUE ? 0 : this.field321; } - @ObfuscatedName("h") - public synchronized int method805() { - return this.field319 < 0 ? -1 : this.field319; + @ObfuscatedName("c") + public synchronized int method801() { + return this.field322 < 0 ? -1 : this.field322; } - @ObfuscatedName("d") - public synchronized void method806(int var1) { + @ObfuscatedName("b") + public synchronized void method839(int var1) { int var2 = ((RawSound)super.sound).samples.length << 8; if (var1 < -1) { var1 = -1; @@ -507,104 +507,96 @@ public class RawPcmStream extends PcmStream { var1 = var2; } - this.field323 = var1; + this.field332 = var1; } - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(Z)V", garbageValue = "1" ) - public synchronized void method927() { - this.field331 = (this.field331 ^ this.field331 >> 31) + (this.field331 >>> 31); - this.field331 = -this.field331; + public synchronized void method803() { + this.field326 = (this.field326 ^ this.field326 >> 31) + (this.field326 >>> 31); + this.field326 = -this.field326; } - @ObfuscatedName("j") - void method808() { - if (this.field329 != 0) { - if (this.field320 == Integer.MIN_VALUE) { - this.field320 = 0; + @ObfuscatedName("p") + void method804() { + if (this.field320 != 0) { + if (this.field321 == Integer.MIN_VALUE) { + this.field321 = 0; } - this.field329 = 0; - this.method809(); + this.field320 = 0; + this.method795(); } } - @ObfuscatedName("x") - public synchronized void method799(int var1, int var2) { - this.method810(var1, var2, this.method805()); + @ObfuscatedName("z") + public synchronized void method805(int var1, int var2) { + this.method806(var1, var2, this.method801()); } - @ObfuscatedName("b") - public synchronized void method810(int var1, int var2, int var3) { + @ObfuscatedName("h") + public synchronized void method806(int var1, int var2, int var3) { if (var1 == 0) { - this.method803(var2, var3); + this.method799(var2, var3); } else { - int var4 = method953(var2, var3); - int var5 = method795(var2, var3); - if (var4 == this.field330 && var5 == this.field324) { - this.field329 = 0; + int var4 = method865(var2, var3); + int var5 = method790(var2, var3); + if (var4 == this.field324 && var5 == this.field325) { + this.field320 = 0; } else { - int var6 = var2 - this.field318; - if (this.field318 - var2 > var6) { - var6 = this.field318 - var2; + int var6 = var2 - this.field323; + if (this.field323 - var2 > var6) { + var6 = this.field323 - var2; } - if (var4 - this.field330 > var6) { - var6 = var4 - this.field330; + if (var4 - this.field324 > var6) { + var6 = var4 - this.field324; } - if (this.field330 - var4 > var6) { - var6 = this.field330 - var4; + if (this.field324 - var4 > var6) { + var6 = this.field324 - var4; } - if (var5 - this.field324 > var6) { - var6 = var5 - this.field324; + if (var5 - this.field325 > var6) { + var6 = var5 - this.field325; } - if (this.field324 - var5 > var6) { - var6 = this.field324 - var5; + if (this.field325 - var5 > var6) { + var6 = this.field325 - var5; } if (var1 > var6) { var1 = var6; } - this.field329 = var1; - this.field320 = var2; - this.field319 = var3; - this.field322 = (var2 - this.field318) / var1; - this.field327 = (var4 - this.field330) / var1; - this.field332 = (var5 - this.field324) / var1; + this.field320 = var1; + this.field321 = var2; + this.field322 = var3; + this.field331 = (var2 - this.field323) / var1; + this.field330 = (var4 - this.field324) / var1; + this.field319 = (var5 - this.field325) / var1; } } } - @ObfuscatedName("t") - public synchronized void method811(int var1) { + @ObfuscatedName("o") + public synchronized void method807(int var1) { if (var1 == 0) { - this.method802(0); + this.method884(0); this.remove(); - } else if (this.field330 == 0 && this.field324 == 0) { - this.field329 = 0; + } else if (this.field324 == 0 && this.field325 == 0) { this.field320 = 0; - this.field318 = 0; + this.field321 = 0; + this.field323 = 0; this.remove(); } else { - int var2 = -this.field318; - if (this.field318 > var2) { - var2 = this.field318; - } - - if (-this.field330 > var2) { - var2 = -this.field330; - } - - if (this.field330 > var2) { - var2 = this.field330; + int var2 = -this.field323; + if (this.field323 > var2) { + var2 = this.field323; } if (-this.field324 > var2) { @@ -615,146 +607,154 @@ public class RawPcmStream extends PcmStream { var2 = this.field324; } + if (-this.field325 > var2) { + var2 = -this.field325; + } + + if (this.field325 > var2) { + var2 = this.field325; + } + if (var1 > var2) { var1 = var2; } - this.field329 = var1; - this.field320 = Integer.MIN_VALUE; - this.field322 = -this.field318 / var1; - this.field327 = -this.field330 / var1; - this.field332 = -this.field324 / var1; + this.field320 = var1; + this.field321 = Integer.MIN_VALUE; + this.field331 = -this.field323 / var1; + this.field330 = -this.field324 / var1; + this.field319 = -this.field325 / var1; } } @ObfuscatedName("r") - public synchronized void method833(int var1) { - if (this.field331 < 0) { - this.field331 = -var1; + public synchronized void method808(int var1) { + if (this.field326 < 0) { + this.field326 = -var1; } else { - this.field331 = var1; + this.field326 = var1; } } - @ObfuscatedName("p") - public synchronized int method859() { - return this.field331 < 0 ? -this.field331 : this.field331; + @ObfuscatedName("n") + public synchronized int method797() { + return this.field326 < 0 ? -this.field326 : this.field326; } - @ObfuscatedName("w") - public boolean method860() { - return this.field323 < 0 || this.field323 >= ((RawSound)super.sound).samples.length << 8; + @ObfuscatedName("u") + public boolean method810() { + return this.field332 < 0 || this.field332 >= ((RawSound)super.sound).samples.length << 8; } - @ObfuscatedName("av") - public boolean method815() { - return this.field329 != 0; + @ObfuscatedName("ah") + public boolean method920() { + return this.field320 != 0; } - @ObfuscatedName("ak") - int method947(int[] var1, int var2, int var3, int var4, int var5) { + @ObfuscatedName("ay") + int method885(int[] var1, int var2, int var3, int var4, int var5) { while (true) { - if (this.field329 > 0) { - int var6 = var2 + this.field329; + if (this.field320 > 0) { + int var6 = var2 + this.field320; if (var6 > var4) { var6 = var4; } - this.field329 += var2; - if (this.field331 == 256 && (this.field323 & 255) == 0) { + this.field320 += var2; + if (this.field326 == 256 && (this.field332 & 255) == 0) { if (PcmPlayer.PcmPlayer_stereo) { - var2 = method794(0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, this.field327, this.field332, 0, var6, var3, this); + var2 = method829(0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, this.field330, this.field319, 0, var6, var3, this); } else { - var2 = method832(((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, this.field322, 0, var6, var3, this); + var2 = method867(((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, this.field331, 0, var6, var3, this); } } else if (PcmPlayer.PcmPlayer_stereo) { - var2 = method837(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, this.field327, this.field332, 0, var6, var3, this, this.field331, var5); + var2 = method833(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, this.field330, this.field319, 0, var6, var3, this, this.field326, var5); } else { - var2 = method951(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, this.field322, 0, var6, var3, this, this.field331, var5); + var2 = method832(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, this.field331, 0, var6, var3, this, this.field326, var5); } - this.field329 -= var2; - if (this.field329 != 0) { + this.field320 -= var2; + if (this.field320 != 0) { return var2; } - if (!this.method877()) { + if (!this.method912()) { continue; } return var4; } - if (this.field331 == 256 && (this.field323 & 255) == 0) { + if (this.field326 == 256 && (this.field332 & 255) == 0) { if (PcmPlayer.PcmPlayer_stereo) { - return method897(0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, 0, var4, var3, this); + return method821(0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, 0, var4, var3, this); } - return method894(((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, 0, var4, var3, this); + return method826(((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, 0, var4, var3, this); } if (PcmPlayer.PcmPlayer_stereo) { - return method829(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, 0, var4, var3, this, this.field331, var5); + return method825(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, 0, var4, var3, this, this.field326, var5); } - return method828(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, 0, var4, var3, this, this.field331, var5); + return method824(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, 0, var4, var3, this, this.field326, var5); } } - @ObfuscatedName("an") - int method938(int[] var1, int var2, int var3, int var4, int var5) { + @ObfuscatedName("al") + int method818(int[] var1, int var2, int var3, int var4, int var5) { while (true) { - if (this.field329 > 0) { - int var6 = var2 + this.field329; + if (this.field320 > 0) { + int var6 = var2 + this.field320; if (var6 > var4) { var6 = var4; } - this.field329 += var2; - if (this.field331 == -256 && (this.field323 & 255) == 0) { + this.field320 += var2; + if (this.field326 == -256 && (this.field332 & 255) == 0) { if (PcmPlayer.PcmPlayer_stereo) { - var2 = method835(0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, this.field327, this.field332, 0, var6, var3, this); + var2 = method831(0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, this.field330, this.field319, 0, var6, var3, this); } else { - var2 = method834(((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, this.field322, 0, var6, var3, this); + var2 = method830(((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, this.field331, 0, var6, var3, this); } } else if (PcmPlayer.PcmPlayer_stereo) { - var2 = method821(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, this.field327, this.field332, 0, var6, var3, this, this.field331, var5); + var2 = method835(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, this.field330, this.field319, 0, var6, var3, this, this.field326, var5); } else { - var2 = method838(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, this.field322, 0, var6, var3, this, this.field331, var5); + var2 = method834(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, this.field331, 0, var6, var3, this, this.field326, var5); } - this.field329 -= var2; - if (this.field329 != 0) { + this.field320 -= var2; + if (this.field320 != 0) { return var2; } - if (!this.method877()) { + if (!this.method912()) { continue; } return var4; } - if (this.field331 == -256 && (this.field323 & 255) == 0) { + if (this.field326 == -256 && (this.field332 & 255) == 0) { if (PcmPlayer.PcmPlayer_stereo) { - return method827(0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, 0, var4, var3, this); + return method823(0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, 0, var4, var3, this); } - return method826(((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, 0, var4, var3, this); + return method909(((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, 0, var4, var3, this); } if (PcmPlayer.PcmPlayer_stereo) { - return method935(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field330, this.field324, 0, var4, var3, this, this.field331, var5); + return method812(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field324, this.field325, 0, var4, var3, this, this.field326, var5); } - return method830(0, 0, ((RawSound)super.sound).samples, var1, this.field323, var2, this.field318, 0, var4, var3, this, this.field331, var5); + return method907(0, 0, ((RawSound)super.sound).samples, var1, this.field332, var2, this.field323, 0, var4, var3, this, this.field326, var5); } } - @ObfuscatedName("ab") - boolean method877() { - int var1 = this.field320; + @ObfuscatedName("au") + boolean method912() { + int var1 = this.field321; int var2; int var3; if (var1 == Integer.MIN_VALUE) { @@ -762,71 +762,71 @@ public class RawPcmStream extends PcmStream { var2 = 0; var1 = 0; } else { - var2 = method953(var1, this.field319); - var3 = method795(var1, this.field319); + var2 = method865(var1, this.field322); + var3 = method790(var1, this.field322); } - if (var1 == this.field318 && var2 == this.field330 && var3 == this.field324) { - if (this.field320 == Integer.MIN_VALUE) { - this.field320 = 0; + if (var1 == this.field323 && var2 == this.field324 && var3 == this.field325) { + if (this.field321 == Integer.MIN_VALUE) { + this.field321 = 0; + this.field325 = 0; this.field324 = 0; - this.field330 = 0; - this.field318 = 0; + this.field323 = 0; this.remove(); return true; } else { - this.method809(); + this.method795(); return false; } } else { - if (this.field318 < var1) { - this.field322 = 1; - this.field329 = var1 - this.field318; - } else if (this.field318 > var1) { - this.field322 = -1; - this.field329 = this.field318 - var1; + if (this.field323 < var1) { + this.field331 = 1; + this.field320 = var1 - this.field323; + } else if (this.field323 > var1) { + this.field331 = -1; + this.field320 = this.field323 - var1; } else { - this.field322 = 0; + this.field331 = 0; } - if (this.field330 < var2) { - this.field327 = 1; - if (this.field329 == 0 || this.field329 > var2 - this.field330) { - this.field329 = var2 - this.field330; + if (this.field324 < var2) { + this.field330 = 1; + if (this.field320 == 0 || this.field320 > var2 - this.field324) { + this.field320 = var2 - this.field324; } - } else if (this.field330 > var2) { - this.field327 = -1; - if (this.field329 == 0 || this.field329 > this.field330 - var2) { - this.field329 = this.field330 - var2; + } else if (this.field324 > var2) { + this.field330 = -1; + if (this.field320 == 0 || this.field320 > this.field324 - var2) { + this.field320 = this.field324 - var2; } } else { - this.field327 = 0; + this.field330 = 0; } - if (this.field324 < var3) { - this.field332 = 1; - if (this.field329 == 0 || this.field329 > var3 - this.field324) { - this.field329 = var3 - this.field324; + if (this.field325 < var3) { + this.field319 = 1; + if (this.field320 == 0 || this.field320 > var3 - this.field325) { + this.field320 = var3 - this.field325; } - } else if (this.field324 > var3) { - this.field332 = -1; - if (this.field329 == 0 || this.field329 > this.field324 - var3) { - this.field329 = this.field324 - var3; + } else if (this.field325 > var3) { + this.field319 = -1; + if (this.field320 == 0 || this.field320 > this.field325 - var3) { + this.field320 = this.field325 - var3; } } else { - this.field332 = 0; + this.field319 = 0; } return false; } } - @ObfuscatedName("ar") - int vmethod972() { - int var1 = this.field318 * 3 >> 6; + @ObfuscatedName("aq") + int vmethod944() { + int var1 = this.field323 * 3 >> 6; var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); if (this.numLoops == 0) { - var1 -= var1 * this.field323 / (((RawSound)super.sound).samples.length << 8); + var1 -= var1 * this.field332 / (((RawSound)super.sound).samples.length << 8); } else if (this.numLoops >= 0) { var1 -= var1 * this.start / ((RawSound)super.sound).samples.length; } @@ -834,38 +834,38 @@ public class RawPcmStream extends PcmStream { return var1 > 255 ? 255 : var1; } - @ObfuscatedName("n") - static int method953(int var0, int var1) { + @ObfuscatedName("l") + static int method865(int var0, int var1) { return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); } - @ObfuscatedName("c") - static int method795(int var0, int var1) { + @ObfuscatedName("q") + static int method790(int var0, int var1) { return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lak;II)Laj;" + descriptor = "(Laa;II)Lan;" ) @Export("createRawPcmStream") public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(class276.field3287 * 100)), var2 << 6) : null; + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(PcmPlayer.field279 * 100)), var2 << 6) : null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lak;III)Laj;" + descriptor = "(Laa;III)Lan;" ) - public static RawPcmStream method798(RawSound var0, int var1, int var2, int var3) { + public static RawPcmStream method794(RawSound var0, int var1, int var2, int var3) { return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; } - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedSignature( - descriptor = "([B[IIIIIIILaj;)I" + descriptor = "([B[IIIIIIILan;)I" ) - static int method894(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + static int method826(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { var2 >>= 8; var7 >>= 8; var4 <<= 2; @@ -888,15 +888,15 @@ public class RawPcmStream extends PcmStream { var10001 = var3++; } - var8.field323 = var2 << 8; + var8.field332 = var2 << 8; return var3; } - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIILaj;)I" + descriptor = "(I[B[IIIIIIIILan;)I" ) - static int method897(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + static int method821(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { var3 >>= 8; var9 >>= 8; var5 <<= 2; @@ -939,15 +939,15 @@ public class RawPcmStream extends PcmStream { var10001 = var4++; } - var10.field323 = var3 << 8; + var10.field332 = var3 << 8; return var4 >> 1; } - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedSignature( - descriptor = "([B[IIIIIIILaj;)I" + descriptor = "([B[IIIIIIILan;)I" ) - static int method826(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + static int method909(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { var2 >>= 8; var7 >>= 8; var4 <<= 2; @@ -970,15 +970,15 @@ public class RawPcmStream extends PcmStream { var10001 = var3++; } - var8.field323 = var2 << 8; + var8.field332 = var2 << 8; return var3; } - @ObfuscatedName("az") + @ObfuscatedName("ax") @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIILaj;)I" + descriptor = "(I[B[IIIIIIIILan;)I" ) - static int method827(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + static int method823(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { var3 >>= 8; var9 >>= 8; var5 <<= 2; @@ -1021,15 +1021,15 @@ public class RawPcmStream extends PcmStream { var10001 = var4++; } - var10.field323 = var3 << 8; + var10.field332 = var3 << 8; return var4 >> 1; } - @ObfuscatedName("bd") + @ObfuscatedName("an") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIILan;II)I" ) - static int method828(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + static int method824(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { var7 = var8; } @@ -1054,15 +1054,15 @@ public class RawPcmStream extends PcmStream { var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; } - var10.field323 = var4; + var10.field332 = var4; return var5; } - @ObfuscatedName("bt") + @ObfuscatedName("av") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIILan;II)I" ) - static int method829(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + static int method825(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { var8 = var9; } @@ -1096,15 +1096,15 @@ public class RawPcmStream extends PcmStream { var3[var10001] += var0 * var7 >> 6; } - var11.field323 = var4; + var11.field332 = var4; return var5 >> 1; } - @ObfuscatedName("bf") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIILan;II)I" ) - static int method830(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + static int method907(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { var7 = var8; } @@ -1129,15 +1129,15 @@ public class RawPcmStream extends PcmStream { var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; } - var10.field323 = var4; + var10.field332 = var4; return var5; } - @ObfuscatedName("bp") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIILan;II)I" ) - static int method935(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + static int method812(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { var8 = var9; } @@ -1169,15 +1169,15 @@ public class RawPcmStream extends PcmStream { var3[var10001] += var0 * var7 >> 6; } - var11.field323 = var4; + var11.field332 = var4; return var5 >> 1; } - @ObfuscatedName("bl") + @ObfuscatedName("am") @ObfuscatedSignature( - descriptor = "([B[IIIIIIIILaj;)I" + descriptor = "([B[IIIIIIIILan;)I" ) - static int method832(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + static int method867(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { var2 >>= 8; var8 >>= 8; var4 <<= 2; @@ -1186,8 +1186,8 @@ public class RawPcmStream extends PcmStream { var6 = var7; } - var9.field330 += var9.field327 * (var6 - var3); - var9.field324 += var9.field332 * (var6 - var3); + var9.field324 += var9.field330 * (var6 - var3); + var9.field325 += var9.field319 * (var6 - var3); int var10001; for (var6 -= 3; var3 < var6; var4 += var5) { @@ -1209,16 +1209,16 @@ public class RawPcmStream extends PcmStream { var1[var10001] += var0[var2++] * var4; } - var9.field318 = var4 >> 2; - var9.field323 = var2 << 8; + var9.field323 = var4 >> 2; + var9.field332 = var2 << 8; return var3; } - @ObfuscatedName("bc") + @ObfuscatedName("aw") @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIIIILaj;)I" + descriptor = "(I[B[IIIIIIIIIILan;)I" ) - static int method794(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + static int method829(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { var3 >>= 8; var11 >>= 8; var5 <<= 2; @@ -1229,7 +1229,7 @@ public class RawPcmStream extends PcmStream { var9 = var10; } - var12.field318 += var12.field322 * (var9 - var4); + var12.field323 += var12.field331 * (var9 - var4); var4 <<= 1; var9 <<= 1; @@ -1274,17 +1274,17 @@ public class RawPcmStream extends PcmStream { var2[var10001] += var13 * var6; } - var12.field330 = var5 >> 2; - var12.field324 = var6 >> 2; - var12.field323 = var3 << 8; + var12.field324 = var5 >> 2; + var12.field325 = var6 >> 2; + var12.field332 = var3 << 8; return var4 >> 1; } - @ObfuscatedName("br") + @ObfuscatedName("az") @ObfuscatedSignature( - descriptor = "([B[IIIIIIIILaj;)I" + descriptor = "([B[IIIIIIIILan;)I" ) - static int method834(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + static int method830(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { var2 >>= 8; var8 >>= 8; var4 <<= 2; @@ -1293,8 +1293,8 @@ public class RawPcmStream extends PcmStream { var6 = var7; } - var9.field330 += var9.field327 * (var6 - var3); - var9.field324 += var9.field332 * (var6 - var3); + var9.field324 += var9.field330 * (var6 - var3); + var9.field325 += var9.field319 * (var6 - var3); int var10001; for (var6 -= 3; var3 < var6; var4 += var5) { @@ -1316,16 +1316,16 @@ public class RawPcmStream extends PcmStream { var1[var10001] += var0[var2--] * var4; } - var9.field318 = var4 >> 2; - var9.field323 = var2 << 8; + var9.field323 = var4 >> 2; + var9.field332 = var2 << 8; return var3; } - @ObfuscatedName("bw") + @ObfuscatedName("ae") @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIIIILaj;)I" + descriptor = "(I[B[IIIIIIIIIILan;)I" ) - static int method835(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + static int method831(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { var3 >>= 8; var11 >>= 8; var5 <<= 2; @@ -1336,7 +1336,7 @@ public class RawPcmStream extends PcmStream { var9 = var10; } - var12.field318 += var12.field322 * (var9 - var4); + var12.field323 += var12.field331 * (var9 - var4); var4 <<= 1; var9 <<= 1; @@ -1381,19 +1381,19 @@ public class RawPcmStream extends PcmStream { var2[var10001] += var13 * var6; } - var12.field330 = var5 >> 2; - var12.field324 = var6 >> 2; - var12.field323 = var3 << 8; + var12.field324 = var5 >> 2; + var12.field325 = var6 >> 2; + var12.field332 = var3 << 8; return var4 >> 1; } - @ObfuscatedName("bh") + @ObfuscatedName("ai") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIILan;II)I" ) - static int method951(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field330 -= var11.field327 * var5; - var11.field324 -= var11.field332 * var5; + static int method832(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field324 -= var11.field330 * var5; + var11.field325 -= var11.field319 * var5; if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { var8 = var9; } @@ -1420,19 +1420,19 @@ public class RawPcmStream extends PcmStream { var6 += var7; } - var11.field330 += var11.field327 * var5; - var11.field324 += var11.field332 * var5; - var11.field318 = var6; - var11.field323 = var4; + var11.field324 += var11.field330 * var5; + var11.field325 += var11.field319 * var5; + var11.field323 = var6; + var11.field332 = var4; return var5; } - @ObfuscatedName("bj") + @ObfuscatedName("bg") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIIIILan;II)I" ) - static int method837(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, RawPcmStream var13, int var14, int var15) { - var13.field318 -= var5 * var13.field322; + static int method833(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, RawPcmStream var13, int var14, int var15) { + var13.field323 -= var5 * var13.field331; if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { var10 = var11; } @@ -1471,20 +1471,20 @@ public class RawPcmStream extends PcmStream { } var5 >>= 1; - var13.field318 += var13.field322 * var5; - var13.field330 = var6; - var13.field324 = var7; - var13.field323 = var4; + var13.field323 += var13.field331 * var5; + var13.field324 = var6; + var13.field325 = var7; + var13.field332 = var4; return var5; } - @ObfuscatedName("be") + @ObfuscatedName("bf") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIILan;II)I" ) - static int method838(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field330 -= var11.field327 * var5; - var11.field324 -= var11.field332 * var5; + static int method834(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field324 -= var11.field330 * var5; + var11.field325 -= var11.field319 * var5; if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { var8 = var9; } @@ -1511,19 +1511,19 @@ public class RawPcmStream extends PcmStream { var6 += var7; } - var11.field330 += var11.field327 * var5; - var11.field324 += var11.field332 * var5; - var11.field318 = var6; - var11.field323 = var4; + var11.field324 += var11.field330 * var5; + var11.field325 += var11.field319 * var5; + var11.field323 = var6; + var11.field332 = var4; return var5; } - @ObfuscatedName("bq") + @ObfuscatedName("bj") @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIIIILaj;II)I" + descriptor = "(II[B[IIIIIIIIIILan;II)I" ) - static int method821(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, RawPcmStream var13, int var14, int var15) { - var13.field318 -= var5 * var13.field322; + static int method835(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, RawPcmStream var13, int var14, int var15) { + var13.field323 -= var5 * var13.field331; if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { var10 = var11; } @@ -1560,10 +1560,10 @@ public class RawPcmStream extends PcmStream { } var5 >>= 1; - var13.field318 += var13.field322 * var5; - var13.field330 = var6; - var13.field324 = var7; - var13.field323 = var4; + var13.field323 += var13.field331 * var5; + var13.field324 = var6; + var13.field325 = var7; + var13.field332 = var4; return var5; } } diff --git a/runescape-client/src/main/java/RawSound.java b/runescape-client/src/main/java/RawSound.java index 0c903a8045..c9182aeb94 100644 --- a/runescape-client/src/main/java/RawSound.java +++ b/runescape-client/src/main/java/RawSound.java @@ -3,23 +3,23 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ak") +@ObfuscatedName("aa") @Implements("RawSound") public class RawSound extends AbstractSound { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("sampleRate") public int sampleRate; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("samples") public byte[] samples; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("start") public int start; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("end") int end; - @ObfuscatedName("o") - public boolean field250; + @ObfuscatedName("m") + public boolean field249; RawSound(int var1, byte[] var2, int var3, int var4) { this.sampleRate = var1; @@ -33,12 +33,12 @@ public class RawSound extends AbstractSound { this.samples = var2; this.start = var3; this.end = var4; - this.field250 = var5; + this.field249 = var5; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Laf;)Lak;" + descriptor = "(Lai;)Laa;" ) @Export("resample") public RawSound resample(Decimator var1) { diff --git a/runescape-client/src/main/java/ReflectionCheck.java b/runescape-client/src/main/java/ReflectionCheck.java index b4e3527b3b..fe71713231 100644 --- a/runescape-client/src/main/java/ReflectionCheck.java +++ b/runescape-client/src/main/java/ReflectionCheck.java @@ -6,42 +6,47 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bp") +@ObfuscatedName("bf") @Implements("ReflectionCheck") public class ReflectionCheck extends Node { - @ObfuscatedName("ez") + @ObfuscatedName("bc") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lkn;" ) - @Export("archive4") - static Archive archive4; - @ObfuscatedName("n") + @Export("clientLanguage") + static Language clientLanguage; + @ObfuscatedName("oe") + @ObfuscatedSignature( + descriptor = "[Ljt;" + ) + static Widget[] field452; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1458734241 + intValue = -960883055 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 103968405 + intValue = -947967161 ) @Export("size") int size; + @ObfuscatedName("f") + @Export("intReplaceValues") + int[] intReplaceValues; + @ObfuscatedName("j") + @Export("operations") + int[] operations; @ObfuscatedName("m") @Export("arguments") byte[][][] arguments; @ObfuscatedName("k") - @Export("operations") - int[] operations; - @ObfuscatedName("o") @Export("creationErrors") int[] creationErrors; - @ObfuscatedName("g") + @ObfuscatedName("t") @Export("fields") Field[] fields; - @ObfuscatedName("z") - @Export("intReplaceValues") - int[] intReplaceValues; @ObfuscatedName("a") @Export("methods") Method[] methods; @@ -49,116 +54,155 @@ public class ReflectionCheck extends Node { ReflectionCheck() { } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Loq;I)I", - garbageValue = "1889594839" + descriptor = "(II)Ljava/lang/String;", + garbageValue = "-1468113087" ) - static int method1083(PacketBuffer var0) { - int var1 = var0.readBits(2); - int var2; - if (var1 == 0) { - var2 = 0; - } else if (var1 == 1) { - var2 = var0.readBits(5); - } else if (var1 == 2) { - var2 = var0.readBits(8); - } else { - var2 = var0.readBits(11); - } - - return var2; + static String method1064(int var0) { + return ""; } - @ObfuscatedName("gn") + @ObfuscatedName("aw") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "582100101" + descriptor = "(ILbe;ZB)I", + garbageValue = "-72" ) - @Export("setWindowedMode") - static void setWindowedMode(int var0) { - Client.field705 = 0L; - if (var0 >= 2) { - Client.isResizable = true; + static int method1063(int var0, Script var1, boolean var2) { + if (var0 >= 7200 && var0 < 7204) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 5; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == 7204) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 6; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 >= 7205 && var0 < 7209) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == 7209) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 >= 7210 && var0 < 7214) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 7214) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; } else { - Client.isResizable = false; - } - - if (class12.getWindowedMode() == 1) { - ArchiveDiskActionHandler.client.setMaxCanvasSize(765, 503); - } else { - ArchiveDiskActionHandler.client.setMaxCanvasSize(7680, 2160); - } - - if (Client.gameState >= 25) { - class280.method5087(); - } - - } - - @ObfuscatedName("ir") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1578328144" - ) - @Export("Widget_runOnTargetLeave") - static void Widget_runOnTargetLeave() { - if (Client.isSpellSelected) { - Widget var0 = ParamComposition.getWidgetChild(WorldMapEvent.selectedSpellWidget, Client.selectedSpellChildIndex); - if (var0 != null && var0.onTargetLeave != null) { - ScriptEvent var1 = new ScriptEvent(); - var1.widget = var0; - var1.args = var0.onTargetLeave; - class139.runScriptEvent(var1); - } - - Client.field645 = -1; - Client.isSpellSelected = false; - Actor.invalidateWidget(var0); + return 2; } } - @ObfuscatedName("jo") + @ObfuscatedName("hv") @ObfuscatedSignature( - descriptor = "(Ljd;I)V", - garbageValue = "217128382" + descriptor = "(IIIILjava/lang/String;I)V", + garbageValue = "-1574145218" ) - static final void method1082(Widget var0) { - int var1 = var0.contentType; - if (var1 == 324) { - if (Client.field755 == -1) { - Client.field755 = var0.spriteId2; - Client.field756 = var0.spriteId; + @Export("widgetDefaultMenuAction") + static void widgetDefaultMenuAction(int var0, int var1, int var2, int var3, String var4) { + Widget var5 = ViewportMouse.getWidgetChild(var1, var2); + if (var5 != null) { + if (var5.onOp != null) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var5; + var6.opIndex = var0; + var6.targetName = var4; + var6.args = var5.onOp; + ViewportMouse.runScriptEvent(var6); } - if (Client.playerAppearance.isFemale) { - var0.spriteId2 = Client.field755; - } else { - var0.spriteId2 = Client.field756; + boolean var8 = true; + if (var5.contentType > 0) { + var8 = class244.method4661(var5); } - } else if (var1 == 325) { - if (Client.field755 == -1) { - Client.field755 = var0.spriteId2; - Client.field756 = var0.spriteId; - } + if (var8) { + if (class138.method2756(WorldMapRegion.getWidgetFlags(var5), var0 - 1)) { + PacketBufferNode var7; + if (var0 == 1) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2688, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - if (Client.playerAppearance.isFemale) { - var0.spriteId2 = Client.field756; - } else { - var0.spriteId2 = Client.field755; - } + if (var0 == 2) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2760, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - } else if (var1 == 327) { - var0.modelAngleX = 150; - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - var0.modelType = 5; - var0.modelId = 0; - } else if (var1 == 328) { - var0.modelAngleX = 150; - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - var0.modelType = 5; - var0.modelId = 1; + if (var0 == 3) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2752, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 4) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2698, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 5) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2743, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 6) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2766, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 7) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2730, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 8) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2670, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 9) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2705, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + if (var0 == 10) { + var7 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2738, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + } + } } } } diff --git a/runescape-client/src/main/java/Renderable.java b/runescape-client/src/main/java/Renderable.java index ed127e2e82..ae34a4ed84 100644 --- a/runescape-client/src/main/java/Renderable.java +++ b/runescape-client/src/main/java/Renderable.java @@ -3,13 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("hr") +@ObfuscatedName("hi") @Implements("Renderable") public abstract class Renderable extends DualNode { - @ObfuscatedName("ck") + @ObfuscatedName("cz") @ObfuscatedGetter( - intValue = -1436498337 + intValue = -721981307 ) @Export("height") public int height; @@ -18,17 +19,17 @@ public abstract class Renderable extends DualNode { this.height = 1000; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected Model getModel() { return null; } - @ObfuscatedName("cc") + @ObfuscatedName("cr") @Export("draw") void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { Model var11 = this.getModel(); @@ -39,175 +40,383 @@ public abstract class Renderable extends DualNode { } - @ObfuscatedName("ad") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-14" + descriptor = "(I)V", + garbageValue = "-878810600" ) - static int method4319(int var0, Script var1, boolean var2) { - if (var0 != 3700 && var0 != 3701) { - if (var0 == 3702) { - ++class240.Interpreter_intStackSize; + static void method4391() { + Login.worldSelectOpen = false; + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + ClanChannelMember.logoSprite.drawAt(Login.xPadding + 382 - ClanChannelMember.logoSprite.subWidth / 2, 18); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(ILbe;ZS)I", + garbageValue = "14444" + ) + static int method4394(int var0, Script var1, boolean var2) { + int var3; + if (var0 == 6600) { + var3 = VertexNormal.Client_plane; + int var15 = (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX; + int var8 = (class67.localPlayer.y >> 7) + PlayerComposition.baseY; + GrandExchangeEvent.getWorldMap().method6504(var3, var15, var8, true); + return 1; + } else { + WorldMapArea var9; + if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + String var16 = ""; + var9 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var9 != null) { + var16 = var9.getExternalName(); + } + + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var16; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + GrandExchangeEvent.getWorldMap().setCurrentMapAreaId(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getZoomLevel(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + GrandExchangeEvent.getWorldMap().setZoomPercentage(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().isCacheLoaded() ? 1 : 0; return 1; } else { - return 2; - } - } else { - --class240.Interpreter_intStackSize; - --Interpreter.Interpreter_stringStackSize; - return 1; - } - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "2106514322" - ) - static int method4326(int var0, Script var1, boolean var2) { - if (var0 >= 7200 && var0 < 7204) { - class240.Interpreter_intStackSize -= 5; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == 7204) { - class240.Interpreter_intStackSize -= 6; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 >= 7205 && var0 < 7209) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == 7209) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 >= 7210 && var0 < 7214) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 7214) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("ke") - @ObfuscatedSignature( - descriptor = "(Ljd;IIII)V", - garbageValue = "434430533" - ) - @Export("drawMinimap") - static final void drawMinimap(Widget var0, int var1, int var2, int var3) { - class1.playPcmPlayers(); - SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); - if (Client.minimapState != 2 && Client.minimapState != 5) { - int var5 = Client.camAngleY & 2047; - int var6 = class129.localPlayer.x / 32 + 48; - int var7 = 464 - class129.localPlayer.y / 32; - class113.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); - - int var8; - int var10; - int var16; - for (var8 = 0; var8 < Client.mapIconCount; ++var8) { - var16 = Client.mapIconXs[var8] * 4 + 2 - class129.localPlayer.x / 32; - var10 = Client.mapIconYs[var8] * 4 + 2 - class129.localPlayer.y / 32; - Fonts.drawSpriteOnMinimap(var1, var2, var16, var10, Client.mapIcons[var8], var4); - } - - int var11; - int var12; - for (var8 = 0; var8 < 104; ++var8) { - for (var16 = 0; var16 < 104; ++var16) { - NodeDeque var14 = Client.groundItems[class391.Client_plane][var8][var16]; - if (var14 != null) { - var11 = var8 * 4 + 2 - class129.localPlayer.x / 32; - var12 = var16 * 4 + 2 - class129.localPlayer.y / 32; - Fonts.drawSpriteOnMinimap(var1, var2, var11, var12, DynamicObject.mapDotSprites[0], var4); - } - } - } - - for (var8 = 0; var8 < Client.npcCount; ++var8) { - NPC var9 = Client.npcs[Client.npcIndices[var8]]; - if (var9 != null && var9.isVisible()) { - NPCComposition var18 = var9.definition; - if (var18 != null && var18.transforms != null) { - var18 = var18.transform(); - } - - if (var18 != null && var18.drawMapDot && var18.isInteractable) { - var11 = var9.x / 32 - class129.localPlayer.x / 32; - var12 = var9.y / 32 - class129.localPlayer.y / 32; - Fonts.drawSpriteOnMinimap(var1, var2, var11, var12, DynamicObject.mapDotSprites[1], var4); - } - } - } - - var8 = Players.Players_count; - int[] var17 = Players.Players_indices; - - for (var10 = 0; var10 < var8; ++var10) { - Player var15 = Client.players[var17[var10]]; - if (var15 != null && var15.isVisible() && !var15.isHidden && var15 != class129.localPlayer) { - var12 = var15.x / 32 - class129.localPlayer.x / 32; - int var13 = var15.y / 32 - class129.localPlayer.y / 32; - if (var15.isFriend()) { - Fonts.drawSpriteOnMinimap(var1, var2, var12, var13, DynamicObject.mapDotSprites[3], var4); - } else if (class129.localPlayer.team != 0 && var15.team != 0 && var15.team == class129.localPlayer.team) { - Fonts.drawSpriteOnMinimap(var1, var2, var12, var13, DynamicObject.mapDotSprites[4], var4); - } else if (var15.isFriendsChatMember()) { - Fonts.drawSpriteOnMinimap(var1, var2, var12, var13, DynamicObject.mapDotSprites[5], var4); - } else if (var15.isClanMember()) { - Fonts.drawSpriteOnMinimap(var1, var2, var12, var13, DynamicObject.mapDotSprites[6], var4); + Coord var14; + if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + GrandExchangeEvent.getWorldMap().setWorldMapPositionTarget(var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + GrandExchangeEvent.getWorldMap().setWorldMapPositionTargetInstant(var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + GrandExchangeEvent.getWorldMap().jumpToSourceCoord(var14.plane, var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + GrandExchangeEvent.getWorldMap().jumpToSourceCoordInstant(var14.plane, var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getDisplayX(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getDisplayY(); + return 1; + } else { + WorldMapArea var11; + if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var11 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; } else { - Fonts.drawSpriteOnMinimap(var1, var2, var12, var13, DynamicObject.mapDotSprites[2], var4); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getOrigin().packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var11 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (var11.getRegionHighX() - var11.getRegionLowX() + 1) * 64; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (var11.getRegionHighY() - var11.getRegionLowY() + 1) * 64; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var11 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getRegionLowX() * 64; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getRegionLowY() * 64; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getRegionHighX() * 64 + 64 - 1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getRegionHighY() * 64 + 64 - 1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var11 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getZoom(); + } + + return 1; + } else if (var0 == 6615) { + var14 = GrandExchangeEvent.getWorldMap().getDisplayCoord(); + if (var14 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var14.x; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var14.y; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().currentMapAreaId(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + var11 = GrandExchangeEvent.getWorldMap().getCurrentMapArea(); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + int[] var12 = var11.position(var14.plane, var14.x, var14.y); + if (var12 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var12[0]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var12[1]; + } + + return 1; + } + } else { + Coord var5; + if (var0 == 6618) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + var11 = GrandExchangeEvent.getWorldMap().getCurrentMapArea(); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + var5 = var11.coord(var14.x, var14.y); + if (var5 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.packed(); + } + + return 1; + } + } else { + Coord var10; + if (var0 == 6619) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + WorldMapRegion.method3604(var3, var10, false); + return 1; + } else if (var0 == 6620) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + WorldMapRegion.method3604(var3, var10, true); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + var9 = GrandExchangeEvent.getWorldMap().getMapArea(var3); + if (var9 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.containsCoord(var10.plane, var10.x, var10.y) ? 1 : 0; + return 1; + } + } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getDisplayWith(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getDisplayHeight(); + return 1; + } else if (var0 == 6623) { + var14 = new Coord(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + var11 = GrandExchangeEvent.getWorldMap().mapAreaAtCoord(var14.plane, var14.x, var14.y); + if (var11 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var11.getId(); + } + + return 1; + } else if (var0 == 6624) { + GrandExchangeEvent.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6625) { + GrandExchangeEvent.getWorldMap().resetMaxFlashCount(); + return 1; + } else if (var0 == 6626) { + GrandExchangeEvent.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6627) { + GrandExchangeEvent.getWorldMap().resetCyclesPerFlash(); + return 1; + } else { + boolean var13; + if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { + var13 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + GrandExchangeEvent.getWorldMap().setPerpetualFlash(var13); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + GrandExchangeEvent.getWorldMap().flashElement(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + GrandExchangeEvent.getWorldMap().flashCategory(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { + GrandExchangeEvent.getWorldMap().stopCurrentFlashes(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { + var13 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + GrandExchangeEvent.getWorldMap().setElementsDisabled(var13); + return 1; + } else { + boolean var7; + if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] == 1; + GrandExchangeEvent.getWorldMap().disableElement(var3, var7); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] == 1; + GrandExchangeEvent.getWorldMap().setCategoryDisabled(var3, var7); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().getElementsDisabled() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().isElementDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvent.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == 6638) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + var5 = GrandExchangeEvent.getWorldMap().method6467(var3, var10); + if (var5 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.packed(); + } + + return 1; + } else { + AbstractWorldMapIcon var6; + if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { + var6 = GrandExchangeEvent.getWorldMap().iconStart(); + if (var6 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var6.getElement(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var6.coord2.packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { + var6 = GrandExchangeEvent.getWorldMap().iconNext(); + if (var6 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var6.getElement(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var6.coord2.packed(); + } + + return 1; + } else { + WorldMapElement var4; + if (var0 == ScriptOpcodes.MEC_TEXT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class13.WorldMapElement_get(var3); + if (var4.name == null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.name; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class13.WorldMapElement_get(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.textSize; + return 1; + } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class13.WorldMapElement_get(var3); + if (var4 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.category; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_SPRITE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class13.WorldMapElement_get(var3); + if (var4 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.sprite1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class130.worldMapEvent.mapElement; + return 1; + } else if (var0 == 6698) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class130.worldMapEvent.coord1.packed(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class130.worldMapEvent.coord2.packed(); + return 1; + } else { + return 2; + } + } + } + } + } } } } - - if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { - if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { - NPC var19 = Client.npcs[Client.hintArrowNpcIndex]; - if (var19 != null) { - var11 = var19.x / 32 - class129.localPlayer.x / 32; - var12 = var19.y / 32 - class129.localPlayer.y / 32; - class78.worldToMinimap(var1, var2, var11, var12, class13.mapMarkerSprites[1], var4); - } - } - - if (Client.hintArrowType == 2) { - var10 = Client.hintArrowX * 4 - FloorOverlayDefinition.baseX * 4 + 2 - class129.localPlayer.x / 32; - var11 = Client.hintArrowY * 4 - class320.baseY * 4 + 2 - class129.localPlayer.y / 32; - class78.worldToMinimap(var1, var2, var10, var11, class13.mapMarkerSprites[1], var4); - } - - if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { - Player var20 = Client.players[Client.hintArrowPlayerIndex]; - if (var20 != null) { - var11 = var20.x / 32 - class129.localPlayer.x / 32; - var12 = var20.y / 32 - class129.localPlayer.y / 32; - class78.worldToMinimap(var1, var2, var11, var12, class13.mapMarkerSprites[1], var4); - } - } - } - - if (Client.destinationX != 0) { - var10 = Client.destinationX * 4 + 2 - class129.localPlayer.x / 32; - var11 = Client.destinationY * 4 + 2 - class129.localPlayer.y / 32; - Fonts.drawSpriteOnMinimap(var1, var2, var10, var11, class13.mapMarkerSprites[0], var4); - } - - if (!class129.localPlayer.isHidden) { - Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); - } - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); } - - Client.field766[var3] = true; } } + + @ObfuscatedName("ja") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-3" + ) + static void method4395(int var0, int var1) { + MenuAction var2 = class137.tempMenuAction; + PlatformInfo.menuAction(var2.param0, var2.param1, var2.opcode, var2.identifier, var2.action, var2.action, var0, var1); + class137.tempMenuAction = null; + } } diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index 588728d0b9..fbfce5cf9f 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -7,27 +7,45 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("fw") @Implements("RouteStrategy") public abstract class RouteStrategy { - @ObfuscatedName("n") + @ObfuscatedName("st") + @ObfuscatedSignature( + descriptor = "Lai;" + ) + @Export("decimator") + static Decimator decimator; + @ObfuscatedName("et") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive2") + static Archive archive2; + @ObfuscatedName("fp") @ObfuscatedGetter( - intValue = -1629612849 + intValue = -1344462217 + ) + @Export("currentPort") + static int currentPort; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1263236151 ) @Export("approxDestinationX") public int approxDestinationX; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1029926403 + intValue = 213463867 ) @Export("approxDestinationY") public int approxDestinationY; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1686095429 + intValue = -384519969 ) @Export("approxDestinationSizeX") public int approxDestinationSizeX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -208649847 + intValue = -1744940785 ) @Export("approxDestinationSizeY") public int approxDestinationSizeY; @@ -35,22 +53,11 @@ public abstract class RouteStrategy { protected RouteStrategy() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIILfk;S)Z", - garbageValue = "13398" + descriptor = "(IIILfy;I)Z", + garbageValue = "1728008342" ) @Export("hasArrived") - protected abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); - - @ObfuscatedName("c") - public static boolean method3352(long var0) { - boolean var2 = 0L != var0; - if (var2) { - boolean var3 = (int)(var0 >>> 16 & 1L) == 1; - var2 = !var3; - } - - return var2; - } + public abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); } diff --git a/runescape-client/src/main/java/RunException.java b/runescape-client/src/main/java/RunException.java index c60982632f..2ce33fa41e 100644 --- a/runescape-client/src/main/java/RunException.java +++ b/runescape-client/src/main/java/RunException.java @@ -7,30 +7,28 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("ps") @Implements("RunException") public class RunException extends RuntimeException { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("RunException_applet") public static Applet RunException_applet; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("localPlayerName") public static String localPlayerName; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 766573411 + intValue = -2072562331 ) @Export("RunException_revision") public static int RunException_revision; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -604740487 + intValue = -1605520639 ) @Export("clientType") public static int clientType; - @ObfuscatedName("f") - static int[] field4410; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("message") String message; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("throwable") Throwable throwable; diff --git a/runescape-client/src/main/java/RuneLiteObject.java b/runescape-client/src/main/java/RuneLiteObject.java new file mode 100644 index 0000000000..1990b62e27 --- /dev/null +++ b/runescape-client/src/main/java/RuneLiteObject.java @@ -0,0 +1,68 @@ +public class RuneLiteObject extends GraphicsObject +{ + public Model model; + public boolean loop; + + public RuneLiteObject() { + super.isFinished = true; + } + + public boolean isActive() { + return !super.isFinished; + } + + public void setActive(boolean active) + { + if (super.isFinished == active) + { + super.isFinished = !active; + + if (active) + { + super.frame = 0; + super.frameCycle = 0; + Client.graphicsObjects.addFirst(this); + } + else + { + remove(); + } + + } + } + + public void setShouldLoop(boolean var1) { + this.loop = var1; + } + + @Override + public void advance(int var1) + { + if (super.sequenceDefinition != null) { + super.advance(var1); + if (this.loop && super.isFinished) { + super.isFinished = false; + super.frame = 0; + super.frameCycle = 0; + } + + } + } + + @Override + public Model getModel() + { + if (super.sequenceDefinition != null) + { + return super.sequenceDefinition.transformSpotAnimationModel(this.model, super.frame); + } + else + { + return this.model.toSharedSequenceModel(true); + } + } + + public void setModel(Model var1) { + this.model = var1; + } +} diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 45f73f98fc..80c80b76a5 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -3,188 +3,188 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hz") +@ObfuscatedName("hy") @Implements("Scene") public class Scene { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("Scene_isLowDetail") public static boolean Scene_isLowDetail; @ObfuscatedName("s") @Export("tileUpdateCount") static int tileUpdateCount; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("Scene_plane") static int Scene_plane; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("Scene_drawnCount") static int Scene_drawnCount; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("Scene_cameraXTileMin") static int Scene_cameraXTileMin; - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("Scene_cameraXTileMax") static int Scene_cameraXTileMax; - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("Scene_cameraYTileMin") static int Scene_cameraYTileMin; - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("Scene_cameraYTileMax") static int Scene_cameraYTileMax; - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("Scene_cameraXTile") static int Scene_cameraXTile; @ObfuscatedName("r") @Export("Scene_cameraYTile") static int Scene_cameraYTile; - @ObfuscatedName("p") + @ObfuscatedName("n") @Export("Scene_cameraX") static int Scene_cameraX; - @ObfuscatedName("w") + @ObfuscatedName("u") @Export("Scene_cameraY") static int Scene_cameraY; - @ObfuscatedName("i") + @ObfuscatedName("d") @Export("Scene_cameraZ") static int Scene_cameraZ; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("Scene_cameraPitchSine") static int Scene_cameraPitchSine; @ObfuscatedName("ad") @Export("Scene_cameraPitchCosine") static int Scene_cameraPitchCosine; - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("Scene_cameraYawSine") static int Scene_cameraYawSine; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("Scene_cameraYawCosine") static int Scene_cameraYawCosine; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedSignature( - descriptor = "[Lhj;" + descriptor = "[Lhw;" ) @Export("gameObjects") static GameObject[] gameObjects; - @ObfuscatedName("at") + @ObfuscatedName("ay") @Export("checkClick") static boolean checkClick; - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("Scene_selectedPlane") static int Scene_selectedPlane; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("Scene_selectedScreenX") static int Scene_selectedScreenX; - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("Scene_selectedScreenY") static int Scene_selectedScreenY; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @Export("Scene_selectedX") public static int Scene_selectedX; - @ObfuscatedName("an") + @ObfuscatedName("ag") @Export("Scene_selectedY") public static int Scene_selectedY; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("viewportWalking") static boolean viewportWalking; - @ObfuscatedName("ao") + @ObfuscatedName("at") @Export("Scene_planesCount") static int Scene_planesCount; - @ObfuscatedName("ay") + @ObfuscatedName("ax") @Export("Scene_planeOccluderCounts") static int[] Scene_planeOccluderCounts; - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedSignature( - descriptor = "[[Lhq;" + descriptor = "[[Lhp;" ) @Export("Scene_planeOccluders") static Occluder[][] Scene_planeOccluders; - @ObfuscatedName("ap") + @ObfuscatedName("av") @Export("Scene_currentOccludersCount") static int Scene_currentOccludersCount; - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "[Lhq;" + descriptor = "[Lhp;" ) @Export("Scene_currentOccluders") static Occluder[] Scene_currentOccluders; - @ObfuscatedName("ac") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("Scene_tilesDeque") static NodeDeque Scene_tilesDeque; - @ObfuscatedName("ag") - static final int[] field2365; - @ObfuscatedName("ar") - static final int[] field2408; + @ObfuscatedName("am") + static final int[] field2390; + @ObfuscatedName("aw") + static final int[] field2428; @ObfuscatedName("az") - static final int[] field2409; - @ObfuscatedName("ah") - static final int[] field2410; + static final int[] field2425; + @ObfuscatedName("ae") + static final int[] field2419; + @ObfuscatedName("ai") + static final int[] field2433; @ObfuscatedName("af") - static final int[] field2401; - @ObfuscatedName("ax") - static final int[] field2392; - @ObfuscatedName("bd") - static final int[] field2413; - @ObfuscatedName("bw") + static final int[] field2420; + @ObfuscatedName("bz") + static final int[] field2429; + @ObfuscatedName("bu") @Export("visibilityMap") static boolean[][][][] visibilityMap; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @Export("visibleTiles") static boolean[][] visibleTiles; - @ObfuscatedName("bj") + @ObfuscatedName("ba") @Export("Scene_viewportXCenter") static int Scene_viewportXCenter; - @ObfuscatedName("be") + @ObfuscatedName("bm") @Export("Scene_viewportYCenter") static int Scene_viewportYCenter; - @ObfuscatedName("bq") + @ObfuscatedName("bv") @Export("Scene_viewportXMin") static int Scene_viewportXMin; - @ObfuscatedName("bu") + @ObfuscatedName("bs") @Export("Scene_viewportYMin") static int Scene_viewportYMin; - @ObfuscatedName("bn") + @ObfuscatedName("bd") @Export("Scene_viewportXMax") static int Scene_viewportXMax; - @ObfuscatedName("bk") + @ObfuscatedName("bb") @Export("Scene_viewportYMax") static int Scene_viewportYMax; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("planes") int planes; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("xSize") int xSize; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("ySize") int ySize; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("tileHeights") int[][][] tileHeights; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "[[[Lhs;" + descriptor = "[[[Lhz;" ) @Export("tiles") Tile[][][] tiles; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("minPlane") int minPlane; @ObfuscatedName("a") @Export("tempGameObjectsCount") int tempGameObjectsCount; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "[Lhj;" + descriptor = "[Lhw;" ) @Export("tempGameObjects") GameObject[] tempGameObjects; - @ObfuscatedName("e") - int[][][] field2370; - @ObfuscatedName("bc") + @ObfuscatedName("i") + int[][][] field2439; + @ObfuscatedName("bo") @Export("tileShape2D") int[][] tileShape2D; - @ObfuscatedName("br") + @ObfuscatedName("bx") @Export("tileRotation2D") int[][] tileRotation2D; @@ -206,13 +206,13 @@ public class Scene { Scene_currentOccludersCount = 0; Scene_currentOccluders = new Occluder[500]; Scene_tilesDeque = new NodeDeque(); - field2365 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; - field2408 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; - field2409 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; - field2410 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; - field2401 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; - field2392 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; - field2413 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; + field2390 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; + field2428 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; + field2425 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; + field2419 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; + field2433 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; + field2420 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; + field2429 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; visibilityMap = new boolean[8][32][51][51]; } @@ -226,12 +226,12 @@ public class Scene { this.xSize = var2; this.ySize = var3; this.tiles = new Tile[var1][var2][var3]; - this.field2370 = new int[var1][var2 + 1][var3 + 1]; + this.field2439 = new int[var1][var2 + 1][var3 + 1]; this.tileHeights = var4; this.clear(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("clear") public void clear() { int var1; @@ -264,7 +264,7 @@ public class Scene { } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("init") public void init(int var1) { this.minPlane = var1; @@ -279,7 +279,7 @@ public class Scene { } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("setLinkBelow") public void setLinkBelow(int var1, int var2) { Tile var3 = this.tiles[0][var1][var2]; @@ -291,7 +291,7 @@ public class Scene { for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { GameObject var7 = var5.gameObjects[var6]; - if (VarpDefinition.method2826(var7.tag) && var7.startX == var1 && var2 == var7.startY) { + if (class78.method2061(var7.tag) && var7.startX == var1 && var2 == var7.startY) { --var7.plane; } } @@ -306,7 +306,7 @@ public class Scene { this.tiles[3][var1][var2] = null; } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("setTileMinPlane") public void setTileMinPlane(int var1, int var2, int var3, int var4) { Tile var5 = this.tiles[var1][var2][var3]; @@ -315,7 +315,7 @@ public class Scene { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("addTile") public void addTile(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 var20) { SceneTilePaint var21; @@ -353,9 +353,9 @@ public class Scene { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(IIIILhr;JI)V" + descriptor = "(IIIILhi;JI)V" ) @Export("newFloorDecoration") public void newFloorDecoration(int var1, int var2, int var3, int var4, Renderable var5, long var6, int var8) { @@ -377,7 +377,7 @@ public class Scene { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(IIIILhr;JLhr;Lhr;)V" + descriptor = "(IIIILhi;JLhi;Lhi;)V" ) @Export("newGroundItemPile") public void newGroundItemPile(int var1, int var2, int var3, int var4, Renderable var5, long var6, Renderable var8, Renderable var9) { @@ -411,9 +411,9 @@ public class Scene { this.tiles[var1][var2][var3].itemLayer = var10; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(IIIILhr;Lhr;IIJI)V" + descriptor = "(IIIILhi;Lhi;IIJI)V" ) @Export("newBoundaryObject") public void newBoundaryObject(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, long var9, int var11) { @@ -439,9 +439,9 @@ public class Scene { } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(IIIILhr;Lhr;IIIIJI)V" + descriptor = "(IIIILhi;Lhi;IIIIJI)V" ) @Export("newWallDecoration") public void newWallDecoration(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, int var9, int var10, long var11, int var13) { @@ -469,11 +469,11 @@ public class Scene { } } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(IIIIIILhr;IJI)Z" + descriptor = "(IIIIIILhi;IJI)Z" ) - public boolean method4291(int var1, int var2, int var3, int var4, int var5, int var6, Renderable var7, int var8, long var9, int var11) { + public boolean method4208(int var1, int var2, int var3, int var4, int var5, int var6, Renderable var7, int var8, long var9, int var11) { if (var7 == null) { return true; } else { @@ -483,9 +483,9 @@ public class Scene { } } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(IIIIILhr;IJZ)Z" + descriptor = "(IIIIILhi;IJZ)Z" ) @Export("drawEntity") public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Renderable var6, int var7, long var8, boolean var10) { @@ -522,18 +522,18 @@ public class Scene { } } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(IIIIILhr;IJIIII)Z" + descriptor = "(IIIIILhi;IJIIII)Z" ) @Export("addNullableObject") public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Renderable var6, int var7, long var8, int var10, int var11, int var12, int var13) { return var6 == null ? true : this.newGameObject(var1, var10, var11, var12 - var10 + 1, var13 - var11 + 1, var2, var3, var4, var6, var7, true, var8, 0); } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(IIIIIIIILhr;IZJI)Z" + descriptor = "(IIIIIIIILhi;IZJI)Z" ) @Export("newGameObject") boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Renderable var9, int var10, boolean var11, long var12, int var14) { @@ -617,9 +617,9 @@ public class Scene { this.tempGameObjectsCount = 0; } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Lhj;)V" + descriptor = "(Lhw;)V" ) @Export("removeGameObject") void removeGameObject(GameObject var1) { @@ -653,8 +653,8 @@ public class Scene { } - @ObfuscatedName("d") - public void method4219(int var1, int var2, int var3, int var4) { + @ObfuscatedName("b") + public void method4214(int var1, int var2, int var3, int var4) { Tile var5 = this.tiles[var1][var2][var3]; if (var5 != null) { WallDecoration var6 = var5.wallDecoration; @@ -665,7 +665,7 @@ public class Scene { } } - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("removeBoundaryObject") public void removeBoundaryObject(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -674,7 +674,7 @@ public class Scene { } } - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("removeWallDecoration") public void removeWallDecoration(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -683,14 +683,14 @@ public class Scene { } } - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("removeGameObject") public void removeGameObject(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; if (var4 != null) { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; - if (VarpDefinition.method2826(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + if (class78.method2061(var6.tag) && var2 == var6.startX && var3 == var6.startY) { this.removeGameObject(var6); return; } @@ -699,7 +699,7 @@ public class Scene { } } - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("removeFloorDecoration") public void removeFloorDecoration(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -708,7 +708,7 @@ public class Scene { } } - @ObfuscatedName("t") + @ObfuscatedName("o") @Export("removeGroundItemPile") public void removeGroundItemPile(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -721,32 +721,33 @@ public class Scene { @ObfuscatedSignature( descriptor = "(III)Lhn;" ) - public BoundaryObject method4155(int var1, int var2, int var3) { + public BoundaryObject method4219(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; return var4 == null ? null : var4.boundaryObject; } - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(III)Lhh;" + descriptor = "(III)Lhk;" ) - public WallDecoration method4156(int var1, int var2, int var3) { + public WallDecoration method4316(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; return var4 == null ? null : var4.wallDecoration; } - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "(III)Lhj;" + descriptor = "(III)Lhw;" ) - public GameObject method4180(int var1, int var2, int var3) { + @Export("getGameObject") + public GameObject getGameObject(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; if (var4 == null) { return null; } else { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; - if (VarpDefinition.method2826(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + if (class78.method2061(var6.tag) && var2 == var6.startX && var3 == var6.startY) { return var6; } } @@ -755,9 +756,9 @@ public class Scene { } } - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(III)Lgx;" + descriptor = "(III)Lgv;" ) @Export("getFloorDecoration") public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { @@ -765,7 +766,7 @@ public class Scene { return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; } - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("getBoundaryObjectTag") public long getBoundaryObjectTag(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -779,7 +780,7 @@ public class Scene { return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; } - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("getGameObjectTag") public long getGameObjectTag(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -788,7 +789,7 @@ public class Scene { } else { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; - if (VarpDefinition.method2826(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + if (class78.method2061(var6.tag) && var2 == var6.startX && var3 == var6.startY) { return var6.tag; } } @@ -797,14 +798,14 @@ public class Scene { } } - @ObfuscatedName("aa") + @ObfuscatedName("ak") @Export("getFloorDecorationTag") public long getFloorDecorationTag(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; } - @ObfuscatedName("aw") + @ObfuscatedName("ah") @Export("getObjectFlags") public int getObjectFlags(int var1, int var2, int var3, long var4) { Tile var6 = this.tiles[var1][var2][var3]; @@ -827,8 +828,8 @@ public class Scene { } } - @ObfuscatedName("at") - public void method4290(int var1, int var2, int var3) { + @ObfuscatedName("ay") + public void method4228(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.planes; ++var4) { for (int var5 = 0; var5 < this.xSize; ++var5) { for (int var6 = 0; var6 < this.ySize; ++var6) { @@ -838,11 +839,11 @@ public class Scene { ModelData var10; if (var8 != null && var8.renderable1 instanceof ModelData) { ModelData var9 = (ModelData)var8.renderable1; - this.method4165(var9, var4, var5, var6, 1, 1); + this.method4230(var9, var4, var5, var6, 1, 1); if (var8.renderable2 instanceof ModelData) { var10 = (ModelData)var8.renderable2; - this.method4165(var10, var4, var5, var6, 1, 1); - ModelData.method3972(var9, var10, 0, 0, 0, false); + this.method4230(var10, var4, var5, var6, 1, 1); + ModelData.method4043(var9, var10, 0, 0, 0, false); var8.renderable2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); } @@ -853,7 +854,7 @@ public class Scene { GameObject var14 = var7.gameObjects[var12]; if (var14 != null && var14.renderable instanceof ModelData) { ModelData var11 = (ModelData)var14.renderable; - this.method4165(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); + this.method4230(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); var14.renderable = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); } } @@ -861,7 +862,7 @@ public class Scene { FloorDecoration var13 = var7.floorDecoration; if (var13 != null && var13.renderable instanceof ModelData) { var10 = (ModelData)var13.renderable; - this.method4164(var10, var4, var5, var6); + this.method4229(var10, var4, var5, var6); var13.renderable = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); } } @@ -871,18 +872,18 @@ public class Scene { } - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedSignature( - descriptor = "(Lgl;III)V" + descriptor = "(Lgi;III)V" ) - void method4164(ModelData var1, int var2, int var3, int var4) { + void method4229(ModelData var1, int var2, int var3, int var4) { Tile var5; ModelData var6; if (var3 < this.xSize) { var5 = this.tiles[var2][var3 + 1][var4]; if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { var6 = (ModelData)var5.floorDecoration.renderable; - ModelData.method3972(var1, var6, 128, 0, 0, true); + ModelData.method4043(var1, var6, 128, 0, 0, true); } } @@ -890,7 +891,7 @@ public class Scene { var5 = this.tiles[var2][var3][var4 + 1]; if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { var6 = (ModelData)var5.floorDecoration.renderable; - ModelData.method3972(var1, var6, 0, 0, 128, true); + ModelData.method4043(var1, var6, 0, 0, 128, true); } } @@ -898,7 +899,7 @@ public class Scene { var5 = this.tiles[var2][var3 + 1][var4 + 1]; if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { var6 = (ModelData)var5.floorDecoration.renderable; - ModelData.method3972(var1, var6, 128, 0, 128, true); + ModelData.method4043(var1, var6, 128, 0, 128, true); } } @@ -906,17 +907,17 @@ public class Scene { var5 = this.tiles[var2][var3 + 1][var4 - 1]; if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { var6 = (ModelData)var5.floorDecoration.renderable; - ModelData.method3972(var1, var6, 128, 0, -128, true); + ModelData.method4043(var1, var6, 128, 0, -128, true); } } } - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "(Lgl;IIIII)V" + descriptor = "(Lgi;IIIII)V" ) - void method4165(ModelData var1, int var2, int var3, int var4, int var5, int var6) { + void method4230(ModelData var1, int var2, int var3, int var4, int var5, int var6) { boolean var7 = true; int var8 = var3; int var9 = var3 + var5; @@ -937,12 +938,12 @@ public class Scene { ModelData var18; if (var17.renderable1 instanceof ModelData) { var18 = (ModelData)var17.renderable1; - ModelData.method3972(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + ModelData.method4043(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); } if (var17.renderable2 instanceof ModelData) { var18 = (ModelData)var17.renderable2; - ModelData.method3972(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + ModelData.method4043(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); } } @@ -952,7 +953,7 @@ public class Scene { ModelData var20 = (ModelData)var19.renderable; int var21 = var19.endX - var19.startX + 1; int var22 = var19.endY - var19.startY + 1; - ModelData.method3972(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); + ModelData.method4043(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); } } } @@ -968,7 +969,7 @@ public class Scene { } - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("drawTileMinimap") public void drawTileMinimap(int[] var1, int var2, int var3, int var4, int var5, int var6) { Tile var7 = this.tiles[var4][var5][var6]; @@ -1033,7 +1034,7 @@ public class Scene { } } - @ObfuscatedName("ab") + @ObfuscatedName("aq") @Export("menuOpen") public void menuOpen(int var1, int var2, int var3, boolean var4) { if (!shouldSendWalk() || var4) { @@ -1047,13 +1048,13 @@ public class Scene { } } - @ObfuscatedName("au") + @ObfuscatedName("ar") @Export("setViewportWalking") public void setViewportWalking() { viewportWalking = true; } - @ObfuscatedName("ay") + @ObfuscatedName("ax") @Export("draw") public void draw(int var1, int var2, int var3, int var4, int var5, int var6) { if (var1 < 0) { @@ -1120,11 +1121,7 @@ public class Scene { for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { Tile var16 = var8[var9][var10]; if (var16 != null) { - if (var16.minPlane > var6 || !visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] && this.tileHeights[var7][var9][var10] - var2 < 2000) { - var16.drawPrimary = false; - var16.drawSecondary = false; - var16.drawGameObjectEdges = 0; - } else { + if (var16.minPlane <= var6 && (visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] || this.tileHeights[var7][var9][var10] - var2 >= 2000)) { var16.drawPrimary = true; var16.drawSecondary = true; if (var16.gameObjectsCount > 0) { @@ -1134,6 +1131,10 @@ public class Scene { } ++tileUpdateCount; + } else { + var16.drawPrimary = false; + var16.drawSecondary = false; + var16.drawGameObjectEdges = 0; } } } @@ -1250,9 +1251,9 @@ public class Scene { checkClick = false; } - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedSignature( - descriptor = "(Lhs;Z)V" + descriptor = "(Lhz;Z)V" ) @Export("drawTile") void drawTile(Tile var1, boolean var2) { @@ -1346,10 +1347,10 @@ public class Scene { if (var3.linkedBelowTile != null) { var9 = var3.linkedBelowTile; if (var9.paint != null) { - if (!this.method4315(0, var4, var5)) { + if (!this.method4245(0, var4, var5)) { this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); } - } else if (var9.model != null && !this.method4315(0, var4, var5)) { + } else if (var9.model != null && !this.method4245(0, var4, var5)) { this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); } @@ -1368,13 +1369,13 @@ public class Scene { var20 = false; if (var3.paint != null) { - if (!this.method4315(var7, var4, var5)) { + if (!this.method4245(var7, var4, var5)) { var20 = true; if (var3.paint.neColor != 12345678 || checkClick && var6 <= Scene_selectedPlane) { this.drawTileUnderlay(var3.paint, var7, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); } } - } else if (var3.model != null && !this.method4315(var7, var4, var5)) { + } else if (var3.model != null && !this.method4245(var7, var4, var5)) { var20 = true; this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); } @@ -1396,43 +1397,43 @@ public class Scene { var21 += 6; } - var11 = field2365[var21]; - var3.field2327 = field2409[var21]; + var11 = field2390[var21]; + var3.field2337 = field2425[var21]; } if (var31 != null) { - if ((var31.orientationA & field2408[var21]) != 0) { + if ((var31.orientationA & field2428[var21]) != 0) { if (var31.orientationA == 16) { var3.drawGameObjectEdges = 3; - var3.field2309 = field2410[var21]; - var3.field2326 = 3 - var3.field2309; + var3.field2323 = field2419[var21]; + var3.field2336 = 3 - var3.field2323; } else if (var31.orientationA == 32) { var3.drawGameObjectEdges = 6; - var3.field2309 = field2401[var21]; - var3.field2326 = 6 - var3.field2309; + var3.field2323 = field2433[var21]; + var3.field2336 = 6 - var3.field2323; } else if (var31.orientationA == 64) { var3.drawGameObjectEdges = 12; - var3.field2309 = field2392[var21]; - var3.field2326 = 12 - var3.field2309; + var3.field2323 = field2420[var21]; + var3.field2336 = 12 - var3.field2323; } else { var3.drawGameObjectEdges = 9; - var3.field2309 = field2413[var21]; - var3.field2326 = 9 - var3.field2309; + var3.field2323 = field2429[var21]; + var3.field2336 = 9 - var3.field2323; } } else { var3.drawGameObjectEdges = 0; } - if ((var31.orientationA & var11) != 0 && !this.method4181(var7, var4, var5, var31.orientationA)) { + if ((var31.orientationA & var11) != 0 && !this.method4302(var7, var4, var5, var31.orientationA)) { var31.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.tag); } - if ((var31.orientationB & var11) != 0 && !this.method4181(var7, var4, var5, var31.orientationB)) { + if ((var31.orientationB & var11) != 0 && !this.method4302(var7, var4, var5, var31.orientationB)) { var31.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.tag); } } - if (var13 != null && !this.method4182(var7, var4, var5, var13.renderable1.height)) { + if (var13 != null && !this.method4247(var7, var4, var5, var13.renderable1.height)) { if ((var13.orientation & var11) != 0) { var13.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var13.x - Scene_cameraX + var13.xOffset, var13.tileHeight - Scene_cameraY, var13.y - Scene_cameraZ + var13.yOffset, var13.tag); } else if (var13.orientation == 256) { @@ -1520,7 +1521,7 @@ public class Scene { var20 = true; for (var21 = 0; var21 < var3.gameObjectsCount; ++var21) { - if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field2309) { + if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field2323) { var20 = false; break; } @@ -1528,7 +1529,7 @@ public class Scene { if (var20) { var10 = var3.boundaryObject; - if (!this.method4181(var7, var4, var5, var10.orientationA)) { + if (!this.method4302(var7, var4, var5, var10.orientationA)) { var10.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y - Scene_cameraZ, var10.tag); } @@ -1575,7 +1576,7 @@ public class Scene { var16 += 2; } - if ((var16 & var36.drawGameObjectEdges) == var3.field2326) { + if ((var16 & var36.drawGameObjectEdges) == var3.field2336) { var3.drawGameObjects = true; continue label563; } @@ -1593,9 +1594,9 @@ public class Scene { var15 = Scene_cameraYTile - var12.startY; var16 = var12.endY - Scene_cameraYTile; if (var16 > var15) { - var12.field2619 = var24 + var16; + var12.field2637 = var24 + var16; } else { - var12.field2619 = var24 + var15; + var12.field2637 = var24 + var15; } } } @@ -1607,10 +1608,10 @@ public class Scene { for (var24 = 0; var24 < var21; ++var24) { GameObject var35 = gameObjects[var24]; if (var35.lastDrawn != Scene_drawnCount) { - if (var35.field2619 > var11) { - var11 = var35.field2619; + if (var35.field2637 > var11) { + var11 = var35.field2637; var25 = var24; - } else if (var11 == var35.field2619) { + } else if (var11 == var35.field2637) { var15 = var35.centerX - Scene_cameraX; var16 = var35.centerY - Scene_cameraZ; var17 = gameObjects[var25].centerX - Scene_cameraX; @@ -1628,7 +1629,7 @@ public class Scene { GameObject var33 = gameObjects[var25]; var33.lastDrawn = Scene_drawnCount; - if (!this.method4183(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.renderable.height)) { + if (!this.method4263(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.renderable.height)) { var33.renderable.draw(var33.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var33.centerX - Scene_cameraX, var33.height - Scene_cameraY, var33.centerY - Scene_cameraZ, var33.tag); } @@ -1700,10 +1701,10 @@ public class Scene { } } - if (var3.field2327 != 0) { + if (var3.field2337 != 0) { WallDecoration var29 = var3.wallDecoration; - if (var29 != null && !this.method4182(var7, var4, var5, var29.renderable1.height)) { - if ((var29.orientation & var3.field2327) != 0) { + if (var29 != null && !this.method4247(var7, var4, var5, var29.renderable1.height)) { + if ((var29.orientation & var3.field2337) != 0) { var29.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.x - Scene_cameraX + var29.xOffset, var29.tileHeight - Scene_cameraY, var29.y - Scene_cameraZ + var29.yOffset, var29.tag); } else if (var29.orientation == 256) { var11 = var29.x - Scene_cameraX; @@ -1732,11 +1733,11 @@ public class Scene { BoundaryObject var27 = var3.boundaryObject; if (var27 != null) { - if ((var27.orientationB & var3.field2327) != 0 && !this.method4181(var7, var4, var5, var27.orientationB)) { + if ((var27.orientationB & var3.field2337) != 0 && !this.method4302(var7, var4, var5, var27.orientationB)) { var27.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y - Scene_cameraZ, var27.tag); } - if ((var27.orientationA & var3.field2327) != 0 && !this.method4181(var7, var4, var5, var27.orientationA)) { + if ((var27.orientationA & var3.field2337) != 0 && !this.method4302(var7, var4, var5, var27.orientationA)) { var27.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y - Scene_cameraZ, var27.tag); } } @@ -1780,9 +1781,9 @@ public class Scene { } } - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedSignature( - descriptor = "(Lhw;IIIIIII)V" + descriptor = "(Lhm;IIIIIII)V" ) @Export("drawTileUnderlay") void drawTileUnderlay(SceneTilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { @@ -1836,9 +1837,9 @@ public class Scene { Rasterizer3D.Rasterizer3D_alpha = 0; int var30; if ((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { - Rasterizer3D.field2352 = false; + Rasterizer3D.field2347 = false; if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field2352 = true; + Rasterizer3D.field2347 = true; } if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var27, var29, var25, var26, var28, var24)) { @@ -1848,7 +1849,7 @@ public class Scene { if (var1.texture == -1) { if (var1.neColor != 12345678) { - Rasterizer3D.method4055(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); + Rasterizer3D.method4128(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); } } else if (!Scene_isLowDetail) { if (var1.isFlat) { @@ -1858,14 +1859,14 @@ public class Scene { } } else { var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); - Rasterizer3D.method4055(var27, var29, var25, var26, var28, var24, method4177(var30, var1.neColor), method4177(var30, var1.nwColor), method4177(var30, var1.seColor)); + Rasterizer3D.method4128(var27, var29, var25, var26, var28, var24, method4242(var30, var1.neColor), method4242(var30, var1.nwColor), method4242(var30, var1.seColor)); } } if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { - Rasterizer3D.field2352 = false; + Rasterizer3D.field2347 = false; if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field2352 = true; + Rasterizer3D.field2347 = true; } if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var23, var25, var29, var22, var24, var28)) { @@ -1875,13 +1876,13 @@ public class Scene { if (var1.texture == -1) { if (var1.swColor != 12345678) { - Rasterizer3D.method4055(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); + Rasterizer3D.method4128(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); } } else if (!Scene_isLowDetail) { Rasterizer3D.drawTexturedTile(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); } else { var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); - Rasterizer3D.method4055(var23, var25, var29, var22, var24, var28, method4177(var30, var1.swColor), method4177(var30, var1.seColor), method4177(var30, var1.nwColor)); + Rasterizer3D.method4128(var23, var25, var29, var22, var24, var28, method4242(var30, var1.swColor), method4242(var30, var1.seColor), method4242(var30, var1.nwColor)); } } @@ -1891,9 +1892,9 @@ public class Scene { } } - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "(Lhe;IIIIII)V" + descriptor = "(Lhr;IIIIII)V" ) @Export("drawTileOverlay") void drawTileOverlay(SceneTileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { @@ -1918,13 +1919,13 @@ public class Scene { } if (var1.triangleTextureId != null) { - SceneTileModel.field2488[var9] = var10; - SceneTileModel.field2485[var9] = var13; - SceneTileModel.field2475[var9] = var12; + SceneTileModel.field2499[var9] = var10; + SceneTileModel.field2500[var9] = var13; + SceneTileModel.field2484[var9] = var12; } - SceneTileModel.field2486[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; - SceneTileModel.field2482[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; + SceneTileModel.field2497[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + SceneTileModel.field2498[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; } Rasterizer3D.Rasterizer3D_alpha = 0; @@ -1934,16 +1935,16 @@ public class Scene { var10 = var1.faceX[var9]; var11 = var1.faceY[var9]; var12 = var1.faceZ[var9]; - var13 = SceneTileModel.field2486[var10]; - int var14 = SceneTileModel.field2486[var11]; - int var15 = SceneTileModel.field2486[var12]; - int var16 = SceneTileModel.field2482[var10]; - int var17 = SceneTileModel.field2482[var11]; - int var18 = SceneTileModel.field2482[var12]; + var13 = SceneTileModel.field2497[var10]; + int var14 = SceneTileModel.field2497[var11]; + int var15 = SceneTileModel.field2497[var12]; + int var16 = SceneTileModel.field2498[var10]; + int var17 = SceneTileModel.field2498[var11]; + int var18 = SceneTileModel.field2498[var12]; if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { - Rasterizer3D.field2352 = false; + Rasterizer3D.field2347 = false; if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field2352 = true; + Rasterizer3D.field2347 = true; } if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var16, var17, var18, var13, var14, var15)) { @@ -1954,23 +1955,23 @@ public class Scene { if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { if (!Scene_isLowDetail) { if (var1.isFlat) { - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field2488[0], SceneTileModel.field2488[1], SceneTileModel.field2488[3], SceneTileModel.field2485[0], SceneTileModel.field2485[1], SceneTileModel.field2485[3], SceneTileModel.field2475[0], SceneTileModel.field2475[1], SceneTileModel.field2475[3], var1.triangleTextureId[var9]); + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field2499[0], SceneTileModel.field2499[1], SceneTileModel.field2499[3], SceneTileModel.field2500[0], SceneTileModel.field2500[1], SceneTileModel.field2500[3], SceneTileModel.field2484[0], SceneTileModel.field2484[1], SceneTileModel.field2484[3], var1.triangleTextureId[var9]); } else { - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field2488[var10], SceneTileModel.field2488[var11], SceneTileModel.field2488[var12], SceneTileModel.field2485[var10], SceneTileModel.field2485[var11], SceneTileModel.field2485[var12], SceneTileModel.field2475[var10], SceneTileModel.field2475[var11], SceneTileModel.field2475[var12], var1.triangleTextureId[var9]); + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field2499[var10], SceneTileModel.field2499[var11], SceneTileModel.field2499[var12], SceneTileModel.field2500[var10], SceneTileModel.field2500[var11], SceneTileModel.field2500[var12], SceneTileModel.field2484[var10], SceneTileModel.field2484[var11], SceneTileModel.field2484[var12], var1.triangleTextureId[var9]); } } else { int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); - Rasterizer3D.method4055(var16, var17, var18, var13, var14, var15, method4177(var19, var1.triangleColorA[var9]), method4177(var19, var1.triangleColorB[var9]), method4177(var19, var1.triangleColorC[var9])); + Rasterizer3D.method4128(var16, var17, var18, var13, var14, var15, method4242(var19, var1.triangleColorA[var9]), method4242(var19, var1.triangleColorB[var9]), method4242(var19, var1.triangleColorC[var9])); } } else if (var1.triangleColorA[var9] != 12345678) { - Rasterizer3D.method4055(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); + Rasterizer3D.method4128(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); } } } } - @ObfuscatedName("ar") + @ObfuscatedName("aw") @Export("occlude") void occlude() { int var1 = Scene_planeOccluderCounts[Scene_plane]; @@ -2009,20 +2010,20 @@ public class Scene { if (var13) { var9 = Scene_cameraX - var4.minX; if (var9 > 32) { - var4.field2450 = 1; + var4.field2466 = 1; } else { if (var9 >= -32) { continue; } - var4.field2450 = 2; + var4.field2466 = 2; var9 = -var9; } - var4.field2456 = (var4.minZ - Scene_cameraZ << 8) / var9; - var4.field2440 = (var4.maxZ - Scene_cameraZ << 8) / var9; - var4.field2459 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field2451 = (var4.maxY - Scene_cameraY << 8) / var9; + var4.field2469 = (var4.minZ - Scene_cameraZ << 8) / var9; + var4.field2470 = (var4.maxZ - Scene_cameraZ << 8) / var9; + var4.field2463 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field2472 = (var4.maxY - Scene_cameraY << 8) / var9; Scene_currentOccluders[Scene_currentOccludersCount++] = var4; } } @@ -2051,20 +2052,20 @@ public class Scene { if (var13) { var9 = Scene_cameraZ - var4.minZ; if (var9 > 32) { - var4.field2450 = 3; + var4.field2466 = 3; } else { if (var9 >= -32) { continue; } - var4.field2450 = 4; + var4.field2466 = 4; var9 = -var9; } - var4.field2452 = (var4.minX - Scene_cameraX << 8) / var9; - var4.field2453 = (var4.maxX - Scene_cameraX << 8) / var9; - var4.field2459 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field2451 = (var4.maxY - Scene_cameraY << 8) / var9; + var4.field2467 = (var4.minX - Scene_cameraX << 8) / var9; + var4.field2468 = (var4.maxX - Scene_cameraX << 8) / var9; + var4.field2463 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field2472 = (var4.maxY - Scene_cameraY << 8) / var9; Scene_currentOccluders[Scene_currentOccludersCount++] = var4; } } @@ -2105,11 +2106,11 @@ public class Scene { } if (var10) { - var4.field2450 = 5; - var4.field2452 = (var4.minX - Scene_cameraX << 8) / var5; - var4.field2453 = (var4.maxX - Scene_cameraX << 8) / var5; - var4.field2456 = (var4.minZ - Scene_cameraZ << 8) / var5; - var4.field2440 = (var4.maxZ - Scene_cameraZ << 8) / var5; + var4.field2466 = 5; + var4.field2467 = (var4.minX - Scene_cameraX << 8) / var5; + var4.field2468 = (var4.maxX - Scene_cameraX << 8) / var5; + var4.field2469 = (var4.minZ - Scene_cameraZ << 8) / var5; + var4.field2470 = (var4.maxZ - Scene_cameraZ << 8) / var5; Scene_currentOccluders[Scene_currentOccludersCount++] = var4; } } @@ -2120,8 +2121,8 @@ public class Scene { } @ObfuscatedName("az") - boolean method4315(int var1, int var2, int var3) { - int var4 = this.field2370[var1][var2][var3]; + boolean method4245(int var1, int var2, int var3) { + int var4 = this.field2439[var1][var2][var3]; if (var4 == -Scene_drawnCount) { return false; } else if (var4 == Scene_drawnCount) { @@ -2129,19 +2130,19 @@ public class Scene { } else { int var5 = var2 << 7; int var6 = var3 << 7; - if (this.method4208(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method4208(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method4208(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method4208(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { - this.field2370[var1][var2][var3] = Scene_drawnCount; + if (this.method4249(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method4249(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method4249(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method4249(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { + this.field2439[var1][var2][var3] = Scene_drawnCount; return true; } else { - this.field2370[var1][var2][var3] = -Scene_drawnCount; + this.field2439[var1][var2][var3] = -Scene_drawnCount; return false; } } } - @ObfuscatedName("bd") - boolean method4181(int var1, int var2, int var3, int var4) { - if (!this.method4315(var1, var2, var3)) { + @ObfuscatedName("ae") + boolean method4302(int var1, int var2, int var3, int var4) { + if (!this.method4245(var1, var2, var3)) { return false; } else { int var5 = var2 << 7; @@ -2153,30 +2154,30 @@ public class Scene { if (var4 < 16) { if (var4 == 1) { if (var5 > Scene_cameraX) { - if (!this.method4208(var5, var7, var6)) { + if (!this.method4249(var5, var7, var6)) { return false; } - if (!this.method4208(var5, var7, var6 + 128)) { + if (!this.method4249(var5, var7, var6 + 128)) { return false; } } if (var1 > 0) { - if (!this.method4208(var5, var8, var6)) { + if (!this.method4249(var5, var8, var6)) { return false; } - if (!this.method4208(var5, var8, var6 + 128)) { + if (!this.method4249(var5, var8, var6 + 128)) { return false; } } - if (!this.method4208(var5, var9, var6)) { + if (!this.method4249(var5, var9, var6)) { return false; } - if (!this.method4208(var5, var9, var6 + 128)) { + if (!this.method4249(var5, var9, var6 + 128)) { return false; } @@ -2185,30 +2186,30 @@ public class Scene { if (var4 == 2) { if (var6 < Scene_cameraZ) { - if (!this.method4208(var5, var7, var6 + 128)) { + if (!this.method4249(var5, var7, var6 + 128)) { return false; } - if (!this.method4208(var5 + 128, var7, var6 + 128)) { + if (!this.method4249(var5 + 128, var7, var6 + 128)) { return false; } } if (var1 > 0) { - if (!this.method4208(var5, var8, var6 + 128)) { + if (!this.method4249(var5, var8, var6 + 128)) { return false; } - if (!this.method4208(var5 + 128, var8, var6 + 128)) { + if (!this.method4249(var5 + 128, var8, var6 + 128)) { return false; } } - if (!this.method4208(var5, var9, var6 + 128)) { + if (!this.method4249(var5, var9, var6 + 128)) { return false; } - if (!this.method4208(var5 + 128, var9, var6 + 128)) { + if (!this.method4249(var5 + 128, var9, var6 + 128)) { return false; } @@ -2217,30 +2218,30 @@ public class Scene { if (var4 == 4) { if (var5 < Scene_cameraX) { - if (!this.method4208(var5 + 128, var7, var6)) { + if (!this.method4249(var5 + 128, var7, var6)) { return false; } - if (!this.method4208(var5 + 128, var7, var6 + 128)) { + if (!this.method4249(var5 + 128, var7, var6 + 128)) { return false; } } if (var1 > 0) { - if (!this.method4208(var5 + 128, var8, var6)) { + if (!this.method4249(var5 + 128, var8, var6)) { return false; } - if (!this.method4208(var5 + 128, var8, var6 + 128)) { + if (!this.method4249(var5 + 128, var8, var6 + 128)) { return false; } } - if (!this.method4208(var5 + 128, var9, var6)) { + if (!this.method4249(var5 + 128, var9, var6)) { return false; } - if (!this.method4208(var5 + 128, var9, var6 + 128)) { + if (!this.method4249(var5 + 128, var9, var6 + 128)) { return false; } @@ -2249,30 +2250,30 @@ public class Scene { if (var4 == 8) { if (var6 > Scene_cameraZ) { - if (!this.method4208(var5, var7, var6)) { + if (!this.method4249(var5, var7, var6)) { return false; } - if (!this.method4208(var5 + 128, var7, var6)) { + if (!this.method4249(var5 + 128, var7, var6)) { return false; } } if (var1 > 0) { - if (!this.method4208(var5, var8, var6)) { + if (!this.method4249(var5, var8, var6)) { return false; } - if (!this.method4208(var5 + 128, var8, var6)) { + if (!this.method4249(var5 + 128, var8, var6)) { return false; } } - if (!this.method4208(var5, var9, var6)) { + if (!this.method4249(var5, var9, var6)) { return false; } - if (!this.method4208(var5 + 128, var9, var6)) { + if (!this.method4249(var5 + 128, var9, var6)) { return false; } @@ -2280,49 +2281,49 @@ public class Scene { } } - if (!this.method4208(var5 + 64, var10, var6 + 64)) { + if (!this.method4249(var5 + 64, var10, var6 + 64)) { return false; } else if (var4 == 16) { - return this.method4208(var5, var9, var6 + 128); + return this.method4249(var5, var9, var6 + 128); } else if (var4 == 32) { - return this.method4208(var5 + 128, var9, var6 + 128); + return this.method4249(var5 + 128, var9, var6 + 128); } else if (var4 == 64) { - return this.method4208(var5 + 128, var9, var6); + return this.method4249(var5 + 128, var9, var6); } else if (var4 == 128) { - return this.method4208(var5, var9, var6); + return this.method4249(var5, var9, var6); } else { return true; } } } - @ObfuscatedName("bt") - boolean method4182(int var1, int var2, int var3, int var4) { - if (!this.method4315(var1, var2, var3)) { + @ObfuscatedName("ai") + boolean method4247(int var1, int var2, int var3, int var4) { + if (!this.method4245(var1, var2, var3)) { return false; } else { int var5 = var2 << 7; int var6 = var3 << 7; - return this.method4208(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method4208(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method4208(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method4208(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); + return this.method4249(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method4249(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method4249(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method4249(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); } } - @ObfuscatedName("bf") - boolean method4183(int var1, int var2, int var3, int var4, int var5, int var6) { + @ObfuscatedName("bg") + boolean method4263(int var1, int var2, int var3, int var4, int var5, int var6) { int var7; int var8; if (var3 == var2 && var5 == var4) { - if (!this.method4315(var1, var2, var4)) { + if (!this.method4245(var1, var2, var4)) { return false; } else { var7 = var2 << 7; var8 = var4 << 7; - return this.method4208(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method4208(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method4208(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method4208(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); + return this.method4249(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method4249(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method4249(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method4249(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); } } else { for (var7 = var2; var7 <= var3; ++var7) { for (var8 = var4; var8 <= var5; ++var8) { - if (this.field2370[var1][var7][var8] == -Scene_drawnCount) { + if (this.field2439[var1][var7][var8] == -Scene_drawnCount) { return false; } } @@ -2331,17 +2332,17 @@ public class Scene { var7 = (var2 << 7) + 1; var8 = (var4 << 7) + 2; int var9 = this.tileHeights[var1][var2][var4] - var6; - if (!this.method4208(var7, var9, var8)) { + if (!this.method4249(var7, var9, var8)) { return false; } else { int var10 = (var3 << 7) - 1; - if (!this.method4208(var10, var9, var8)) { + if (!this.method4249(var10, var9, var8)) { return false; } else { int var11 = (var5 << 7) - 1; - if (!this.method4208(var7, var9, var11)) { + if (!this.method4249(var7, var9, var11)) { return false; - } else if (!this.method4208(var10, var9, var11)) { + } else if (!this.method4249(var10, var9, var11)) { return false; } else { return true; @@ -2351,8 +2352,8 @@ public class Scene { } } - @ObfuscatedName("bp") - boolean method4208(int var1, int var2, int var3) { + @ObfuscatedName("bf") + boolean method4249(int var1, int var2, int var3) { for (int var4 = 0; var4 < Scene_currentOccludersCount; ++var4) { Occluder var5 = Scene_currentOccluders[var4]; int var6; @@ -2360,57 +2361,57 @@ public class Scene { int var8; int var9; int var10; - if (var5.field2450 == 1) { + if (var5.field2466 == 1) { var6 = var5.minX - var1; if (var6 > 0) { - var7 = (var6 * var5.field2456 >> 8) + var5.minZ; - var8 = (var6 * var5.field2440 >> 8) + var5.maxZ; - var9 = (var6 * var5.field2459 >> 8) + var5.minY; - var10 = (var6 * var5.field2451 >> 8) + var5.maxY; + var7 = (var6 * var5.field2469 >> 8) + var5.minZ; + var8 = (var6 * var5.field2470 >> 8) + var5.maxZ; + var9 = (var6 * var5.field2463 >> 8) + var5.minY; + var10 = (var6 * var5.field2472 >> 8) + var5.maxY; if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } - } else if (var5.field2450 == 2) { + } else if (var5.field2466 == 2) { var6 = var1 - var5.minX; if (var6 > 0) { - var7 = (var6 * var5.field2456 >> 8) + var5.minZ; - var8 = (var6 * var5.field2440 >> 8) + var5.maxZ; - var9 = (var6 * var5.field2459 >> 8) + var5.minY; - var10 = (var6 * var5.field2451 >> 8) + var5.maxY; + var7 = (var6 * var5.field2469 >> 8) + var5.minZ; + var8 = (var6 * var5.field2470 >> 8) + var5.maxZ; + var9 = (var6 * var5.field2463 >> 8) + var5.minY; + var10 = (var6 * var5.field2472 >> 8) + var5.maxY; if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } - } else if (var5.field2450 == 3) { + } else if (var5.field2466 == 3) { var6 = var5.minZ - var3; if (var6 > 0) { - var7 = (var6 * var5.field2452 >> 8) + var5.minX; - var8 = (var6 * var5.field2453 >> 8) + var5.maxX; - var9 = (var6 * var5.field2459 >> 8) + var5.minY; - var10 = (var6 * var5.field2451 >> 8) + var5.maxY; + var7 = (var6 * var5.field2467 >> 8) + var5.minX; + var8 = (var6 * var5.field2468 >> 8) + var5.maxX; + var9 = (var6 * var5.field2463 >> 8) + var5.minY; + var10 = (var6 * var5.field2472 >> 8) + var5.maxY; if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } - } else if (var5.field2450 == 4) { + } else if (var5.field2466 == 4) { var6 = var3 - var5.minZ; if (var6 > 0) { - var7 = (var6 * var5.field2452 >> 8) + var5.minX; - var8 = (var6 * var5.field2453 >> 8) + var5.maxX; - var9 = (var6 * var5.field2459 >> 8) + var5.minY; - var10 = (var6 * var5.field2451 >> 8) + var5.maxY; + var7 = (var6 * var5.field2467 >> 8) + var5.minX; + var8 = (var6 * var5.field2468 >> 8) + var5.maxX; + var9 = (var6 * var5.field2463 >> 8) + var5.minY; + var10 = (var6 * var5.field2472 >> 8) + var5.maxY; if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } - } else if (var5.field2450 == 5) { + } else if (var5.field2466 == 5) { var6 = var2 - var5.minY; if (var6 > 0) { - var7 = (var6 * var5.field2452 >> 8) + var5.minX; - var8 = (var6 * var5.field2453 >> 8) + var5.maxX; - var9 = (var6 * var5.field2456 >> 8) + var5.minZ; - var10 = (var6 * var5.field2440 >> 8) + var5.maxZ; + var7 = (var6 * var5.field2467 >> 8) + var5.minX; + var8 = (var6 * var5.field2468 >> 8) + var5.maxX; + var9 = (var6 * var5.field2469 >> 8) + var5.minZ; + var10 = (var6 * var5.field2470 >> 8) + var5.maxZ; if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { return true; } @@ -2421,7 +2422,7 @@ public class Scene { return false; } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("Scene_addOccluder") public static void Scene_addOccluder(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { Occluder var8 = new Occluder(); @@ -2439,7 +2440,7 @@ public class Scene { Scene_planeOccluders[var0][Scene_planeOccluderCounts[var0]++] = var8; } - @ObfuscatedName("ak") + @ObfuscatedName("aa") @Export("Scene_buildVisiblityMap") public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int var3, int var4) { Scene_viewportXMin = 0; @@ -2472,7 +2473,7 @@ public class Scene { boolean var14 = false; for (int var15 = -var1; var15 <= var2; var15 += 128) { - if (method4168(var12, var0[var8] + var15, var13)) { + if (method4233(var12, var0[var8] + var15, var13)) { var14 = true; break; } @@ -2490,27 +2491,27 @@ public class Scene { for (var9 = -25; var9 < 25; ++var9) { boolean var16 = false; - label85: + label83: for (var11 = -1; var11 <= 1; ++var11) { for (var12 = -1; var12 <= 1; ++var12) { if (var5[var6][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { var16 = true; - break label85; + break label83; } if (var5[var6][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { var16 = true; - break label85; + break label83; } if (var5[var6 + 1][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { var16 = true; - break label85; + break label83; } if (var5[var6 + 1][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { var16 = true; - break label85; + break label83; } } } @@ -2523,8 +2524,8 @@ public class Scene { } - @ObfuscatedName("an") - static boolean method4168(int var0, int var1, int var2) { + @ObfuscatedName("ag") + static boolean method4233(int var0, int var1, int var2) { int var3 = var0 * Scene_cameraYawCosine + var2 * Scene_cameraYawSine >> 16; int var4 = var2 * Scene_cameraYawCosine - var0 * Scene_cameraYawSine >> 16; int var5 = var4 * Scene_cameraPitchCosine + Scene_cameraPitchSine * var1 >> 16; @@ -2538,20 +2539,20 @@ public class Scene { } } - @ObfuscatedName("am") + @ObfuscatedName("ac") @Export("shouldSendWalk") public static boolean shouldSendWalk() { return viewportWalking && Scene_selectedX != -1; } - @ObfuscatedName("ao") - public static void method4193() { + @ObfuscatedName("at") + public static void method4243() { Scene_selectedX = -1; viewportWalking = false; } - @ObfuscatedName("ac") - static final int method4177(int var0, int var1) { + @ObfuscatedName("aj") + static final int method4242(int var0, int var1) { var1 = (var0 & 127) * var1 >> 7; if (var1 < 2) { var1 = 2; @@ -2562,7 +2563,7 @@ public class Scene { return (var0 & 65408) + var1; } - @ObfuscatedName("ag") + @ObfuscatedName("am") @Export("containsBounds") static boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { if (var1 < var2 && var1 < var3 && var1 < var4) { diff --git a/runescape-client/src/main/java/SceneTileModel.java b/runescape-client/src/main/java/SceneTileModel.java index 13747e79e6..25a1ebbd6f 100644 --- a/runescape-client/src/main/java/SceneTileModel.java +++ b/runescape-client/src/main/java/SceneTileModel.java @@ -2,63 +2,63 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("he") +@ObfuscatedName("hr") @Implements("SceneTileModel") public final class SceneTileModel { - @ObfuscatedName("h") - static int[] field2486; - @ObfuscatedName("d") - static int[] field2482; - @ObfuscatedName("q") - static int[] field2488; - @ObfuscatedName("j") - static int[] field2485; - @ObfuscatedName("x") - static int[] field2475; + @ObfuscatedName("c") + static int[] field2497; @ObfuscatedName("b") - static final int[][] field2491; - @ObfuscatedName("t") - static final int[][] field2471; - @ObfuscatedName("n") + static int[] field2498; + @ObfuscatedName("x") + static int[] field2499; + @ObfuscatedName("p") + static int[] field2500; + @ObfuscatedName("z") + static int[] field2484; + @ObfuscatedName("h") + static final int[][] field2502; + @ObfuscatedName("o") + static final int[][] field2503; + @ObfuscatedName("l") @Export("vertexX") int[] vertexX; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("vertexY") int[] vertexY; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("vertexZ") int[] vertexZ; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("triangleColorA") int[] triangleColorA; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("triangleColorB") int[] triangleColorB; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("triangleColorC") int[] triangleColorC; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("faceX") int[] faceX; @ObfuscatedName("a") @Export("faceY") int[] faceY; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("faceZ") int[] faceZ; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("triangleTextureId") int[] triangleTextureId; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("isFlat") boolean isFlat; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("shape") int shape; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("rotation") int rotation; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("underlayRgb") int underlayRgb; @ObfuscatedName("s") @@ -66,13 +66,13 @@ public final class SceneTileModel { int overlayRgb; static { - field2486 = new int[6]; - field2482 = new int[6]; - field2488 = new int[6]; - field2485 = new int[6]; - field2475 = new int[6]; - field2491 = 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}}; - field2471 = 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}}; + field2497 = new int[6]; + field2498 = new int[6]; + field2499 = new int[6]; + field2500 = new int[6]; + field2484 = new int[6]; + field2502 = 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}}; + field2503 = 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}}; } SceneTileModel(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) { @@ -89,7 +89,7 @@ public final class SceneTileModel { int var21 = var20 / 2; int var22 = var20 / 4; int var23 = var20 * 3 / 4; - int[] var24 = field2491[var1]; + int[] var24 = field2502[var1]; int var25 = var24.length; this.vertexX = new int[var25]; this.vertexY = new int[var25]; @@ -224,7 +224,7 @@ public final class SceneTileModel { var27[var30] = var36; } - int[] var38 = field2471[var1]; + int[] var38 = field2503[var1]; var31 = var38.length / 4; this.faceX = new int[var31]; this.faceY = new int[var31]; diff --git a/runescape-client/src/main/java/SceneTilePaint.java b/runescape-client/src/main/java/SceneTilePaint.java index 0c22f34233..85f753a286 100644 --- a/runescape-client/src/main/java/SceneTilePaint.java +++ b/runescape-client/src/main/java/SceneTilePaint.java @@ -1,48 +1,51 @@ +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hw") +@ObfuscatedName("hm") @Implements("SceneTilePaint") public final class SceneTilePaint { - @ObfuscatedName("n") + @ObfuscatedName("y") + public static short[] field2600; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 625864189 + intValue = 2030212895 ) @Export("swColor") int swColor; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -373675019 + intValue = 1181812781 ) @Export("seColor") int seColor; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -560012417 + intValue = 1463738049 ) @Export("neColor") int neColor; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -37282275 + intValue = -1957825957 ) @Export("nwColor") int nwColor; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -4240159 + intValue = -435313337 ) @Export("texture") int texture; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("isFlat") boolean isFlat; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -53596681 + intValue = 1677192307 ) @Export("rgb") int rgb; @@ -58,127 +61,23 @@ public final class SceneTilePaint { this.isFlat = var7; } - @ObfuscatedName("q") + @ObfuscatedName("kr") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;IB)V", - garbageValue = "-19" + descriptor = "(B)V", + garbageValue = "35" ) - static final void method4479(String var0, int var1) { - PacketBufferNode var2 = FriendSystem.getPacketBufferNode(ClientPacket.field2697, Client.packetWriter.isaacCipher); - var2.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var0) + 1); - var2.packetBuffer.writeStringCp1252NullTerminated(var0); - var2.packetBuffer.method6819(var1); - Client.packetWriter.addNode(var2); - } + @Export("FriendSystem_invalidateIgnoreds") + static final void FriendSystem_invalidateIgnoreds() { + Iterator var0 = Messages.Messages_hashTable.iterator(); - @ObfuscatedName("fi") - @ObfuscatedSignature( - descriptor = "(Lcf;IB)V", - garbageValue = "51" - ) - @Export("updateActorSequence") - static final void updateActorSequence(Actor var0, int var1) { - if (var0.field1139 >= Client.cycle) { - GameObject.method4495(var0); - } else if (var0.field1140 >= Client.cycle) { - class4.method21(var0); - } else { - class157.method2918(var0); + while (var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromIgnored(); } - if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field1139 = 0; - var0.field1140 = 0; - var0.x = var0.field1137 * 64 + var0.pathX[0] * 128; - var0.y = var0.field1137 * 64 + var0.pathY[0] * 128; - var0.method2123(); + if (class264.friendsChat != null) { + class264.friendsChat.invalidateIgnoreds(); } - if (class129.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field1139 = 0; - var0.field1140 = 0; - var0.x = var0.field1137 * 64 + var0.pathX[0] * 128; - var0.y = var0.field1137 * 64 + var0.pathY[0] * 128; - var0.method2123(); - } - - if (var0.field1146 != 0) { - if (var0.targetIndex != -1) { - Object var2 = null; - if (var0.targetIndex < 32768) { - var2 = Client.npcs[var0.targetIndex]; - } else if (var0.targetIndex >= 32768) { - var2 = Client.players[var0.targetIndex - 32768]; - } - - if (var2 != null) { - int var3 = var0.x - ((Actor)var2).x; - int var4 = var0.y - ((Actor)var2).y; - if (var3 != 0 || var4 != 0) { - var0.orientation = (int)(Math.atan2((double)var3, (double)var4) * 325.949D) & 2047; - } - } else if (var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - } - - if (var0.field1096 != -1 && (var0.pathLength == 0 || var0.field1151 > 0)) { - var0.orientation = var0.field1096; - var0.field1096 = -1; - } - - int var5 = var0.orientation - var0.rotation & 2047; - if (var5 == 0 && var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - - if (var5 != 0) { - ++var0.field1145; - boolean var7; - if (var5 > 1024) { - var0.rotation -= var0.field1146; - var7 = true; - if (var5 < var0.field1146 || var5 > 2048 - var0.field1146) { - var0.rotation = var0.orientation; - var7 = false; - } - - if (var0.idleSequence == var0.movementSequence && (var0.field1145 > 25 || var7)) { - if (var0.turnLeftSequence != -1) { - var0.movementSequence = var0.turnLeftSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } else { - var0.rotation += var0.field1146; - var7 = true; - if (var5 < var0.field1146 || var5 > 2048 - var0.field1146) { - var0.rotation = var0.orientation; - var7 = false; - } - - if (var0.idleSequence == var0.movementSequence && (var0.field1145 > 25 || var7)) { - if (var0.turnRightSequence != -1) { - var0.movementSequence = var0.turnRightSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } - - var0.rotation &= 2047; - } else { - var0.field1145 = 0; - } - } - - Player.method2114(var0); } } diff --git a/runescape-client/src/main/java/Script.java b/runescape-client/src/main/java/Script.java index 08f671ef10..33708dbafc 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -4,54 +4,56 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bg") +@ObfuscatedName("be") @Implements("Script") public class Script extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("Script_cached") static EvictingDualNodeHashTable Script_cached; - @ObfuscatedName("dr") - @Export("mouseCam") - static boolean mouseCam; - @ObfuscatedName("c") - String field941; - @ObfuscatedName("m") + @ObfuscatedName("ox") + @ObfuscatedGetter( + intValue = 630113855 + ) + static int field954; + @ObfuscatedName("q") + String field956; + @ObfuscatedName("f") @Export("opcodes") int[] opcodes; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("intOperands") int[] intOperands; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("stringOperands") String[] stringOperands; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 970581103 + intValue = 738752155 ) @Export("localIntCount") int localIntCount; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1044657775 + intValue = -1783554177 ) @Export("localStringCount") int localStringCount; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 930141117 + intValue = -276096773 ) @Export("intArgumentCount") int intArgumentCount; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1398121329 + intValue = -1841585005 ) @Export("stringArgumentCount") int stringArgumentCount; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "[Lnz;" ) @@ -65,49 +67,117 @@ public class Script extends DualNode { Script() { } - @ObfuscatedName("k") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(IB)[Lnz;", - garbageValue = "-37" + descriptor = "(II)[Lnz;", + garbageValue = "-287949117" ) @Export("newIterableNodeHashTable") IterableNodeHashTable[] newIterableNodeHashTable(int var1) { return new IterableNodeHashTable[var1]; } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "88717898" + descriptor = "(ZZI)Loz;", + garbageValue = "-1258113861" ) - @Export("itemContainerSetItem") - static void itemContainerSetItem(int var0, int var1, int var2, int var3) { - ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var4 == null) { - var4 = new ItemContainer(); - ItemContainer.itemContainers.put(var4, (long)var0); - } + static IndexedSprite method1955(boolean var0, boolean var1) { + return var0 ? (var1 ? Login.field877 : FileSystem.options_buttons_2Sprite) : (var1 ? Login.field876 : class397.options_buttons_0Sprite); + } - if (var4.ids.length <= var1) { - int[] var5 = new int[var1 + 1]; - int[] var6 = new int[var1 + 1]; + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(Lkl;Ljava/lang/String;Ljava/lang/String;I)[Lon;", + garbageValue = "9795538" + ) + public static SpritePixels[] method1970(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + SpritePixels[] var5; + if (!VarbitComposition.method3102(var0, var3, var4)) { + var5 = null; + } else { + SpritePixels[] var7 = new SpritePixels[class414.SpriteBuffer_spriteCount]; - int var7; - for (var7 = 0; var7 < var4.ids.length; ++var7) { - var5[var7] = var4.ids[var7]; - var6[var7] = var4.quantities[var7]; + for (int var8 = 0; var8 < class414.SpriteBuffer_spriteCount; ++var8) { + SpritePixels var9 = var7[var8] = new SpritePixels(); + var9.width = class414.SpriteBuffer_spriteWidth; + var9.height = class408.SpriteBuffer_spriteHeight; + var9.xOffset = class135.SpriteBuffer_xOffsets[var8]; + var9.yOffset = class131.SpriteBuffer_yOffsets[var8]; + var9.subWidth = class414.SpriteBuffer_spriteWidths[var8]; + var9.subHeight = class16.SpriteBuffer_spriteHeights[var8]; + int var10 = var9.subHeight * var9.subWidth; + byte[] var11 = class414.SpriteBuffer_pixels[var8]; + var9.pixels = new int[var10]; + + for (int var12 = 0; var12 < var10; ++var12) { + var9.pixels[var12] = class351.SpriteBuffer_spritePalette[var11[var12] & 255]; + } } - for (var7 = var4.ids.length; var7 < var1; ++var7) { - var5[var7] = -1; - var6[var7] = 0; - } - - var4.ids = var5; - var4.quantities = var6; + StudioGame.method5130(); + var5 = var7; } - var4.ids[var1] = var2; - var4.quantities[var1] = var3; + return var5; + } + + @ObfuscatedName("em") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-348336461" + ) + @Export("forceDisconnect") + static final void forceDisconnect(int var0) { + AttackOption.logOut(); + switch(var0) { + case 1: + class112.method2474(24); + class17.setLoginResponseString("", "You were disconnected from the server.", ""); + break; + case 2: + NPC.method2233(); + } + + } + + @ObfuscatedName("hg") + @ObfuscatedSignature( + descriptor = "(Lcx;I)V", + garbageValue = "379416409" + ) + static final void method1969(PendingSpawn var0) { + long var1 = 0L; + int var3 = -1; + int var4 = 0; + int var5 = 0; + if (var0.type == 0) { + var1 = PlayerComposition.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 1) { + var1 = PlayerComposition.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 2) { + var1 = PlayerComposition.scene.getGameObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 3) { + var1 = PlayerComposition.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); + } + + if (var1 != 0L) { + int var6 = PlayerComposition.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); + var3 = InterfaceParent.Entity_unpackID(var1); + var4 = var6 & 31; + var5 = var6 >> 6 & 3; + } + + var0.objectId = var3; + var0.field1096 = var4; + var0.field1095 = var5; } } diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index 7c4645e091..5a0b149513 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -3,69 +3,70 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cl") +@ObfuscatedName("cy") @Implements("ScriptEvent") public class ScriptEvent extends Node { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("args") Object[] args; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isMouseInputEvent") boolean isMouseInputEvent; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("widget") Widget widget; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1052798577 + intValue = -16564539 ) @Export("mouseX") int mouseX; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1252343399 + intValue = -682131027 ) @Export("mouseY") int mouseY; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 384034427 + intValue = -1167365765 ) @Export("opIndex") int opIndex; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("dragTarget") Widget dragTarget; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -250292993 + intValue = -334465261 ) @Export("keyTyped") int keyTyped; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 708606643 + intValue = -1224571083 ) @Export("keyPressed") int keyPressed; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("targetName") String targetName; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 858415665 - ) - int field1035; @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -895151869 + intValue = -1064106161 + ) + int field1037; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -2078183665 ) @Export("type") int type; @@ -74,74 +75,109 @@ public class ScriptEvent extends Node { this.type = 76; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "([Ljava/lang/Object;I)V", - garbageValue = "-1935974464" + garbageValue = "1467724189" ) @Export("setArgs") public void setArgs(Object[] var1) { this.args = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-68" + descriptor = "(II)V", + garbageValue = "-1722413774" ) @Export("setType") public void setType(int var1) { this.type = var1; } - @ObfuscatedName("n") + @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(II)Lfq;", - garbageValue = "-763198319" + descriptor = "(ILbe;ZI)I", + garbageValue = "460269771" ) - @Export("getNpcDefinition") - public static NPCComposition getNpcDefinition(int var0) { - NPCComposition var1 = (NPCComposition)NPCComposition.NpcDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; + static int method2066(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.SOUND_SYNTH) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + class184.queueSoundEffect(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize], Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_SONG) { + WorldMapSprite.playSong(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + PcmPlayer.method741(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize], Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + return 1; } else { - byte[] var2 = NPCComposition.NpcDefinition_archive.takeFile(9, var0); - var1 = new NPCComposition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); + int var3; + int var4; + if (var0 != 3209 && var0 != 3181 && var0 != 3203 && var0 != 3205 && var0 != 3207) { + if (var0 != 3210 && var0 != 3182 && var0 != 3204 && var0 != 3206 && var0 != 3208) { + return var0 == 3211 ? 1 : 2; + } else { + var3 = 0; + var4 = 0; + if (var0 == 3210) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + } else if (var0 == 3182) { + var3 = 6; + } else if (var0 == 3204) { + var3 = 7; + } else if (var0 == 3206) { + var3 = 8; + } else if (var0 == 3208) { + var3 = 9; + } + + if (var3 == 6) { + float var5 = 200.0F * ((float)WorldMapDecorationType.clientPreferences.brightness - 0.5F); + var4 = 100 - Math.round(var5); + } else if (var3 == 7) { + var4 = Math.round((float)WorldMapDecorationType.clientPreferences.musicVolume / 2.55F); + } else if (var3 == 8) { + var4 = Math.round((float)WorldMapDecorationType.clientPreferences.soundEffectsVolume / 1.27F); + } else if (var3 == 9) { + var4 = Math.round((float)WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume / 1.27F); + } + + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4; + return 1; + } + } else { + var3 = 0; + var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var0 == 3209) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + } else if (var0 == 3181) { + var3 = 6; + } else if (var0 == 3203) { + var3 = 7; + } else if (var0 == 3205) { + var3 = 8; + } else if (var0 == 3207) { + var3 = 9; + } + + if (var3 == 6) { + var4 = 100 - Math.min(Math.max(var4, 0), 100); + class268.method5105((double)(0.5F + (float)var4 / 200.0F)); + } else if (var3 == 7) { + var4 = Math.min(Math.max(var4, 0), 100); + class29.method430(Math.round(2.55F * (float)var4)); + } else if (var3 == 8) { + var4 = Math.min(Math.max(var4, 0), 100); + class129.updateSoundEffectVolume(Math.round(1.27F * (float)var4)); + } else if (var3 == 9) { + var4 = Math.min(Math.max(var4, 0), 100); + GrandExchangeOfferOwnWorldComparator.method1104(Math.round(1.27F * (float)var4)); + } + + return 1; } - - var1.postDecode(); - NPCComposition.NpcDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lkk;I)V", - garbageValue = "1025358410" - ) - public static void method2056(AbstractArchive var0) { - EnumComposition.EnumDefinition_archive = var0; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Ljd;II)V", - garbageValue = "851372469" - ) - @Export("Widget_setKeyIgnoreHeld") - static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { - if (var0.field3100 == null) { - throw new RuntimeException(); - } else { - if (var0.field3188 == null) { - var0.field3188 = new int[var0.field3100.length]; - } - - var0.field3188[var1] = Integer.MAX_VALUE; } } } diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index 725d92f661..5ef101cfdb 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -1,44 +1,28 @@ -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.URL; -import java.net.URLConnection; -import java.util.Random; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bl") +@ObfuscatedName("bj") @Implements("ScriptFrame") public class ScriptFrame { - @ObfuscatedName("sv") - @ObfuscatedGetter( - intValue = 345312141 - ) - static int field447; - @ObfuscatedName("nr") - @ObfuscatedGetter( - intValue = 222177301 - ) - @Export("selectedSpellFlags") - static int selectedSpellFlags; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lbg;" + descriptor = "Lbe;" ) @Export("script") Script script; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1290618837 + intValue = 574495061 ) @Export("pc") int pc; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("intLocals") int[] intLocals; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("stringLocals") String[] stringLocals; @@ -46,533 +30,156 @@ public class ScriptFrame { this.pc = -1; } - @ObfuscatedName("e") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1508115242" + descriptor = "(B)V", + garbageValue = "45" ) - static void method1085() { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - } else { - long var1; - try { - URL var3 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); - URLConnection var4 = var3.openConnection(); - var4.setRequestProperty("connection", "close"); - var4.setDoInput(true); - var4.setDoOutput(true); - var4.setConnectTimeout(5000); - OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); - var5.write("data1=req"); - var5.flush(); - InputStream var6 = var4.getInputStream(); - Buffer var7 = new Buffer(new byte[1000]); + @Export("savePreferences") + static void savePreferences() { + AccessFile var0 = null; - while (true) { - int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); - if (var8 == -1) { - var7.offset = 0; - long var20 = var7.readLong(); - var1 = var20; - break; - } + try { + var0 = World.getPreferencesFile("", class392.field4267.name, true); + Buffer var1 = WorldMapDecorationType.clientPreferences.toBuffer(); + var0.write(var1.array, 0, var1.offset); + } catch (Exception var3) { + } - var7.offset += var8; - if (var7.offset >= 1000) { - var1 = 0L; - break; - } + try { + if (var0 != null) { + var0.closeSync(true); + } + } catch (Exception var2) { + } + + } + + @ObfuscatedName("gd") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZB)V", + garbageValue = "-15" + ) + @Export("drawLoadingMessage") + static final void drawLoadingMessage(String var0, boolean var1) { + if (Client.showLoadingMessages) { + byte var2 = 4; + int var3 = var2 + 6; + int var4 = var2 + 6; + int var5 = class262.fontPlain12.lineWidth(var0, 250); + int var6 = class262.fontPlain12.lineCount(var0, 250) * 13; + Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var2 + var5, var2 + var6 + var2, 16777215); + class262.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); + int var7 = var3 - var2; + int var8 = var4 - var2; + int var9 = var2 + var5 + var2; + int var10 = var6 + var2 + var2; + + for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) { + if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var7 + var9 && Client.rootWidgetHeights[var11] + Client.rootWidgetYs[var11] > var8 && Client.rootWidgetYs[var11] < var8 + var10) { + Client.field710[var11] = true; } - } catch (Exception var28) { - var1 = 0L; } - byte var0; - if (var1 == 0L) { - var0 = 5; + if (var1) { + class244.rasterProvider.drawFull(0, 0); } else { - String var29 = Login.Login_username; - Random var30 = new Random(); - Buffer var24 = new Buffer(128); - Buffer var9 = new Buffer(128); - int[] var10 = new int[]{var30.nextInt(), var30.nextInt(), (int)(var1 >> 32), (int)var1}; - var24.writeByte(10); - - int var11; - for (var11 = 0; var11 < 4; ++var11) { - var24.writeInt(var30.nextInt()); - } - - var24.writeInt(var10[0]); - var24.writeInt(var10[1]); - var24.writeLong(var1); - var24.writeLong(0L); - - for (var11 = 0; var11 < 4; ++var11) { - var24.writeInt(var30.nextInt()); - } - - var24.encryptRsa(class65.field849, class65.field853); - var9.writeByte(10); - - for (var11 = 0; var11 < 3; ++var11) { - var9.writeInt(var30.nextInt()); - } - - var9.writeLong(var30.nextLong()); - var9.writeLongMedium(var30.nextLong()); - ClientPreferences.method2195(var9); - var9.writeLong(var30.nextLong()); - var9.encryptRsa(class65.field849, class65.field853); - var11 = BufferedSink.stringCp1252NullTerminatedByteSize(var29); - if (var11 % 8 != 0) { - var11 += 8 - var11 % 8; - } - - Buffer var12 = new Buffer(var11); - var12.writeStringCp1252NullTerminated(var29); - var12.offset = var11; - var12.xteaEncryptAll(var10); - Buffer var13 = new Buffer(var12.offset + var24.offset + var9.offset + 5); - var13.writeByte(2); - var13.writeByte(var24.offset); - var13.writeBytes(var24.array, 0, var24.offset); - var13.writeByte(var9.offset); - var13.writeBytes(var9.array, 0, var9.offset); - var13.writeShort(var12.offset); - var13.writeBytes(var12.array, 0, var12.offset); - String var14 = Message.method1104(var13.array); - - byte var25; - try { - URL var15 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); - URLConnection var16 = var15.openConnection(); - var16.setDoInput(true); - var16.setDoOutput(true); - var16.setConnectTimeout(5000); - OutputStreamWriter var17 = new OutputStreamWriter(var16.getOutputStream()); - var17.write("data2=" + VertexNormal.method4478(var14) + "&dest=" + VertexNormal.method4478("passwordchoice.ws")); - var17.flush(); - InputStream var18 = var16.getInputStream(); - var13 = new Buffer(new byte[1000]); - - while (true) { - int var19 = var18.read(var13.array, var13.offset, 1000 - var13.offset); - if (var19 == -1) { - var17.close(); - var18.close(); - String var26 = new String(var13.array); - if (var26.startsWith("OFFLINE")) { - var25 = 4; - } else if (var26.startsWith("WRONG")) { - var25 = 7; - } else if (var26.startsWith("RELOAD")) { - var25 = 3; - } else if (var26.startsWith("Not permitted for social network accounts.")) { - var25 = 6; - } else { - var13.xteaDecryptAll(var10); - - while (var13.offset > 0 && var13.array[var13.offset - 1] == 0) { - --var13.offset; - } - - var26 = new String(var13.array, 0, var13.offset); - if (WorldMapScaleHandler.method3907(var26)) { - Interpreter.openURL(var26, true, false); - var25 = 2; - } else { - var25 = 5; - } - } - break; - } - - var13.offset += var19; - if (var13.offset >= 1000) { - var25 = 5; - break; - } - } - } catch (Throwable var27) { - var27.printStackTrace(); - var25 = 5; - } - - var0 = var25; - } - - switch(var0) { - case 2: - PlatformInfo.setLoginResponseString(Strings.field3609, Strings.field3610, Strings.field3611); - Message.method1113(6); - break; - case 3: - PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 4: - PlatformInfo.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); - break; - case 5: - PlatformInfo.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); - break; - case 6: - PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 7: - PlatformInfo.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); + class112.method2468(var3, var4, var5, var6); } } } - @ObfuscatedName("v") + @ObfuscatedName("iy") @ObfuscatedSignature( - descriptor = "(Lbh;S)V", - garbageValue = "28449" + descriptor = "(Lci;IIIB)V", + garbageValue = "-1" ) - @Export("changeWorld") - static void changeWorld(World var0) { - if (var0.isMembersOnly() != Client.isMembersWorld) { - Client.isMembersWorld = var0.isMembersOnly(); - boolean var1 = var0.isMembersOnly(); - if (var1 != Huffman.ItemDefinition_inMembersWorld) { - Client.method1330(); - Huffman.ItemDefinition_inMembersWorld = var1; - } - } - - if (var0.properties != Client.worldProperties) { - Archive var3 = World.archive8; - int var2 = var0.properties; - if ((var2 & 536870912) != 0) { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo_deadman_mode", ""); - } else if ((var2 & 1073741824) != 0) { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo_seasonal_mode", ""); - } else { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var3, "logo", ""); - } - } - - class279.worldHost = var0.host; - Client.worldId = var0.id; - Client.worldProperties = var0.properties; - GameBuild.worldPort = Client.gameBuild == 0 ? 43594 : var0.id + 40000; - AbstractWorldMapIcon.js5Port = Client.gameBuild == 0 ? 443 : var0.id + 50000; - ClientPreferences.currentPort = GameBuild.worldPort; - } - - @ObfuscatedName("hi") - @ObfuscatedSignature( - descriptor = "(Lip;I)V", - garbageValue = "1826318148" - ) - static final void method1086(class240 var0) { - PacketBuffer var1 = Client.packetWriter.packetBuffer; - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - if (class240.field2749 == var0) { - var2 = var1.method7007(); - var3 = var2 >> 2; - var4 = var2 & 3; - var5 = Client.field549[var3]; - var6 = var1.readUnsignedByte(); - var7 = (var6 >> 4 & 7) + JagexCache.field1559; - var8 = (var6 & 7) + WorldMapEvent.field2216; - if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { - ParamComposition.updatePendingSpawn(class391.Client_plane, var7, var8, var5, -1, var3, var4, 0, -1); - } - - } else { - int var9; - int var10; - int var11; - int var12; - int var13; - byte var37; - if (class240.field2758 == var0) { - var37 = var1.readByte(); - var3 = var1.method6856(); - var4 = var1.method6844(); - var5 = var1.readUnsignedByte(); - var6 = (var5 >> 4 & 7) + JagexCache.field1559; - var7 = (var5 & 7) + WorldMapEvent.field2216; - var8 = var1.method6844() * 4; - var9 = var1.method7007(); - var10 = var1.method6940(); - var11 = var1.method6940(); - byte var40 = var1.method6899(); - var13 = var1.method6844() * 4; - int var41 = var1.method6940(); - var2 = var37 + var6; - var12 = var40 + var7; - if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104 && var2 >= 0 && var12 >= 0 && var2 < 104 && var12 < 104 && var11 != 65535) { - var6 = var6 * 128 + 64; - var7 = var7 * 128 + 64; - var2 = var2 * 128 + 64; - var12 = var12 * 128 + 64; - Projectile var36 = new Projectile(var11, class391.Client_plane, var6, var7, GraphicsObject.getTileHeight(var6, var7, class391.Client_plane) - var13, var41 + Client.cycle, var10 + Client.cycle, var4, var9, var3, var8); - var36.setDestination(var2, var12, GraphicsObject.getTileHeight(var2, var12, class391.Client_plane) - var8, var41 + Client.cycle); - Client.projectiles.addFirst(var36); - } - - } else { - if (class240.field2755 == var0) { - var2 = var1.readUnsignedShort(); - var3 = var1.readUnsignedByte(); - var4 = var3 >> 4 & 15; - var5 = var3 & 7; - var6 = var1.method7007(); - var7 = (var6 >> 4 & 7) + JagexCache.field1559; - var8 = (var6 & 7) + WorldMapEvent.field2216; - var9 = var1.method7007(); - if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { - var10 = var4 + 1; - if (class129.localPlayer.pathX[0] >= var7 - var10 && class129.localPlayer.pathX[0] <= var7 + var10 && class129.localPlayer.pathY[0] >= var8 - var10 && class129.localPlayer.pathY[0] <= var10 + var8 && VarbitComposition.clientPreferences.areaSoundEffectsVolume != 0 && var5 > 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var2; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var5; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = var4 + (var8 << 8) + (var7 << 16); - ++Client.soundEffectCount; - } - } - } - - TileItem var35; - if (class240.field2752 == var0) { - var2 = var1.readUnsignedShort(); - var3 = var1.readUnsignedShort(); - var4 = var1.method6844(); - var5 = (var4 >> 4 & 7) + JagexCache.field1559; - var6 = (var4 & 7) + WorldMapEvent.field2216; - if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { - var35 = new TileItem(); - var35.id = var3; - var35.quantity = var2; - if (Client.groundItems[class391.Client_plane][var5][var6] == null) { - Client.groundItems[class391.Client_plane][var5][var6] = new NodeDeque(); - } - - Client.groundItems[class391.Client_plane][var5][var6].addFirst(var35); - SoundSystem.updateItemPile(var5, var6); - } - - } else if (class240.field2751 == var0) { - var2 = var1.method6940(); - var3 = var1.readUnsignedByte(); - var4 = (var3 >> 4 & 7) + JagexCache.field1559; - var5 = (var3 & 7) + WorldMapEvent.field2216; - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { - NodeDeque var34 = Client.groundItems[class391.Client_plane][var4][var5]; - if (var34 != null) { - for (var35 = (TileItem)var34.last(); var35 != null; var35 = (TileItem)var34.previous()) { - if ((var2 & 32767) == var35.id) { - var35.remove(); - break; - } - } - - if (var34.last() == null) { - Client.groundItems[class391.Client_plane][var4][var5] = null; - } - - SoundSystem.updateItemPile(var4, var5); - } - } - - } else if (class240.field2750 == var0) { - var2 = var1.readUnsignedShort(); - var3 = var1.method7007(); - var4 = (var3 >> 4 & 7) + JagexCache.field1559; - var5 = (var3 & 7) + WorldMapEvent.field2216; - var6 = var1.readUnsignedByte(); - var7 = var6 >> 2; - var8 = var6 & 3; - var9 = Client.field549[var7]; - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { - ParamComposition.updatePendingSpawn(class391.Client_plane, var4, var5, var9, var2, var7, var8, 0, -1); - } - - } else if (class240.field2756 == var0) { - var2 = var1.method7007(); - var3 = (var2 >> 4 & 7) + JagexCache.field1559; - var4 = (var2 & 7) + WorldMapEvent.field2216; - var5 = var1.method6853(); - var6 = var1.method6844(); - var7 = var6 >> 2; - var8 = var6 & 3; - var9 = Client.field549[var7]; - if (var3 >= 0 && var4 >= 0 && var3 < 103 && var4 < 103) { - if (var9 == 0) { - BoundaryObject var33 = CollisionMap.scene.method4155(class391.Client_plane, var3, var4); - if (var33 != null) { - var11 = HealthBarDefinition.Entity_unpackID(var33.tag); - if (var7 == 2) { - var33.renderable1 = new DynamicObject(var11, 2, var8 + 4, class391.Client_plane, var3, var4, var5, false, var33.renderable1); - var33.renderable2 = new DynamicObject(var11, 2, var8 + 1 & 3, class391.Client_plane, var3, var4, var5, false, var33.renderable2); - } else { - var33.renderable1 = new DynamicObject(var11, var7, var8, class391.Client_plane, var3, var4, var5, false, var33.renderable1); - } - } - } - - if (var9 == 1) { - WallDecoration var43 = CollisionMap.scene.method4156(class391.Client_plane, var3, var4); - if (var43 != null) { - var11 = HealthBarDefinition.Entity_unpackID(var43.tag); - if (var7 != 4 && var7 != 5) { - if (var7 == 6) { - var43.renderable1 = new DynamicObject(var11, 4, var8 + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1); - } else if (var7 == 7) { - var43.renderable1 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1); - } else if (var7 == 8) { - var43.renderable1 = new DynamicObject(var11, 4, var8 + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable1); - var43.renderable2 = new DynamicObject(var11, 4, (var8 + 2 & 3) + 4, class391.Client_plane, var3, var4, var5, false, var43.renderable2); - } - } else { - var43.renderable1 = new DynamicObject(var11, 4, var8, class391.Client_plane, var3, var4, var5, false, var43.renderable1); - } - } - } - - if (var9 == 2) { - GameObject var44 = CollisionMap.scene.method4180(class391.Client_plane, var3, var4); - if (var7 == 11) { - var7 = 10; - } - - if (var44 != null) { - var44.renderable = new DynamicObject(HealthBarDefinition.Entity_unpackID(var44.tag), var7, var8, class391.Client_plane, var3, var4, var5, false, var44.renderable); - } - } - - if (var9 == 3) { - FloorDecoration var45 = CollisionMap.scene.getFloorDecoration(class391.Client_plane, var3, var4); - if (var45 != null) { - var45.renderable = new DynamicObject(HealthBarDefinition.Entity_unpackID(var45.tag), 22, var8, class391.Client_plane, var3, var4, var5, false, var45.renderable); - } - } - } - - } else if (class240.field2760 == var0) { - var2 = var1.readUnsignedShort(); - var3 = var1.method6940(); - var4 = var1.method6844(); - var5 = (var4 >> 4 & 7) + JagexCache.field1559; - var6 = (var4 & 7) + WorldMapEvent.field2216; - var7 = var1.readUnsignedByte(); - if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { - var5 = var5 * 128 + 64; - var6 = var6 * 128 + 64; - GraphicsObject var42 = new GraphicsObject(var3, class391.Client_plane, var5, var6, GraphicsObject.getTileHeight(var5, var6, class391.Client_plane) - var7, var2, Client.cycle); - Client.graphicsObjects.addFirst(var42); + @Export("addPlayerToMenu") + static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { + if (class67.localPlayer != var0) { + if (Client.menuOptionsCount < 400) { + String var4; + int var7; + if (var0.skillLevel == 0) { + String var5 = var0.actions[0] + var0.username + var0.actions[1]; + var7 = var0.combatLevel; + int var8 = class67.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = FloorUnderlayDefinition.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = FloorUnderlayDefinition.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = FloorUnderlayDefinition.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = FloorUnderlayDefinition.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = FloorUnderlayDefinition.colorStartTag(65280); + } else if (var9 > 6) { + var6 = FloorUnderlayDefinition.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = FloorUnderlayDefinition.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = FloorUnderlayDefinition.colorStartTag(12648192); + } else { + var6 = FloorUnderlayDefinition.colorStartTag(16776960); } + var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; } else { - if (class240.field2753 == var0) { - var37 = var1.method6901(); - var3 = var1.readUnsignedByte(); - var4 = (var3 >> 4 & 7) + JagexCache.field1559; - var5 = (var3 & 7) + WorldMapEvent.field2216; - var6 = var1.method6940(); - byte var38 = var1.readByte(); - var8 = var1.readUnsignedShort(); - byte var39 = var1.method6848(); - var10 = var1.method7007(); - var11 = var10 >> 2; - var12 = var10 & 3; - var13 = Client.field549[var11]; - byte var14 = var1.readByte(); - int var15 = var1.method6855(); - int var16 = var1.readUnsignedShort(); - Player var17; - if (var15 == Client.localPlayerIndex) { - var17 = class129.localPlayer; - } else { - var17 = Client.players[var15]; - } + var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; + } - if (var17 != null) { - ObjectComposition var18 = HitSplatDefinition.getObjectDefinition(var8); - int var19; - int var20; - if (var12 != 1 && var12 != 3) { - var19 = var18.sizeX; - var20 = var18.sizeY; - } else { - var19 = var18.sizeY; - var20 = var18.sizeX; - } - - int var21 = var4 + (var19 >> 1); - int var22 = var4 + (var19 + 1 >> 1); - int var23 = var5 + (var20 >> 1); - int var24 = var5 + (var20 + 1 >> 1); - int[][] var25 = Tiles.Tiles_heights[class391.Client_plane]; - int var26 = var25[var21][var23] + var25[var22][var23] + var25[var21][var24] + var25[var22][var24] >> 2; - int var27 = (var4 << 7) + (var19 << 6); - int var28 = (var5 << 7) + (var20 << 6); - Model var29 = var18.getModel(var11, var12, var25, var27, var26, var28); - if (var29 != null) { - ParamComposition.updatePendingSpawn(class391.Client_plane, var4, var5, var13, -1, 0, 0, var6 + 1, var16 + 1); - var17.animationCycleStart = var6 + Client.cycle; - var17.animationCycleEnd = var16 + Client.cycle; - var17.model0 = var29; - var17.field1058 = var19 * 64 + var4 * 128; - var17.field1060 = var20 * 64 + var5 * 128; - var17.tileHeight2 = var26; - byte var30; - if (var38 > var37) { - var30 = var38; - var38 = var37; - var37 = var30; - } - - if (var14 > var39) { - var30 = var14; - var14 = var39; - var39 = var30; - } - - var17.minX = var4 + var38; - var17.maxX = var4 + var37; - var17.minY = var5 + var14; - var17.maxY = var5 + var39; - } - } + int var10; + if (Client.isItemSelected == 1) { + GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16777215) + var4, 14, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((ObjectComposition.selectedSpellFlags & 8) == 8) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16777215) + var4, 15, var1, var2, var3); } - - if (class240.field2757 == var0) { - var2 = var1.method6940(); - var3 = var1.method6940(); - var4 = var1.method6940(); - var5 = var1.method6849(); - var6 = (var5 >> 4 & 7) + JagexCache.field1559; - var7 = (var5 & 7) + WorldMapEvent.field2216; - if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { - NodeDeque var31 = Client.groundItems[class391.Client_plane][var6][var7]; - if (var31 != null) { - for (TileItem var32 = (TileItem)var31.last(); var32 != null; var32 = (TileItem)var31.previous()) { - if ((var4 & 32767) == var32.id && var3 == var32.quantity) { - var32.quantity = var2; - break; - } + } else { + for (var10 = 7; var10 >= 0; --var10) { + if (Client.playerMenuActions[var10] != null) { + short var11 = 0; + if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { + if (Client.playerAttackOption == AttackOption.AttackOption_hidden) { + continue; } - SoundSystem.updateItemPile(var6, var7); - } - } + if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > class67.localPlayer.combatLevel) { + var11 = 2000; + } + if (class67.localPlayer.team != 0 && var0.team != 0) { + if (var0.team == class67.localPlayer.team) { + var11 = 2000; + } else { + var11 = 0; + } + } else if (Client.playerAttackOption == AttackOption.field1237 && var0.isClanMember()) { + var11 = 2000; + } + } else if (Client.playerOptionsPriorities[var10]) { + var11 = 2000; + } + + boolean var12 = false; + var7 = Client.playerMenuOpcodes[var10] + var11; + GameBuild.insertMenuItemNoShift(Client.playerMenuActions[var10], FloorUnderlayDefinition.colorStartTag(16777215) + var4, var7, var1, var2, var3); + } } } + + for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { + if (Client.menuOpcodes[var10] == 23) { + Client.menuTargets[var10] = FloorUnderlayDefinition.colorStartTag(16777215) + var4; + break; + } + } + } } } diff --git a/runescape-client/src/main/java/SecureRandomCallable.java b/runescape-client/src/main/java/SecureRandomCallable.java index b17065a3d3..25896ba62c 100644 --- a/runescape-client/src/main/java/SecureRandomCallable.java +++ b/runescape-client/src/main/java/SecureRandomCallable.java @@ -1,46 +1,288 @@ import java.util.concurrent.Callable; -import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bs") +@ObfuscatedName("bk") @Implements("SecureRandomCallable") public class SecureRandomCallable implements Callable { - @ObfuscatedName("eu") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive12") - static Archive archive12; - SecureRandomCallable() { } public Object call() { - return FloorOverlayDefinition.method3272(); + return Buddy.method6152(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;B)V", - garbageValue = "1" + descriptor = "(I)V", + garbageValue = "1287485741" ) - @Export("addGameMessage") - static void addGameMessage(int var0, String var1, String var2) { - FriendSystem.addChatMessage(var0, var1, var2, (String)null); + static void method2036() { + Tiles.Tiles_underlays = null; + Tiles.Tiles_overlays = null; + class14.Tiles_shapes = null; + GrandExchangeEvent.field3760 = null; + Huffman.field3203 = null; + class281.field3323 = null; + Tiles.field981 = null; + class11.Tiles_hue = null; + Tiles.Tiles_saturation = null; + Tiles.Tiles_lightness = null; + Client.Tiles_hueMultiplier = null; + Tiles.field984 = null; } - @ObfuscatedName("z") + @ObfuscatedName("ah") @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "32" + descriptor = "(ILbe;ZI)I", + garbageValue = "1022742204" ) - static int method2010(int var0, int var1, int var2) { - if ((Tiles.Tiles_renderFlags[var0][var1][var2] & 8) != 0) { - return 0; + static int method2026(int var0, Script var1, boolean var2) { + int var3; + int var4; + if (var0 == ScriptOpcodes.ADD) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4 + var3; + return 1; + } else if (var0 == ScriptOpcodes.SUB) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 - var4; + return 1; + } else if (var0 == ScriptOpcodes.MULTIPLY) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4 * var3; + return 1; + } else if (var0 == ScriptOpcodes.DIV) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 / var4; + return 1; + } else if (var0 == ScriptOpcodes.RANDOM) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); + return 1; + } else if (var0 == ScriptOpcodes.RANDOMINC) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); + return 1; } else { - return var0 > 0 && (Tiles.Tiles_renderFlags[1][var1][var2] & 2) != 0 ? var0 - 1 : var0; + int var5; + int var6; + int var7; + if (var0 == ScriptOpcodes.INTERPOLATE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 5; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + var7 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 4]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 + (var4 - var3) * (var7 - var5) / (var6 - var5); + return 1; + } else if (var0 == ScriptOpcodes.ADDPERCENT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 + var3 * var4 / 100; + return 1; + } else if (var0 == ScriptOpcodes.SETBIT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 | 1 << var4; + return 1; + } else if (var0 == ScriptOpcodes.CLEARBIT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); + return 1; + } else if (var0 == ScriptOpcodes.TESTBIT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.MOD) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 % var4; + return 1; + } else if (var0 == ScriptOpcodes.POW) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.INVPOW) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + switch(var4) { + case 0: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; + break; + case 1: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + break; + case 2: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); + break; + case 3: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); + break; + case 4: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); + break; + default: + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); + } + + return 1; + } + } else if (var0 == ScriptOpcodes.AND) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 & var4; + return 1; + } else if (var0 == ScriptOpcodes.OR) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 | var4; + return 1; + } else if (var0 == ScriptOpcodes.SCALE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + long var9 = (long)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + long var11 = (long)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + long var13 = (long)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = (int)(var9 * var13 / var11); + return 1; + } else if (var0 == ScriptOpcodes.BITCOUNT) { + var3 = WorldMapData_1.method3757(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + return 1; + } else if (var0 == ScriptOpcodes.TOGGLEBIT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 ^ 1 << var4; + return 1; + } else if (var0 == ScriptOpcodes.SETBIT_RANGE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ChatChannel.method1978(var3, var4, var5); + return 1; + } else if (var0 == ScriptOpcodes.CLEARBIT_RANGE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = GrandExchangeEvents.method5348(var3, var4, var5); + return 1; + } else if (var0 == ScriptOpcodes.GETBIT_RANGE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var6 = 31 - var5; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 << var6 >>> var6 + var4; + return 1; + } else if (var0 == 4030) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + var3 = GrandExchangeEvents.method5348(var3, var5, var6); + var7 = FloorOverlayDefinition.method3343(var6 - var5 + 1); + if (var4 > var7) { + var4 = var7; + } + + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3 | var4 << var5; + return 1; + } else if (var0 == 4032) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class185.method3784(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1]); + return 1; + } else if (var0 == 4033) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class283.method5141(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1]); + return 1; + } else if (var0 == 4034) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class140.method2770(var3, var4); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5; + return 1; + } else if (var0 == 4035) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Math.abs(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1]); + return 1; + } else { + return 2; + } } } + + @ObfuscatedName("hq") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1668664473" + ) + static final void method2035() { + int var0 = LoginScreenAnimation.menuX; + int var1 = class392.menuY; + int var2 = UserComparator7.menuWidth; + int var3 = ApproximateRouteStrategy.menuHeight; + int var4 = 6116423; + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, var4); + Rasterizer2D.Rasterizer2D_fillRectangle(var0 + 1, var1 + 1, var2 - 2, 16, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var0 + 1, var1 + 18, var2 - 2, var3 - 19, 0); + Interpreter.fontBold12.draw("Choose Option", var0 + 3, var1 + 14, var4, -1); + int var5 = MouseHandler.MouseHandler_x; + int var6 = MouseHandler.MouseHandler_y; + + for (int var7 = 0; var7 < Client.menuOptionsCount; ++var7) { + int var8 = (Client.menuOptionsCount - 1 - var7) * 15 + var1 + 31; + int var9 = 16777215; + if (var5 > var0 && var5 < var0 + var2 && var6 > var8 - 13 && var6 < var8 + 3) { + var9 = 16776960; + } + + Font var10 = Interpreter.fontBold12; + String var11; + if (var7 < 0) { + var11 = ""; + } else if (Client.menuTargets[var7].length() > 0) { + var11 = Client.menuActions[var7] + " " + Client.menuTargets[var7]; + } else { + var11 = Client.menuActions[var7]; + } + + var10.draw(var11, var0 + 3, var8, var9, 0); + } + + class112.method2468(LoginScreenAnimation.menuX, class392.menuY, UserComparator7.menuWidth, ApproximateRouteStrategy.menuHeight); + } } diff --git a/runescape-client/src/main/java/SecureRandomFuture.java b/runescape-client/src/main/java/SecureRandomFuture.java index 11bf78c96e..f318bce868 100644 --- a/runescape-client/src/main/java/SecureRandomFuture.java +++ b/runescape-client/src/main/java/SecureRandomFuture.java @@ -7,13 +7,25 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ba") +@ObfuscatedName("by") @Implements("SecureRandomFuture") public class SecureRandomFuture { - @ObfuscatedName("n") + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("Widget_fontsArchive") + public static AbstractArchive Widget_fontsArchive; + @ObfuscatedName("hs") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("crossSprites") + static SpritePixels[] crossSprites; + @ObfuscatedName("l") @Export("executor") ExecutorService executor; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("future") Future future; @@ -22,10 +34,10 @@ public class SecureRandomFuture { this.future = this.executor.submit(new SecureRandomCallable()); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1169265574" + descriptor = "(B)V", + garbageValue = "104" ) @Export("shutdown") void shutdown() { @@ -33,51 +45,73 @@ public class SecureRandomFuture { this.executor = null; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1889970762" + descriptor = "(B)Z", + garbageValue = "73" ) @Export("isDone") boolean isDone() { return this.future.isDone(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Ljava/security/SecureRandom;", - garbageValue = "593938417" + garbageValue = "-1230835583" ) @Export("get") SecureRandom get() { try { return (SecureRandom)this.future.get(); } catch (Exception var2) { - return FloorOverlayDefinition.method3272(); + return Buddy.method6152(); } } - @ObfuscatedName("a") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "103" + descriptor = "(Lot;I)Ljava/lang/String;", + garbageValue = "707406336" ) - @Export("Login_promptCredentials") - static void Login_promptCredentials(boolean var0) { - Login.Login_response1 = ""; - Login.Login_response2 = "Enter your username/email & password."; - Login.Login_response3 = ""; - Message.method1113(2); - if (var0) { - Login.Login_password = ""; + public static String method1951(Buffer var0) { + String var1; + try { + int var2 = var0.readUShortSmart(); + if (var2 > 32767) { + var2 = 32767; + } + + byte[] var3 = new byte[var2]; + var0.offset += class264.huffman.decompress(var0.array, var0.offset, var3, 0, var2); + String var4 = Fonts.decodeStringCp1252(var3, 0, var2); + var1 = var4; + } catch (Exception var6) { + var1 = "Cabbage"; } - class131.method2645(); - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; + return var1; + } + + @ObfuscatedName("in") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljt;I)Ljava/lang/String;", + garbageValue = "-1891184957" + ) + static String method1952(String var0, Widget var1) { + if (var0.indexOf("%") != -1) { + for (int var2 = 1; var2 <= 5; ++var2) { + while (true) { + int var3 = var0.indexOf("%" + var2); + if (var3 == -1) { + break; + } + + var0 = var0.substring(0, var3) + class54.method1057(FriendsChat.method5992(var1, var2 - 1)) + var0.substring(var3 + 2); + } + } } + return var0; } } diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index fbb9543d61..8b9eba3a72 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -4,96 +4,89 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fa") +@ObfuscatedName("fe") @Implements("SequenceDefinition") public class SequenceDefinition extends DualNode { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lkk;" + @ObfuscatedName("sg") + @ObfuscatedGetter( + intValue = 1752918559 ) - @Export("SequenceDefinition_archive") - static AbstractArchive SequenceDefinition_archive; - @ObfuscatedName("c") + static int field1954; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("SequenceDefinition_animationsArchive") - static AbstractArchive SequenceDefinition_animationsArchive; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("SequenceDefinition_skeletonsArchive") - static AbstractArchive SequenceDefinition_skeletonsArchive; - @ObfuscatedName("k") + public static AbstractArchive SequenceDefinition_skeletonsArchive; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("SequenceDefinition_cached") - static EvictingDualNodeHashTable SequenceDefinition_cached; - @ObfuscatedName("o") + public static EvictingDualNodeHashTable SequenceDefinition_cached; + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("SequenceDefinition_cachedFrames") - static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; - @ObfuscatedName("g") + public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; + @ObfuscatedName("k") @Export("frameIds") public int[] frameIds; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("chatFrameIds") int[] chatFrameIds; @ObfuscatedName("a") @Export("frameLengths") public int[] frameLengths; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("soundEffects") public int[] soundEffects; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -516992757 + intValue = 500568589 ) @Export("frameCount") public int frameCount; - @ObfuscatedName("l") - int[] field1953; @ObfuscatedName("y") - public boolean field1954; - @ObfuscatedName("v") + int[] field1953; + @ObfuscatedName("w") + public boolean field1945; + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = -108403137 + intValue = 102030039 ) public int field1955; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -883660489 + intValue = 961941809 ) @Export("shield") public int shield; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 433477557 + intValue = 848725063 ) @Export("weapon") public int weapon; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = -1559176949 + intValue = -1370198801 ) - public int field1958; - @ObfuscatedName("d") + public int field1952; + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = 173743593 + intValue = 1801078555 ) public int field1959; - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedGetter( - intValue = -1640024295 + intValue = -1401670869 ) public int field1960; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = -264783013 + intValue = 2079014027 ) public int field1961; @@ -104,20 +97,20 @@ public class SequenceDefinition extends DualNode { SequenceDefinition() { this.frameCount = -1; - this.field1954 = false; + this.field1945 = false; this.field1955 = 5; this.shield = -1; this.weapon = -1; - this.field1958 = 99; + this.field1952 = 99; this.field1959 = -1; this.field1960 = -1; this.field1961 = 2; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1643897394" + garbageValue = "-1628718793" ) @Export("decode") void decode(Buffer var1) { @@ -131,10 +124,10 @@ public class SequenceDefinition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-166229684" + garbageValue = "2076948132" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -169,7 +162,7 @@ public class SequenceDefinition extends DualNode { this.field1953[var3] = 9999999; } else if (var2 == 4) { - this.field1954 = true; + this.field1945 = true; } else if (var2 == 5) { this.field1955 = var1.readUnsignedByte(); } else if (var2 == 6) { @@ -177,7 +170,7 @@ public class SequenceDefinition extends DualNode { } else if (var2 == 7) { this.weapon = var1.readUnsignedShort(); } else if (var2 == 8) { - this.field1958 = var1.readUnsignedByte(); + this.field1952 = var1.readUnsignedByte(); } else if (var2 == 9) { this.field1959 = var1.readUnsignedByte(); } else if (var2 == 10) { @@ -206,10 +199,10 @@ public class SequenceDefinition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "15" + descriptor = "(I)V", + garbageValue = "-1690125059" ) @Export("postDecode") void postDecode() { @@ -231,15 +224,15 @@ public class SequenceDefinition extends DualNode { } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lhg;II)Lhg;", - garbageValue = "508882538" + descriptor = "(Lhl;IS)Lhl;", + garbageValue = "-22376" ) @Export("transformActorModel") public Model transformActorModel(Model var1, int var2) { var2 = this.frameIds[var2]; - Frames var3 = class124.getFrames(var2 >> 16); + Frames var3 = MilliClock.getFrames(var2 >> 16); var2 &= 65535; if (var3 == null) { return var1.toSharedSequenceModel(true); @@ -250,15 +243,15 @@ public class SequenceDefinition extends DualNode { } } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lhg;III)Lhg;", - garbageValue = "-790531787" + descriptor = "(Lhl;IIB)Lhl;", + garbageValue = "-28" ) @Export("transformObjectModel") Model transformObjectModel(Model var1, int var2, int var3) { var2 = this.frameIds[var2]; - Frames var4 = class124.getFrames(var2 >> 16); + Frames var4 = MilliClock.getFrames(var2 >> 16); var2 &= 65535; if (var4 == null) { return var1.toSharedSequenceModel(true); @@ -286,15 +279,15 @@ public class SequenceDefinition extends DualNode { } } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lhg;II)Lhg;", - garbageValue = "1375824089" + descriptor = "(Lhl;IB)Lhl;", + garbageValue = "-58" ) @Export("transformSpotAnimationModel") Model transformSpotAnimationModel(Model var1, int var2) { var2 = this.frameIds[var2]; - Frames var3 = class124.getFrames(var2 >> 16); + Frames var3 = MilliClock.getFrames(var2 >> 16); var2 &= 65535; if (var3 == null) { return var1.toSharedSpotAnimationModel(true); @@ -305,21 +298,21 @@ public class SequenceDefinition extends DualNode { } } - @ObfuscatedName("u") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Lhg;ILfa;II)Lhg;", - garbageValue = "266592335" + descriptor = "(Lhl;ILfe;IS)Lhl;", + garbageValue = "6680" ) @Export("applyTransformations") public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { var2 = this.frameIds[var2]; - Frames var5 = class124.getFrames(var2 >> 16); + Frames var5 = MilliClock.getFrames(var2 >> 16); var2 &= 65535; if (var5 == null) { return var3.transformActorModel(var1, var4); } else { var4 = var3.frameIds[var4]; - Frames var6 = class124.getFrames(var4 >> 16); + Frames var6 = MilliClock.getFrames(var4 >> 16); var4 &= 65535; Model var7; if (var6 == null) { @@ -336,13 +329,13 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(Lhg;IB)Lhg;", + descriptor = "(Lhl;IB)Lhl;", garbageValue = "0" ) @Export("transformWidgetModel") public Model transformWidgetModel(Model var1, int var2) { int var3 = this.frameIds[var2]; - Frames var4 = class124.getFrames(var3 >> 16); + Frames var4 = MilliClock.getFrames(var3 >> 16); var3 &= 65535; if (var4 == null) { return var1.toSharedSequenceModel(true); @@ -351,7 +344,7 @@ public class SequenceDefinition extends DualNode { int var6 = 0; if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { var6 = this.chatFrameIds[var2]; - var5 = class124.getFrames(var6 >> 16); + var5 = MilliClock.getFrames(var6 >> 16); var6 &= 65535; } @@ -369,13 +362,16 @@ public class SequenceDefinition extends DualNode { } } - @ObfuscatedName("u") + @ObfuscatedName("fu") @ObfuscatedSignature( - descriptor = "(I)Lbh;", - garbageValue = "-1797701824" + descriptor = "(I)V", + garbageValue = "870841332" ) - @Export("getNextWorldListWorld") - static World getNextWorldListWorld() { - return World.World_listCount < World.World_count ? class393.World_worlds[++World.World_listCount - 1] : null; + static void method3381() { + if (TileItem.worldMap != null) { + TileItem.worldMap.method6504(VertexNormal.Client_plane, (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX, (class67.localPlayer.y >> 7) + PlayerComposition.baseY, false); + TileItem.worldMap.loadCache(); + } + } } diff --git a/runescape-client/src/main/java/ServerPacket.java b/runescape-client/src/main/java/ServerPacket.java index 213488a305..d6657b3383 100644 --- a/runescape-client/src/main/java/ServerPacket.java +++ b/runescape-client/src/main/java/ServerPacket.java @@ -4,593 +4,593 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("it") +@ObfuscatedName("in") @Implements("ServerPacket") public class ServerPacket { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2836; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2844; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2771; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2864; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2773; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2774; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2821; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2797; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2777; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2778; @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2779; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2780; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2770; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2782; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2783; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2787; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2796; + public static final ServerPacket field2878; @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2786; + public static final ServerPacket field2882; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2869; @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2837; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2784; - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2789; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) public static final ServerPacket field2790; - @ObfuscatedName("r") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2840; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2792; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2851; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2794; - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2795; - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2769; - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2852; - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2830; - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2799; - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2800; - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2802; - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2811; - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2820; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2804; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2805; - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2793; - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2807; - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2815; - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2809; - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2810; - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2816; - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2812; - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2813; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2814; - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2817; - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2775; - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2842; - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2818; - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2819; - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2863; - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2806; - @ObfuscatedName("bt") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2822; - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2823; - @ObfuscatedName("bp") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2824; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2825; - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2826; - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2827; - @ObfuscatedName("bw") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2828; - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2829; - @ObfuscatedName("bj") - @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) public static final ServerPacket field2791; - @ObfuscatedName("be") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2831; - @ObfuscatedName("bq") + public static final ServerPacket field2792; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2832; - @ObfuscatedName("bu") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2833; - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2834; - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2835; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2856; - @ObfuscatedName("bb") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2803; - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2838; - @ObfuscatedName("ba") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2839; - @ObfuscatedName("bg") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2808; - @ObfuscatedName("bo") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2841; - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2798; - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2843; - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2772; - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2845; - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2846; - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2847; - @ObfuscatedName("ci") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2848; - @ObfuscatedName("cl") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2849; - @ObfuscatedName("cu") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2850; - @ObfuscatedName("co") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - public static final ServerPacket field2788; - @ObfuscatedName("cb") - @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) public static final ServerPacket field2862; - @ObfuscatedName("cf") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2853; - @ObfuscatedName("cc") + public static final ServerPacket field2794; + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2854; - @ObfuscatedName("cn") + public static final ServerPacket field2827; + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2855; - @ObfuscatedName("ch") + public static final ServerPacket field2841; + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2781; - @ObfuscatedName("cx") + public static final ServerPacket field2832; + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2857; - @ObfuscatedName("cv") + public static final ServerPacket field2798; + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2858; - @ObfuscatedName("cr") + public static final ServerPacket field2799; + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2859; - @ObfuscatedName("cq") + public static final ServerPacket field2789; + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2860; - @ObfuscatedName("ck") + public static final ServerPacket field2804; + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2861; - @ObfuscatedName("cm") + public static final ServerPacket field2802; + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" ) - public static final ServerPacket field2785; - @ObfuscatedName("cy") + public static final ServerPacket field2795; + @ObfuscatedName("x") @ObfuscatedSignature( - descriptor = "Lit;" + descriptor = "Lin;" + ) + public static final ServerPacket field2816; + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2805; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2806; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2807; + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2803; + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2809; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2810; + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2811; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2808; + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2813; + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2817; + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2815; + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2812; + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "Lin;" ) public static final ServerPacket field2801; + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2818; + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2819; + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2820; + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2788; + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2822; + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2823; + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2796; + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2845; + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2826; + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2821; + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2828; + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2829; + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2830; + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2831; + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2814; + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2833; + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2834; + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2835; + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2797; + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2836; + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2838; + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2839; + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2840; + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2865; + @ObfuscatedName("bf") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2787; + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2843; + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2844; + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2879; + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2846; + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2847; + @ObfuscatedName("ba") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2793; + @ObfuscatedName("bm") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2849; + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2850; + @ObfuscatedName("bs") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2851; + @ObfuscatedName("bd") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2852; + @ObfuscatedName("bb") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2853; + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2861; + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2855; + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2848; + @ObfuscatedName("by") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2857; + @ObfuscatedName("be") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2858; + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2859; + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2860; + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2824; + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2874; + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2863; + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2864; + @ObfuscatedName("ca") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2856; + @ObfuscatedName("ct") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2800; + @ObfuscatedName("cy") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2867; + @ObfuscatedName("cg") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2868; + @ObfuscatedName("ci") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2866; + @ObfuscatedName("cx") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2870; + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2871; @ObfuscatedName("cp") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2872; + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2873; + @ObfuscatedName("cr") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2842; + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2875; + @ObfuscatedName("cs") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2876; + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2877; + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2854; + @ObfuscatedName("cz") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2837; + @ObfuscatedName("cu") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2880; + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "Lin;" + ) + public static final ServerPacket field2881; + @ObfuscatedName("cn") @ObfuscatedGetter( - intValue = 2060228669 + intValue = -215332077 ) @Export("id") public final int id; - @ObfuscatedName("cg") + @ObfuscatedName("cf") @ObfuscatedGetter( - intValue = 2018095445 + intValue = -387107353 ) @Export("length") public final int length; static { - field2836 = new ServerPacket(0, 4); - field2844 = new ServerPacket(1, 4); - field2771 = new ServerPacket(2, -1); - field2864 = new ServerPacket(3, 4); - field2773 = new ServerPacket(4, 14); - field2774 = new ServerPacket(5, 8); - field2821 = new ServerPacket(6, -2); - field2797 = new ServerPacket(7, -2); - field2777 = new ServerPacket(8, 5); - field2778 = new ServerPacket(9, -2); - field2779 = new ServerPacket(10, 2); - field2780 = new ServerPacket(11, 10); - field2770 = new ServerPacket(12, 1); - field2782 = new ServerPacket(13, -2); - field2783 = new ServerPacket(14, 0); - field2787 = new ServerPacket(15, -2); - field2796 = new ServerPacket(16, -1); - field2786 = new ServerPacket(17, -2); - field2837 = new ServerPacket(18, 2); - field2784 = new ServerPacket(19, 6); - field2789 = new ServerPacket(20, 2); - field2790 = new ServerPacket(21, -2); - field2840 = new ServerPacket(22, -1); - field2792 = new ServerPacket(23, -2); - field2851 = new ServerPacket(24, 4); - field2794 = new ServerPacket(25, 6); - field2795 = new ServerPacket(26, 2); - field2769 = new ServerPacket(27, 0); - field2852 = new ServerPacket(28, 2); - field2830 = new ServerPacket(29, 0); - field2799 = new ServerPacket(30, -1); - field2800 = new ServerPacket(31, 6); - field2802 = new ServerPacket(32, 2); - field2811 = new ServerPacket(33, 0); - field2820 = new ServerPacket(34, 15); - field2804 = new ServerPacket(35, -2); - field2805 = new ServerPacket(36, 10); - field2793 = new ServerPacket(37, 1); - field2807 = new ServerPacket(38, -1); - field2815 = new ServerPacket(39, 6); - field2809 = new ServerPacket(40, -1); - field2810 = new ServerPacket(41, -2); - field2816 = new ServerPacket(42, -2); - field2812 = new ServerPacket(43, -2); - field2813 = new ServerPacket(44, 3); - field2814 = new ServerPacket(45, 8); - field2817 = new ServerPacket(46, 5); - field2775 = new ServerPacket(47, -2); - field2842 = new ServerPacket(48, 1); - field2818 = new ServerPacket(49, 2); - field2819 = new ServerPacket(50, 6); - field2863 = new ServerPacket(51, -2); - field2806 = new ServerPacket(52, 2); - field2822 = new ServerPacket(53, 7); - field2823 = new ServerPacket(54, 20); - field2824 = new ServerPacket(55, 7); - field2825 = new ServerPacket(56, -2); - field2826 = new ServerPacket(57, -1); - field2827 = new ServerPacket(58, -2); - field2828 = new ServerPacket(59, -2); - field2829 = new ServerPacket(60, -2); - field2791 = new ServerPacket(61, 3); - field2831 = new ServerPacket(62, 2); - field2832 = new ServerPacket(63, 6); - field2833 = new ServerPacket(64, 0); - field2834 = new ServerPacket(65, -2); - field2835 = new ServerPacket(66, -1); - field2856 = new ServerPacket(67, -1); - field2803 = new ServerPacket(68, 8); - field2838 = new ServerPacket(69, -2); - field2839 = new ServerPacket(70, 28); - field2808 = new ServerPacket(71, 8); - field2841 = new ServerPacket(72, 6); - field2798 = new ServerPacket(73, 1); - field2843 = new ServerPacket(74, 6); - field2772 = new ServerPacket(75, 4); - field2845 = new ServerPacket(76, 1); - field2846 = new ServerPacket(77, 4); - field2847 = new ServerPacket(78, 4); - field2848 = new ServerPacket(79, -2); - field2849 = new ServerPacket(80, 6); - field2850 = new ServerPacket(81, 5); - field2788 = new ServerPacket(82, 2); - field2862 = new ServerPacket(83, 0); - field2853 = new ServerPacket(84, 1); - field2854 = new ServerPacket(85, 6); - field2855 = new ServerPacket(86, 5); - field2781 = new ServerPacket(87, 0); - field2857 = new ServerPacket(88, 5); - field2858 = new ServerPacket(89, 0); - field2859 = new ServerPacket(90, 0); - field2860 = new ServerPacket(91, 12); - field2861 = new ServerPacket(92, -2); - field2785 = new ServerPacket(93, 6); - field2801 = new ServerPacket(94, -2); + field2878 = new ServerPacket(0, 4); + field2882 = new ServerPacket(1, 5); + field2869 = new ServerPacket(2, -2); + field2790 = new ServerPacket(3, 20); + field2791 = new ServerPacket(4, 0); + field2792 = new ServerPacket(5, 8); + field2862 = new ServerPacket(6, 4); + field2794 = new ServerPacket(7, 10); + field2827 = new ServerPacket(8, 6); + field2841 = new ServerPacket(9, 2); + field2832 = new ServerPacket(10, 6); + field2798 = new ServerPacket(11, 4); + field2799 = new ServerPacket(12, -2); + field2789 = new ServerPacket(13, 4); + field2804 = new ServerPacket(14, 10); + field2802 = new ServerPacket(15, -1); + field2795 = new ServerPacket(16, -2); + field2816 = new ServerPacket(17, 1); + field2805 = new ServerPacket(18, -2); + field2806 = new ServerPacket(19, -2); + field2807 = new ServerPacket(20, 1); + field2803 = new ServerPacket(21, -2); + field2809 = new ServerPacket(22, -2); + field2810 = new ServerPacket(23, 0); + field2811 = new ServerPacket(24, 5); + field2808 = new ServerPacket(25, -2); + field2813 = new ServerPacket(26, 0); + field2817 = new ServerPacket(27, 1); + field2815 = new ServerPacket(28, -2); + field2812 = new ServerPacket(29, -2); + field2801 = new ServerPacket(30, 0); + field2818 = new ServerPacket(31, 2); + field2819 = new ServerPacket(32, -1); + field2820 = new ServerPacket(33, 7); + field2788 = new ServerPacket(34, 5); + field2822 = new ServerPacket(35, 0); + field2823 = new ServerPacket(36, 0); + field2796 = new ServerPacket(37, 5); + field2845 = new ServerPacket(38, 14); + field2826 = new ServerPacket(39, 2); + field2821 = new ServerPacket(40, 2); + field2828 = new ServerPacket(41, -2); + field2829 = new ServerPacket(42, -1); + field2830 = new ServerPacket(43, 4); + field2831 = new ServerPacket(44, 2); + field2814 = new ServerPacket(45, 6); + field2833 = new ServerPacket(46, -1); + field2834 = new ServerPacket(47, 4); + field2835 = new ServerPacket(48, 3); + field2797 = new ServerPacket(49, 2); + field2836 = new ServerPacket(50, 6); + field2838 = new ServerPacket(51, 2); + field2839 = new ServerPacket(52, -2); + field2840 = new ServerPacket(53, -1); + field2865 = new ServerPacket(54, 8); + field2787 = new ServerPacket(55, 2); + field2843 = new ServerPacket(56, 6); + field2844 = new ServerPacket(57, 6); + field2879 = new ServerPacket(58, -1); + field2846 = new ServerPacket(59, -2); + field2847 = new ServerPacket(60, -2); + field2793 = new ServerPacket(61, 7); + field2849 = new ServerPacket(62, -2); + field2850 = new ServerPacket(63, 6); + field2851 = new ServerPacket(64, 6); + field2852 = new ServerPacket(65, 3); + field2853 = new ServerPacket(66, 6); + field2861 = new ServerPacket(67, -2); + field2855 = new ServerPacket(68, 2); + field2848 = new ServerPacket(69, -2); + field2857 = new ServerPacket(70, -2); + field2858 = new ServerPacket(71, 4); + field2859 = new ServerPacket(72, 0); + field2860 = new ServerPacket(73, -2); + field2824 = new ServerPacket(74, 1); + field2874 = new ServerPacket(75, 0); + field2863 = new ServerPacket(76, 8); + field2864 = new ServerPacket(77, -1); + field2856 = new ServerPacket(78, 12); + field2800 = new ServerPacket(79, 6); + field2867 = new ServerPacket(80, 6); + field2868 = new ServerPacket(81, 5); + field2866 = new ServerPacket(82, 28); + field2870 = new ServerPacket(83, 1); + field2871 = new ServerPacket(84, 8); + field2872 = new ServerPacket(85, 15); + field2873 = new ServerPacket(86, -1); + field2842 = new ServerPacket(87, -2); + field2875 = new ServerPacket(88, 1); + field2876 = new ServerPacket(89, 2); + field2877 = new ServerPacket(90, -2); + field2854 = new ServerPacket(91, 0); + field2837 = new ServerPacket(92, -1); + field2880 = new ServerPacket(93, -2); + field2881 = new ServerPacket(94, -2); } ServerPacket(int var1, int var2) { @@ -598,12 +598,87 @@ public class ServerPacket { this.length = var2; } - @ObfuscatedName("o") + @ObfuscatedName("hi") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2118397790" + descriptor = "(IIIIIIII)V", + garbageValue = "1488688652" ) - public static void method4567() { - VarbitComposition.VarbitDefinition_cached.clear(); + @Export("addPendingSpawnToScene") + static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) { + if (Client.isLowDetail && var0 != VertexNormal.Client_plane) { + return; + } + + long var7 = 0L; + boolean var9 = true; + boolean var10 = false; + boolean var11 = false; + if (var1 == 0) { + var7 = PlayerComposition.scene.getBoundaryObjectTag(var0, var2, var3); + } + + if (var1 == 1) { + var7 = PlayerComposition.scene.getWallDecorationTag(var0, var2, var3); + } + + if (var1 == 2) { + var7 = PlayerComposition.scene.getGameObjectTag(var0, var2, var3); + } + + if (var1 == 3) { + var7 = PlayerComposition.scene.getFloorDecorationTag(var0, var2, var3); + } + + int var12; + if (0L != var7) { + var12 = PlayerComposition.scene.getObjectFlags(var0, var2, var3, var7); + int var14 = InterfaceParent.Entity_unpackID(var7); + int var15 = var12 & 31; + int var16 = var12 >> 6 & 3; + ObjectComposition var13; + if (var1 == 0) { + PlayerComposition.scene.removeBoundaryObject(var0, var2, var3); + var13 = class245.getObjectDefinition(var14); + if (var13.interactType != 0) { + Client.collisionMaps[var0].method3388(var2, var3, var15, var16, var13.boolean1); + } + } + + if (var1 == 1) { + PlayerComposition.scene.removeWallDecoration(var0, var2, var3); + } + + if (var1 == 2) { + PlayerComposition.scene.removeGameObject(var0, var2, var3); + var13 = class245.getObjectDefinition(var14); + if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { + return; + } + + if (var13.interactType != 0) { + Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); + } + } + + if (var1 == 3) { + PlayerComposition.scene.removeFloorDecoration(var0, var2, var3); + var13 = class245.getObjectDefinition(var14); + if (var13.interactType == 1) { + Client.collisionMaps[var0].method3391(var2, var3); + } + } + } + + if (var4 >= 0) { + var12 = var0; + if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { + var12 = var0 + 1; + } + + class115.method2495(var0, var12, var2, var3, var4, var5, var6, PlayerComposition.scene, Client.collisionMaps[var0]); + } + } + } } diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java index a222e576cb..34a127cd5c 100644 --- a/runescape-client/src/main/java/Skeleton.java +++ b/runescape-client/src/main/java/Skeleton.java @@ -3,27 +3,40 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("hm") +@ObfuscatedName("hg") @Implements("Skeleton") public class Skeleton extends Node { - @ObfuscatedName("n") + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lac;" + ) + @Export("soundSystem") + static SoundSystem soundSystem; + @ObfuscatedName("cw") + public static char field2376; + @ObfuscatedName("eu") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive7") + static Archive archive7; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 595222393 + intValue = 140669593 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1776288687 + intValue = -818379809 ) @Export("count") int count; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("transformTypes") int[] transformTypes; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("labels") int[][] labels; @@ -51,474 +64,22 @@ public class Skeleton extends Node { } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lcl;IIB)V", - garbageValue = "-38" + descriptor = "(I)[Lpa;", + garbageValue = "-1301198284" ) - @Export("runScript") - static void runScript(ScriptEvent var0, int var1, int var2) { - Object[] var3 = var0.args; - Script var4; - int var20; - if (FaceNormal.isWorldMapEvent(var0.type)) { - class138.worldMapEvent = (WorldMapEvent)var3[0]; - WorldMapElement var5 = class54.WorldMapElement_get(class138.worldMapEvent.mapElement); - var4 = InterfaceParent.getWorldMapScript(var0.type, var5.objectId, var5.category); - } else { - var20 = (Integer)var3[0]; - var4 = WorldMapAreaData.getScript(var20); - } - - if (var4 != null) { - class240.Interpreter_intStackSize = 0; - Interpreter.Interpreter_stringStackSize = 0; - var20 = -1; - int[] var6 = var4.opcodes; - int[] var7 = var4.intOperands; - byte var8 = -1; - Interpreter.Interpreter_frameDepth = 0; - Interpreter.field829 = false; - boolean var9 = false; - int var10 = 0; - boolean var30 = false; - - label986: { - label987: { - try { - int var13; - try { - var30 = true; - Interpreter.Interpreter_intLocals = new int[var4.localIntCount]; - int var11 = 0; - Interpreter.Interpreter_stringLocals = new String[var4.localStringCount]; - int var12 = 0; - - int var14; - String var21; - for (var13 = 1; var13 < var3.length; ++var13) { - if (var3[var13] instanceof Integer) { - var14 = (Integer)var3[var13]; - if (var14 == -2147483647) { - var14 = var0.mouseX; - } - - if (var14 == -2147483646) { - var14 = var0.mouseY; - } - - if (var14 == -2147483645) { - var14 = var0.widget != null ? var0.widget.id * 296163183 * 1986537359 : -1; - } - - if (var14 == -2147483644) { - var14 = var0.opIndex; - } - - if (var14 == -2147483643) { - var14 = var0.widget != null ? var0.widget.childIndex * -777771557 * -1838330285 : -1; - } - - if (var14 == -2147483642) { - var14 = var0.dragTarget != null ? var0.dragTarget.id * 296163183 * 1986537359 : -1; - } - - if (var14 == -2147483641) { - var14 = var0.dragTarget != null ? var0.dragTarget.childIndex * -777771557 * -1838330285 : -1; - } - - if (var14 == -2147483640) { - var14 = var0.keyTyped; - } - - if (var14 == -2147483639) { - var14 = var0.keyPressed; - } - - Interpreter.Interpreter_intLocals[var11++] = var14; - } else if (var3[var13] instanceof String) { - var21 = (String)var3[var13]; - if (var21.equals("event_opbase")) { - var21 = var0.targetName; - } - - Interpreter.Interpreter_stringLocals[var12++] = var21; - } - } - - Interpreter.field813 = var0.field1035; - - while (true) { - ++var10; - if (var10 > var1) { - throw new RuntimeException(); - } - - ++var20; - int var33 = var6[var20]; - if (var33 >= 100) { - boolean var35; - if (var4.intOperands[var20] == 1) { - var35 = true; - } else { - var35 = false; - } - - var14 = WorldMapLabelSize.method3385(var33, var4, var35); - switch(var14) { - case 0: - var30 = false; - break label986; - case 1: - default: - break; - case 2: - throw new IllegalStateException(); - } - } else if (var33 == 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7[var20]; - } else if (var33 == ScriptOpcodes.GET_VARP) { - var13 = var7[var20]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Varps.Varps_main[var13]; - } else if (var33 == ScriptOpcodes.SET_VARP) { - var13 = var7[var20]; - Varps.Varps_main[var13] = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - InvDefinition.changeGameOptions(var13); - } else if (var33 == ScriptOpcodes.SCONST) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.stringOperands[var20]; - } else if (var33 == ScriptOpcodes.JUMP) { - var20 += var7[var20]; - } else if (var33 == ScriptOpcodes.IF_ICMPNE) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.IF_ICMPEQ) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.IF_ICMPLT) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.IF_ICMPGT) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.RETURN) { - if (Interpreter.Interpreter_frameDepth == 0) { - var30 = false; - break; - } - - ScriptFrame var40 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; - var4 = var40.script; - var6 = var4.opcodes; - var7 = var4.intOperands; - var20 = var40.pc; - Interpreter.Interpreter_intLocals = var40.intLocals; - Interpreter.Interpreter_stringLocals = var40.stringLocals; - } else if (var33 == ScriptOpcodes.GET_VARBIT) { - var13 = var7[var20]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class247.getVarbit(var13); - } else if (var33 == ScriptOpcodes.SET_VARBIT) { - var13 = var7[var20]; - Decimator.method1049(var13, Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - } else if (var33 == ScriptOpcodes.IF_ICMPLE) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.IF_ICMPGE) { - class240.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]) { - var20 += var7[var20]; - } - } else if (var33 == ScriptOpcodes.ILOAD) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var7[var20]]; - } else if (var33 == ScriptOpcodes.ISTORE) { - Interpreter.Interpreter_intLocals[var7[var20]] = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - } else if (var33 == ScriptOpcodes.SLOAD) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Interpreter.Interpreter_stringLocals[var7[var20]]; - } else if (var33 == ScriptOpcodes.SSTORE) { - Interpreter.Interpreter_stringLocals[var7[var20]] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - } else if (var33 == ScriptOpcodes.JOIN_STRING) { - var13 = var7[var20]; - Interpreter.Interpreter_stringStackSize -= var13; - var21 = class300.method5381(Interpreter.Interpreter_stringStack, Interpreter.Interpreter_stringStackSize, var13); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var21; - } else if (var33 == ScriptOpcodes.POP_INT) { - --class240.Interpreter_intStackSize; - } else if (var33 == ScriptOpcodes.POP_STRING) { - --Interpreter.Interpreter_stringStackSize; - } else { - int var17; - if (var33 != ScriptOpcodes.INVOKE) { - if (var33 == ScriptOpcodes.GET_VARC_INT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = GrandExchangeEvent.varcs.getInt(var7[var20]); - } else if (var33 == ScriptOpcodes.SET_VARC_INT) { - GrandExchangeEvent.varcs.setInt(var7[var20], Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - } else if (var33 == ScriptOpcodes.DEFINE_ARRAY) { - var13 = var7[var20] >> 16; - var14 = var7[var20] & 65535; - int var24 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var24 < 0 || var24 > 5000) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrayLengths[var13] = var24; - byte var25 = -1; - if (var14 == 105) { - var25 = 0; - } - - for (var17 = 0; var17 < var24; ++var17) { - Interpreter.Interpreter_arrays[var13][var17] = var25; - } - } else if (var33 == ScriptOpcodes.GET_ARRAY_INT) { - var13 = var7[var20]; - var14 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var13][var14]; - } else if (var33 == ScriptOpcodes.SET_ARRAY_INT) { - var13 = var7[var20]; - class240.Interpreter_intStackSize -= 2; - var14 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrays[var13][var14] = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - } else { - String var22; - if (var33 == ScriptOpcodes.GET_VARC_STRING_OLD) { - var22 = GrandExchangeEvent.varcs.getStringOld(var7[var20]); - if (var22 == null) { - var22 = "null"; - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var22; - } else if (var33 == ScriptOpcodes.SET_VARC_STRING_OLD) { - GrandExchangeEvent.varcs.setStringOld(var7[var20], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - } else if (var33 == ScriptOpcodes.GET_VARC_STRING) { - var22 = GrandExchangeEvent.varcs.getString(var7[var20]); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var22; - } else if (var33 == ScriptOpcodes.SET_VARC_STRING) { - GrandExchangeEvent.varcs.setString(var7[var20], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - } else if (var33 == ScriptOpcodes.SWITCH) { - IterableNodeHashTable var38 = var4.switches[var7[var20]]; - IntegerNode var37 = (IntegerNode)var38.get((long)Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var37 != null) { - var20 += var37.integer; - } - } else { - Integer var39; - if (var33 == ScriptOpcodes.GET_VARCLANSETTING) { - var39 = class317.field3858.getTitleGroupValue(var7[var20]); - if (var39 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var39; - } - } else { - if (var33 != ScriptOpcodes.GET_VARCLAN) { - throw new IllegalStateException(); - } - - var39 = class117.field1388.method6231(var7[var20]); - if (var39 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var39; - } - } - } - } - } else { - var13 = var7[var20]; - Script var36 = WorldMapAreaData.getScript(var13); - int[] var15 = new int[var36.localIntCount]; - String[] var16 = new String[var36.localStringCount]; - - for (var17 = 0; var17 < var36.intArgumentCount; ++var17) { - var15[var17] = Interpreter.Interpreter_intStack[var17 + (class240.Interpreter_intStackSize - var36.intArgumentCount)]; - } - - for (var17 = 0; var17 < var36.stringArgumentCount; ++var17) { - var16[var17] = Interpreter.Interpreter_stringStack[var17 + (Interpreter.Interpreter_stringStackSize - var36.stringArgumentCount)]; - } - - class240.Interpreter_intStackSize -= var36.intArgumentCount; - Interpreter.Interpreter_stringStackSize -= var36.stringArgumentCount; - ScriptFrame var23 = new ScriptFrame(); - var23.script = var4; - var23.pc = var20; - var23.intLocals = Interpreter.Interpreter_intLocals; - var23.stringLocals = Interpreter.Interpreter_stringLocals; - Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var23; - var4 = var36; - var6 = var36.opcodes; - var7 = var36.intOperands; - var20 = -1; - Interpreter.Interpreter_intLocals = var15; - Interpreter.Interpreter_stringLocals = var16; - } - } - } - } catch (Exception var31) { - var9 = true; - StringBuilder var27 = new StringBuilder(30); - var27.append("").append(var4.key).append(" "); - - for (var13 = Interpreter.Interpreter_frameDepth - 1; var13 >= 0; --var13) { - var27.append("").append(Interpreter.Interpreter_frames[var13].script.key).append(" "); - } - - var27.append("").append(var8); - class4.RunException_sendStackTrace(var27.toString(), var31); - var30 = false; - break label987; - } - } finally { - if (var30) { - if (Interpreter.field829) { - Interpreter.field827 = true; - } - - while (Interpreter.field818.size() > 0) { - class92 var19 = (class92)Interpreter.field818.remove(0); - MouseHandler.widgetDefaultMenuAction(var19.method2233(), var19.method2232(), var19.method2243(), var19.method2234(), ""); - } - - if (Interpreter.field827) { - FriendsChat.method5904(); - Interpreter.field827 = false; - Interpreter.field829 = false; - } - - if (!var9 && var2 > 0 && var10 >= var2) { - class4.RunException_sendStackTrace("Warning: Script " + var4.field941 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); - } - - } - } - - if (Interpreter.field829) { - Interpreter.field827 = true; - } - - while (Interpreter.field818.size() > 0) { - class92 var41 = (class92)Interpreter.field818.remove(0); - MouseHandler.widgetDefaultMenuAction(var41.method2233(), var41.method2232(), var41.method2243(), var41.method2234(), ""); - } - - if (Interpreter.field827) { - FriendsChat.method5904(); - Interpreter.field827 = false; - Interpreter.field829 = false; - } - - if (!var9 && var2 > 0 && var10 >= var2) { - class4.RunException_sendStackTrace("Warning: Script " + var4.field941 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); - } - - return; - } - - if (Interpreter.field829) { - Interpreter.field827 = true; - } - - while (Interpreter.field818.size() > 0) { - class92 var26 = (class92)Interpreter.field818.remove(0); - MouseHandler.widgetDefaultMenuAction(var26.method2233(), var26.method2232(), var26.method2243(), var26.method2234(), ""); - } - - if (Interpreter.field827) { - FriendsChat.method5904(); - Interpreter.field827 = false; - Interpreter.field829 = false; - } - - if (!var9 && var2 > 0 && var10 >= var2) { - class4.RunException_sendStackTrace("Warning: Script " + var4.field941 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); - } - - return; - } - - if (Interpreter.field829) { - Interpreter.field827 = true; - } - - while (Interpreter.field818.size() > 0) { - class92 var34 = (class92)Interpreter.field818.remove(0); - MouseHandler.widgetDefaultMenuAction(var34.method2233(), var34.method2232(), var34.method2243(), var34.method2234(), ""); - } - - if (Interpreter.field827) { - FriendsChat.method5904(); - Interpreter.field827 = false; - Interpreter.field829 = false; - } - - if (!var9 && var2 > 0 && var10 >= var2) { - class4.RunException_sendStackTrace("Warning: Script " + var4.field941 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); - } - - } + static PrivateChatMode[] method4196() { + return new PrivateChatMode[]{PrivateChatMode.field4412, PrivateChatMode.field4413, PrivateChatMode.field4411}; } - @ObfuscatedName("jb") + @ObfuscatedName("ia") @ObfuscatedSignature( - descriptor = "([Ljd;II)V", - garbageValue = "-1059727702" + descriptor = "(ZI)V", + garbageValue = "1116074863" ) - @Export("runComponentCloseListeners") - static final void runComponentCloseListeners(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { - Widget var3 = var0[var2]; - if (var3 != null) { - if (var3.type == 0) { - if (var3.children != null) { - runComponentCloseListeners(var3.children, var1); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - class13.runIntfCloseListeners(var4.group, var1); - } - } - - ScriptEvent var5; - if (var1 == 0 && var3.onDialogAbort != null) { - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onDialogAbort; - class139.runScriptEvent(var5); - } - - if (var1 == 1 && var3.onSubChange != null) { - if (var3.childIndex >= 0) { - Widget var6 = class87.getWidget(var3.id); - if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { - continue; - } - } - - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onSubChange; - class139.runScriptEvent(var5); - } - } - } - + @Export("setTapToDrop") + static void setTapToDrop(boolean var0) { + Client.tapToDrop = var0; } } diff --git a/runescape-client/src/main/java/Skills.java b/runescape-client/src/main/java/Skills.java index 70e34dc6bf..a25dd2c288 100644 --- a/runescape-client/src/main/java/Skills.java +++ b/runescape-client/src/main/java/Skills.java @@ -1,17 +1,24 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jl") +@ObfuscatedName("jb") @Implements("Skills") public class Skills { - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("Skills_enabled") public static final boolean[] Skills_enabled; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("Skills_experienceTable") public static int[] Skills_experienceTable; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -83485713 + ) + @Export("musicTrackGroupId") + public static int musicTrackGroupId; static { Skills_enabled = 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, false, false}; @@ -27,16 +34,21 @@ public class Skills { } - @ObfuscatedName("k") + @ObfuscatedName("jd") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "708900627" + descriptor = "(Ljt;IIII)V", + garbageValue = "-618613054" ) - static void method5063(int var0, int var1) { - long var2 = (long)((var0 << 16) + var1); - NetFileRequest var4 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var2); + @Export("drawCompass") + static final void drawCompass(Widget var0, int var1, int var2, int var3) { + SpriteMask var4 = var0.getSpriteMask(false); if (var4 != null) { - NetCache.NetCache_pendingWritesQueue.addLast(var4); + if (Client.minimapState < 3) { + class4.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + } } } diff --git a/runescape-client/src/main/java/SoftWrapper.java b/runescape-client/src/main/java/SoftWrapper.java index ef0cc8318d..dcebd97239 100644 --- a/runescape-client/src/main/java/SoftWrapper.java +++ b/runescape-client/src/main/java/SoftWrapper.java @@ -3,10 +3,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("io") +@ObfuscatedName("if") @Implements("SoftWrapper") public class SoftWrapper extends Wrapper { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("ref") SoftReference ref; @@ -15,13 +15,13 @@ public class SoftWrapper extends Wrapper { this.ref = new SoftReference(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("get") Object get() { return this.ref.get(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isSoft") boolean isSoft() { return true; diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index ad71170aa1..5bb71c388f 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -2,43 +2,44 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ao") +@ObfuscatedName("at") @Implements("SoundCache") public class SoundCache { - @ObfuscatedName("bc") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lnf;" + descriptor = "Loz;" ) - @Export("loginType") - static LoginType loginType; - @ObfuscatedName("n") + @Export("titleboxSprite") + static IndexedSprite titleboxSprite; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("soundEffectIndex") AbstractArchive soundEffectIndex; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("musicSampleIndex") AbstractArchive musicSampleIndex; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("musicSamples") NodeHashTable musicSamples; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lnk;" + descriptor = "Lni;" ) @Export("rawSounds") NodeHashTable rawSounds; @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;)V" + descriptor = "(Lkl;Lkl;)V" ) public SoundCache(AbstractArchive var1, AbstractArchive var2) { this.musicSamples = new NodeHashTable(256); @@ -47,10 +48,10 @@ public class SoundCache { this.musicSampleIndex = var2; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II[II)Lak;", - garbageValue = "704676393" + descriptor = "(II[II)Laa;", + garbageValue = "-708728075" ) @Export("getSoundEffect0") RawSound getSoundEffect0(int var1, int var2, int[] var3) { @@ -78,10 +79,10 @@ public class SoundCache { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II[II)Lak;", - garbageValue = "835426895" + descriptor = "(II[II)Laa;", + garbageValue = "-195355299" ) @Export("getMusicSample0") RawSound getMusicSample0(int var1, int var2, int[] var3) { @@ -115,10 +116,10 @@ public class SoundCache { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I[II)Lak;", - garbageValue = "1745934175" + descriptor = "(I[IB)Laa;", + garbageValue = "-74" ) @Export("getSoundEffect") public RawSound getSoundEffect(int var1, int[] var2) { @@ -131,10 +132,10 @@ public class SoundCache { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I[IB)Lak;", - garbageValue = "-39" + descriptor = "(I[IB)Laa;", + garbageValue = "79" ) @Export("getMusicSample") public RawSound getMusicSample(int var1, int[] var2) { @@ -147,12 +148,450 @@ public class SoundCache { } } - @ObfuscatedName("n") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(B)[Lcm;", - garbageValue = "60" + descriptor = "(Loy;B)V", + garbageValue = "-6" ) - static AttackOption[] method789() { - return new AttackOption[]{AttackOption.field1236, AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_alwaysRightClick, AttackOption.field1238}; + static final void method781(PacketBuffer var0) { + for (int var1 = 0; var1 < Players.Players_pendingUpdateCount; ++var1) { + int var2 = Players.Players_pendingUpdateIndices[var1]; + Player var3 = Client.players[var2]; + int var4 = var0.readUnsignedByte(); + if ((var4 & 64) != 0) { + var4 += var0.readUnsignedByte() << 8; + } + + Player.method2133(var0, var2, var3, var4); + } + + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(B)Lon;", + garbageValue = "70" + ) + static SpritePixels method784() { + SpritePixels var0 = new SpritePixels(); + var0.width = class414.SpriteBuffer_spriteWidth; + var0.height = class408.SpriteBuffer_spriteHeight; + var0.xOffset = class135.SpriteBuffer_xOffsets[0]; + var0.yOffset = class131.SpriteBuffer_yOffsets[0]; + var0.subWidth = class414.SpriteBuffer_spriteWidths[0]; + var0.subHeight = class16.SpriteBuffer_spriteHeights[0]; + int var1 = var0.subWidth * var0.subHeight; + byte[] var2 = class414.SpriteBuffer_pixels[0]; + var0.pixels = new int[var1]; + + for (int var3 = 0; var3 < var1; ++var3) { + var0.pixels[var3] = class351.SpriteBuffer_spritePalette[var2[var3] & 255]; + } + + StudioGame.method5130(); + return var0; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)I", + garbageValue = "9" + ) + public static int method771(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + var0.charAt(var3); + } + + return var2; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "704557990" + ) + static int method780(int var0, Script var1, boolean var2) { + String var7; + if (var0 == ScriptOpcodes.MES) { + var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + GraphicsDefaults.addGameMessage(0, "", var7); + return 1; + } else if (var0 == ScriptOpcodes.ANIM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + SpotAnimationDefinition.performPlayerAnimation(class67.localPlayer, Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize], Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + return 1; + } else if (var0 == ScriptOpcodes.IF_CLOSE) { + if (!Interpreter.field832) { + Interpreter.field828 = true; + } + + return 1; + } else { + int var16; + if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var16 = 0; + if (LoginType.isNumber(var7)) { + var16 = class279.method5134(var7); + } + + PacketBufferNode var14 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2742, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeInt(var16); + Client.packetWriter.addNode(var14); + return 1; + } else { + PacketBufferNode var12; + if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2666, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeByte(var7.length() + 1); + var12.packetBuffer.writeStringCp1252NullTerminated(var7); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2741, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeByte(var7.length() + 1); + var12.packetBuffer.writeStringCp1252NullTerminated(var7); + Client.packetWriter.addNode(var12); + return 1; + } else { + String var4; + int var10; + if (var0 == ScriptOpcodes.OPPLAYER) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + class10.method104(var10, var4); + return 1; + } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var10 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var16 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + Widget var15 = HealthBarUpdate.getWidget(var9); + GrandExchangeEvents.clickWidget(var15, var10, var16); + return 1; + } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var10 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var16 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Widget var13 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + GrandExchangeEvents.clickWidget(var13, var10, var16); + return 1; + } else if (var0 == ScriptOpcodes.MOUSECAM) { + VarbitComposition.mouseCam = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapDecorationType.clientPreferences.roofsHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { + WorldMapDecorationType.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + ScriptFrame.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.OPENURL) { + var7 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + boolean var8 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + LoginScreenAnimation.openURL(var7, var8, false); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2673, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeShort(var10); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.BUG_REPORT) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class54.Interpreter_stringStackSize -= 2; + var4 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + String var5 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + if (var4.length() > 500) { + return 1; + } else if (var5.length() > 500) { + return 1; + } else { + PacketBufferNode var6 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2679, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeShort(1 + class113.stringCp1252NullTerminatedByteSize(var4) + class113.stringCp1252NullTerminatedByteSize(var5)); + var6.packetBuffer.writeStringCp1252NullTerminated(var5); + var6.packetBuffer.writeStringCp1252NullTerminated(var4); + var6.packetBuffer.method7066(var10); + Client.packetWriter.addNode(var6); + return 1; + } + } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { + Client.shiftClickDrop = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { + Client.showMouseOverText = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.RENDERSELF) { + Client.renderSelf = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 3120) { + if (Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 1; + } else { + Client.drawPlayerNames &= -2; + } + + return 1; + } else if (var0 == 3121) { + if (Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 2; + } else { + Client.drawPlayerNames &= -3; + } + + return 1; + } else if (var0 == 3122) { + if (Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 4; + } else { + Client.drawPlayerNames &= -5; + } + + return 1; + } else if (var0 == 3123) { + if (Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 8; + } else { + Client.drawPlayerNames &= -9; + } + + return 1; + } else if (var0 == 3124) { + Client.drawPlayerNames = 0; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { + Client.showMouseCross = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { + Client.showLoadingMessages = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETTAPTODROP) { + Skeleton.setTapToDrop(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1); + return 1; + } else if (var0 == ScriptOpcodes.GETTAPTODROP) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapSection0.getTapToDrop() ? 1 : 0; + return 1; + } else if (var0 == 3129) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + return 1; + } else if (var0 == 3130) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3131) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Huffman.canvasWidth; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = MouseRecorder.canvasHeight; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3136) { + Client.field509 = 3; + Client.field673 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3137) { + Client.field509 = 2; + Client.field673 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3138) { + Client.field509 = 0; + return 1; + } else if (var0 == 3139) { + Client.field509 = 1; + return 1; + } else if (var0 == 3140) { + Client.field509 = 3; + Client.field673 = var2 ? WorldMapDecoration.scriptDotWidget.id * -1239763633 * 1169899951 : class245.scriptActiveWidget.id * -1239763633 * 1169899951; + return 1; + } else { + boolean var11; + if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { + var11 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + WorldMapDecorationType.clientPreferences.hideUsername = var11; + ScriptFrame.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapDecorationType.clientPreferences.hideUsername ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { + var11 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Client.Login_isUsernameRemembered = var11; + if (!var11) { + WorldMapDecorationType.clientPreferences.rememberedUsername = ""; + ScriptFrame.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SHOW_IOS_REVIEW) { + return 1; + } else if (var0 == 3146) { + var11 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (var11 == WorldMapDecorationType.clientPreferences.titleMusicDisabled) { + WorldMapDecorationType.clientPreferences.titleMusicDisabled = !var11; + ScriptFrame.savePreferences(); + } + + return 1; + } else if (var0 == 3147) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapDecorationType.clientPreferences.titleMusicDisabled ? 0 : 1; + return 1; + } else if (var0 == 3148) { + return 1; + } else if (var0 == 3149) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3150) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3151) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3152) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3153) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; + return 1; + } else if (var0 == 3154) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class7.method56(); + return 1; + } else if (var0 == 3155) { + --class54.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3156) { + return 1; + } else if (var0 == 3157) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3158) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3159) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3160) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3161) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3162) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3163) { + --class54.Interpreter_stringStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3164) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3165) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3166) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3167) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3168) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3169) { + return 1; + } else if (var0 == 3170) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3171) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3172) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 3173) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3174) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 3175) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3176) { + return 1; + } else if (var0 == 3177) { + return 1; + } else if (var0 == 3178) { + --class54.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3179) { + return 1; + } else if (var0 == 3180) { + --class54.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3181) { + var10 = 100 - Math.min(Math.max(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize], 0), 100); + class268.method5105((double)((float)var10 / 200.0F + 0.5F)); + return 1; + } else if (var0 == 3182) { + float var3 = 200.0F * ((float)WorldMapDecorationType.clientPreferences.brightness - 0.5F); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 100 - Math.round(var3); + return 1; + } else if (var0 != 3183 && var0 != 3184) { + return 2; + } else { + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } + } + } + } + } + } + + @ObfuscatedName("fn") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1813767537" + ) + static final void method768() { + if (KitDefinition.field1665) { + class245.method4681(); + KitDefinition.field1665 = false; + } + } } diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index dfff815ff9..e0ba6e07b7 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -3,19 +3,19 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("av") +@ObfuscatedName("au") @Implements("SoundEffect") public class SoundEffect { - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Lbd;" + descriptor = "[Lbz;" ) @Export("instruments") Instrument[] instruments; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("start") int start; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("end") int end; @@ -38,9 +38,9 @@ public class SoundEffect { this.end = var1.readUnsignedShort(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "()Lak;" + descriptor = "()Laa;" ) @Export("toRawSound") public RawSound toRawSound() { @@ -48,7 +48,7 @@ public class SoundEffect { return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("calculateDelay") public final int calculateDelay() { int var1 = 9999999; @@ -83,7 +83,7 @@ public class SoundEffect { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("mix") final byte[] mix() { int var1 = 0; @@ -122,9 +122,9 @@ public class SoundEffect { } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;II)Lav;" + descriptor = "(Lkl;II)Lau;" ) @Export("readSoundEffect") public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/SoundEnvelope.java b/runescape-client/src/main/java/SoundEnvelope.java index c6e4d69e51..51bba9516c 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -3,40 +3,40 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("au") +@ObfuscatedName("ar") @Implements("SoundEnvelope") public class SoundEnvelope { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("segments") int segments; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("durations") int[] durations; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("phases") int[] phases; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("start") int start; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("end") int end; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("form") int form; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("ticks") int ticks; @ObfuscatedName("a") @Export("phaseIndex") int phaseIndex; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("step") int step; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("amplitude") int amplitude; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("max") int max; @@ -50,7 +50,7 @@ public class SoundEnvelope { this.phases[1] = 65535; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;)V" ) @@ -62,7 +62,7 @@ public class SoundEnvelope { this.decodeSegments(var1); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;)V" ) @@ -79,7 +79,7 @@ public class SoundEnvelope { } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("reset") final void reset() { this.ticks = 0; @@ -89,7 +89,7 @@ public class SoundEnvelope { this.max = 0; } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("doStep") final int doStep(int var1) { if (this.max >= this.ticks) { diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index 741e8dafdc..08870a3df5 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -2,16 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("am") +@ObfuscatedName("ac") @Implements("SoundSystem") public class SoundSystem implements Runnable { - @ObfuscatedName("t") - @Export("operatingSystemName") - public static String operatingSystemName; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "[Lab;" + descriptor = "[Laq;" ) @Export("players") volatile PcmPlayer[] players; @@ -29,103 +27,672 @@ public class SoundSystem implements Runnable { } } } catch (Exception var4) { - class4.RunException_sendStackTrace((String)null, var4); + Timer.RunException_sendStackTrace((String)null, var4); } } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-198091893" + descriptor = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", + garbageValue = "1269217196" ) - public static int method780() { - return ++MouseHandler.MouseHandler_idleCycles - 1; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "240694548" - ) - @Export("Messages_getHistorySize") - static int Messages_getHistorySize(int var0) { - ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); - return var1 == null ? 0 : var1.size(); - } - - @ObfuscatedName("hk") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "-117" - ) - @Export("updateItemPile") - static final void updateItemPile(int var0, int var1) { - NodeDeque var2 = Client.groundItems[class391.Client_plane][var0][var1]; - if (var2 == null) { - CollisionMap.scene.removeGroundItemPile(class391.Client_plane, var0, var1); + public static String method759(CharSequence[] var0, int var1, int var2) { + if (var2 == 0) { + return ""; + } else if (var2 == 1) { + CharSequence var10 = var0[var1]; + return var10 == null ? "null" : var10.toString(); } else { - long var3 = -99999999L; - TileItem var5 = null; + int var3 = var2 + var1; + int var4 = 0; - TileItem var6; - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - ItemComposition var7 = class65.ItemDefinition_get(var6.id); - long var11 = (long)var7.price; - if (var7.isStackable == 1) { - var11 *= (long)(var6.quantity + 1); - } - - if (var11 > var3) { - var3 = var11; - var5 = var6; + for (int var5 = var1; var5 < var3; ++var5) { + CharSequence var9 = var0[var5]; + if (var9 == null) { + var4 += 4; + } else { + var4 += var9.length(); } } - if (var5 == null) { - CollisionMap.scene.removeGroundItemPile(class391.Client_plane, var0, var1); + StringBuilder var8 = new StringBuilder(var4); + + for (int var6 = var1; var6 < var3; ++var6) { + CharSequence var7 = var0[var6]; + if (var7 == null) { + var8.append("null"); + } else { + var8.append(var7); + } + } + + return var8.toString(); + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lcy;III)V", + garbageValue = "-1352565651" + ) + @Export("runScript") + static void runScript(ScriptEvent var0, int var1, int var2) { + Object[] var3 = var0.args; + Script var4; + int var20; + if (AbstractWorldMapIcon.isWorldMapEvent(var0.type)) { + class130.worldMapEvent = (WorldMapEvent)var3[0]; + WorldMapElement var5 = class13.WorldMapElement_get(class130.worldMapEvent.mapElement); + var4 = class196.getWorldMapScript(var0.type, var5.objectId, var5.category); + } else { + var20 = (Integer)var3[0]; + var4 = class1.getScript(var20); + } + + if (var4 != null) { + AbstractByteArrayCopier.Interpreter_intStackSize = 0; + class54.Interpreter_stringStackSize = 0; + var20 = -1; + int[] var6 = var4.opcodes; + int[] var7 = var4.intOperands; + byte var8 = -1; + Interpreter.Interpreter_frameDepth = 0; + Interpreter.field828 = false; + boolean var9 = false; + int var10 = 0; + boolean var30 = false; + + label985: { + label986: { + try { + int var13; + try { + var30 = true; + class12.Interpreter_intLocals = new int[var4.localIntCount]; + int var11 = 0; + WorldMapID.Interpreter_stringLocals = new String[var4.localStringCount]; + int var12 = 0; + + int var14; + String var21; + for (var13 = 1; var13 < var3.length; ++var13) { + if (var3[var13] instanceof Integer) { + var14 = (Integer)var3[var13]; + if (var14 == -2147483647) { + var14 = var0.mouseX; + } + + if (var14 == -2147483646) { + var14 = var0.mouseY; + } + + if (var14 == -2147483645) { + var14 = var0.widget != null ? var0.widget.id * -1239763633 * 1169899951 : -1; + } + + if (var14 == -2147483644) { + var14 = var0.opIndex; + } + + if (var14 == -2147483643) { + var14 = var0.widget != null ? var0.widget.childIndex * -583467391 * -886488703 : -1; + } + + if (var14 == -2147483642) { + var14 = var0.dragTarget != null ? var0.dragTarget.id * -1239763633 * 1169899951 : -1; + } + + if (var14 == -2147483641) { + var14 = var0.dragTarget != null ? var0.dragTarget.childIndex * -583467391 * -886488703 : -1; + } + + if (var14 == -2147483640) { + var14 = var0.keyTyped; + } + + if (var14 == -2147483639) { + var14 = var0.keyPressed; + } + + class12.Interpreter_intLocals[var11++] = var14; + } else if (var3[var13] instanceof String) { + var21 = (String)var3[var13]; + if (var21.equals("event_opbase")) { + var21 = var0.targetName; + } + + WorldMapID.Interpreter_stringLocals[var12++] = var21; + } + } + + Interpreter.field818 = var0.field1037; + + while (true) { + ++var10; + if (var10 > var1) { + throw new RuntimeException(); + } + + ++var20; + int var33 = var6[var20]; + if (var33 >= 100) { + boolean var35; + if (var4.intOperands[var20] == 1) { + var35 = true; + } else { + var35 = false; + } + + var14 = class124.method2564(var33, var4, var35); + switch(var14) { + case 0: + var30 = false; + break label985; + case 1: + default: + break; + case 2: + throw new IllegalStateException(); + } + } else if (var33 == 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7[var20]; + } else if (var33 == ScriptOpcodes.GET_VARP) { + var13 = var7[var20]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Varps.Varps_main[var13]; + } else if (var33 == ScriptOpcodes.SET_VARP) { + var13 = var7[var20]; + Varps.Varps_main[var13] = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + NetSocket.changeGameOptions(var13); + } else if (var33 == ScriptOpcodes.SCONST) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.stringOperands[var20]; + } else if (var33 == ScriptOpcodes.JUMP) { + var20 += var7[var20]; + } else if (var33 == ScriptOpcodes.IF_ICMPNE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.IF_ICMPEQ) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.IF_ICMPLT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.IF_ICMPGT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.RETURN) { + if (Interpreter.Interpreter_frameDepth == 0) { + var30 = false; + break label986; + } + + ScriptFrame var40 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; + var4 = var40.script; + var6 = var4.opcodes; + var7 = var4.intOperands; + var20 = var40.pc; + class12.Interpreter_intLocals = var40.intLocals; + WorldMapID.Interpreter_stringLocals = var40.stringLocals; + } else if (var33 == ScriptOpcodes.GET_VARBIT) { + var13 = var7[var20]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Varcs.getVarbit(var13); + } else if (var33 == ScriptOpcodes.SET_VARBIT) { + var13 = var7[var20]; + MouseRecorder.method2078(var13, Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } else if (var33 == ScriptOpcodes.IF_ICMPLE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.IF_ICMPGE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]) { + var20 += var7[var20]; + } + } else if (var33 == ScriptOpcodes.ILOAD) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class12.Interpreter_intLocals[var7[var20]]; + } else if (var33 == ScriptOpcodes.ISTORE) { + class12.Interpreter_intLocals[var7[var20]] = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + } else if (var33 == ScriptOpcodes.SLOAD) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = WorldMapID.Interpreter_stringLocals[var7[var20]]; + } else if (var33 == ScriptOpcodes.SSTORE) { + WorldMapID.Interpreter_stringLocals[var7[var20]] = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + } else if (var33 == ScriptOpcodes.JOIN_STRING) { + var13 = var7[var20]; + class54.Interpreter_stringStackSize -= var13; + var21 = method759(Interpreter.Interpreter_stringStack, class54.Interpreter_stringStackSize, var13); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var21; + } else if (var33 == ScriptOpcodes.POP_INT) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + } else if (var33 == ScriptOpcodes.POP_STRING) { + --class54.Interpreter_stringStackSize; + } else { + int var17; + if (var33 != ScriptOpcodes.INVOKE) { + if (var33 == ScriptOpcodes.GET_VARC_INT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Tile.varcs.getInt(var7[var20]); + } else if (var33 == ScriptOpcodes.SET_VARC_INT) { + Tile.varcs.setInt(var7[var20], Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } else if (var33 == ScriptOpcodes.DEFINE_ARRAY) { + var13 = var7[var20] >> 16; + var14 = var7[var20] & 65535; + int var24 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var24 < 0 || var24 > 5000) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrayLengths[var13] = var24; + byte var25 = -1; + if (var14 == 105) { + var25 = 0; + } + + for (var17 = 0; var17 < var24; ++var17) { + Interpreter.Interpreter_arrays[var13][var17] = var25; + } + } else if (var33 == ScriptOpcodes.GET_ARRAY_INT) { + var13 = var7[var20]; + var14 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var13][var14]; + } else if (var33 == ScriptOpcodes.SET_ARRAY_INT) { + var13 = var7[var20]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var14 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrays[var13][var14] = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + } else { + String var22; + if (var33 == ScriptOpcodes.GET_VARC_STRING_OLD) { + var22 = Tile.varcs.getStringOld(var7[var20]); + if (var22 == null) { + var22 = "null"; + } + + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var22; + } else if (var33 == ScriptOpcodes.SET_VARC_STRING_OLD) { + Tile.varcs.setStringOld(var7[var20], Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]); + } else if (var33 == ScriptOpcodes.GET_VARC_STRING) { + var22 = Tile.varcs.getString(var7[var20]); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var22; + } else if (var33 == ScriptOpcodes.SET_VARC_STRING) { + Tile.varcs.setString(var7[var20], Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]); + } else if (var33 == ScriptOpcodes.SWITCH) { + IterableNodeHashTable var38 = var4.switches[var7[var20]]; + IntegerNode var37 = (IntegerNode)var38.get((long)Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var37 != null) { + var20 += var37.integer; + } + } else { + Integer var39; + if (var33 == ScriptOpcodes.GET_VARCLANSETTING) { + var39 = ModeWhere.field3804.getTitleGroupValue(var7[var20]); + if (var39 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var39; + } + } else { + if (var33 != ScriptOpcodes.GET_VARCLAN) { + throw new IllegalStateException(); + } + + var39 = Coord.field3013.method6291(var7[var20]); + if (var39 == null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var39; + } + } + } + } + } else { + var13 = var7[var20]; + Script var36 = class1.getScript(var13); + int[] var15 = new int[var36.localIntCount]; + String[] var16 = new String[var36.localStringCount]; + + for (var17 = 0; var17 < var36.intArgumentCount; ++var17) { + var15[var17] = Interpreter.Interpreter_intStack[var17 + (AbstractByteArrayCopier.Interpreter_intStackSize - var36.intArgumentCount)]; + } + + for (var17 = 0; var17 < var36.stringArgumentCount; ++var17) { + var16[var17] = Interpreter.Interpreter_stringStack[var17 + (class54.Interpreter_stringStackSize - var36.stringArgumentCount)]; + } + + AbstractByteArrayCopier.Interpreter_intStackSize -= var36.intArgumentCount; + class54.Interpreter_stringStackSize -= var36.stringArgumentCount; + ScriptFrame var23 = new ScriptFrame(); + var23.script = var4; + var23.pc = var20; + var23.intLocals = class12.Interpreter_intLocals; + var23.stringLocals = WorldMapID.Interpreter_stringLocals; + Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var23; + var4 = var36; + var6 = var36.opcodes; + var7 = var36.intOperands; + var20 = -1; + class12.Interpreter_intLocals = var15; + WorldMapID.Interpreter_stringLocals = var16; + } + } + } + } catch (Exception var31) { + var9 = true; + StringBuilder var27 = new StringBuilder(30); + var27.append("").append(var4.key).append(" "); + var13 = Interpreter.Interpreter_frameDepth - 1; + + while (true) { + if (var13 < 0) { + var27.append("").append(var8); + Timer.RunException_sendStackTrace(var27.toString(), var31); + var30 = false; + break; + } + + var27.append("").append(Interpreter.Interpreter_frames[var13].script.key).append(" "); + --var13; + } + } + } finally { + if (var30) { + if (Interpreter.field828) { + Interpreter.field832 = true; + } + + while (Interpreter.field830.size() > 0) { + class92 var19 = (class92)Interpreter.field830.remove(0); + ReflectionCheck.widgetDefaultMenuAction(var19.method2243(), var19.method2254(), var19.method2242(), var19.method2245(), ""); + } + + if (Interpreter.field832) { + WorldMapLabelSize.method3445(); + Interpreter.field832 = false; + Interpreter.field828 = false; + } + + if (!var9 && var2 > 0 && var10 >= var2) { + Timer.RunException_sendStackTrace("Warning: Script " + var4.field956 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); + } + + } + } + + if (Interpreter.field828) { + Interpreter.field832 = true; + } + + while (Interpreter.field830.size() > 0) { + class92 var26 = (class92)Interpreter.field830.remove(0); + ReflectionCheck.widgetDefaultMenuAction(var26.method2243(), var26.method2254(), var26.method2242(), var26.method2245(), ""); + } + + if (Interpreter.field832) { + WorldMapLabelSize.method3445(); + Interpreter.field832 = false; + Interpreter.field828 = false; + } + + if (!var9 && var2 > 0 && var10 >= var2) { + Timer.RunException_sendStackTrace("Warning: Script " + var4.field956 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); + } + + return; + } + + if (Interpreter.field828) { + Interpreter.field832 = true; + } + + while (Interpreter.field830.size() > 0) { + class92 var41 = (class92)Interpreter.field830.remove(0); + ReflectionCheck.widgetDefaultMenuAction(var41.method2243(), var41.method2254(), var41.method2242(), var41.method2245(), ""); + } + + if (Interpreter.field832) { + WorldMapLabelSize.method3445(); + Interpreter.field832 = false; + Interpreter.field828 = false; + } + + if (!var9 && var2 > 0 && var10 >= var2) { + Timer.RunException_sendStackTrace("Warning: Script " + var4.field956 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); + } + + return; + } + + if (Interpreter.field828) { + Interpreter.field832 = true; + } + + while (Interpreter.field830.size() > 0) { + class92 var34 = (class92)Interpreter.field830.remove(0); + ReflectionCheck.widgetDefaultMenuAction(var34.method2243(), var34.method2254(), var34.method2242(), var34.method2245(), ""); + } + + if (Interpreter.field832) { + WorldMapLabelSize.method3445(); + Interpreter.field832 = false; + Interpreter.field828 = false; + } + + if (!var9 && var2 > 0 && var10 >= var2) { + Timer.RunException_sendStackTrace("Warning: Script " + var4.field956 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); + } + + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "201810757" + ) + static final int method758(int var0, int var1) { + int var2 = var1 * 57 + var0; + var2 ^= var2 << 13; + int var3 = (var2 * var2 * 15731 + 789221) * var2 + 1376312589 & Integer.MAX_VALUE; + return var3 >> 19 & 255; + } + + @ObfuscatedName("ic") + @ObfuscatedSignature( + descriptor = "(Ljt;IIB)V", + garbageValue = "-106" + ) + @Export("Widget_addToMenu") + static final void Widget_addToMenu(Widget var0, int var1, int var2) { + if (var0.buttonType == 1) { + GameBuild.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); + } + + String var3; + if (var0.buttonType == 2 && !Client.isSpellSelected) { + var3 = GameEngine.Widget_getSpellActionName(var0); + if (var3 != null) { + GameBuild.insertMenuItemNoShift(var3, FloorUnderlayDefinition.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + } + } + + if (var0.buttonType == 3) { + GameBuild.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); + } + + if (var0.buttonType == 4) { + GameBuild.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); + } + + if (var0.buttonType == 5) { + GameBuild.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); + } + + if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { + GameBuild.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); + } + + int var4; + int var13; + if (var0.type == 2) { + var13 = 0; + + for (var4 = 0; var4 < var0.height; ++var4) { + for (int var15 = 0; var15 < var0.width; ++var15) { + int var6 = (var0.paddingX + 32) * var15; + int var7 = (var0.paddingY + 32) * var4; + if (var13 < 20) { + var6 += var0.inventoryXOffsets[var13]; + var7 += var0.inventoryYOffsets[var13]; + } + + if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { + Client.dragItemSlotDestination = var13; + Projectile.hoveredItemContainer = var0; + if (var0.itemIds[var13] > 0) { + ItemComposition var8 = class87.ItemDefinition_get(var0.itemIds[var13] - 1); + if (Client.isItemSelected == 1 && Tiles.method2024(WorldMapRegion.getWidgetFlags(var0))) { + if (var0.id != UserComparator6.selectedItemWidget || var13 != ArchiveDiskAction.selectedItemSlot) { + GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var8.name, 31, var8.id, var13, var0.id); + } + } else if (Client.isSpellSelected && Tiles.method2024(WorldMapRegion.getWidgetFlags(var0))) { + if ((ObjectComposition.selectedSpellFlags & 16) == 16) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var8.name, 32, var8.id, var13, var0.id); + } + } else { + String[] var9 = var8.inventoryActions; + int var10 = -1; + if (Client.shiftClickDrop) { + boolean var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; + if (var11) { + var10 = var8.getShiftClickIndex(); + } + } + + int var16; + if (Tiles.method2024(WorldMapRegion.getWidgetFlags(var0))) { + for (var16 = 4; var16 >= 3; --var16) { + if (var16 != var10) { + AttackOption.addWidgetItemMenuItem(var0, var8, var13, var16, false); + } + } + } + + if (KeyHandler.method336(WorldMapRegion.getWidgetFlags(var0))) { + GameBuild.insertMenuItemNoShift("Use", FloorUnderlayDefinition.colorStartTag(16748608) + var8.name, 38, var8.id, var13, var0.id); + } + + if (Tiles.method2024(WorldMapRegion.getWidgetFlags(var0))) { + for (var16 = 2; var16 >= 0; --var16) { + if (var10 != var16) { + AttackOption.addWidgetItemMenuItem(var0, var8, var13, var16, false); + } + } + + if (var10 >= 0) { + AttackOption.addWidgetItemMenuItem(var0, var8, var13, var10, true); + } + } + + var9 = var0.itemActions; + if (var9 != null) { + for (var16 = 4; var16 >= 0; --var16) { + if (var9[var16] != null) { + byte var12 = 0; + if (var16 == 0) { + var12 = 39; + } + + if (var16 == 1) { + var12 = 40; + } + + if (var16 == 2) { + var12 = 41; + } + + if (var16 == 3) { + var12 = 42; + } + + if (var16 == 4) { + var12 = 43; + } + + GameBuild.insertMenuItemNoShift(var9[var16], FloorUnderlayDefinition.colorStartTag(16748608) + var8.name, var12, var8.id, var13, var0.id); + } + } + } + + GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(16748608) + var8.name, 1005, var8.id, var13, var0.id); + } + } + } + + ++var13; + } + } + } + + if (var0.isIf3) { + if (Client.isSpellSelected) { + if (ClanChannel.method2748(WorldMapRegion.getWidgetFlags(var0)) && (ObjectComposition.selectedSpellFlags & 32) == 32) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + } } else { - var2.addLast(var5); - TileItem var13 = null; - TileItem var8 = null; - - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - if (var6.id != var5.id) { - if (var13 == null) { - var13 = var6; - } - - if (var6.id != var13.id && var8 == null) { - var8 = var6; - } + for (var13 = 9; var13 >= 5; --var13) { + String var14 = GrandExchangeOfferWorldComparator.method5385(var0, var13); + if (var14 != null) { + GameBuild.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id); } } - long var9 = ClanSettings.calculateTag(var0, var1, 3, false, 0); - CollisionMap.scene.newGroundItemPile(class391.Client_plane, var0, var1, GraphicsObject.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class391.Client_plane), var5, var9, var13, var8); - } - } - } + var3 = GameEngine.Widget_getSpellActionName(var0); + if (var3 != null) { + GameBuild.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + } - @ObfuscatedName("kd") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "5" - ) - static final void method778(int var0, int var1) { - if (Client.currentClanChannels[var0] != null) { - if (var1 >= 0 && var1 < Client.currentClanChannels[var0].method2677()) { - ClanChannelMember var2 = (ClanChannelMember)Client.currentClanChannels[var0].members.get(var1); - if (var2.rank == -1) { - PacketWriter var3 = Client.packetWriter; - PacketBufferNode var4 = FriendSystem.getPacketBufferNode(ClientPacket.field2689, var3.isaacCipher); - var4.packetBuffer.writeByte(3 + BufferedSink.stringCp1252NullTerminatedByteSize(var2.username.getName())); - var4.packetBuffer.writeByte(var0); - var4.packetBuffer.writeShort(var1); - var4.packetBuffer.writeStringCp1252NullTerminated(var2.username.getName()); - var3.addNode(var4); + for (var4 = 4; var4 >= 0; --var4) { + String var5 = GrandExchangeOfferWorldComparator.method5385(var0, var4); + if (var5 != null) { + StructComposition.insertMenuItem(var5, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.prioritizeMenuEntry); + } + } + + if (class18.method271(WorldMapRegion.getWidgetFlags(var0))) { + GameBuild.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); } } } + + } + + @ObfuscatedName("kq") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-644936535" + ) + @Export("clanKickUser") + static final void clanKickUser(String var0) { + if (class264.friendsChat != null) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2713, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } } } diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index df83218872..13d5afaf8b 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -4,96 +4,90 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fu") +@ObfuscatedName("fh") @Implements("SpotAnimationDefinition") public class SpotAnimationDefinition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("SpotAnimationDefinition_archive") static AbstractArchive SpotAnimationDefinition_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("SpotAnimationDefinition_modelArchive") static AbstractArchive SpotAnimationDefinition_modelArchive; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("SpotAnimationDefinition_cached") - public static EvictingDualNodeHashTable SpotAnimationDefinition_cached; - @ObfuscatedName("k") + static EvictingDualNodeHashTable SpotAnimationDefinition_cached; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("SpotAnimationDefinition_cachedModels") - public static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; - @ObfuscatedName("iw") + static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 932432285 - ) - @Export("cameraY") - static int cameraY; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1198013291 + intValue = 1100100919 ) @Export("id") int id; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1427359833 + intValue = -738164853 ) @Export("archive") int archive; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1850813879 + intValue = -1853945339 ) @Export("sequence") public int sequence; @ObfuscatedName("a") @Export("recolorFrom") short[] recolorFrom; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("recolorTo") short[] recolorTo; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("retextureFrom") short[] retextureFrom; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("retextureTo") short[] retextureTo; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1521995085 + intValue = -123212011 ) @Export("widthScale") int widthScale; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 219196667 + intValue = -1193470623 ) @Export("heightScale") int heightScale; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = -118678237 + intValue = 909503517 ) @Export("orientation") int orientation; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = 1482332639 + intValue = -2019294905 ) @Export("ambient") int ambient; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 1762687637 + intValue = 194112589 ) @Export("contrast") int contrast; @@ -112,10 +106,10 @@ public class SpotAnimationDefinition extends DualNode { this.contrast = 0; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1543996245" + garbageValue = "-704579839" ) @Export("decode") void decode(Buffer var1) { @@ -129,10 +123,10 @@ public class SpotAnimationDefinition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "-77" + descriptor = "(Lot;II)V", + garbageValue = "-105831087" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -176,10 +170,10 @@ public class SpotAnimationDefinition extends DualNode { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(II)Lhg;", - garbageValue = "1448727005" + descriptor = "(II)Lhl;", + garbageValue = "1268722645" ) @Export("getModel") public final Model getModel(int var1) { @@ -209,7 +203,7 @@ public class SpotAnimationDefinition extends DualNode { Model var5; if (this.sequence != -1 && var1 != -1) { - var5 = class17.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); + var5 = KitDefinition.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); } else { var5 = var2.toSharedSpotAnimationModel(true); } @@ -237,4 +231,34 @@ public class SpotAnimationDefinition extends DualNode { return var5; } + + @ObfuscatedName("fc") + @ObfuscatedSignature( + descriptor = "(Lci;III)V", + garbageValue = "-839414713" + ) + @Export("performPlayerAnimation") + static void performPlayerAnimation(Player var0, int var1, int var2) { + if (var0.sequence == var1 && var1 != -1) { + int var3 = KitDefinition.SequenceDefinition_get(var1).field1961; + if (var3 == 1) { + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field1142 = 0; + } + + if (var3 == 2) { + var0.field1142 = 0; + } + } else if (var1 == -1 || var0.sequence == -1 || KitDefinition.SequenceDefinition_get(var1).field1955 >= KitDefinition.SequenceDefinition_get(var0.sequence).field1955) { + var0.sequence = var1; + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field1142 = 0; + var0.field1129 = var0.pathLength; + } + + } } diff --git a/runescape-client/src/main/java/SpriteMask.java b/runescape-client/src/main/java/SpriteMask.java index 592756430a..c053d47193 100644 --- a/runescape-client/src/main/java/SpriteMask.java +++ b/runescape-client/src/main/java/SpriteMask.java @@ -3,32 +3,26 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ii") +@ObfuscatedName("iw") @Implements("SpriteMask") public class SpriteMask extends DualNode { - @ObfuscatedName("cq") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1841156599 - ) - public static int field2994; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1956871857 + intValue = -825635433 ) @Export("width") public final int width; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 881293847 + intValue = -878139191 ) @Export("height") public final int height; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("xWidths") public final int[] xWidths; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("xStarts") public final int[] xStarts; @@ -39,10 +33,10 @@ public class SpriteMask extends DualNode { this.xStarts = var4; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "2131041476" + descriptor = "(IIB)Z", + garbageValue = "64" ) @Export("contains") public boolean contains(int var1, int var2) { @@ -55,62 +49,4 @@ public class SpriteMask extends DualNode { return false; } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)I", - garbageValue = "830903438" - ) - public static int method4855(CharSequence var0) { - int var1 = var0.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if (var4 <= 127) { - ++var2; - } else if (var4 <= 2047) { - var2 += 2; - } else { - var2 += 3; - } - } - - return var2; - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1156554268" - ) - static int method4856(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.Widget_unpackTargetMask(Decimator.getWidgetFlags(var3)); - return 1; - } else if (var0 != ScriptOpcodes.CC_GETOP) { - if (var0 == ScriptOpcodes.CC_GETOPBASE) { - if (var3.dataText == null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; - } - - return 1; - } else { - return 2; - } - } else { - int var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - --var4; - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } - } } diff --git a/runescape-client/src/main/java/SpritePixels.java b/runescape-client/src/main/java/SpritePixels.java index 5c05903870..929231d7b3 100644 --- a/runescape-client/src/main/java/SpritePixels.java +++ b/runescape-client/src/main/java/SpritePixels.java @@ -3,28 +3,28 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oc") +@ObfuscatedName("on") @Implements("SpritePixels") public final class SpritePixels extends Rasterizer2D { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("pixels") public int[] pixels; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("subWidth") public int subWidth; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("subHeight") public int subHeight; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("xOffset") public int xOffset; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("yOffset") - int yOffset; - @ObfuscatedName("g") + public int yOffset; + @ObfuscatedName("k") @Export("width") public int width; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("height") public int height; @@ -40,12 +40,12 @@ public final class SpritePixels extends Rasterizer2D { this(new int[var2 * var1], var1, var2); } - SpritePixels() { + public SpritePixels() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "()Loc;" + descriptor = "()Lon;" ) @Export("mirrorHorizontally") public SpritePixels mirrorHorizontally() { @@ -64,9 +64,9 @@ public final class SpritePixels extends Rasterizer2D { return var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "()Loc;" + descriptor = "()Lon;" ) @Export("copyNormalized") public SpritePixels copyNormalized() { @@ -81,13 +81,13 @@ public final class SpritePixels extends Rasterizer2D { return var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("setRaster") public void setRaster() { Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("normalize") public void normalize() { if (this.subWidth != this.width || this.subHeight != this.height) { @@ -107,7 +107,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("pad") public void pad(int var1) { if (this.subWidth != this.width || this.subHeight != this.height) { @@ -149,7 +149,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("flipHorizontally") public void flipHorizontally() { int[] var1 = new int[this.subWidth * this.subHeight]; @@ -165,7 +165,7 @@ public final class SpritePixels extends Rasterizer2D { this.xOffset = this.width - this.subWidth - this.xOffset; } - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("flipVertically") public void flipVertically() { int[] var1 = new int[this.subWidth * this.subHeight]; @@ -209,7 +209,7 @@ public final class SpritePixels extends Rasterizer2D { this.pixels = var2; } - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("shadow") public void shadow(int var1) { for (int var2 = this.subHeight - 1; var2 > 0; --var2) { @@ -224,7 +224,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("drawAt") public void drawAt(int var1, int var2) { var1 += this.xOffset; @@ -270,7 +270,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("drawTransBgAt") public void drawTransBgAt(int var1, int var2) { var1 += this.xOffset; @@ -316,7 +316,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("drawScaledAt") public void drawScaledAt(int var1, int var2, int var3, int var4) { if (var3 > 0 && var4 > 0) { @@ -381,7 +381,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("drawTransOverlayAt") public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { if (var3 == 256) { @@ -431,7 +431,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("drawTransAt") public void drawTransAt(int var1, int var2, int var3) { var1 += this.xOffset; @@ -477,7 +477,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("x") + @ObfuscatedName("z") @Export("drawTransScaledAt") public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { if (var3 > 0 && var4 > 0) { @@ -542,8 +542,8 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("t") - public void method7253(int var1, int var2, int var3) { + @ObfuscatedName("o") + public void method7391(int var1, int var2, int var3) { var1 += this.xOffset; var2 += this.yOffset; int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; @@ -584,16 +584,16 @@ public final class SpritePixels extends Rasterizer2D { if (var7 > 0 && var6 > 0) { if (var3 == 256) { - method7254(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); + method7409(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); } else { - method7327(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); + method7381(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); } } } - @ObfuscatedName("w") - public void method7350(int var1, int var2, int var3, int var4, int var5) { + @ObfuscatedName("u") + public void method7339(int var1, int var2, int var3, int var4, int var5) { if (var3 > 0 && var4 > 0) { int var6 = this.subWidth; int var7 = this.subHeight; @@ -653,16 +653,16 @@ public final class SpritePixels extends Rasterizer2D { } if (var5 == 256) { - method7255(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); + method7316(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); } else { - method7322(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); + method7317(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); } } } @ObfuscatedName("ad") - public void method7281(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { + public void method7318(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { int var9 = var2 < 0 ? -var2 : 0; int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; int var11 = var1 < 0 ? -var1 : 0; @@ -709,7 +709,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("al") + @ObfuscatedName("as") @Export("drawRotatedMaskedCenteredAround") public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { try { @@ -744,8 +744,8 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("aa") - public void method7261(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { + @ObfuscatedName("ak") + public void method7320(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; @@ -783,13 +783,13 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("aw") - public void method7262(int var1, int var2, int var3, int var4) { - this.method7299(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); + @ObfuscatedName("ah") + public void method7350(int var1, int var2, int var3, int var4) { + this.method7321(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); } - @ObfuscatedName("at") - void method7299(int var1, int var2, int var3, int var4, int var5, int var6) { + @ObfuscatedName("ay") + void method7321(int var1, int var2, int var3, int var4, int var5, int var6) { if (var6 != 0) { var1 -= this.xOffset << 4; var2 -= this.yOffset << 4; @@ -1257,7 +1257,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("as") + @ObfuscatedName("al") @Export("drawScaledWorldmap") public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { if (var3 <= this.width && var4 <= this.height) { @@ -1380,7 +1380,7 @@ public final class SpritePixels extends Rasterizer2D { } } - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("Sprite_draw") static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { for (int var8 = -var5; var8 < 0; ++var8) { @@ -1400,7 +1400,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("Sprite_drawTransBg") static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = -(var5 >> 2); @@ -1479,7 +1479,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("Sprite_drawTransOverlay") static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { int var11 = 256 - var9; @@ -1505,7 +1505,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("j") + @ObfuscatedName("p") @Export("Sprite_drawTransparent") static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { int var10 = 256 - var9; @@ -1527,7 +1527,7 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("b") + @ObfuscatedName("h") @Export("Sprite_drawTransScaled") static void Sprite_drawTransScaled(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; @@ -1556,7 +1556,7 @@ public final class SpritePixels extends Rasterizer2D { } @ObfuscatedName("r") - static void method7254(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) { + static void method7409(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) { for (var8 = -var10; var8 < 0; ++var8) { for (var6 = -var9; var6 < 0; ++var6) { var0 = var4[var5++]; @@ -1577,8 +1577,8 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("p") - static void method7327(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) { + @ObfuscatedName("n") + static void method7381(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) { for (var8 = -var10; var8 < 0; ++var8) { for (var6 = -var9; var6 < 0; ++var6) { var0 = var4[var5++]; @@ -1601,8 +1601,8 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("i") - static void method7255(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) { + @ObfuscatedName("d") + static void method7316(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) { for (int var16 = var3; var8 < 0; ++var8) { var7 = var15 * (var9 >> 16); @@ -1628,8 +1628,8 @@ public final class SpritePixels extends Rasterizer2D { } - @ObfuscatedName("aq") - static void method7322(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) { + @ObfuscatedName("ab") + static void method7317(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) { for (int var17 = var3; var8 < 0; ++var8) { var7 = var15 * (var9 >> 16); diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java index c460b407f8..635a1b221d 100644 --- a/runescape-client/src/main/java/Strings.java +++ b/runescape-client/src/main/java/Strings.java @@ -1,37 +1,25 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jf") +@ObfuscatedName("jy") @Implements("Strings") public class Strings { - @ObfuscatedName("bp") - public static String field3400; - @ObfuscatedName("cy") - public static String field3439; - @ObfuscatedName("ji") - public static String field3609; - @ObfuscatedName("jk") - public static String field3610; - @ObfuscatedName("jo") - public static String field3611; + @ObfuscatedName("bf") + public static String field3540; + @ObfuscatedName("cv") + public static String field3539; + @ObfuscatedName("jw") + public static String field3604; + @ObfuscatedName("jj") + public static String field3351; + @ObfuscatedName("js") + public static String field3606; static { - field3400 = "Please visit the support page for assistance."; - field3439 = "Please visit the support page for assistance."; - field3609 = ""; - field3610 = "Page has opened in a new window."; - field3611 = "(Please check your popup blocker.)"; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(ZZI)I", - garbageValue = "-1754974044" - ) - public static int method5088(boolean var0, boolean var1) { - byte var2 = 0; - int var3 = var2 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; - return var3; + field3540 = "Please visit the support page for assistance."; + field3539 = "Please visit the support page for assistance."; + field3604 = ""; + field3351 = "Page has opened in a new window."; + field3606 = "(Please check your popup blocker.)"; } } diff --git a/runescape-client/src/main/java/StructComposition.java b/runescape-client/src/main/java/StructComposition.java index f349fdf463..b297190ab3 100644 --- a/runescape-client/src/main/java/StructComposition.java +++ b/runescape-client/src/main/java/StructComposition.java @@ -3,22 +3,16 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fz") +@ObfuscatedName("fd") @Implements("StructComposition") public class StructComposition extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("StructDefinition_archive") - static AbstractArchive StructDefinition_archive; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("StructDefinition_cached") - public static EvictingDualNodeHashTable StructDefinition_cached; - @ObfuscatedName("m") + static EvictingDualNodeHashTable StructDefinition_cached; + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "Lnz;" ) @@ -32,19 +26,19 @@ public class StructComposition extends DualNode { StructComposition() { } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-67692282" + garbageValue = "793806962" ) @Export("postDecode") void postDecode() { } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Lot;B)V", - garbageValue = "32" + garbageValue = "101" ) @Export("decode") void decode(Buffer var1) { @@ -58,23 +52,23 @@ public class StructComposition extends DualNode { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-1398874377" + garbageValue = "-16711936" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { if (var2 == 249) { - this.params = class123.readStringIntParameters(var1, this.params); + this.params = KeyHandler.readStringIntParameters(var1, this.params); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-2126697081" + descriptor = "(IIB)I", + garbageValue = "-24" ) @Export("getIntParam") public int getIntParam(int var1, int var2) { @@ -94,115 +88,104 @@ public class StructComposition extends DualNode { return var3; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "1174696299" + garbageValue = "975394033" ) @Export("getStringParam") public String getStringParam(int var1, String var2) { - return class124.method2544(this.params, var1, var2); - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)[Ljx;", - garbageValue = "998218002" - ) - @Export("PlayerType_values") - public static PlayerType[] PlayerType_values() { - return new PlayerType[]{PlayerType.PlayerType_hardcoreIronman, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_normal, PlayerType.field3668, PlayerType.PlayerType_ironman, PlayerType.PlayerType_ultimateIronman}; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1928288192" - ) - @Export("changeWorldSelectSorting") - static void changeWorldSelectSorting(int var0, int var1) { - int[] var2 = new int[4]; - int[] var3 = new int[4]; - var2[0] = var0; - var3[0] = var1; - int var4 = 1; - - for (int var5 = 0; var5 < 4; ++var5) { - if (World.World_sortOption1[var5] != var0) { - var2[var4] = World.World_sortOption1[var5]; - var3[var4] = World.World_sortOption2[var5]; - ++var4; - } - } - - World.World_sortOption1 = var2; - World.World_sortOption2 = var3; - Coord.sortWorlds(class393.World_worlds, 0, class393.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Lot;IIIIIII)V", - garbageValue = "-721980643" - ) - @Export("loadTerrain") - static final void loadTerrain(Buffer var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - Tiles.Tiles_renderFlags[var1][var2][var3] = 0; - - while (true) { - var7 = var0.readUnsignedByte(); - if (var7 == 0) { - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -WorldMapElement.method2851(932731 + var2 + var4, var5 + var3 + 556238) * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; - } - break; - } - - if (var7 == 1) { - int var8 = var0.readUnsignedByte(); - if (var8 == 1) { - var8 = 0; - } - - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; - } - break; - } - - if (var7 <= 49) { - Tiles.Tiles_overlays[var1][var2][var3] = var0.readByte(); - Tiles.Tiles_shapes[var1][var2][var3] = (byte)((var7 - 2) / 4); - Tiles.field977[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); - } else if (var7 <= 81) { - Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); - } else { - class6.Tiles_underlays[var1][var2][var3] = (byte)(var7 - 81); - } - } + IterableNodeHashTable var4 = this.params; + String var3; + if (var4 == null) { + var3 = var2; } else { - while (true) { - var7 = var0.readUnsignedByte(); - if (var7 == 0) { - break; - } - - if (var7 == 1) { - var0.readUnsignedByte(); - break; - } - - if (var7 <= 49) { - var0.readUnsignedByte(); - } + ObjectNode var5 = (ObjectNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = (String)var5.obj; } } + return var3; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(Lkl;II)Loz;", + garbageValue = "1981380909" + ) + public static IndexedSprite method3153(AbstractArchive var0, int var1) { + byte[] var3 = var0.takeFileFlat(var1); + boolean var2; + if (var3 == null) { + var2 = false; + } else { + class398.SpriteBuffer_decode(var3); + var2 = true; + } + + if (!var2) { + return null; + } else { + IndexedSprite var4 = new IndexedSprite(); + var4.width = class414.SpriteBuffer_spriteWidth; + var4.height = class408.SpriteBuffer_spriteHeight; + var4.xOffset = class135.SpriteBuffer_xOffsets[0]; + var4.yOffset = class131.SpriteBuffer_yOffsets[0]; + var4.subWidth = class414.SpriteBuffer_spriteWidths[0]; + var4.subHeight = class16.SpriteBuffer_spriteHeights[0]; + var4.palette = class351.SpriteBuffer_spritePalette; + var4.pixels = class414.SpriteBuffer_pixels[0]; + StudioGame.method5130(); + return var4; + } + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(CIB)Ljava/lang/String;", + garbageValue = "16" + ) + public static String method3152(char var0, int var1) { + char[] var2 = new char[var1]; + + for (int var3 = 0; var3 < var1; ++var3) { + var2[var3] = var0; + } + + return new String(var2); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "0" + ) + static final int method3151() { + return ViewportMouse.ViewportMouse_y; + } + + @ObfuscatedName("if") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIZB)V", + garbageValue = "14" + ) + @Export("insertMenuItem") + static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { + if (!Client.isMenuOpen) { + if (Client.menuOptionsCount < 500) { + Client.menuActions[Client.menuOptionsCount] = var0; + Client.menuTargets[Client.menuOptionsCount] = var1; + Client.menuOpcodes[Client.menuOptionsCount] = var2; + Client.menuIdentifiers[Client.menuOptionsCount] = var3; + Client.menuArguments1[Client.menuOptionsCount] = var4; + Client.menuArguments2[Client.menuOptionsCount] = var5; + Client.menuShiftClick[Client.menuOptionsCount] = var6; + ++Client.menuOptionsCount; + } + + } } } diff --git a/runescape-client/src/main/java/StudioGame.java b/runescape-client/src/main/java/StudioGame.java index 3920caea32..f232ef2c2a 100644 --- a/runescape-client/src/main/java/StudioGame.java +++ b/runescape-client/src/main/java/StudioGame.java @@ -4,52 +4,58 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ju") +@ObfuscatedName("jz") @Implements("StudioGame") public enum StudioGame implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("runescape") runescape("runescape", "RuneScape", 0), - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("stellardawn") stellardawn("stellardawn", "Stellar Dawn", 1), - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("game3") game3("game3", "Game 3", 2), - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("game4") game4("game4", "Game 4", 3), - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("game5") game5("game5", "Game 5", 4), - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lju;" + descriptor = "Ljz;" ) @Export("oldscape") oldscape("oldscape", "RuneScape 2007", 5); - @ObfuscatedName("z") + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lot;" + ) + @Export("NetCache_responseArchiveBuffer") + public static Buffer NetCache_responseArchiveBuffer; + @ObfuscatedName("t") @Export("name") public final String name; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -689985923 + intValue = 1358867387 ) @Export("id") final int id; @@ -59,13 +65,52 @@ public enum StudioGame implements MouseWheel { this.id = var5; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-183027792" + ) + public static void method5130() { + class135.SpriteBuffer_xOffsets = null; + class131.SpriteBuffer_yOffsets = null; + class414.SpriteBuffer_spriteWidths = null; + class16.SpriteBuffer_spriteHeights = null; + class351.SpriteBuffer_spritePalette = null; + class414.SpriteBuffer_pixels = null; + } + + @ObfuscatedName("ks") + @ObfuscatedSignature( + descriptor = "(IIIILon;Liw;B)V", + garbageValue = "-74" + ) + @Export("drawSpriteOnMinimap") + static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { + if (var4 != null) { + int var6 = Client.camAngleY & 2047; + int var7 = var3 * var3 + var2 * var2; + if (var7 <= 6400) { + int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + if (var7 > 2500) { + var4.method7318(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); + } else { + var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); + } + + } + } + } } diff --git a/runescape-client/src/main/java/Task.java b/runescape-client/src/main/java/Task.java index 0b805cdfba..69669e365b 100644 --- a/runescape-client/src/main/java/Task.java +++ b/runescape-client/src/main/java/Task.java @@ -4,31 +4,31 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ed") +@ObfuscatedName("ep") @Implements("Task") public class Task { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Led;" + descriptor = "Lep;" ) @Export("next") Task next; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("status") public volatile int status; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -1897850885 + intValue = 538482785 ) @Export("type") int type; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("intArgument") public int intArgument; @ObfuscatedName("a") @Export("objectArgument") Object objectArgument; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("result") public volatile Object result; diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index f36faba7a2..15ec509729 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -7,33 +7,31 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ei") +@ObfuscatedName("ew") @Implements("TaskHandler") public class TaskHandler implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("javaVendor") public static String javaVendor; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("javaVersion") public static String javaVersion; - @ObfuscatedName("fd") - static int[] field1546; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Led;" + descriptor = "Lep;" ) @Export("current") Task current; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Led;" + descriptor = "Lep;" ) @Export("task") Task task; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("thread") Thread thread; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("isClosed") boolean isClosed; @@ -57,10 +55,10 @@ public class TaskHandler implements Runnable { this.thread.start(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "52" + descriptor = "(I)V", + garbageValue = "-2080769600" ) @Export("close") public final void close() { @@ -76,10 +74,10 @@ public class TaskHandler implements Runnable { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IIILjava/lang/Object;I)Led;", - garbageValue = "-2096458089" + descriptor = "(IIILjava/lang/Object;S)Lep;", + garbageValue = "3207" ) @Export("newTask") final Task newTask(int var1, int var2, int var3, Object var4) { @@ -100,20 +98,20 @@ public class TaskHandler implements Runnable { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;II)Led;", - garbageValue = "-556219819" + descriptor = "(Ljava/lang/String;II)Lep;", + garbageValue = "-1536302643" ) @Export("newSocketTask") public final Task newSocketTask(String var1, int var2) { return this.newTask(1, var2, 0, var1); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Ljava/lang/Runnable;II)Led;", - garbageValue = "-1524418919" + descriptor = "(Ljava/lang/Runnable;II)Lep;", + garbageValue = "1508388325" ) @Export("newThreadTask") public final Task newThreadTask(Runnable var1, int var2) { @@ -168,165 +166,229 @@ public class TaskHandler implements Runnable { } } - @ObfuscatedName("c") + @ObfuscatedName("it") @ObfuscatedSignature( - descriptor = "(IB)Lfu;", - garbageValue = "1" + descriptor = "(IIIIB)V", + garbageValue = "-117" ) - @Export("SpotAnimationDefinition_get") - public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { - SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); - var1 = new SpotAnimationDefinition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); - return var1; + @Export("addSceneMenuOptions") + static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { + if (Client.isItemSelected == 0 && !Client.isSpellSelected) { + GameBuild.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); } - } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)Lfv;", - garbageValue = "-878194925" - ) - public static FloorUnderlayDefinition method2740(int var0) { - FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); - var1 = new FloorUnderlayDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2), var0); - } + long var4 = -1L; + long var6 = -1L; - var1.postDecode(); - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("hb") - @ObfuscatedSignature( - descriptor = "(IIZB)V", - garbageValue = "-5" - ) - static final void method2739(int var0, int var1, boolean var2) { - if (!var2 || var0 != class325.field3891 || class7.field26 != var1) { - class325.field3891 = var0; - class7.field26 = var1; - HealthBarUpdate.updateGameState(25); - WorldMapData_1.drawLoadingMessage("Loading - please wait.", true); - int var3 = FloorOverlayDefinition.baseX; - int var4 = class320.baseY; - FloorOverlayDefinition.baseX = (var0 - 6) * 8; - class320.baseY = (var1 - 6) * 8; - int var5 = FloorOverlayDefinition.baseX - var3; - int var6 = class320.baseY - var4; - var3 = FloorOverlayDefinition.baseX; - var4 = class320.baseY; - - int var7; - int var9; - int[] var10000; - for (var7 = 0; var7 < 32768; ++var7) { - NPC var19 = Client.npcs[var7]; - if (var19 != null) { - for (var9 = 0; var9 < 10; ++var9) { - var10000 = var19.pathX; - var10000[var9] -= var5; - var10000 = var19.pathY; - var10000[var9] -= var6; + int var8; + for (var8 = 0; var8 < BuddyRankComparator.method2458(); ++var8) { + long var24 = WorldMapSection1.method3912(var8); + if (var24 != var6) { + var6 = var24; + int var11 = UserComparator1.method7162(var8); + int var12 = ItemComposition.method3327(ViewportMouse.ViewportMouse_entityTags[var8]); + int var13 = var12; + long var16 = ViewportMouse.ViewportMouse_entityTags[var8]; + int var15 = (int)(var16 >>> 14 & 3L); + int var26 = InterfaceParent.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var8]); + int var17 = var26; + if (var15 == 2 && PlayerComposition.scene.getObjectFlags(VertexNormal.Client_plane, var11, var12, var24) >= 0) { + ObjectComposition var18 = class245.getObjectDefinition(var26); + if (var18.transforms != null) { + var18 = var18.transform(); } - var19.x -= var5 * 128; - var19.y -= var6 * 128; - } - } - - for (var7 = 0; var7 < 2048; ++var7) { - Player var22 = Client.players[var7]; - if (var22 != null) { - for (var9 = 0; var9 < 10; ++var9) { - var10000 = var22.pathX; - var10000[var9] -= var5; - var10000 = var22.pathY; - var10000[var9] -= var6; + if (var18 == null) { + continue; } - var22.x -= var5 * 128; - var22.y -= var6 * 128; + if (Client.isItemSelected == 1) { + GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 1, var26, var11, var12); + } else if (Client.isSpellSelected) { + if ((ObjectComposition.selectedSpellFlags & 4) == 4) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 2, var26, var11, var12); + } + } else { + String[] var19 = var18.actions; + if (var19 != null) { + for (int var20 = 4; var20 >= 0; --var20) { + if (var19[var20] != null) { + short var21 = 0; + if (var20 == 0) { + var21 = 3; + } + + if (var20 == 1) { + var21 = 4; + } + + if (var20 == 2) { + var21 = 5; + } + + if (var20 == 3) { + var21 = 6; + } + + if (var20 == 4) { + var21 = 1001; + } + + GameBuild.insertMenuItemNoShift(var19[var20], FloorUnderlayDefinition.colorStartTag(65535) + var18.name, var21, var17, var11, var13); + } + } + } + + GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 1002, var18.id, var11, var13); + } } - } - byte var20 = 0; - byte var8 = 104; - byte var21 = 1; - if (var5 < 0) { - var20 = 103; - var8 = -1; - var21 = -1; - } + Player var22; + int var27; + NPC var28; + int var35; + int[] var36; + if (var15 == 1) { + NPC var31 = Client.npcs[var17]; + if (var31 == null) { + continue; + } - byte var10 = 0; - byte var11 = 104; - byte var12 = 1; - if (var6 < 0) { - var10 = 103; - var11 = -1; - var12 = -1; - } + if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { + for (var27 = 0; var27 < Client.npcCount; ++var27) { + var28 = Client.npcs[Client.npcIndices[var27]]; + if (var28 != null && var31 != var28 && var28.definition.size == 1 && var31.x == var28.x && var31.y == var28.y) { + class275.addNpcToMenu(var28.definition, Client.npcIndices[var27], var11, var13); + } + } - int var14; - for (int var13 = var20; var13 != var8; var13 += var21) { - for (var14 = var10; var11 != var14; var14 += var12) { - int var15 = var5 + var13; - int var16 = var14 + var6; + var27 = Players.Players_count; + var36 = Players.Players_indices; - for (int var17 = 0; var17 < 4; ++var17) { - if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { - Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; - } else { - Client.groundItems[var17][var13][var14] = null; + for (var35 = 0; var35 < var27; ++var35) { + var22 = Client.players[var36[var35]]; + if (var22 != null && var31.x == var22.x && var22.y == var31.y) { + ScriptFrame.addPlayerToMenu(var22, var36[var35], var11, var13); + } + } + } + + class275.addNpcToMenu(var31.definition, var17, var11, var13); + } + + if (var15 == 0) { + Player var32 = Client.players[var17]; + if (var32 == null) { + continue; + } + + if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { + for (var27 = 0; var27 < Client.npcCount; ++var27) { + var28 = Client.npcs[Client.npcIndices[var27]]; + if (var28 != null && var28.definition.size == 1 && var32.x == var28.x && var28.y == var32.y) { + class275.addNpcToMenu(var28.definition, Client.npcIndices[var27], var11, var13); + } + } + + var27 = Players.Players_count; + var36 = Players.Players_indices; + + for (var35 = 0; var35 < var27; ++var35) { + var22 = Client.players[var36[var35]]; + if (var22 != null && var22 != var32 && var22.x == var32.x && var22.y == var32.y) { + ScriptFrame.addPlayerToMenu(var22, var36[var35], var11, var13); + } + } + } + + if (var17 != Client.combatTargetPlayerIndex) { + ScriptFrame.addPlayerToMenu(var32, var17, var11, var13); + } else { + var4 = var24; + } + } + + if (var15 == 3) { + NodeDeque var34 = Client.groundItems[VertexNormal.Client_plane][var11][var13]; + if (var34 != null) { + for (TileItem var33 = (TileItem)var34.first(); var33 != null; var33 = (TileItem)var34.next()) { + ItemComposition var37 = class87.ItemDefinition_get(var33.id); + if (Client.isItemSelected == 1) { + GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 16, var33.id, var11, var13); + } else if (Client.isSpellSelected) { + if ((ObjectComposition.selectedSpellFlags & 1) == 1) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 17, var33.id, var11, var13); + } + } else { + String[] var29 = var37.groundActions; + + for (int var30 = 4; var30 >= 0; --var30) { + if (var29 != null && var29[var30] != null) { + byte var23 = 0; + if (var30 == 0) { + var23 = 18; + } + + if (var30 == 1) { + var23 = 19; + } + + if (var30 == 2) { + var23 = 20; + } + + if (var30 == 3) { + var23 = 21; + } + + if (var30 == 4) { + var23 = 22; + } + + GameBuild.insertMenuItemNoShift(var29[var30], FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, var23, var33.id, var11, var13); + } else if (var30 == 2) { + GameBuild.insertMenuItemNoShift("Take", FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 20, var33.id, var11, var13); + } + } + + GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 1004, var33.id, var11, var13); + } } } } } - - for (PendingSpawn var18 = (PendingSpawn)Client.pendingSpawns.last(); var18 != null; var18 = (PendingSpawn)Client.pendingSpawns.previous()) { - var18.x -= var5; - var18.y -= var6; - if (var18.x < 0 || var18.y < 0 || var18.x >= 104 || var18.y >= 104) { - var18.remove(); - } - } - - if (Client.destinationX != 0) { - Client.destinationX -= var5; - Client.destinationY -= var6; - } - - Client.soundEffectCount = 0; - Client.isCameraLocked = false; - WorldMapSection2.cameraX -= var5 << 7; - DevicePcmPlayerProvider.cameraZ -= var6 << 7; - WorldMapID.oculusOrbFocalPointX -= var5 << 7; - WorldMapRectangle.oculusOrbFocalPointY -= var6 << 7; - Client.field719 = -1; - Client.graphicsObjects.clear(); - Client.projectiles.clear(); - - for (var14 = 0; var14 < 4; ++var14) { - Client.collisionMaps[var14].clear(); - } - } + + if (-1L != var4) { + var8 = Widget.method5030(var4); + int var9 = ItemComposition.method3327(var4); + Player var10 = Client.players[Client.combatTargetPlayerIndex]; + ScriptFrame.addPlayerToMenu(var10, Client.combatTargetPlayerIndex, var8, var9); + } + + } + + @ObfuscatedName("il") + @ObfuscatedSignature( + descriptor = "([Ljt;Ljt;ZB)V", + garbageValue = "8" + ) + @Export("revalidateWidgetScroll") + static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { + int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * -1993150083 * 873320405 : var1.width * -2019463933 * -351378005; + int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * 1068415699 * -118379173 : var1.height * 1232982299 * -1955651309; + WorldMapSection1.resizeInterface(var0, var1.id, var3, var4, var2); + if (var1.children != null) { + WorldMapSection1.resizeInterface(var1.children, var1.id, var3, var4, var2); + } + + InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); + if (var5 != null) { + Canvas.method380(var5.group, var3, var4, var2); + } + + if (var1.contentType == 1337) { + } + } } diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 3da8a1f59b..d56dcffd9a 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -3,36 +3,36 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("go") +@ObfuscatedName("gc") @Implements("Texture") public class Texture extends Node { @ObfuscatedName("s") @Export("Texture_animatedPixels") static int[] Texture_animatedPixels; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("averageRGB") int averageRGB; - @ObfuscatedName("g") - boolean field2285; - @ObfuscatedName("z") + @ObfuscatedName("k") + boolean field2295; + @ObfuscatedName("t") @Export("fileIds") int[] fileIds; @ObfuscatedName("a") - int[] field2287; - @ObfuscatedName("u") - int[] field2280; + int[] field2297; @ObfuscatedName("e") - int[] field2286; - @ObfuscatedName("l") + int[] field2298; + @ObfuscatedName("i") + int[] field2293; + @ObfuscatedName("y") @Export("animationDirection") int animationDirection; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("animationSpeed") int animationSpeed; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("pixels") int[] pixels; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("isLoaded") boolean isLoaded; @@ -42,7 +42,7 @@ public class Texture extends Node { Texture(Buffer var1) { this.isLoaded = false; this.averageRGB = var1.readUnsignedShort(); - this.field2285 = var1.readUnsignedByte() == 1; + this.field2295 = var1.readUnsignedByte() == 1; int var2 = var1.readUnsignedByte(); if (var2 >= 1 && var2 <= 4) { this.fileIds = new int[var2]; @@ -53,25 +53,25 @@ public class Texture extends Node { } if (var2 > 1) { - this.field2287 = new int[var2 - 1]; + this.field2297 = new int[var2 - 1]; for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field2287[var3] = var1.readUnsignedByte(); + this.field2297[var3] = var1.readUnsignedByte(); } } if (var2 > 1) { - this.field2280 = new int[var2 - 1]; + this.field2298 = new int[var2 - 1]; for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field2280[var3] = var1.readUnsignedByte(); + this.field2298[var3] = var1.readUnsignedByte(); } } - this.field2286 = new int[var2]; + this.field2293 = new int[var2]; for (var3 = 0; var3 < var2; ++var3) { - this.field2286[var3] = var1.readInt(); + this.field2293[var3] = var1.readInt(); } this.animationDirection = var1.readUnsignedByte(); @@ -82,9 +82,9 @@ public class Texture extends Node { } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(DILkk;)Z" + descriptor = "(DILkl;)Z" ) @Export("load") boolean load(double var1, int var3, AbstractArchive var4) { @@ -99,71 +99,55 @@ public class Texture extends Node { this.pixels = new int[var5]; for (int var6 = 0; var6 < this.fileIds.length; ++var6) { - int var8 = this.fileIds[var6]; - byte[] var10 = var4.takeFileFlat(var8); - boolean var9; - if (var10 == null) { - var9 = false; - } else { - class28.SpriteBuffer_decode(var10); - var9 = true; - } - - IndexedSprite var7; - if (!var9) { - var7 = null; - } else { - var7 = WorldMapAreaData.method3896(); - } - + IndexedSprite var7 = StructComposition.method3153(var4, this.fileIds[var6]); var7.normalize(); - var10 = var7.pixels; - int[] var11 = var7.palette; - int var12 = this.field2286[var6]; - if ((var12 & -16777216) == 16777216) { + byte[] var8 = var7.pixels; + int[] var9 = var7.palette; + int var10 = this.field2293[var6]; + if ((var10 & -16777216) == 16777216) { } - if ((var12 & -16777216) == 33554432) { + if ((var10 & -16777216) == 33554432) { } + int var11; + int var12; int var13; int var14; - int var15; - int var16; - if ((var12 & -16777216) == 50331648) { - var13 = var12 & 16711935; - var14 = var12 >> 8 & 255; + if ((var10 & -16777216) == 50331648) { + var11 = var10 & 16711935; + var12 = var10 >> 8 & 255; - for (var15 = 0; var15 < var11.length; ++var15) { - var16 = var11[var15]; - if (var16 >> 8 == (var16 & 65535)) { - var16 &= 255; - var11[var15] = var13 * var16 >> 8 & 16711935 | var14 * var16 & 65280; + for (var13 = 0; var13 < var9.length; ++var13) { + var14 = var9[var13]; + if (var14 >> 8 == (var14 & 65535)) { + var14 &= 255; + var9[var13] = var11 * var14 >> 8 & 16711935 | var12 * var14 & 65280; } } } - for (var13 = 0; var13 < var11.length; ++var13) { - var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], var1); + for (var11 = 0; var11 < var9.length; ++var11) { + var9[var11] = Rasterizer3D.Rasterizer3D_brighten(var9[var11], var1); } if (var6 == 0) { - var13 = 0; + var11 = 0; } else { - var13 = this.field2287[var6 - 1]; + var11 = this.field2297[var6 - 1]; } - if (var13 == 0) { + if (var11 == 0) { if (var3 == var7.subWidth) { - for (var14 = 0; var14 < var5; ++var14) { - this.pixels[var14] = var11[var10[var14] & 255]; + for (var12 = 0; var12 < var5; ++var12) { + this.pixels[var12] = var9[var8[var12] & 255]; } } else if (var7.subWidth == 64 && var3 == 128) { - var14 = 0; + var12 = 0; - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { - this.pixels[var14++] = var11[var10[(var15 >> 1 << 6) + (var16 >> 1)] & 255]; + for (var13 = 0; var13 < var3; ++var13) { + for (var14 = 0; var14 < var3; ++var14) { + this.pixels[var12++] = var9[var8[(var13 >> 1 << 6) + (var14 >> 1)] & 255]; } } } else { @@ -171,36 +155,36 @@ public class Texture extends Node { throw new RuntimeException(); } - var14 = 0; + var12 = 0; - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { - this.pixels[var14++] = var11[var10[(var16 << 1) + (var15 << 1 << 7)] & 255]; + for (var13 = 0; var13 < var3; ++var13) { + for (var14 = 0; var14 < var3; ++var14) { + this.pixels[var12++] = var9[var8[(var14 << 1) + (var13 << 1 << 7)] & 255]; } } } } - if (var13 == 1) { + if (var11 == 1) { } - if (var13 == 2) { + if (var11 == 2) { } - if (var13 == 3) { + if (var11 == 3) { } } return true; } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("reset") void reset() { this.pixels = null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("animate") void animate(int var1) { if (this.pixels != null) { diff --git a/runescape-client/src/main/java/TextureLoader.java b/runescape-client/src/main/java/TextureLoader.java index 5b0e068bd9..2dab59a5f1 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -3,36 +3,36 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hl") +@ObfuscatedName("hu") @Implements("TextureLoader") public interface TextureLoader { - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(II)[I", - garbageValue = "717336896" + garbageValue = "-1743192270" ) @Export("getTexturePixels") int[] getTexturePixels(int var1); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1504240934" + descriptor = "(IB)I", + garbageValue = "-100" ) @Export("getAverageTextureRGB") int getAverageTextureRGB(int var1); - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "2072812202" + garbageValue = "172178592" ) - boolean vmethod4485(int var1); + boolean vmethod4565(int var1); - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "-618137712" + garbageValue = "894427577" ) @Export("isLowDetail") boolean isLowDetail(int var1); diff --git a/runescape-client/src/main/java/TextureProvider.java b/runescape-client/src/main/java/TextureProvider.java index 09076d9a04..43ac51149a 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -1,59 +1,61 @@ +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hp") +@ObfuscatedName("hb") @Implements("TextureProvider") public class TextureProvider implements TextureLoader { - @ObfuscatedName("om") - @ObfuscatedGetter( - intValue = -401567307 - ) - static int field2464; - @ObfuscatedName("n") + @ObfuscatedName("ei") @ObfuscatedSignature( - descriptor = "[Lgo;" + descriptor = "Lky;" + ) + @Export("archive18") + static Archive archive18; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "[Lgc;" ) @Export("textures") Texture[] textures; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkn;" + descriptor = "Lkf;" ) @Export("deque") NodeDeque deque; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 286634191 + intValue = 289326279 ) @Export("capacity") int capacity; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 685424043 + intValue = 1388522429 ) @Export("remaining") int remaining; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("brightness") double brightness; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -430808359 + intValue = -1416724581 ) @Export("textureSize") int textureSize; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("archive") AbstractArchive archive; @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;IDI)V" + descriptor = "(Lkl;Lkl;IDI)V" ) public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { this.deque = new NodeDeque(); @@ -76,10 +78,10 @@ public class TextureProvider implements TextureLoader { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-79" + descriptor = "(I)I", + garbageValue = "436377420" ) @Export("getLoadedPercentage") public int getLoadedPercentage() { @@ -95,7 +97,7 @@ public class TextureProvider implements TextureLoader { for (int var7 = 0; var7 < var6.length; ++var7) { int var8 = var6[var7]; - if (this.archive.method5156(var8)) { + if (this.archive.method5223(var8)) { ++var2; } } @@ -109,17 +111,17 @@ public class TextureProvider implements TextureLoader { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("setBrightness") public void setBrightness(double var1) { this.brightness = var1; this.clear(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(II)[I", - garbageValue = "717336896" + garbageValue = "-1743192270" ) @Export("getTexturePixels") public int[] getTexturePixels(int var1) { @@ -149,39 +151,39 @@ public class TextureProvider implements TextureLoader { return null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1504240934" + descriptor = "(IB)I", + garbageValue = "-100" ) @Export("getAverageTextureRGB") public int getAverageTextureRGB(int var1) { return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "2072812202" + garbageValue = "172178592" ) - public boolean vmethod4485(int var1) { - return this.textures[var1].field2285; + public boolean vmethod4565(int var1) { + return this.textures[var1].field2295; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "-618137712" + garbageValue = "894427577" ) @Export("isLowDetail") public boolean isLowDetail(int var1) { return this.textureSize == 64; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "100" + garbageValue = "73" ) @Export("clear") public void clear() { @@ -197,8 +199,8 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-27" + descriptor = "(II)V", + garbageValue = "1075488432" ) @Export("animate") public void animate(int var1) { @@ -212,15 +214,112 @@ public class TextureProvider implements TextureLoader { } - @ObfuscatedName("f") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-747305260" + descriptor = "(Lkl;Lkl;ZIB)V", + garbageValue = "0" ) - static final void method4361(String var0) { - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2645, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); + static void method4433(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { + if (Login.clearLoginScreen) { + if (var3 == 4) { + class112.method2474(4); + } + + } else { + if (var3 == 0) { + byte var4; + if (class21.client.method1338()) { + var4 = 10; + } else { + var4 = 0; + } + + class112.method2474(var4); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + MouseHandler.field236 = 0; + Ignored.otp = ""; + } + + Login.method1930(); + class14.method175(); + } else { + class112.method2474(var3); + } + + Rasterizer2D.Rasterizer2D_clear(); + byte[] var10 = var0.takeFileByNames("title.jpg", ""); + Login.leftTitleSprite = class135.convertJpgToSprite(var10); + Login.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally(); + int var5 = Client.worldProperties; + if ((var5 & 536870912) != 0) { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); + } else if ((var5 & 1073741824) != 0) { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", ""); + } else { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); + } + + SoundCache.titleboxSprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); + class132.titlebuttonSprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); + Login.field873 = class131.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton_large", ""); + class4.field8 = class131.SpriteBuffer_getIndexedSpriteByName(var1, "play_now_text", ""); + class131.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton_wide42,1", ""); + int var7 = var1.getGroupId("runes"); + int var8 = var1.getFileId(var7, ""); + IndexedSprite[] var6 = KitDefinition.method2934(var1, var7, var8); + Login.runesSprite = var6; + var8 = var1.getGroupId("title_mute"); + int var9 = var1.getFileId(var8, ""); + IndexedSprite[] var11 = KitDefinition.method2934(var1, var8, var9); + class16.title_muteSprite = var11; + class397.options_buttons_0Sprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); + Login.field876 = class131.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); + FileSystem.options_buttons_2Sprite = class131.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); + Login.field877 = class131.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); + GrandExchangeOfferTotalQuantityComparator.field3741 = class397.options_buttons_0Sprite.subWidth; + class20.field103 = class397.options_buttons_0Sprite.subHeight; + Login.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + } + + MouseHandler.field236 = 0; + Ignored.otp = ""; + Login.field900 = true; + Login.worldSelectOpen = false; + if (!WorldMapDecorationType.clientPreferences.titleMusicDisabled) { + WorldMapManager.method3727(2, Tiles.archive6, "scape main", "", 255, false); + } else { + CollisionMap.method3417(2); + } + + if (NetCache.NetCache_socket != null) { + try { + Buffer var12 = new Buffer(4); + var12.writeByte(3); + var12.writeMedium(0); + NetCache.NetCache_socket.write(var12.array, 0, 4); + } catch (IOException var15) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var14) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + Login.clearLoginScreen = true; + Login.xPadding = (Huffman.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + class78.loginBoxCenter = Login.loginBoxX + 180; + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + ClanChannelMember.logoSprite.drawAt(Login.xPadding + 382 - ClanChannelMember.logoSprite.subWidth / 2, 18); + } } } diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index 95c9ba9760..6fd121e75f 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -1,49 +1,59 @@ +import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hs") +@ObfuscatedName("hz") @Implements("Tile") public final class Tile extends Node { - @ObfuscatedName("n") + @ObfuscatedName("ft") + @Export("secureRandom") + static SecureRandom secureRandom; + @ObfuscatedName("ph") + @ObfuscatedSignature( + descriptor = "Lcf;" + ) + @Export("varcs") + static Varcs varcs; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1583610569 + intValue = -913512681 ) @Export("plane") int plane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -737784569 + intValue = -1268550147 ) @Export("x") int x; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -330707151 + intValue = 1887131347 ) @Export("y") int y; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1574233783 + intValue = -761349413 ) @Export("originalPlane") int originalPlane; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lhw;" + descriptor = "Lhm;" ) @Export("paint") SceneTilePaint paint; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lhe;" + descriptor = "Lhr;" ) @Export("model") SceneTileModel model; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "Lhn;" ) @@ -51,82 +61,82 @@ public final class Tile extends Node { BoundaryObject boundaryObject; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lhh;" + descriptor = "Lhk;" ) @Export("wallDecoration") WallDecoration wallDecoration; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lgx;" + descriptor = "Lgv;" ) @Export("floorDecoration") FloorDecoration floorDecoration; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "Lgw;" + descriptor = "Lgn;" ) @Export("itemLayer") ItemLayer itemLayer; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -909369227 + intValue = 2125458223 ) @Export("gameObjectsCount") int gameObjectsCount; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "[Lhj;" + descriptor = "[Lhw;" ) @Export("gameObjects") GameObject[] gameObjects; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("gameObjectEdgeMasks") int[] gameObjectEdgeMasks; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 1933185669 + intValue = -1275405715 ) @Export("gameObjectsEdgeMask") int gameObjectsEdgeMask; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = -615347265 + intValue = 438539079 ) @Export("minPlane") int minPlane; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("drawPrimary") boolean drawPrimary; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("drawSecondary") boolean drawSecondary; - @ObfuscatedName("q") + @ObfuscatedName("x") @Export("drawGameObjects") boolean drawGameObjects; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 935134867 + intValue = -885252955 ) @Export("drawGameObjectEdges") int drawGameObjectEdges; - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = -1741141675 + intValue = -1714438525 ) - int field2309; - @ObfuscatedName("b") + int field2323; + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = -739796449 + intValue = -1462551243 ) - int field2326; - @ObfuscatedName("t") + int field2336; + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = -1783852977 + intValue = 1356919353 ) - int field2327; + int field2337; @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "Lhs;" + descriptor = "Lhz;" ) @Export("linkedBelowTile") Tile linkedBelowTile; @@ -140,26 +150,27 @@ public final class Tile extends Node { this.y = var3; } - @ObfuscatedName("n") - static double method4044(double var0) { - return Math.exp(-var0 * var0 / 2.0D) / Math.sqrt(6.283185307179586D); + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(B)Lis;", + garbageValue = "-97" + ) + public static PacketBufferNode method4117() { + return PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0 ? new PacketBufferNode() : PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; } - @ObfuscatedName("n") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)[Lz;", - garbageValue = "-2017412593" + descriptor = "(I)[I", + garbageValue = "-2102466503" ) - public static class6[] method4042() { - return new class6[]{class6.field10}; - } + public static int[] method4116() { + int[] var0 = new int[KeyHandler.field140]; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1949540523" - ) - public static int method4043(int var0) { - return HealthBarDefinition.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var0]); + for (int var1 = 0; var1 < KeyHandler.field140; ++var1) { + var0[var1] = KeyHandler.field137[var1]; + } + + return var0; } } diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java index 06eba28a3e..8b1121563d 100644 --- a/runescape-client/src/main/java/TileItem.java +++ b/runescape-client/src/main/java/TileItem.java @@ -4,21 +4,24 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cy") +@ObfuscatedName("cv") @Implements("TileItem") public final class TileItem extends Renderable { - @ObfuscatedName("a") - @Export("ByteArrayPool_altSizeArrayCounts") - public static int[] ByteArrayPool_altSizeArrayCounts; - @ObfuscatedName("n") + @ObfuscatedName("tu") + @ObfuscatedSignature( + descriptor = "Lna;" + ) + @Export("worldMap") + static WorldMap worldMap; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 632536851 + intValue = -1760777195 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -417320715 + intValue = -2008394151 ) @Export("quantity") int quantity; @@ -26,13 +29,99 @@ public final class TileItem extends Renderable { TileItem() { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)Lhg;", - garbageValue = "18" + descriptor = "(B)Lhl;", + garbageValue = "126" ) @Export("getModel") protected final Model getModel() { - return class65.ItemDefinition_get(this.id).getModel(this.quantity); + return class87.ItemDefinition_get(this.id).getModel(this.quantity); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(CLkn;I)C", + garbageValue = "1899420979" + ) + @Export("standardizeChar") + static char standardizeChar(char var0, Language var1) { + if (var0 >= 192 && var0 <= 255) { + if (var0 >= 192 && var0 <= 198) { + return 'A'; + } + + if (var0 == 199) { + return 'C'; + } + + if (var0 >= 200 && var0 <= 203) { + return 'E'; + } + + if (var0 >= 204 && var0 <= 207) { + return 'I'; + } + + if (var0 == 209 && var1 != Language.Language_ES) { + return 'N'; + } + + if (var0 >= 210 && var0 <= 214) { + return 'O'; + } + + if (var0 >= 217 && var0 <= 220) { + return 'U'; + } + + if (var0 == 221) { + return 'Y'; + } + + if (var0 == 223) { + return 's'; + } + + if (var0 >= 224 && var0 <= 230) { + return 'a'; + } + + if (var0 == 231) { + return 'c'; + } + + if (var0 >= 232 && var0 <= 235) { + return 'e'; + } + + if (var0 >= 236 && var0 <= 239) { + return 'i'; + } + + if (var0 == 241 && var1 != Language.Language_ES) { + return 'n'; + } + + if (var0 >= 242 && var0 <= 246) { + return 'o'; + } + + if (var0 >= 249 && var0 <= 252) { + return 'u'; + } + + if (var0 == 253 || var0 == 255) { + return 'y'; + } + } + + if (var0 == 338) { + return 'O'; + } else if (var0 == 339) { + return 'o'; + } else { + return var0 == 376 ? 'Y' : var0; + } } } diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java index 71c44815ee..802d815fa2 100644 --- a/runescape-client/src/main/java/Tiles.java +++ b/runescape-client/src/main/java/Tiles.java @@ -1,96 +1,184 @@ -import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bi") +@ObfuscatedName("bl") @Implements("Tiles") public final class Tiles { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("Tiles_heights") static int[][][] Tiles_heights; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("Tiles_renderFlags") static byte[][][] Tiles_renderFlags; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1850190327 + intValue = 824712715 ) @Export("Tiles_minPlane") static int Tiles_minPlane; - @ObfuscatedName("o") + @ObfuscatedName("j") + @Export("Tiles_underlays") + static byte[][][] Tiles_underlays; + @ObfuscatedName("m") @Export("Tiles_overlays") static byte[][][] Tiles_overlays; - @ObfuscatedName("g") - @Export("Tiles_shapes") - static byte[][][] Tiles_shapes; - @ObfuscatedName("z") - static byte[][][] field977; + @ObfuscatedName("e") + static int[][] field981; @ObfuscatedName("y") + @Export("Tiles_saturation") + static int[] Tiles_saturation; + @ObfuscatedName("w") @Export("Tiles_lightness") static int[] Tiles_lightness; @ObfuscatedName("v") - @Export("Tiles_hueMultiplier") - static int[] Tiles_hueMultiplier; - @ObfuscatedName("j") - static final int[] field980; - @ObfuscatedName("x") - static final int[] field982; - @ObfuscatedName("b") - static final int[] field972; - @ObfuscatedName("t") - static final int[] field984; - @ObfuscatedName("r") - static final int[] field985; + static int[] field984; @ObfuscatedName("p") - static final int[] field973; - @ObfuscatedName("w") + static final int[] field985; + @ObfuscatedName("z") + static final int[] field986; + @ObfuscatedName("h") + static final int[] field987; + @ObfuscatedName("o") + static final int[] field988; + @ObfuscatedName("r") + static final int[] field980; + @ObfuscatedName("n") + static final int[] field979; + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = -416490741 + intValue = -1532295663 ) @Export("rndHue") static int rndHue; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = -2134339611 + intValue = -1213635893 ) @Export("rndLightness") static int rndLightness; - @ObfuscatedName("ix") - @ObfuscatedGetter( - intValue = 1521226335 + @ObfuscatedName("ef") + @ObfuscatedSignature( + descriptor = "Lky;" ) - @Export("selectedItemWidget") - static int selectedItemWidget; + @Export("archive6") + static Archive archive6; static { Tiles_heights = new int[4][105][105]; Tiles_renderFlags = new byte[4][104][104]; Tiles_minPlane = 99; - field980 = new int[]{1, 2, 4, 8}; - field982 = new int[]{16, 32, 64, 128}; - field972 = new int[]{1, 0, -1, 0}; - field984 = new int[]{0, -1, 0, 1}; - field985 = new int[]{1, -1, -1, 1}; - field973 = new int[]{-1, -1, 1, 1}; + field985 = new int[]{1, 2, 4, 8}; + field986 = new int[]{16, 32, 64, 128}; + field987 = new int[]{1, 0, -1, 0}; + field988 = new int[]{0, -1, 0, 1}; + field980 = new int[]{1, -1, -1, 1}; + field979 = new int[]{-1, -1, 1, 1}; rndHue = (int)(Math.random() * 17.0D) - 8; rndLightness = (int)(Math.random() * 33.0D) - 16; } + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(III)Lbe;", + garbageValue = "-911712342" + ) + static Script method2023(int var0, int var1) { + Script var2 = (Script)Script.Script_cached.get((long)(var0 << 16)); + if (var2 != null) { + return var2; + } else { + String var3 = String.valueOf(var0); + int var4 = UserComparator6.archive12.getGroupId(var3); + if (var4 == -1) { + return null; + } else { + byte[] var5 = UserComparator6.archive12.takeFileFlat(var4); + if (var5 != null) { + if (var5.length <= 1) { + return null; + } + + var2 = GrandExchangeOfferOwnWorldComparator.newScript(var5); + if (var2 != null) { + Script.Script_cached.put(var2, (long)(var0 << 16)); + return var2; + } + } + + return null; + } + } + } + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1608755247" + descriptor = "(II)Z", + garbageValue = "-1127326674" ) - static void method2005() { - Iterator var0 = Messages.Messages_hashTable.iterator(); + public static boolean method2024(int var0) { + return (var0 >> 30 & 1) != 0; + } - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); - var1.clearIsFromIgnored(); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-965136856" + ) + @Export("Messages_getLastChatID") + static int Messages_getLastChatID(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "1813758002" + ) + public static String method2025(String var0) { + int var1 = var0.length(); + char[] var2 = new char[var1]; + byte var3 = 2; + + for (int var4 = 0; var4 < var1; ++var4) { + char var5 = var0.charAt(var4); + if (var3 == 0) { + var5 = Character.toLowerCase(var5); + } else if (var3 == 2 || Character.isUpperCase(var5)) { + char var6; + if (var5 != 181 && var5 != 402) { + var6 = Character.toTitleCase(var5); + } else { + var6 = var5; + } + + var5 = var6; + } + + if (Character.isLetter(var5)) { + var3 = 0; + } else if (var5 != '.' && var5 != '?' && var5 != '!') { + if (Character.isSpaceChar(var5)) { + if (var3 != 2) { + var3 = 1; + } + } else { + var3 = 1; + } + } else { + var3 = 2; + } + + var2[var4] = var5; } + return new String(var2); } } diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index 48eec925d3..61d1247860 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -1,162 +1,221 @@ +import java.io.DataInputStream; +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lh") +@ObfuscatedName("lb") @Implements("Timer") public class Timer { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - longValue = 1540868815319592249L + longValue = 4604634088855325369L ) - long field3881; - @ObfuscatedName("c") + long field3911; + @ObfuscatedName("q") @ObfuscatedGetter( - longValue = 8333490752624652511L + longValue = -7952727671198332901L ) - long field3880; + long field3904; + @ObfuscatedName("f") + public boolean field3905; + @ObfuscatedName("j") + @ObfuscatedGetter( + longValue = -5361475612700650265L + ) + long field3909; @ObfuscatedName("m") - public boolean field3889; + @ObfuscatedGetter( + longValue = 2894173313934874305L + ) + long field3907; @ObfuscatedName("k") @ObfuscatedGetter( - longValue = 7224061540558797345L + longValue = -7914269396143437043L ) - long field3882; - @ObfuscatedName("o") + long field3914; + @ObfuscatedName("t") @ObfuscatedGetter( - longValue = -3991034196053816945L + intValue = 1222390905 ) - long field3883; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = -841860689116779547L - ) - long field3885; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 2006018083 - ) - int field3887; + int field3908; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -312688473 + intValue = -1927973715 ) - int field3886; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1260355139 - ) - int field3884; + int field3910; @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -1879698479 + intValue = -1169062673 ) - int field3888; + int field3906; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1836346517 + ) + int field3912; public Timer() { - this.field3881 = -1L; - this.field3880 = -1L; - this.field3889 = false; - this.field3882 = 0L; - this.field3883 = 0L; - this.field3885 = 0L; - this.field3887 = 0; - this.field3886 = 0; - this.field3884 = 0; - this.field3888 = 0; + this.field3911 = -1L; + this.field3904 = -1L; + this.field3905 = false; + this.field3909 = 0L; + this.field3907 = 0L; + this.field3914 = 0L; + this.field3908 = 0; + this.field3910 = 0; + this.field3906 = 0; + this.field3912 = 0; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1453973445" + descriptor = "(B)V", + garbageValue = "114" ) - public void method5821() { - this.field3881 = Occluder.method4335(); + public void method5903() { + this.field3911 = UserComparator4.method2406(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "6922" + descriptor = "(B)V", + garbageValue = "-75" ) - public void method5822() { - if (-1L != this.field3881) { - this.field3883 = Occluder.method4335() - this.field3881; - this.field3881 = -1L; + public void method5904() { + if (-1L != this.field3911) { + this.field3907 = UserComparator4.method2406() - this.field3911; + this.field3911 = -1L; } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-1401008868" + garbageValue = "18294445" ) - public void method5827(int var1) { - this.field3880 = Occluder.method4335(); - this.field3887 = var1; + public void method5905(int var1) { + this.field3904 = UserComparator4.method2406(); + this.field3908 = var1; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "87" + ) + public void method5906() { + if (this.field3904 != -1L) { + this.field3909 = UserComparator4.method2406() - this.field3904; + this.field3904 = -1L; + } + + ++this.field3906; + this.field3905 = true; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1510248408" + ) + public void method5907() { + this.field3905 = false; + this.field3910 = 0; } @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-995733299" + garbageValue = "2132857745" ) - public void method5824() { - if (-1L != this.field3880) { - this.field3882 = Occluder.method4335() - this.field3880; - this.field3880 = -1L; - } - - ++this.field3884; - this.field3889 = true; + public void method5908() { + this.method5906(); } - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2079083311" - ) - public void method5825() { - this.field3889 = false; - this.field3886 = 0; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1675975914" - ) - public void method5826() { - this.method5824(); - } - - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-2016175702" + garbageValue = "-205261930" ) @Export("write") public void write(Buffer var1) { - UserComparator9.method2439(var1, this.field3883); - UserComparator9.method2439(var1, this.field3882); - UserComparator9.method2439(var1, this.field3885); - var1.writeShort(this.field3887); - var1.writeShort(this.field3886); - var1.writeShort(this.field3884); - var1.writeShort(this.field3888); + long var2 = this.field3907; + var2 /= 10L; + if (var2 < 0L) { + var2 = 0L; + } else if (var2 > 65535L) { + var2 = 65535L; + } + + var1.writeShort((int)var2); + long var4 = this.field3909; + var4 /= 10L; + if (var4 < 0L) { + var4 = 0L; + } else if (var4 > 65535L) { + var4 = 65535L; + } + + var1.writeShort((int)var4); + long var6 = this.field3914; + var6 /= 10L; + if (var6 < 0L) { + var6 = 0L; + } else if (var6 > 65535L) { + var6 = 65535L; + } + + var1.writeShort((int)var6); + var1.writeShort(this.field3908); + var1.writeShort(this.field3910); + var1.writeShort(this.field3906); + var1.writeShort(this.field3912); } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Z", - garbageValue = "1156082253" + descriptor = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", + garbageValue = "225667152" ) - @Export("isNumber") - public static boolean isNumber(CharSequence var0) { - return AttackOption.method2254(var0, 10, true); + @Export("RunException_sendStackTrace") + public static void RunException_sendStackTrace(String var0, Throwable var1) { + if (var1 != null) { + var1.printStackTrace(); + } else { + try { + String var2 = ""; + if (var1 != null) { + var2 = GameBuild.method5123(var1); + } + + if (var0 != null) { + if (var1 != null) { + var2 = var2 + " | "; + } + + var2 = var2 + var0; + } + + System.out.println("Error: " + var2); + var2 = var2.replace(':', '.'); + var2 = var2.replace('@', '_'); + var2 = var2.replace('&', '_'); + var2 = var2.replace('#', '_'); + if (RunException.RunException_applet == null) { + return; + } + + URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.clientType + "&e=" + var2); + DataInputStream var4 = new DataInputStream(var3.openStream()); + var4.read(); + var4.close(); + } catch (Exception var5) { + } + + } } } diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index 6d5a9fdaaf..f969cff5e5 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -3,27 +3,38 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mq") +@ObfuscatedName("mc") @Implements("TriBool") public class TriBool { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("TriBool_unknown") public static final TriBool TriBool_unknown; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("TriBool_true") public static final TriBool TriBool_true; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lmq;" + descriptor = "Lmc;" ) @Export("TriBool_false") public static final TriBool TriBool_false; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lot;" + ) + @Export("NetCache_reference") + public static Buffer NetCache_reference; + @ObfuscatedName("ps") + @ObfuscatedSignature( + descriptor = "Lnc;" + ) + static class387 field3979; static { TriBool_unknown = new TriBool(); @@ -33,13 +44,4 @@ public class TriBool { TriBool() { } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1385101768" - ) - public static int method6080(int var0, int var1) { - return (int)Math.round(Math.atan2((double)var0, (double)var1) * 2607.5945876176133D) & 16383; - } } diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index fb522e174b..8500a85b3f 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -1,25 +1,25 @@ import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cj") +@ObfuscatedName("co") @Implements("UrlRequest") public class UrlRequest { - @ObfuscatedName("gr") - @ObfuscatedSignature( - descriptor = "Lnd;" + @ObfuscatedName("ho") + @ObfuscatedGetter( + intValue = 1113835115 ) - @Export("WorldMapElement_fonts") - static Fonts WorldMapElement_fonts; - @ObfuscatedName("n") + static int field1313; + @ObfuscatedName("l") @Export("url") final URL url; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isDone0") volatile boolean isDone0; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("response0") volatile byte[] response0; @@ -27,69 +27,37 @@ public class UrlRequest { this.url = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-359181104" + garbageValue = "-713550106" ) @Export("isDone") public boolean isDone() { return this.isDone0; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)[B", - garbageValue = "-476051940" + garbageValue = "-490432666" ) @Export("getResponse") public byte[] getResponse() { return this.response0; } - @ObfuscatedName("ii") + @ObfuscatedName("kf") @ObfuscatedSignature( - descriptor = "(Ljd;IIZI)V", - garbageValue = "-1338340677" + descriptor = "(IIIZB)V", + garbageValue = "-1" ) - @Export("alignWidgetSize") - static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { - int var4 = var0.width; - int var5 = var0.height; - if (var0.widthAlignment == 0) { - var0.width = var0.rawWidth; - } else if (var0.widthAlignment == 1) { - var0.width = var1 - var0.rawWidth; - } else if (var0.widthAlignment == 2) { - var0.width = var0.rawWidth * var1 >> 14; - } - - if (var0.heightAlignment == 0) { - var0.height = var0.rawHeight; - } else if (var0.heightAlignment == 1) { - var0.height = var2 - var0.rawHeight; - } else if (var0.heightAlignment == 2) { - var0.height = var2 * var0.rawHeight >> 14; - } - - if (var0.widthAlignment == 4) { - var0.width = var0.height * var0.field3062 / var0.field3116; - } - - if (var0.heightAlignment == 4) { - var0.height = var0.field3116 * var0.width / var0.field3062; - } - - if (var0.contentType == 1337) { - Client.viewportWidget = var0; - } - - if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = var0; - var6.args = var0.onResize; - Client.scriptEvents.addFirst(var6); - } - + public static void method2386(int var0, int var1, int var2, boolean var3) { + PacketBufferNode var4 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2750, Client.packetWriter.isaacCipher); + var4.packetBuffer.method7026(var2); + var4.packetBuffer.writeInt(var3 ? Client.field572 * -1959883561 * -20896025 : 0); + var4.packetBuffer.method6931(var1); + var4.packetBuffer.method6931(var0); + Client.packetWriter.addNode(var4); } } diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index f22ce0eb6e..f90c5d3f29 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -10,16 +10,26 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ca") +@ObfuscatedName("cj") @Implements("UrlRequester") public class UrlRequester implements Runnable { - @ObfuscatedName("n") + @ObfuscatedName("g") + public static boolean field1301; + @ObfuscatedName("ac") + protected static String field1303; + @ObfuscatedName("gj") + @ObfuscatedSignature( + descriptor = "Lep;" + ) + @Export("socketTask") + static Task socketTask; + @ObfuscatedName("l") @Export("thread") final Thread thread; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isClosed") volatile boolean isClosed; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("requests") Queue requests; @@ -30,10 +40,10 @@ public class UrlRequester implements Runnable { this.thread.start(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/net/URL;I)Lcj;", - garbageValue = "-1855579414" + descriptor = "(Ljava/net/URL;I)Lco;", + garbageValue = "743927819" ) @Export("request") public UrlRequest request(URL var1) { @@ -45,10 +55,10 @@ public class UrlRequester implements Runnable { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "980851259" + garbageValue = "1026366305" ) @Export("close") public void close() { @@ -111,18 +121,9 @@ public class UrlRequester implements Runnable { } } catch (Exception var17) { - class4.RunException_sendStackTrace((String)null, var17); + Timer.RunException_sendStackTrace((String)null, var17); } } } - - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "(Lac;I)V", - garbageValue = "-1774214308" - ) - public static final void method2368(class45 var0) { - class91.pcmPlayerProvider = var0; - } } diff --git a/runescape-client/src/main/java/User.java b/runescape-client/src/main/java/User.java index 0d1a695fe4..f68169f3d7 100644 --- a/runescape-client/src/main/java/User.java +++ b/runescape-client/src/main/java/User.java @@ -3,20 +3,18 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("le") +@ObfuscatedName("lu") @Implements("User") public class User implements Comparable { - @ObfuscatedName("u") - public static short[] field3948; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("username") Username username; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lpp;" + descriptor = "Lpm;" ) @Export("previousUsername") Username previousUsername; @@ -24,50 +22,50 @@ public class User implements Comparable { User() { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lle;I)I", - garbageValue = "-1041307648" + descriptor = "(Llu;B)I", + garbageValue = "-81" ) @Export("compareTo_user") public int compareTo_user(User var1) { return this.username.compareToTyped(var1.username); } - @ObfuscatedName("aw") + @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(B)Lpp;", - garbageValue = "-19" + descriptor = "(I)Lpm;", + garbageValue = "-1591035230" ) @Export("getUsername") public Username getUsername() { return this.username; } - @ObfuscatedName("at") + @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "0" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "149819278" ) @Export("getName") public String getName() { return this.username == null ? "" : this.username.getName(); } - @ObfuscatedName("as") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "16" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "1711535592" ) @Export("getPreviousName") public String getPreviousName() { return this.previousUsername == null ? "" : this.previousUsername.getName(); } - @ObfuscatedName("ae") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(Lpp;Lpp;I)V", - garbageValue = "1367049824" + descriptor = "(Lpm;Lpm;I)V", + garbageValue = "-1790598798" ) @Export("set") void set(Username var1, Username var2) { @@ -82,21 +80,4 @@ public class User implements Comparable { public int compareTo(Object var1) { return this.compareTo_user((User)var1); } - - @ObfuscatedName("go") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-73" - ) - static int method5968(int var0, int var1) { - int var2 = var1 - 334; - if (var2 < 0) { - var2 = 0; - } else if (var2 > 100) { - var2 = 100; - } - - int var3 = (Client.zoomWidth - Client.zoomHeight) * var2 / 100 + Client.zoomHeight; - return var0 * var3 / 256; - } } diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index 0688755dc7..9b7c09fcb1 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -4,10 +4,10 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ov") +@ObfuscatedName("ok") @Implements("UserComparator1") public class UserComparator1 implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -15,21 +15,30 @@ public class UserComparator1 implements Comparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lle;Lle;I)I", - garbageValue = "1351863653" + descriptor = "(Llu;Llu;B)I", + garbageValue = "-110" ) @Export("compare_bridged") int compare_bridged(User var1, User var2) { return this.reversed ? var1.compareTo_user(var2) : var2.compareTo_user(var1); } + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } + public boolean equals(Object var1) { return super.equals(var1); } - public int compare(Object var1, Object var2) { - return this.compare_bridged((User)var1, (User)var2); + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "725345511" + ) + public static int method7162(int var0) { + return Widget.method5030(ViewportMouse.ViewportMouse_entityTags[var0]); } } diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index f58c104cef..56a5d3822f 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -1,18 +1,20 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("df") +@ObfuscatedName("dp") @Implements("UserComparator10") public class UserComparator10 extends AbstractUserComparator { - @ObfuscatedName("rh") - @ObfuscatedSignature( - descriptor = "Lab;" + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -633659883 ) - @Export("pcmPlayer0") - static PcmPlayer pcmPlayer0; - @ObfuscatedName("n") + @Export("cacheGamebuild") + static int cacheGamebuild; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -20,10 +22,10 @@ public class UserComparator10 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;B)I", - garbageValue = "-50" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "-1753345286" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -38,16 +40,38 @@ public class UserComparator10 extends AbstractUserComparator { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - @ObfuscatedName("n") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;ZLlu;B)V", - garbageValue = "64" + descriptor = "(ILbe;ZI)I", + garbageValue = "-1354304959" ) - public static void method2444(AbstractArchive var0, AbstractArchive var1, boolean var2, Font var3) { - class262.ItemDefinition_archive = var0; - class393.ItemDefinition_modelArchive = var1; - Huffman.ItemDefinition_inMembersWorld = var2; - ItemComposition.ItemDefinition_fileCount = class262.ItemDefinition_archive.getGroupFileCount(10); - class300.ItemDefinition_fontPlain11 = var3; + static int method2451(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Interpreter.Widget_unpackTargetMask(WorldMapRegion.getWidgetFlags(var3)); + return 1; + } else if (var0 != ScriptOpcodes.CC_GETOP) { + if (var0 == ScriptOpcodes.CC_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } } } diff --git a/runescape-client/src/main/java/UserComparator2.java b/runescape-client/src/main/java/UserComparator2.java index d464196173..18b173a306 100644 --- a/runescape-client/src/main/java/UserComparator2.java +++ b/runescape-client/src/main/java/UserComparator2.java @@ -4,10 +4,10 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("od") +@ObfuscatedName("or") @Implements("UserComparator2") public class UserComparator2 implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -15,21 +15,21 @@ public class UserComparator2 implements Comparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lle;Lle;I)I", - garbageValue = "-1588305613" + descriptor = "(Llu;Llu;B)I", + garbageValue = "-58" ) @Export("compare_bridged") int compare_bridged(User var1, User var2) { return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); } - public boolean equals(Object var1) { - return super.equals(var1); - } - public int compare(Object var1, Object var2) { return this.compare_bridged((User)var1, (User)var2); } + + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index 42b9a14929..3ece2d27a0 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -1,12 +1,19 @@ +import java.util.Date; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dk") +@ObfuscatedName("dx") @Implements("UserComparator3") public class UserComparator3 extends AbstractUserComparator { - @ObfuscatedName("n") + @ObfuscatedName("oq") + @ObfuscatedGetter( + intValue = -1476242405 + ) + static int field1338; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -14,10 +21,10 @@ public class UserComparator3 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;B)I", - garbageValue = "55" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "972500816" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -32,50 +39,36 @@ public class UserComparator3 extends AbstractUserComparator { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - @ObfuscatedName("kn") + @ObfuscatedName("l") + public static String method2438(long var0) { + Calendar.Calendar_calendar.setTime(new Date(var0)); + int var2 = Calendar.Calendar_calendar.get(7); + int var3 = Calendar.Calendar_calendar.get(5); + int var4 = Calendar.Calendar_calendar.get(2); + int var5 = Calendar.Calendar_calendar.get(1); + int var6 = Calendar.Calendar_calendar.get(11); + int var7 = Calendar.Calendar_calendar.get(12); + int var8 = Calendar.Calendar_calendar.get(13); + return Calendar.DAYS_OF_THE_WEEK[var2 - 1] + ", " + var3 / 10 + var3 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var4] + "-" + var5 + " " + var6 / 10 + var6 % 10 + ":" + var7 / 10 + var7 % 10 + ":" + var8 / 10 + var8 % 10 + " GMT"; + } + + @ObfuscatedName("ad") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZI)V", - garbageValue = "1108711538" + descriptor = "(ILbe;ZI)I", + garbageValue = "485047246" ) - @Export("findItemDefinitions") - static void findItemDefinitions(String var0, boolean var1) { - var0 = var0.toLowerCase(); - short[] var2 = new short[16]; - int var3 = 0; - - for (int var4 = 0; var4 < ItemComposition.ItemDefinition_fileCount; ++var4) { - ItemComposition var9 = class65.ItemDefinition_get(var4); - if ((!var1 || var9.isTradable) && var9.noteTemplate == -1 && var9.name.toLowerCase().indexOf(var0) != -1) { - if (var3 >= 250) { - HealthBarUpdate.foundItemIdCount = -1; - class7.foundItemIds = null; - return; - } - - if (var3 >= var2.length) { - short[] var6 = new short[var2.length * 2]; - - for (int var7 = 0; var7 < var3; ++var7) { - var6[var7] = var2[var7]; - } - - var2 = var6; - } - - var2[var3++] = (short)var4; + static int method2436(int var0, Script var1, boolean var2) { + if (var0 != 3700 && var0 != 3701) { + if (var0 == 3702) { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else { + return 2; } + } else { + --AbstractByteArrayCopier.Interpreter_intStackSize; + --class54.Interpreter_stringStackSize; + return 1; } - - class7.foundItemIds = var2; - KeyHandler.foundItemIndex = 0; - HealthBarUpdate.foundItemIdCount = var3; - String[] var8 = new String[HealthBarUpdate.foundItemIdCount]; - - for (int var5 = 0; var5 < HealthBarUpdate.foundItemIdCount; ++var5) { - var8[var5] = class65.ItemDefinition_get(var2[var5]).name; - } - - short[] var10 = class7.foundItemIds; - InterfaceParent.sortItemsByName(var8, var10, 0, var8.length - 1); } } diff --git a/runescape-client/src/main/java/UserComparator4.java b/runescape-client/src/main/java/UserComparator4.java index 90d3e7449c..0ce785e578 100644 --- a/runescape-client/src/main/java/UserComparator4.java +++ b/runescape-client/src/main/java/UserComparator4.java @@ -1,5 +1,3 @@ -import java.io.IOException; -import java.net.Socket; import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; @@ -7,10 +5,22 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ct") +@ObfuscatedName("ck") @Implements("UserComparator4") public class UserComparator4 implements Comparator { - @ObfuscatedName("n") + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("ItemDefinition_archive") + public static AbstractArchive ItemDefinition_archive; + @ObfuscatedName("hh") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("headIconHintSprites") + static SpritePixels[] headIconHintSprites; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -18,10 +28,10 @@ public class UserComparator4 implements Comparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;I)I", - garbageValue = "-672050093" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "-1295595902" ) @Export("compare_bridged") int compare_bridged(Buddy var1, Buddy var2) { @@ -36,85 +46,192 @@ public class UserComparator4 implements Comparator { return super.equals(var1); } - @ObfuscatedName("o") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1687929303" + descriptor = "(I)J", + garbageValue = "754804678" ) - @Export("clearItemContainer") - static void clearItemContainer(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - for (int var2 = 0; var2 < var1.ids.length; ++var2) { - var1.ids[var2] = -1; - var1.quantities[var2] = 0; - } - + public static final synchronized long method2406() { + long var0 = System.currentTimeMillis(); + if (var0 < class397.field4283) { + class247.field2919 += class397.field4283 - var0; } + + class397.field4283 = var0; + return var0 + class247.field2919; } - @ObfuscatedName("d") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1655549224" + descriptor = "(B)V", + garbageValue = "-18" ) - static int method2388(int var0, Script var1, boolean var2) { - Widget var7; - if (var0 != ScriptOpcodes.CC_CALLONRESIZE && var0 != ScriptOpcodes.IF_CALLONRESIZE) { - int var4; - if (var0 == ScriptOpcodes.CC_TRIGGEROP) { - var7 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var4 >= 1 && var4 <= 10) { - class92 var8 = new class92(var4, var7.id, var7.childIndex, var7.itemId); - Interpreter.field818.add(var8); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.IF_TRIGGEROP) { - class240.Interpreter_intStackSize -= 3; - int var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - int var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - if (var5 >= 1 && var5 <= 10) { - class92 var6 = new class92(var5, var3, var4, class87.getWidget(var3).itemId); - Interpreter.field818.add(var6); - return 1; - } else { - throw new RuntimeException(); - } - } else { - return 2; - } - } else if (Interpreter.field813 >= 10) { - throw new RuntimeException(); + public static void method2395() { + VarpDefinition.VarpDefinition_cached.clear(); + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(CLkn;B)I", + garbageValue = "-97" + ) + @Export("lowercaseChar") + static int lowercaseChar(char var0, Language var1) { + int var2 = var0 << 4; + if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { + var0 = Character.toLowerCase(var0); + var2 = (var0 << 4) + 1; + } + + if (var0 == 241 && var1 == Language.Language_ES) { + var2 = 1762; + } + + return var2; + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)I", + garbageValue = "1403185658" + ) + @Export("hashString") + public static int hashString(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + MilliClock.charToByteCp1252(var0.charAt(var3)); + } + + return var2; + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "5" + ) + static int method2399(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.OC_NAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class87.ItemDefinition_get(var3).name; + return 1; } else { - if (var0 >= 2000) { - var7 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - } else { - var7 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - } + int var4; + ItemComposition var5; + if (var0 == ScriptOpcodes.OC_OP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class87.ItemDefinition_get(var3); + if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } - if (var7.onResize == null) { - return 0; - } else { - ScriptEvent var9 = new ScriptEvent(); - var9.widget = var7; - var9.args = var7.onResize; - var9.field1035 = Interpreter.field813 + 1; - Client.scriptEvents.addFirst(var9); return 1; + } else if (var0 == ScriptOpcodes.OC_IOP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class87.ItemDefinition_get(var3); + if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_COST) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class87.ItemDefinition_get(var3).price; + return 1; + } else if (var0 == ScriptOpcodes.OC_STACKABLE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class87.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0; + return 1; + } else { + ItemComposition var7; + if (var0 == ScriptOpcodes.OC_CERT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = class87.ItemDefinition_get(var3); + if (var7.noteTemplate == -1 && var7.note >= 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.note; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_UNCERT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = class87.ItemDefinition_get(var3); + if (var7.noteTemplate >= 0 && var7.note >= 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.note; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_MEMBERS) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class87.ItemDefinition_get(var3).isMembersOnly ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = class87.ItemDefinition_get(var3); + if (var7.placeholderTemplate == -1 && var7.placeholder >= 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.placeholder; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = class87.ItemDefinition_get(var3); + if (var7.placeholderTemplate >= 0 && var7.placeholder >= 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.placeholder; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_FIND) { + String var6 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + WorldMapScaleHandler.findItemDefinitions(var6, var4 == 1); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = WorldMapAreaData.foundItemIdCount; + return 1; + } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { + if (var0 == ScriptOpcodes.OC_FINDRESET) { + GraphicsObject.foundItemIndex = 0; + return 1; + } else if (var0 == 4213) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = class87.ItemDefinition_get(var3).getShiftClickIndex(); + if (var4 == -1) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4 + 1; + } + + return 1; + } else { + return 2; + } + } else { + if (ObjectComposition.foundItemIds != null && GraphicsObject.foundItemIndex < WorldMapAreaData.foundItemIdCount) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ObjectComposition.foundItemIds[++GraphicsObject.foundItemIndex - 1] & '\uffff'; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } } } } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/net/Socket;III)Lmv;", - garbageValue = "-1484666434" - ) - public static AbstractSocket method2379(Socket var0, int var1, int var2) throws IOException { - return new BufferedNetSocket(var0, var1, var2); - } } diff --git a/runescape-client/src/main/java/UserComparator5.java b/runescape-client/src/main/java/UserComparator5.java index 23189130c0..dfdfd7d775 100644 --- a/runescape-client/src/main/java/UserComparator5.java +++ b/runescape-client/src/main/java/UserComparator5.java @@ -3,10 +3,10 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dd") +@ObfuscatedName("db") @Implements("UserComparator5") public class UserComparator5 extends AbstractUserComparator { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -14,10 +14,10 @@ public class UserComparator5 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;I)I", - garbageValue = "-1853753658" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "438182232" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -35,4 +35,34 @@ public class UserComparator5 extends AbstractUserComparator { public int compare(Object var1, Object var2) { return this.compareBuddy((Buddy)var1, (Buddy)var2); } + + @ObfuscatedName("ge") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "576257676" + ) + @Export("addNpcsToScene") + static final void addNpcsToScene(boolean var0) { + for (int var1 = 0; var1 < Client.npcCount; ++var1) { + NPC var2 = Client.npcs[Client.npcIndices[var1]]; + if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { + int var3 = var2.x >> 7; + int var4 = var2.y >> 7; + if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { + if (var2.field1109 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { + if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { + continue; + } + + Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; + } + + long var5 = class247.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); + var2.playerCycle = Client.cycle; + PlayerComposition.scene.drawEntity(VertexNormal.Client_plane, var2.x, var2.y, MidiPcmStream.getTileHeight(var2.field1109 * 64 - 64 + var2.x, var2.field1109 * 64 - 64 + var2.y, VertexNormal.Client_plane), var2.field1109 * 64 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); + } + } + } + + } } diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 18dcf61ed2..20dbbc5b21 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -1,15 +1,25 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dn") +@ObfuscatedName("du") @Implements("UserComparator6") public class UserComparator6 extends AbstractUserComparator { - @ObfuscatedName("hd") - @Export("regionLandArchiveIds") - static int[] regionLandArchiveIds; - @ObfuscatedName("n") + @ObfuscatedName("ej") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive12") + static Archive archive12; + @ObfuscatedName("ix") + @ObfuscatedGetter( + intValue = -863164529 + ) + @Export("selectedItemWidget") + static int selectedItemWidget; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -17,10 +27,10 @@ public class UserComparator6 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;I)I", - garbageValue = "-1100404002" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "-2006928381" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -34,4 +44,82 @@ public class UserComparator6 extends AbstractUserComparator { public int compare(Object var1, Object var2) { return this.compareBuddy((Buddy)var1, (Buddy)var2); } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lky;II)V", + garbageValue = "1624895888" + ) + static void method2466(Archive var0, int var1) { + if (TriBool.NetCache_reference != null) { + TriBool.NetCache_reference.offset = var1 * 8 + 5; + int var2 = TriBool.NetCache_reference.readInt(); + int var3 = TriBool.NetCache_reference.readInt(); + var0.loadIndex(var2, var3); + } else { + ClanSettings.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); + NetCache.NetCache_archives[var1] = var0; + } + } + + @ObfuscatedName("fq") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "112358019" + ) + @Export("doCheat") + static final void doCheat(String var0) { + if (var0.equalsIgnoreCase("toggleroof")) { + WorldMapDecorationType.clientPreferences.roofsHidden = !WorldMapDecorationType.clientPreferences.roofsHidden; + ScriptFrame.savePreferences(); + if (WorldMapDecorationType.clientPreferences.roofsHidden) { + GraphicsDefaults.addGameMessage(99, "", "Roofs are now all hidden"); + } else { + GraphicsDefaults.addGameMessage(99, "", "Roofs will only be removed selectively"); + } + } + + if (var0.equalsIgnoreCase("displayfps")) { + Client.displayFps = !Client.displayFps; + } + + if (var0.equalsIgnoreCase("renderself")) { + Client.renderSelf = !Client.renderSelf; + } + + if (var0.equalsIgnoreCase("mouseovertext")) { + Client.showMouseOverText = !Client.showMouseOverText; + } + + if (Client.staffModLevel >= 2) { + if (var0.equalsIgnoreCase("errortest")) { + throw new RuntimeException(); + } + + if (var0.equalsIgnoreCase("showcoord")) { + TileItem.worldMap.showCoord = !TileItem.worldMap.showCoord; + } + + if (var0.equalsIgnoreCase("fpson")) { + Client.displayFps = true; + } + + if (var0.equalsIgnoreCase("fpsoff")) { + Client.displayFps = false; + } + + if (var0.equalsIgnoreCase("gc")) { + System.gc(); + } + + if (var0.equalsIgnoreCase("clientdrop")) { + class20.method302(); + } + } + + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2756, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(var0.length() + 1); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator7.java b/runescape-client/src/main/java/UserComparator7.java index dc4a92391a..307eef4b05 100644 --- a/runescape-client/src/main/java/UserComparator7.java +++ b/runescape-client/src/main/java/UserComparator7.java @@ -1,12 +1,20 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("ce") +@ObfuscatedName("cm") @Implements("UserComparator7") public class UserComparator7 extends AbstractUserComparator { - @ObfuscatedName("n") + @ObfuscatedName("mj") + @ObfuscatedGetter( + intValue = 1788791265 + ) + @Export("menuWidth") + static int menuWidth; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -14,10 +22,10 @@ public class UserComparator7 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;B)I", - garbageValue = "-31" + descriptor = "(Lmi;Lmi;B)I", + garbageValue = "31" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -32,69 +40,45 @@ public class UserComparator7 extends AbstractUserComparator { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Lef;", - garbageValue = "-1162933530" + descriptor = "(III)I", + garbageValue = "2117353733" ) - @Export("VarpDefinition_get") - public static VarpDefinition VarpDefinition_get(int var0) { - VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; + static int method2421(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return -1; } else { - byte[] var2 = VarpDefinition.VarpDefinition_archive.takeFile(16, var0); - var1 = new VarpDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); - return var1; + return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; } } - @ObfuscatedName("az") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-655513763" + descriptor = "(Ljava/lang/String;I)Ljava/lang/Class;", + garbageValue = "-412123539" ) - @Export("runWidgetOnLoadListener") - static void runWidgetOnLoadListener(int var0) { - if (var0 != -1) { - if (class317.loadInterface(var0)) { - Widget[] var1 = class139.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3.onLoad != null) { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args = var3.onLoad; - Skeleton.runScript(var4, 5000000, 0); - } - } - - } - } - } - - @ObfuscatedName("er") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1437933650" - ) - static int method2409() { - if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { - int var0 = 0; - - for (int var1 = 0; var1 <= Client.archiveLoadersDone; ++var1) { - var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; - } - - return var0 * 10000 / Client.field763; + @Export("loadClassFromDescriptor") + static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { + if (var0.equals("B")) { + return Byte.TYPE; + } else if (var0.equals("I")) { + return Integer.TYPE; + } else if (var0.equals("S")) { + return Short.TYPE; + } else if (var0.equals("J")) { + return Long.TYPE; + } else if (var0.equals("Z")) { + return Boolean.TYPE; + } else if (var0.equals("F")) { + return Float.TYPE; + } else if (var0.equals("D")) { + return Double.TYPE; + } else if (var0.equals("C")) { + return Character.TYPE; } else { - return 10000; + return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); } } } diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index 5eab00b892..e867f5031c 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -1,19 +1,30 @@ -import java.util.Date; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.Random; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cz") +@ObfuscatedName("cb") @Implements("UserComparator8") public class UserComparator8 extends AbstractUserComparator { - @ObfuscatedName("z") + @ObfuscatedName("er") @ObfuscatedSignature( - descriptor = "Loi;" + descriptor = "Lky;" ) - static IndexedSprite field1312; - @ObfuscatedName("n") + @Export("archive10") + static Archive archive10; + @ObfuscatedName("gz") + @ObfuscatedSignature( + descriptor = "Llt;" + ) + @Export("fontPlain11") + static Font fontPlain11; + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -21,10 +32,10 @@ public class UserComparator8 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;B)I", - garbageValue = "-77" + descriptor = "(Lmi;Lmi;B)I", + garbageValue = "16" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -43,698 +54,139 @@ public class UserComparator8 extends AbstractUserComparator { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - @ObfuscatedName("c") - @Export("base37DecodeLong") - public static String base37DecodeLong(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (var0 % 37L == 0L) { - return null; - } else { - int var2 = 0; - - for (long var3 = var0; 0L != var3; var3 /= 37L) { - ++var2; - } - - StringBuilder var5; - char var8; - for (var5 = new StringBuilder(var2); var0 != 0L; var5.append(var8)) { - long var6 = var0; - var0 /= 37L; - var8 = class320.base37Table[(int)(var6 - 37L * var0)]; - if (var8 == '_') { - int var9 = var5.length() - 1; - var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); - var8 = 160; - } - } - - var5.reverse(); - var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); - return var5.toString(); - } - } else { - return null; - } - } - - @ObfuscatedName("y") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "739349389" + descriptor = "(JLjava/lang/String;B)I", + garbageValue = "7" ) - @Export("isAlphaNumeric") - public static boolean isAlphaNumeric(char var0) { - return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1021871509" - ) - static int method2398(int var0, Script var1, boolean var2) { - String var3; - int var9; - if (var0 == ScriptOpcodes.APPEND_NUM) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var9; - return 1; - } else { - String var4; - if (var0 == ScriptOpcodes.APPEND) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var4; - return 1; - } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + EnumComposition.intToString(var9, true); - return 1; - } else if (var0 == ScriptOpcodes.LOWERCASE) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toLowerCase(); - return 1; - } else { - int var6; - int var10; - if (var0 == ScriptOpcodes.FROMDATE) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - long var13 = 86400000L * ((long)var10 + 11745L); - Interpreter.Interpreter_calendar.setTime(new Date(var13)); - var6 = Interpreter.Interpreter_calendar.get(5); - int var17 = Interpreter.Interpreter_calendar.get(2); - int var8 = Interpreter.Interpreter_calendar.get(1); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var17] + "-" + var8; - return 1; - } else if (var0 != ScriptOpcodes.TEXT_GENDER) { - if (var0 == ScriptOpcodes.TOSTRING) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Integer.toString(var10); - return 1; - } else if (var0 == ScriptOpcodes.COMPARE) { - Interpreter.Interpreter_stringStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = WorldMapEvent.method3949(class122.compareStrings(Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1], class323.clientLanguage)); - return 1; - } else { - int var5; - byte[] var11; - Font var12; - if (var0 == ScriptOpcodes.PARAHEIGHT) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class240.Interpreter_intStackSize -= 2; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var11 = class391.archive13.takeFile(var5, 0); - var12 = new Font(var11); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var12.lineCount(var3, var9); - return 1; - } else if (var0 == ScriptOpcodes.PARAWIDTH) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class240.Interpreter_intStackSize -= 2; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var11 = class391.archive13.takeFile(var5, 0); - var12 = new Font(var11); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var12.lineWidth(var3, var9); - return 1; - } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; - } - - return 1; - } else if (var0 == ScriptOpcodes.ESCAPE) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); - return 1; - } else if (var0 == ScriptOpcodes.APPEND_CHAR) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + (char)var9; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Players.isCharPrintable((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = isAlphaNumeric((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class29.isCharAlphabetic((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = FaceNormal.isDigit((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STRING_LENGTH) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - if (var3 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.length(); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.SUBSTRING) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class240.Interpreter_intStackSize -= 2; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.substring(var9, var5); - return 1; - } else if (var0 == ScriptOpcodes.REMOVETAGS) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - StringBuilder var15 = new StringBuilder(var3.length()); - boolean var16 = false; - - for (var6 = 0; var6 < var3.length(); ++var6) { - char var7 = var3.charAt(var6); - if (var7 == '<') { - var16 = true; - } else if (var7 == '>') { - var16 = false; - } else if (!var16) { - var15.append(var7); - } - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.toString(); - return 1; - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.indexOf(var9); - return 1; - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.indexOf(var4, var5); - return 1; - } else if (var0 == 4122) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toUpperCase(); - return 1; - } else { - return 2; - } - } - } else { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (class129.localPlayer.appearance != null && class129.localPlayer.appearance.isFemale) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - } - - return 1; - } - } - } - } - - @ObfuscatedName("gc") - @ObfuscatedSignature( - descriptor = "(IIIIB)V", - garbageValue = "-37" - ) - @Export("drawEntities") - static final void drawEntities(int var0, int var1, int var2, int var3) { - ++Client.viewportDrawCount; - if (class129.localPlayer.x >> 7 == Client.destinationX && class129.localPlayer.y >> 7 == Client.destinationY) { - Client.destinationX = 0; - } - - WorldMapLabelSize.method3387(); - GrandExchangeOfferOwnWorldComparator.method1134(); - ClanMate.addNpcsToScene(true); - DynamicObject.method1955(); - ClanMate.addNpcsToScene(false); - - int var6; - for (Projectile var4 = (Projectile)Client.projectiles.last(); var4 != null; var4 = (Projectile)Client.projectiles.previous()) { - if (var4.plane == class391.Client_plane && Client.cycle <= var4.cycleEnd) { - if (Client.cycle >= var4.cycleStart) { - if (var4.targetIndex > 0) { - NPC var31 = Client.npcs[var4.targetIndex - 1]; - if (var31 != null && var31.x >= 0 && var31.x < 13312 && var31.y >= 0 && var31.y < 13312) { - var4.setDestination(var31.x, var31.y, GraphicsObject.getTileHeight(var31.x, var31.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - if (var4.targetIndex < 0) { - var6 = -var4.targetIndex - 1; - Player var34; - if (var6 == Client.localPlayerIndex) { - var34 = class129.localPlayer; - } else { - var34 = Client.players[var6]; - } - - if (var34 != null && var34.x >= 0 && var34.x < 13312 && var34.y >= 0 && var34.y < 13312) { - var4.setDestination(var34.x, var34.y, GraphicsObject.getTileHeight(var34.x, var34.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - var4.advance(Client.field764); - CollisionMap.scene.drawEntity(class391.Client_plane, (int)var4.x, (int)var4.y, (int)var4.z, 60, var4, var4.yaw, -1L, false); - } - } else { - var4.remove(); - } - } - - for (GraphicsObject var32 = (GraphicsObject)Client.graphicsObjects.last(); var32 != null; var32 = (GraphicsObject)Client.graphicsObjects.previous()) { - if (var32.plane == class391.Client_plane && !var32.isFinished) { - if (Client.cycle >= var32.cycleStart) { - var32.advance(Client.field764); - if (var32.isFinished) { - var32.remove(); - } else { - CollisionMap.scene.drawEntity(var32.plane, var32.x, var32.y, var32.height, 60, var32, 0, -1L, false); - } - } - } else { - var32.remove(); - } - } - - class9.setViewportShape(var0, var1, var2, var3, true); - var0 = Client.viewportOffsetX; - var1 = Client.viewportOffsetY; - var2 = Client.viewportWidth; - var3 = Client.viewportHeight; - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - int var5; - int var28; - if (!Client.isCameraLocked) { - var28 = Client.camAngleX; - if (Client.field483 / 256 > var28) { - var28 = Client.field483 / 256; - } - - if (Client.field736[4] && Client.field738[4] + 128 > var28) { - var28 = Client.field738[4] + 128; - } - - var5 = Client.camAngleY & 2047; - class1.method14(WorldMapID.oculusOrbFocalPointX, ClanSettings.field1473, WorldMapRectangle.oculusOrbFocalPointY, var28, var5, AccessFile.method6644(var28), var3); - } + static final int method2413(long var0, String var2) { + Random var3 = new Random(); + Buffer var4 = new Buffer(128); + Buffer var5 = new Buffer(128); + int[] var6 = new int[]{var3.nextInt(), var3.nextInt(), (int)(var0 >> 32), (int)var0}; + var4.writeByte(10); int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - if (!Client.isCameraLocked) { - if (VarbitComposition.clientPreferences.roofsHidden) { - var5 = class391.Client_plane; - } else { - label650: { - var6 = 3; - if (ApproximateRouteStrategy.cameraPitch < 310) { - if (Client.oculusOrbState == 1) { - var7 = WorldMapID.oculusOrbFocalPointX >> 7; - var8 = WorldMapRectangle.oculusOrbFocalPointY >> 7; - } else { - var7 = class129.localPlayer.x >> 7; - var8 = class129.localPlayer.y >> 7; - } + for (var7 = 0; var7 < 4; ++var7) { + var4.writeInt(var3.nextInt()); + } - var9 = WorldMapSection2.cameraX >> 7; - var10 = DevicePcmPlayerProvider.cameraZ >> 7; - if (var9 < 0 || var10 < 0 || var9 >= 104 || var10 >= 104) { - var5 = class391.Client_plane; - break label650; - } + var4.writeInt(var6[0]); + var4.writeInt(var6[1]); + var4.writeLong(var0); + var4.writeLong(0L); - if (var7 < 0 || var8 < 0 || var7 >= 104 || var8 >= 104) { - var5 = class391.Client_plane; - break label650; - } + for (var7 = 0; var7 < 4; ++var7) { + var4.writeInt(var3.nextInt()); + } - if ((Tiles.Tiles_renderFlags[class391.Client_plane][var9][var10] & 4) != 0) { - var6 = class391.Client_plane; - } + var4.encryptRsa(class65.field856, class65.field852); + var5.writeByte(10); - if (var7 > var9) { - var11 = var7 - var9; - } else { - var11 = var9 - var7; - } + for (var7 = 0; var7 < 3; ++var7) { + var5.writeInt(var3.nextInt()); + } - if (var8 > var10) { - var12 = var8 - var10; - } else { - var12 = var10 - var8; - } + var5.writeLong(var3.nextLong()); + var5.writeLongMedium(var3.nextLong()); + if (Client.randomDatData != null) { + var5.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); + } else { + byte[] var8 = new byte[24]; - if (var11 > var12) { - var13 = var12 * 65536 / var11; - var14 = 32768; + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var8); - while (var9 != var7) { - if (var9 < var7) { - ++var9; - } else if (var9 > var7) { - --var9; - } + int var9; + for (var9 = 0; var9 < 24 && var8[var9] == 0; ++var9) { + } - if ((Tiles.Tiles_renderFlags[class391.Client_plane][var9][var10] & 4) != 0) { - var6 = class391.Client_plane; - } + if (var9 >= 24) { + throw new IOException(); + } + } catch (Exception var23) { + for (int var10 = 0; var10 < 24; ++var10) { + var8[var10] = -1; + } + } - var14 += var13; - if (var14 >= 65536) { - var14 -= 65536; - if (var10 < var8) { - ++var10; - } else if (var10 > var8) { - --var10; - } + var5.writeBytes(var8, 0, var8.length); + } - if ((Tiles.Tiles_renderFlags[class391.Client_plane][var9][var10] & 4) != 0) { - var6 = class391.Client_plane; - } - } - } - } else if (var12 > 0) { - var13 = var11 * 65536 / var12; - var14 = 32768; + var5.writeLong(var3.nextLong()); + var5.encryptRsa(class65.field856, class65.field852); + var7 = class113.stringCp1252NullTerminatedByteSize(var2); + if (var7 % 8 != 0) { + var7 += 8 - var7 % 8; + } - while (var8 != var10) { - if (var10 < var8) { - ++var10; - } else if (var10 > var8) { - --var10; - } + Buffer var24 = new Buffer(var7); + var24.writeStringCp1252NullTerminated(var2); + var24.offset = var7; + var24.xteaEncryptAll(var6); + Buffer var18 = new Buffer(var5.offset + var4.offset + var24.offset + 5); + var18.writeByte(2); + var18.writeByte(var4.offset); + var18.writeBytes(var4.array, 0, var4.offset); + var18.writeByte(var5.offset); + var18.writeBytes(var5.array, 0, var5.offset); + var18.writeShort(var24.offset); + var18.writeBytes(var24.array, 0, var24.offset); + byte[] var11 = var18.array; + String var20 = WallDecoration.method4580(var11, 0, var11.length); + String var12 = var20; - if ((Tiles.Tiles_renderFlags[class391.Client_plane][var9][var10] & 4) != 0) { - var6 = class391.Client_plane; - } + try { + URL var13 = new URL(HitSplatDefinition.method3168("services", false) + "m=accountappeal/login.ws"); + URLConnection var14 = var13.openConnection(); + var14.setDoInput(true); + var14.setDoOutput(true); + var14.setConnectTimeout(5000); + OutputStreamWriter var15 = new OutputStreamWriter(var14.getOutputStream()); + var15.write("data2=" + Language.method5476(var12) + "&dest=" + Language.method5476("passwordchoice.ws")); + var15.flush(); + InputStream var16 = var14.getInputStream(); + var18 = new Buffer(new byte[1000]); - var14 += var13; - if (var14 >= 65536) { - var14 -= 65536; - if (var9 < var7) { - ++var9; - } else if (var9 > var7) { - --var9; - } - - if ((Tiles.Tiles_renderFlags[class391.Client_plane][var9][var10] & 4) != 0) { - var6 = class391.Client_plane; - } - } - } - } - } - - if (class129.localPlayer.x >= 0 && class129.localPlayer.y >= 0 && class129.localPlayer.x < 13312 && class129.localPlayer.y < 13312) { - if ((Tiles.Tiles_renderFlags[class391.Client_plane][class129.localPlayer.x >> 7][class129.localPlayer.y >> 7] & 4) != 0) { - var6 = class391.Client_plane; - } - - var5 = var6; + do { + int var17 = var16.read(var18.array, var18.offset, 1000 - var18.offset); + if (var17 == -1) { + var15.close(); + var16.close(); + String var21 = new String(var18.array); + if (var21.startsWith("OFFLINE")) { + return 4; + } else if (var21.startsWith("WRONG")) { + return 7; + } else if (var21.startsWith("RELOAD")) { + return 3; + } else if (var21.startsWith("Not permitted for social network accounts.")) { + return 6; } else { - var5 = class391.Client_plane; - } - } - } + var18.xteaDecryptAll(var6); - var28 = var5; - } else { - if (VarbitComposition.clientPreferences.roofsHidden) { - var5 = class391.Client_plane; - } else { - var6 = GraphicsObject.getTileHeight(WorldMapSection2.cameraX, DevicePcmPlayerProvider.cameraZ, class391.Client_plane); - if (var6 - SpotAnimationDefinition.cameraY < 800 && (Tiles.Tiles_renderFlags[class391.Client_plane][WorldMapSection2.cameraX >> 7][DevicePcmPlayerProvider.cameraZ >> 7] & 4) != 0) { - var5 = class391.Client_plane; - } else { - var5 = 3; - } - } + while (var18.offset > 0 && var18.array[var18.offset - 1] == 0) { + --var18.offset; + } - var28 = var5; - } - - var5 = WorldMapSection2.cameraX; - var6 = SpotAnimationDefinition.cameraY; - var7 = DevicePcmPlayerProvider.cameraZ; - var8 = ApproximateRouteStrategy.cameraPitch; - var9 = Fonts.cameraYaw; - - for (var10 = 0; var10 < 5; ++var10) { - if (Client.field736[var10]) { - var11 = (int)(Math.random() * (double)(Client.field484[var10] * 2 + 1) - (double)Client.field484[var10] + Math.sin((double)Client.field686[var10] / 100.0D * (double)Client.field740[var10]) * (double)Client.field738[var10]); - if (var10 == 0) { - WorldMapSection2.cameraX += var11; - } - - if (var10 == 1) { - SpotAnimationDefinition.cameraY += var11; - } - - if (var10 == 2) { - DevicePcmPlayerProvider.cameraZ += var11; - } - - if (var10 == 3) { - Fonts.cameraYaw = var11 + Fonts.cameraYaw & 2047; - } - - if (var10 == 4) { - ApproximateRouteStrategy.cameraPitch += var11; - if (ApproximateRouteStrategy.cameraPitch < 128) { - ApproximateRouteStrategy.cameraPitch = 128; - } - - if (ApproximateRouteStrategy.cameraPitch > 383) { - ApproximateRouteStrategy.cameraPitch = 383; - } - } - } - } - - var10 = MouseHandler.MouseHandler_x; - var11 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var10 = MouseHandler.MouseHandler_lastPressedX; - var11 = MouseHandler.MouseHandler_lastPressedY; - } - - if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { - var12 = var10 - var0; - var13 = var11 - var1; - ViewportMouse.ViewportMouse_x = var12; - ViewportMouse.ViewportMouse_y = var13; - ViewportMouse.ViewportMouse_isInViewport = true; - ViewportMouse.ViewportMouse_entityCount = 0; - ViewportMouse.ViewportMouse_false0 = false; - } else { - class133.method2654(); - } - - class1.playPcmPlayers(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - class1.playPcmPlayers(); - var12 = Rasterizer3D.Rasterizer3D_zoom; - Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; - CollisionMap.scene.draw(WorldMapSection2.cameraX, SpotAnimationDefinition.cameraY, DevicePcmPlayerProvider.cameraZ, ApproximateRouteStrategy.cameraPitch, Fonts.cameraYaw, var28); - Rasterizer3D.Rasterizer3D_zoom = var12; - class1.playPcmPlayers(); - CollisionMap.scene.clearTempGameObjects(); - Client.overheadTextCount = 0; - boolean var33 = false; - var14 = -1; - int var15 = -1; - int var16 = Players.Players_count; - int[] var17 = Players.Players_indices; - - int var18; - for (var18 = 0; var18 < var16 + Client.npcCount; ++var18) { - Object var30; - if (var18 < var16) { - var30 = Client.players[var17[var18]]; - if (var17[var18] == Client.combatTargetPlayerIndex) { - var33 = true; - var14 = var18; - continue; - } - - if (var30 == class129.localPlayer) { - var15 = var18; - continue; - } - } else { - var30 = Client.npcs[Client.npcIndices[var18 - var16]]; - } - - class17.drawActor2d((Actor)var30, var18, var0, var1, var2, var3); - } - - if (Client.renderSelf && var15 != -1) { - class17.drawActor2d(class129.localPlayer, var15, var0, var1, var2, var3); - } - - if (var33) { - class17.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3); - } - - for (var18 = 0; var18 < Client.overheadTextCount; ++var18) { - int var19 = Client.overheadTextXs[var18]; - int var20 = Client.overheadTextYs[var18]; - int var21 = Client.overheadTextXOffsets[var18]; - int var22 = Client.overheadTextAscents[var18]; - boolean var23 = true; - - while (var23) { - var23 = false; - - for (int var29 = 0; var29 < var18; ++var29) { - if (var20 + 2 > Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] && var20 - var22 < Client.overheadTextYs[var29] + 2 && var19 - var21 < Client.overheadTextXs[var29] + Client.overheadTextXOffsets[var29] && var21 + var19 > Client.overheadTextXs[var29] - Client.overheadTextXOffsets[var29] && Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] < var20) { - var20 = Client.overheadTextYs[var29] - Client.overheadTextAscents[var29]; - var23 = true; - } - } - } - - Client.viewportTempX = Client.overheadTextXs[var18]; - Client.viewportTempY = Client.overheadTextYs[var18] = var20; - String var24 = Client.overheadText[var18]; - if (Client.chatEffects == 0) { - int var25 = 16776960; - if (Client.overheadTextColors[var18] < 6) { - var25 = Client.field707[Client.overheadTextColors[var18]]; - } - - if (Client.overheadTextColors[var18] == 6) { - var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; - } - - if (Client.overheadTextColors[var18] == 7) { - var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; - } - - if (Client.overheadTextColors[var18] == 8) { - var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; - } - - int var26; - if (Client.overheadTextColors[var18] == 9) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = var26 * 1280 + 16711680; - } else if (var26 < 100) { - var25 = 16776960 - (var26 - 50) * 327680; - } else if (var26 < 150) { - var25 = (var26 - 100) * 5 + 65280; + var21 = new String(var18.array, 0, var18.offset); + if (GrandExchangeOffer.method5406(var21)) { + LoginScreenAnimation.openURL(var21, true, false); + return 2; + } else { + return 5; + } } } - if (Client.overheadTextColors[var18] == 10) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = var26 * 5 + 16711680; - } else if (var26 < 100) { - var25 = 16711935 - (var26 - 50) * 327680; - } else if (var26 < 150) { - var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; - } - } + var18.offset += var17; + } while(var18.offset < 1000); - if (Client.overheadTextColors[var18] == 11) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = 16777215 - var26 * 327685; - } else if (var26 < 100) { - var25 = (var26 - 50) * 327685 + 65280; - } else if (var26 < 150) { - var25 = 16777215 - (var26 - 100) * 327680; - } - } - - if (Client.overheadTextEffects[var18] == 0) { - class11.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); - } - - if (Client.overheadTextEffects[var18] == 1) { - class11.fontBold12.drawCenteredWave(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var18] == 2) { - class11.fontBold12.drawCenteredWave2(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var18] == 3) { - class11.fontBold12.drawCenteredShake(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); - } - - if (Client.overheadTextEffects[var18] == 4) { - var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (class11.fontBold12.stringWidth(var24) + 100) / 150; - Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); - class11.fontBold12.draw(var24, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - - if (Client.overheadTextEffects[var18] == 5) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - int var27 = 0; - if (var26 < 25) { - var27 = var26 - 25; - } else if (var26 > 125) { - var27 = var26 - 125; - } - - Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - class11.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); - class11.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - } else { - class11.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); - } + return 5; + } catch (Throwable var22) { + var22.printStackTrace(); + return 5; } - - if (Client.hintArrowType == 2) { - Login.worldToScreen((Client.hintArrowX - FloorOverlayDefinition.baseX << 7) + Client.hintArrowSubX, (Client.hintArrowY - class320.baseY << 7) + Client.hintArrowSubY, Client.hintArrowHeight * 2); - if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { - class7.headIconHintSprites[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); - } - } - - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field764); - GameBuild.method5073(var0, var1, var2, var3); - WorldMapSection2.cameraX = var5; - SpotAnimationDefinition.cameraY = var6; - DevicePcmPlayerProvider.cameraZ = var7; - ApproximateRouteStrategy.cameraPitch = var8; - Fonts.cameraYaw = var9; - if (Client.isLoading && Strings.method5088(true, false) == 0) { - Client.isLoading = false; - } - - if (Client.isLoading) { - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - WorldMapData_1.drawLoadingMessage("Loading - please wait.", false); - } - } } diff --git a/runescape-client/src/main/java/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index 0423f1cc6b..60856a939e 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -1,18 +1,12 @@ -import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ds") +@ObfuscatedName("dd") @Implements("UserComparator9") public class UserComparator9 extends AbstractUserComparator { - @ObfuscatedName("y") - public static short[][] field1330; - @ObfuscatedName("fp") - @Export("secureRandom") - static SecureRandom secureRandom; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("reversed") final boolean reversed; @@ -20,10 +14,10 @@ public class UserComparator9 extends AbstractUserComparator { this.reversed = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lmm;Lmm;I)I", - garbageValue = "-1109317659" + descriptor = "(Lmi;Lmi;I)I", + garbageValue = "-902931743" ) @Export("compareBuddy") int compareBuddy(Buddy var1, Buddy var2) { @@ -37,19 +31,4 @@ public class UserComparator9 extends AbstractUserComparator { public int compare(Object var1, Object var2) { return this.compareBuddy((Buddy)var1, (Buddy)var2); } - - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "(Lot;J)V" - ) - static void method2439(Buffer var0, long var1) { - var1 /= 10L; - if (var1 < 0L) { - var1 = 0L; - } else if (var1 > 65535L) { - var1 = 65535L; - } - - var0.writeShort((int)var1); - } } diff --git a/runescape-client/src/main/java/UserList.java b/runescape-client/src/main/java/UserList.java index efb125cb7c..b8c705d282 100644 --- a/runescape-client/src/main/java/UserList.java +++ b/runescape-client/src/main/java/UserList.java @@ -7,34 +7,40 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mn") +@ObfuscatedName("mj") @Implements("UserList") public abstract class UserList { - @ObfuscatedName("u") + @ObfuscatedName("fb") @ObfuscatedGetter( - intValue = -326084773 + intValue = 1803519821 + ) + @Export("js5Port") + static int js5Port; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -790590989 ) @Export("capacity") final int capacity; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -508038247 + intValue = -1994155047 ) @Export("size") int size; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "[Lle;" + descriptor = "[Llu;" ) @Export("array") User[] array; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("usernamesMap") HashMap usernamesMap; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("previousUsernamesMap") HashMap previousUsernamesMap; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("comparator") Comparator comparator; @@ -47,26 +53,26 @@ public abstract class UserList { this.previousUsernamesMap = new HashMap(var1 / 8); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(B)Lle;", - garbageValue = "27" + descriptor = "(I)Llu;", + garbageValue = "396333118" ) @Export("newInstance") abstract User newInstance(); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(II)[Lle;", - garbageValue = "-1704587572" + descriptor = "(II)[Llu;", + garbageValue = "1129798936" ) @Export("newTypedArray") abstract User[] newTypedArray(int var1); - @ObfuscatedName("ae") + @ObfuscatedName("ad") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-2125130390" + garbageValue = "-492796417" ) @Export("clear") public void clear() { @@ -76,10 +82,10 @@ public abstract class UserList { this.previousUsernamesMap.clear(); } - @ObfuscatedName("av") + @ObfuscatedName("as") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-54" + descriptor = "(I)I", + garbageValue = "-1616091928" ) @Export("getSize") public int getSize() { @@ -89,17 +95,17 @@ public abstract class UserList { @ObfuscatedName("ak") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1258551000" + garbageValue = "-1322642519" ) @Export("isFull") public boolean isFull() { return this.size == this.capacity; } - @ObfuscatedName("an") + @ObfuscatedName("ah") @ObfuscatedSignature( - descriptor = "(Lpp;I)Z", - garbageValue = "34910387" + descriptor = "(Lpm;I)Z", + garbageValue = "70733462" ) @Export("contains") public boolean contains(Username var1) { @@ -110,10 +116,10 @@ public abstract class UserList { } } - @ObfuscatedName("ab") + @ObfuscatedName("ay") @ObfuscatedSignature( - descriptor = "(Lpp;I)Lle;", - garbageValue = "-1682671059" + descriptor = "(Lpm;I)Llu;", + garbageValue = "-355619052" ) @Export("getByUsername") public User getByUsername(Username var1) { @@ -121,30 +127,30 @@ public abstract class UserList { return var2 != null ? var2 : this.getByPreviousUsername(var1); } - @ObfuscatedName("au") + @ObfuscatedName("al") @ObfuscatedSignature( - descriptor = "(Lpp;I)Lle;", - garbageValue = "-1111421165" + descriptor = "(Lpm;I)Llu;", + garbageValue = "-1582886561" ) @Export("getByCurrentUsername") User getByCurrentUsername(Username var1) { return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); } - @ObfuscatedName("am") + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "(Lpp;S)Lle;", - garbageValue = "128" + descriptor = "(Lpm;B)Llu;", + garbageValue = "9" ) @Export("getByPreviousUsername") User getByPreviousUsername(Username var1) { return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); } - @ObfuscatedName("ao") + @ObfuscatedName("au") @ObfuscatedSignature( - descriptor = "(Lpp;I)Z", - garbageValue = "-353801645" + descriptor = "(Lpm;I)Z", + garbageValue = "-1508936158" ) @Export("removeByUsername") public final boolean removeByUsername(Username var1) { @@ -157,10 +163,10 @@ public abstract class UserList { } } - @ObfuscatedName("ay") + @ObfuscatedName("aa") @ObfuscatedSignature( - descriptor = "(Lle;I)V", - garbageValue = "-1580486831" + descriptor = "(Llu;B)V", + garbageValue = "85" ) @Export("remove") final void remove(User var1) { @@ -171,20 +177,20 @@ public abstract class UserList { } } - @ObfuscatedName("aj") + @ObfuscatedName("ag") @ObfuscatedSignature( - descriptor = "(Lpp;I)Lle;", - garbageValue = "-1206456197" + descriptor = "(Lpm;I)Llu;", + garbageValue = "-1795498440" ) @Export("addLastNoPreviousUsername") User addLastNoPreviousUsername(Username var1) { return this.addLast(var1, (Username)null); } - @ObfuscatedName("ap") + @ObfuscatedName("aq") @ObfuscatedSignature( - descriptor = "(Lpp;Lpp;I)Lle;", - garbageValue = "-1348608690" + descriptor = "(Lpm;Lpm;I)Llu;", + garbageValue = "-769828477" ) @Export("addLast") User addLast(Username var1, Username var2) { @@ -199,10 +205,10 @@ public abstract class UserList { } } - @ObfuscatedName("ai") + @ObfuscatedName("ar") @ObfuscatedSignature( - descriptor = "(IB)Lle;", - garbageValue = "32" + descriptor = "(II)Llu;", + garbageValue = "-2045496453" ) @Export("get") public final User get(int var1) { @@ -216,7 +222,7 @@ public abstract class UserList { @ObfuscatedName("ac") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "33404231" + garbageValue = "-2014826236" ) @Export("sort") public final void sort() { @@ -228,10 +234,10 @@ public abstract class UserList { } - @ObfuscatedName("ag") + @ObfuscatedName("at") @ObfuscatedSignature( - descriptor = "(Lle;Lpp;Lpp;I)V", - garbageValue = "-106594496" + descriptor = "(Llu;Lpm;Lpm;B)V", + garbageValue = "95" ) @Export("changeName") final void changeName(User var1, Username var2, Username var3) { @@ -240,10 +246,10 @@ public abstract class UserList { this.mapPut(var1); } - @ObfuscatedName("ar") + @ObfuscatedName("ax") @ObfuscatedSignature( - descriptor = "(Lle;I)I", - garbageValue = "1807525824" + descriptor = "(Llu;I)I", + garbageValue = "-453240274" ) @Export("indexOf") final int indexOf(User var1) { @@ -256,10 +262,10 @@ public abstract class UserList { return -1; } - @ObfuscatedName("az") + @ObfuscatedName("an") @ObfuscatedSignature( - descriptor = "(Lle;I)V", - garbageValue = "622330141" + descriptor = "(Llu;I)V", + garbageValue = "-895000135" ) @Export("mapRemove") final void mapRemove(User var1) { @@ -273,20 +279,20 @@ public abstract class UserList { } } - @ObfuscatedName("bd") + @ObfuscatedName("av") @ObfuscatedSignature( - descriptor = "(Lle;I)V", - garbageValue = "-756176071" + descriptor = "(Llu;B)V", + garbageValue = "8" ) @Export("arrayAddLast") final void arrayAddLast(User var1) { this.array[++this.size - 1] = var1; } - @ObfuscatedName("bt") + @ObfuscatedName("ap") @ObfuscatedSignature( - descriptor = "(Lle;B)V", - garbageValue = "-48" + descriptor = "(Llu;I)V", + garbageValue = "1014932852" ) @Export("mapPut") final void mapPut(User var1) { @@ -300,10 +306,10 @@ public abstract class UserList { } - @ObfuscatedName("bf") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1775037763" + descriptor = "(IB)V", + garbageValue = "-27" ) @Export("arrayRemove") final void arrayRemove(int var1) { @@ -314,20 +320,20 @@ public abstract class UserList { } - @ObfuscatedName("bp") + @ObfuscatedName("am") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "367562238" + descriptor = "(B)V", + garbageValue = "-78" ) @Export("removeComparator") public final void removeComparator() { this.comparator = null; } - @ObfuscatedName("bl") + @ObfuscatedName("aw") @ObfuscatedSignature( - descriptor = "(Ljava/util/Comparator;B)V", - garbageValue = "0" + descriptor = "(Ljava/util/Comparator;I)V", + garbageValue = "-166058218" ) @Export("addComparator") public final void addComparator(Comparator var1) { @@ -339,50 +345,57 @@ public abstract class UserList { } - @ObfuscatedName("m") + @ObfuscatedName("ew") @ObfuscatedSignature( - descriptor = "(Lkx;IIIBZI)V", - garbageValue = "2053874313" + descriptor = "(II)V", + garbageValue = "586592050" ) - @Export("requestNetFile") - static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { - long var6 = (long)((var1 << 16) + var2); - NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); - if (var8 != null) { - if (var5) { - var8.removeDual(); - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingPriorityWritesCount; - } - - } else { - if (!var5) { - var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); - if (var8 != null) { - return; - } - } - - var8 = new NetFileRequest(); - var8.archive = var0; - var8.crc = var3; - var8.padding = var4; - if (var5) { - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - ++NetCache.NetCache_pendingPriorityWritesCount; - } else { - NetCache.NetCache_pendingWritesQueue.addFirst(var8); - NetCache.NetCache_pendingWrites.put(var8, var6); - ++NetCache.NetCache_pendingWritesCount; - } + @Export("updateGameState") + static void updateGameState(int var0) { + if (var0 != Client.gameState) { + if (Client.gameState == 0) { + class21.client.method474(); + } + if (var0 == 20 || var0 == 40 || var0 == 45) { + CollisionMap.method3418(0); + Client.field516 = 0; + Client.field680 = 0; + Client.timer.method5905(var0); + if (var0 != 20) { + class7.method61(false); } } + + if (var0 != 20 && var0 != 40 && PendingSpawn.field1101 != null) { + PendingSpawn.field1101.close(); + PendingSpawn.field1101 = null; + } + + if (Client.gameState == 25) { + Client.field534 = 0; + Client.field764 = 0; + Client.field544 = 1; + Client.field545 = 0; + Client.field546 = 1; + } + + int var1; + if (var0 != 5 && var0 != 10) { + if (var0 == 20) { + var1 = Client.gameState == 11 ? 4 : 0; + TextureProvider.method4433(UserComparator8.archive10, class176.archive8, true, var1); + } else if (var0 == 11) { + TextureProvider.method4433(UserComparator8.archive10, class176.archive8, false, 4); + } else { + class7.method63(); + } + } else { + var1 = class12.method159() ? 0 : 12; + TextureProvider.method4433(UserComparator8.archive10, class176.archive8, true, var1); + } + + Client.gameState = var0; } } } diff --git a/runescape-client/src/main/java/Username.java b/runescape-client/src/main/java/Username.java index 2487f138b7..d7141fa4c6 100644 --- a/runescape-client/src/main/java/Username.java +++ b/runescape-client/src/main/java/Username.java @@ -1,222 +1,64 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("pp") +@ObfuscatedName("pm") @Implements("Username") public class Username implements Comparable { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1508031551 - ) - @Export("WorldMapElement_count") - public static int WorldMapElement_count; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("name") String name; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("cleanName") String cleanName; @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lnf;)V" + descriptor = "(Ljava/lang/String;Lny;)V" ) public Username(String var1, LoginType var2) { this.name = var1; - String var4; - if (var1 == null) { - var4 = null; - } else { - int var5 = 0; - - int var6; - for (var6 = var1.length(); var5 < var6 && FloorOverlayDefinition.method3277(var1.charAt(var5)); ++var5) { - } - - while (var6 > var5 && FloorOverlayDefinition.method3277(var1.charAt(var6 - 1))) { - --var6; - } - - int var7 = var6 - var5; - if (var7 >= 1 && var7 <= WorldMapLabel.method3810(var2)) { - StringBuilder var8 = new StringBuilder(var7); - - for (int var9 = var5; var9 < var6; ++var9) { - char var10 = var1.charAt(var9); - boolean var11; - if (Character.isISOControl(var10)) { - var11 = false; - } else if (UserComparator8.isAlphaNumeric(var10)) { - var11 = true; - } else { - char[] var12 = class382.field4209; - int var13 = 0; - - label68: - while (true) { - char var14; - if (var13 >= var12.length) { - var12 = class382.field4208; - - for (var13 = 0; var13 < var12.length; ++var13) { - var14 = var12[var13]; - if (var10 == var14) { - var11 = true; - break label68; - } - } - - var11 = false; - break; - } - - var14 = var12[var13]; - if (var14 == var10) { - var11 = true; - break; - } - - ++var13; - } - } - - if (var11) { - char var15 = class131.method2647(var10); - if (var15 != 0) { - var8.append(var15); - } - } - } - - if (var8.length() == 0) { - var4 = null; - } else { - var4 = var8.toString(); - } - } else { - var4 = null; - } - } - - this.cleanName = var4; + this.cleanName = Varcs.method2322(var1, var2); } public Username(String var1) { this.name = var1; - LoginType var4 = LoginType.oldscape; - String var3; - if (var1 == null) { - var3 = null; - } else { - int var5 = 0; - - int var6; - for (var6 = var1.length(); var5 < var6 && FloorOverlayDefinition.method3277(var1.charAt(var5)); ++var5) { - } - - while (var6 > var5 && FloorOverlayDefinition.method3277(var1.charAt(var6 - 1))) { - --var6; - } - - int var7 = var6 - var5; - if (var7 >= 1 && var7 <= WorldMapLabel.method3810(var4)) { - StringBuilder var8 = new StringBuilder(var7); - - for (int var9 = var5; var9 < var6; ++var9) { - char var10 = var1.charAt(var9); - boolean var11; - if (Character.isISOControl(var10)) { - var11 = false; - } else if (UserComparator8.isAlphaNumeric(var10)) { - var11 = true; - } else { - char[] var12 = class382.field4209; - int var13 = 0; - - label68: - while (true) { - char var14; - if (var13 >= var12.length) { - var12 = class382.field4208; - - for (var13 = 0; var13 < var12.length; ++var13) { - var14 = var12[var13]; - if (var10 == var14) { - var11 = true; - break label68; - } - } - - var11 = false; - break; - } - - var14 = var12[var13]; - if (var10 == var14) { - var11 = true; - break; - } - - ++var13; - } - } - - if (var11) { - char var15 = class131.method2647(var10); - if (var15 != 0) { - var8.append(var15); - } - } - } - - if (var8.length() == 0) { - var3 = null; - } else { - var3 = var8.toString(); - } - } else { - var3 = null; - } - } - - this.cleanName = var3; + this.cleanName = Varcs.method2322(var1, LoginType.oldscape); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "1256287168" + descriptor = "(B)Ljava/lang/String;", + garbageValue = "58" ) @Export("getName") public String getName() { return this.name; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(S)Ljava/lang/String;", - garbageValue = "-30300" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-1341977890" ) - public String method7399() { + public String method7459() { return this.cleanName; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1374300828" + garbageValue = "460895398" ) @Export("hasCleanName") public boolean hasCleanName() { return this.cleanName != null; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lpp;B)I", - garbageValue = "-74" + descriptor = "(Lpm;I)I", + garbageValue = "1178953694" ) @Export("compareToTyped") public int compareToTyped(Username var1) { @@ -246,11 +88,11 @@ public class Username implements Comparable { return this.cleanName == null ? 0 : this.cleanName.hashCode(); } - public int compareTo(Object var1) { - return this.compareToTyped((Username)var1); - } - public String toString() { return this.getName(); } + + public int compareTo(Object var1) { + return this.compareToTyped((Username)var1); + } } diff --git a/runescape-client/src/main/java/Usernamed.java b/runescape-client/src/main/java/Usernamed.java index dcfe289a56..cf6f98fa93 100644 --- a/runescape-client/src/main/java/Usernamed.java +++ b/runescape-client/src/main/java/Usernamed.java @@ -3,13 +3,13 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lt") +@ObfuscatedName("ld") @Implements("Usernamed") public interface Usernamed { - @ObfuscatedName("kh") + @ObfuscatedName("kz") @ObfuscatedSignature( - descriptor = "(I)Lpp;", - garbageValue = "-2077546643" + descriptor = "(B)Lpm;", + garbageValue = "-28" ) @Export("username") Username username(); diff --git a/runescape-client/src/main/java/VarbitComposition.java b/runescape-client/src/main/java/VarbitComposition.java index 2f2252df88..ca3b3252fe 100644 --- a/runescape-client/src/main/java/VarbitComposition.java +++ b/runescape-client/src/main/java/VarbitComposition.java @@ -4,55 +4,52 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fl") +@ObfuscatedName("fm") @Implements("VarbitComposition") public class VarbitComposition extends DualNode { - @ObfuscatedName("th") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lcx;" - ) - @Export("clientPreferences") - static ClientPreferences clientPreferences; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("VarbitDefinition_archive") - static AbstractArchive VarbitDefinition_archive; - @ObfuscatedName("c") + public static AbstractArchive VarbitDefinition_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("VarbitDefinition_cached") - static EvictingDualNodeHashTable VarbitDefinition_cached; - @ObfuscatedName("g") - static final int[] field1781; - @ObfuscatedName("m") + public static EvictingDualNodeHashTable VarbitDefinition_cached; + @ObfuscatedName("k") + static final int[] field1784; + @ObfuscatedName("do") + @Export("mouseCam") + static boolean mouseCam; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 193213577 + intValue = 1254012853 ) @Export("baseVar") public int baseVar; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1050074275 + intValue = -590597255 ) @Export("startBit") public int startBit; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1719108257 + intValue = 1105394607 ) @Export("endBit") public int endBit; static { VarbitDefinition_cached = new EvictingDualNodeHashTable(64); - field1781 = new int[32]; + field1784 = new int[32]; int var0 = 2; for (int var1 = 0; var1 < 32; ++var1) { - field1781[var1] = var0 - 1; + field1784[var1] = var0 - 1; var0 += var0; } @@ -61,10 +58,10 @@ public class VarbitComposition extends DualNode { VarbitComposition() { } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "140551971" + garbageValue = "-123239897" ) @Export("decode") void decode(Buffer var1) { @@ -78,10 +75,10 @@ public class VarbitComposition extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-1183952469" + garbageValue = "-1018512127" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -93,17 +90,50 @@ public class VarbitComposition extends DualNode { } - @ObfuscatedName("u") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "0" + descriptor = "(Lkl;II)Liq;", + garbageValue = "-1817307583" ) - static int method3027(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - if (var1 == null) { - return -1; + static MusicPatch method3103(AbstractArchive var0, int var1) { + byte[] var2 = var0.takeFileFlat(var1); + return var2 == null ? null : new MusicPatch(var2); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IB)Lfb;", + garbageValue = "4" + ) + @Export("getEnum") + public static EnumComposition getEnum(int var0) { + EnumComposition var1 = (EnumComposition)EnumComposition.EnumDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; + byte[] var2 = EnumComposition.EnumDefinition_archive.takeFile(8, var0); + var1 = new EnumComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + EnumComposition.EnumDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Lkl;IIB)Z", + garbageValue = "41" + ) + public static boolean method3102(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + if (var3 == null) { + return false; + } else { + class398.SpriteBuffer_decode(var3); + return true; } } } diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index ee1b9fce99..145cc2ea07 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -1,42 +1,24 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ek") +@ObfuscatedName("el") @Implements("VarcInt") public class VarcInt extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("VarcInt_archive") public static AbstractArchive VarcInt_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("VarcInt_cached") static EvictingDualNodeHashTable VarcInt_cached; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 786767549 - ) - static int field1647; - @ObfuscatedName("em") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive9") - static Archive archive9; - @ObfuscatedName("ml") - @ObfuscatedGetter( - intValue = -2020728515 - ) - @Export("menuWidth") - static int menuWidth; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("persist") public boolean persist; @@ -48,28 +30,28 @@ public class VarcInt extends DualNode { this.persist = false; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "1" + descriptor = "(Lot;I)V", + garbageValue = "-2028367777" ) - void method2854(Buffer var1) { + void method2924(Buffer var1) { while (true) { int var2 = var1.readUnsignedByte(); if (var2 == 0) { return; } - this.method2860(var1, var2); + this.method2925(var1, var2); } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lot;IB)V", - garbageValue = "-97" + descriptor = "(Lot;II)V", + garbageValue = "657554890" ) - void method2860(Buffer var1, int var2) { + void method2925(Buffer var1, int var2) { if (var2 == 2) { this.persist = true; } diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index 42f2090613..6905b4ba72 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -9,60 +9,59 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cg") +@ObfuscatedName("cf") @Implements("Varcs") public class Varcs { - @ObfuscatedName("s") + @ObfuscatedName("sj") @ObfuscatedGetter( - intValue = 492154065 + intValue = 1235978781 ) - static int field1266; - @ObfuscatedName("d") - @Export("cacheParentPaths") - public static String[] cacheParentPaths; - @ObfuscatedName("m") + static int field1272; + @ObfuscatedName("fo") + static String field1264; + @ObfuscatedName("f") @Export("intsPersistence") boolean[] intsPersistence; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("map") Map map; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("strings") String[] strings; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("unwrittenChanges") boolean unwrittenChanges; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - longValue = 2195379915719374585L + longValue = 8254502909318544887L ) - long field1263; + long field1268; Varcs() { this.unwrittenChanges = false; - int var1 = class115.archive2.getGroupFileCount(19); + int var1 = RouteStrategy.archive2.getGroupFileCount(19); this.map = new HashMap(); this.intsPersistence = new boolean[var1]; int var2; for (var2 = 0; var2 < var1; ++var2) { - VarcInt var3 = class407.method7122(var2); + VarcInt var3 = ClanChannel.method2747(var2); this.intsPersistence[var2] = var3.persist; } var2 = 0; - if (class115.archive2.method5126(15)) { - var2 = class115.archive2.getGroupFileCount(15); + if (RouteStrategy.archive2.method5180(15)) { + var2 = RouteStrategy.archive2.getGroupFileCount(15); } this.strings = new String[var2]; this.read(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "23" + descriptor = "(III)V", + garbageValue = "1268577977" ) @Export("setInt") void setInt(int var1, int var2) { @@ -73,10 +72,10 @@ public class Varcs { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-2" + descriptor = "(II)I", + garbageValue = "-802312399" ) @Export("getInt") int getInt(int var1) { @@ -84,20 +83,20 @@ public class Varcs { return var2 instanceof Integer ? (Integer)var2 : -1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)V", - garbageValue = "-7" + descriptor = "(ILjava/lang/String;I)V", + garbageValue = "-376908276" ) @Export("setString") void setString(int var1, String var2) { this.map.put(var1, var2); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(II)Ljava/lang/String;", - garbageValue = "-1624749457" + garbageValue = "2025584250" ) @Export("getString") String getString(int var1) { @@ -105,30 +104,30 @@ public class Varcs { return var2 instanceof String ? (String)var2 : ""; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)V", - garbageValue = "-67" + descriptor = "(ILjava/lang/String;I)V", + garbageValue = "30677597" ) @Export("setStringOld") void setStringOld(int var1, String var2) { this.strings[var1] = var2; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IB)Ljava/lang/String;", - garbageValue = "64" + descriptor = "(II)Ljava/lang/String;", + garbageValue = "-959424715" ) @Export("getStringOld") String getStringOld(int var1) { return this.strings[var1]; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-329372696" + garbageValue = "-1851906342" ) @Export("clearTransient") void clearTransient() { @@ -147,18 +146,18 @@ public class Varcs { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(ZB)Lnn;", - garbageValue = "1" + descriptor = "(ZI)Lnj;", + garbageValue = "3487029" ) @Export("getPreferencesFile") AccessFile getPreferencesFile(boolean var1) { - return class4.getPreferencesFile("2", class16.field83.name, var1); + return World.getPreferencesFile("2", class392.field4267.name, var1); } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1727219824" + garbageValue = "1764400814" ) @Export("write") void write() { @@ -178,48 +177,75 @@ public class Varcs { if (var7 instanceof Integer) { var2 += 4; } else if (var7 instanceof String) { - var2 += BufferedSink.stringCp1252NullTerminatedByteSize((String)var7); + var2 += class113.stringCp1252NullTerminatedByteSize((String)var7); } ++var3; } } - Buffer var23 = new Buffer(var2); - var23.writeByte(2); - var23.writeShort(var3); - Iterator var24 = this.map.entrySet().iterator(); + Buffer var28 = new Buffer(var2); + var28.writeByte(2); + var28.writeShort(var3); + Iterator var29 = this.map.entrySet().iterator(); - while (var24.hasNext()) { - Entry var12 = (Entry)var24.next(); - int var13 = (Integer)var12.getKey(); - if (this.intsPersistence[var13]) { - var23.writeShort(var13); - Object var8 = var12.getValue(); - class391 var9 = class391.method6710(var8.getClass()); - var23.writeByte(var9.field4237); - class391.method6711(var8, var23); + label147: + while (true) { + Entry var17; + int var18; + do { + if (!var29.hasNext()) { + var1.write(var28.array, 0, var28.offset); + break label147; + } + + var17 = (Entry)var29.next(); + var18 = (Integer)var17.getKey(); + } while(!this.intsPersistence[var18]); + + var28.writeShort(var18); + Object var8 = var17.getValue(); + Class var10 = var8.getClass(); + class392[] var11 = new class392[]{class392.field4266, class392.field4264, class392.field4273}; + class392[] var12 = var11; + int var13 = 0; + + class392 var9; + while (true) { + if (var13 >= var12.length) { + var9 = null; + break; + } + + class392 var14 = var12[var13]; + if (var10 == var14.field4265) { + var9 = var14; + break; + } + + ++var13; } - } - var1.write(var23.array, 0, var23.offset); - } catch (Exception var21) { + var28.writeByte(var9.field4260); + class392.method6797(var8, var28); + } + } catch (Exception var26) { } finally { try { var1.close(); - } catch (Exception var20) { + } catch (Exception var25) { } } this.unwrittenChanges = false; - this.field1263 = Occluder.method4335(); + this.field1268 = UserComparator4.method2406(); } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "35" + garbageValue = "101" ) @Export("read") void read() { @@ -256,9 +282,9 @@ public class Varcs { for (var7 = 0; var7 < var17; ++var7) { var8 = var15.readUnsignedShort(); var9 = var15.readUnsignedByte(); - class391[] var10 = new class391[]{class391.field4240, class391.field4238, class391.field4241}; - class391 var11 = (class391)class260.findEnumerated(var10, var9); - Object var12 = var11.method6713(var15); + class392[] var10 = new class392[]{class392.field4266, class392.field4264, class392.field4273}; + class392 var11 = (class392)class128.findEnumerated(var10, var9); + Object var12 = var11.method6800(var15); if (this.intsPersistence[var8]) { this.map.put(var8, var12); } @@ -293,50 +319,150 @@ public class Varcs { this.unwrittenChanges = false; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1656264467" + garbageValue = "-734766189" ) @Export("tryWrite") void tryWrite() { - if (this.unwrittenChanges && this.field1263 < Occluder.method4335() - 60000L) { + if (this.unwrittenChanges && this.field1268 < UserComparator4.method2406() - 60000L) { this.write(); } } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1321276012" + descriptor = "(B)Z", + garbageValue = "14" ) @Export("hasUnwrittenChanges") boolean hasUnwrittenChanges() { return this.unwrittenChanges; } - @ObfuscatedName("fn") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "507371463" + descriptor = "(Ljava/lang/CharSequence;Lny;I)Ljava/lang/String;", + garbageValue = "1855496954" ) - static final void method2303(boolean var0) { - if (var0) { - Client.field518 = Login.field893 ? class112.field1356 : class112.field1359; + public static String method2322(CharSequence var0, LoginType var1) { + if (var0 == null) { + return null; } else { - Client.field518 = VarbitComposition.clientPreferences.parameters.containsKey(GameBuild.method5072(Login.Login_username)) ? class112.field1355 : class112.field1357; - } + int var2 = 0; + int var3; + boolean var4; + char var5; + for (var3 = var0.length(); var2 < var3; ++var2) { + var5 = var0.charAt(var2); + var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; + if (!var4) { + break; + } + } + + while (var3 > var2) { + var5 = var0.charAt(var3 - 1); + var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; + if (!var4) { + break; + } + + --var3; + } + + int var14 = var3 - var2; + if (var14 >= 1) { + byte var6; + if (var1 == null) { + var6 = 12; + } else { + switch(var1.field4229) { + case 6: + var6 = 20; + break; + default: + var6 = 12; + } + } + + if (var14 <= var6) { + StringBuilder var12 = new StringBuilder(var14); + + for (int var15 = var2; var15 < var3; ++var15) { + char var7 = var0.charAt(var15); + boolean var8; + if (Character.isISOControl(var7)) { + var8 = false; + } else if (KeyHandler.isAlphaNumeric(var7)) { + var8 = true; + } else { + char[] var9 = class383.field4231; + int var10 = 0; + + label103: + while (true) { + char var11; + if (var10 >= var9.length) { + var9 = class383.field4232; + + for (var10 = 0; var10 < var9.length; ++var10) { + var11 = var9[var10]; + if (var11 == var7) { + var8 = true; + break label103; + } + } + + var8 = false; + break; + } + + var11 = var9[var10]; + if (var7 == var11) { + var8 = true; + break; + } + + ++var10; + } + } + + if (var8) { + char var13 = class280.method5139(var7); + if (var13 != 0) { + var12.append(var13); + } + } + } + + if (var12.length() == 0) { + return null; + } + + return var12.toString(); + } + } + + return null; + } } - @ObfuscatedName("ky") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1975228173" + descriptor = "(II)I", + garbageValue = "70881375" ) - static final void method2302() { - Client.field664 = Client.cycleCntr; - Messages.field1275 = true; + @Export("getVarbit") + public static int getVarbit(int var0) { + VarbitComposition var1 = AttackOption.method2263(var0); + int var2 = var1.baseVar; + int var3 = var1.startBit; + int var4 = var1.endBit; + int var5 = Varps.Varps_masks[var4 - var3]; + return Varps.Varps_main[var2] >> var3 & var5; } } diff --git a/runescape-client/src/main/java/VarpDefinition.java b/runescape-client/src/main/java/VarpDefinition.java index 8371d702a3..06741cffcf 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -4,30 +4,36 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ef") +@ObfuscatedName("ex") @Implements("VarpDefinition") public class VarpDefinition extends DualNode { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("VarpDefinition_archive") - public static AbstractArchive VarpDefinition_archive; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 513865809 + intValue = -1515261229 ) @Export("VarpDefinition_fileCount") public static int VarpDefinition_fileCount; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("VarpDefinition_cached") - public static EvictingDualNodeHashTable VarpDefinition_cached; - @ObfuscatedName("k") + static EvictingDualNodeHashTable VarpDefinition_cached; + @ObfuscatedName("ij") @ObfuscatedGetter( - intValue = -1335094107 + intValue = 1386974475 + ) + @Export("cameraZ") + static int cameraZ; + @ObfuscatedName("mg") + @ObfuscatedSignature( + descriptor = "Ljt;" + ) + @Export("mousedOverWidgetIf1") + static Widget mousedOverWidgetIf1; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 29710685 ) @Export("type") public int type; @@ -40,10 +46,10 @@ public class VarpDefinition extends DualNode { this.type = 0; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-1295539702" + descriptor = "(Lot;B)V", + garbageValue = "1" ) @Export("decode") void decode(Buffer var1) { @@ -57,10 +63,10 @@ public class VarpDefinition extends DualNode { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-2113751266" + garbageValue = "790486090" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { @@ -70,71 +76,80 @@ public class VarpDefinition extends DualNode { } - @ObfuscatedName("n") - static boolean method2826(long var0) { - int var2 = (int)(var0 >>> 14 & 3L); - return var2 == 2; - } + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Lot;IIIIIII)V", + garbageValue = "-280923816" + ) + @Export("loadTerrain") + static final void loadTerrain(Buffer var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + Tiles.Tiles_renderFlags[var1][var2][var3] = 0; - @ObfuscatedName("n") - public static final int method2819(double var0, double var2, double var4) { - double var6 = var4; - double var8 = var4; - double var10 = var4; - if (var2 != 0.0D) { - double var12; - if (var4 < 0.5D) { - var12 = (var2 + 1.0D) * var4; - } else { - var12 = var4 + var2 - var2 * var4; + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + if (var1 == 0) { + int[] var14 = Tiles.Tiles_heights[0][var2]; + int var11 = var2 + var4 + 932731; + int var12 = var3 + var5 + 556238; + int var13 = class20.method303(var11 + 45365, var12 + 91923, 4) - 128 + (class20.method303(var11 + 10294, 37821 + var12, 2) - 128 >> 1) + (class20.method303(var11, var12, 1) - 128 >> 2); + var13 = (int)((double)var13 * 0.3D) + 35; + if (var13 < 10) { + var13 = 10; + } else if (var13 > 60) { + var13 = 60; + } + + var14[var3] = -var13 * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; + } + break; + } + + if (var7 == 1) { + int var8 = var0.readUnsignedByte(); + if (var8 == 1) { + var8 = 0; + } + + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; + } + break; + } + + if (var7 <= 49) { + Tiles.Tiles_overlays[var1][var2][var3] = var0.readByte(); + class14.Tiles_shapes[var1][var2][var3] = (byte)((var7 - 2) / 4); + GrandExchangeEvent.field3760[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); + } else if (var7 <= 81) { + Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); + } else { + Tiles.Tiles_underlays[var1][var2][var3] = (byte)(var7 - 81); + } } + } else { + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + break; + } - double var14 = var4 * 2.0D - var12; - double var16 = var0 + 0.3333333333333333D; - if (var16 > 1.0D) { - --var16; - } + if (var7 == 1) { + var0.readUnsignedByte(); + break; + } - double var20 = var0 - 0.3333333333333333D; - if (var20 < 0.0D) { - ++var20; - } - - if (6.0D * var16 < 1.0D) { - var6 = var14 + (var12 - var14) * 6.0D * var16; - } else if (2.0D * var16 < 1.0D) { - var6 = var12; - } else if (var16 * 3.0D < 2.0D) { - var6 = var14 + (var12 - var14) * (0.6666666666666666D - var16) * 6.0D; - } else { - var6 = var14; - } - - if (var0 * 6.0D < 1.0D) { - var8 = var14 + var0 * (var12 - var14) * 6.0D; - } else if (var0 * 2.0D < 1.0D) { - var8 = var12; - } else if (var0 * 3.0D < 2.0D) { - var8 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var0); - } else { - var8 = var14; - } - - if (var20 * 6.0D < 1.0D) { - var10 = var20 * (var12 - var14) * 6.0D + var14; - } else if (var20 * 2.0D < 1.0D) { - var10 = var12; - } else if (3.0D * var20 < 2.0D) { - var10 = var14 + (var12 - var14) * (0.6666666666666666D - var20) * 6.0D; - } else { - var10 = var14; + if (var7 <= 49) { + var0.readUnsignedByte(); + } } } - int var22 = (int)(256.0D * var6); - int var13 = (int)(var8 * 256.0D); - int var23 = (int)(var10 * 256.0D); - int var15 = var23 + (var13 << 8) + (var22 << 16); - return var15; } } diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index 0bc799b9c5..61d5511bfe 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -2,18 +2,17 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ia") +@ObfuscatedName("iv") @Implements("Varps") public class Varps { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("Varps_masks") static int[] Varps_masks; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("Varps_temp") public static int[] Varps_temp; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("Varps_main") public static int[] Varps_main; @@ -30,72 +29,13 @@ public class Varps { Varps_main = new int[4000]; } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "56221944" + descriptor = "(IB)[B", + garbageValue = "4" ) - static void method4866() { - GrandExchangeOffer.field3769 = new int[2000]; - int var0 = 0; - int var1 = 240; - - int var3; - for (byte var2 = 12; var0 < 16; var1 -= var2) { - var3 = VarpDefinition.method2819((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)(0.075F + 0.425F * (float)var0 / 16.0F)); - GrandExchangeOffer.field3769[var0] = var3; - ++var0; - } - - var1 = 48; - - for (int var5 = var1 / 6; var0 < GrandExchangeOffer.field3769.length; var1 -= var5) { - var3 = var0 * 2; - - for (int var4 = VarpDefinition.method2819((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var3 && var0 < GrandExchangeOffer.field3769.length; ++var0) { - GrandExchangeOffer.field3769[var0] = var4; - } - } - - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-970225027" - ) - public static boolean method4865(int var0) { - return (var0 & 1) != 0; - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1130853046" - ) - static int method4867(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.LOGOUT) { - Client.logoutTimer = 250; - return 1; - } else if (var0 != 5631 && var0 != 5633) { - if (var0 == 5632) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 26; - return 1; - } else { - return 2; - } - } else { - Interpreter.Interpreter_stringStackSize -= 2; - return 1; - } - } - - @ObfuscatedName("jy") - static final void method4858(double var0) { - Rasterizer3D.Rasterizer3D_setBrightness(var0); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(var0); - ItemComposition.ItemDefinition_cachedSprites.clear(); - VarbitComposition.clientPreferences.field1193 = var0; - DevicePcmPlayerProvider.savePreferences(); + @Export("ByteArrayPool_getArray") + public static synchronized byte[] ByteArrayPool_getArray(int var0) { + return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); } } diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index a1ebd0f78c..e0e10193eb 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -4,30 +4,36 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hc") +@ObfuscatedName("ha") @Implements("VertexNormal") public class VertexNormal { - @ObfuscatedName("n") + @ObfuscatedName("kt") @ObfuscatedGetter( - intValue = 51057949 + intValue = -1805668533 + ) + @Export("Client_plane") + static int Client_plane; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1283611121 ) @Export("x") int x; - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -2014758033 + intValue = -812646739 ) @Export("y") int y; - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 410802803 + intValue = 1799999959 ) @Export("z") int z; - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1412816001 + intValue = 261367591 ) @Export("magnitude") int magnitude; @@ -36,7 +42,7 @@ public class VertexNormal { } @ObfuscatedSignature( - descriptor = "(Lhc;)V" + descriptor = "(Lha;)V" ) VertexNormal(VertexNormal var1) { this.x = var1.x; @@ -45,102 +51,18 @@ public class VertexNormal { this.magnitude = var1.magnitude; } - @ObfuscatedName("n") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "([BZB)Ljava/lang/Object;", - garbageValue = "-55" + descriptor = "(ILkl;IIIZB)V", + garbageValue = "84" ) - public static Object method4476(byte[] var0, boolean var1) { - if (var0 == null) { - return null; - } else if (var0.length > 136) { - DirectByteArrayCopier var2 = new DirectByteArrayCopier(); - var2.set(var0); - return var2; - } else { - return var0; - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "565732010" - ) - public static String method4478(CharSequence var0) { - int var1 = var0.length(); - StringBuilder var2 = new StringBuilder(var1); - - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { - if (var4 == ' ') { - var2.append('+'); - } else { - byte var5 = WorldMapSection2.charToByteCp1252(var4); - var2.append('%'); - int var6 = var5 >> 4 & 15; - if (var6 >= 10) { - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); - } - - var6 = var5 & 15; - if (var6 >= 10) { - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); - } - } - } else { - var2.append(var4); - } - } - - return var2.toString(); - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(Lkk;III)Z", - garbageValue = "-2096302175" - ) - public static boolean method4477(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - if (var3 == null) { - return false; - } else { - class28.SpriteBuffer_decode(var3); - return true; - } - } - - @ObfuscatedName("jz") - @ObfuscatedSignature( - descriptor = "(IIIS)Lci;", - garbageValue = "18289" - ) - static final InterfaceParent method4475(int var0, int var1, int var2) { - InterfaceParent var3 = new InterfaceParent(); - var3.group = var1; - var3.type = var2; - Client.interfaceParents.put(var3, (long)var0); - class18.Widget_resetModelFrames(var1); - Widget var4 = class87.getWidget(var0); - Actor.invalidateWidget(var4); - if (Client.meslayerContinueWidget != null) { - Actor.invalidateWidget(Client.meslayerContinueWidget); - Client.meslayerContinueWidget = null; - } - - PendingSpawn.method2119(); - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var0 >> 16], var4, false); - UserComparator7.runWidgetOnLoadListener(var1); - if (Client.rootInterface != -1) { - class13.runIntfCloseListeners(Client.rootInterface, 1); - } - - return var3; + public static void method4560(int var0, AbstractArchive var1, int var2, int var3, int var4, boolean var5) { + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = var1; + Skills.musicTrackGroupId = var2; + class137.musicTrackFileId = var3; + class247.musicTrackVolume = var4; + class247.musicTrackBoolean = var5; + class247.pcmSampleLength = var0; } } diff --git a/runescape-client/src/main/java/VerticalAlignment.java b/runescape-client/src/main/java/VerticalAlignment.java index 312f17eae0..a16f12ab22 100644 --- a/runescape-client/src/main/java/VerticalAlignment.java +++ b/runescape-client/src/main/java/VerticalAlignment.java @@ -4,35 +4,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fc") +@ObfuscatedName("fz") @Implements("VerticalAlignment") public enum VerticalAlignment implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lfc;" + descriptor = "Lfz;" ) - field1746(2, 0), - @ObfuscatedName("c") + field1747(0, 0), + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lfc;" + descriptor = "Lfz;" ) @Export("VerticalAlignment_centered") - VerticalAlignment_centered(0, 1), - @ObfuscatedName("m") + VerticalAlignment_centered(1, 1), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lfc;" + descriptor = "Lfz;" ) - field1741(1, 2); + field1748(2, 2); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 680576733 + intValue = 781390269 ) @Export("value") public final int value; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -504909775 + intValue = -632876021 ) @Export("id") final int id; @@ -42,40 +42,61 @@ public enum VerticalAlignment implements MouseWheel { this.id = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("id") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "([Ljd;Ljd;ZB)V", - garbageValue = "121" + descriptor = "(Lbc;Lbc;IZI)I", + garbageValue = "121439136" ) - @Export("revalidateWidgetScroll") - static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { - int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * 1186027877 * 1882337389 : var1.width * 2073696861 * -159544843; - int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * -129679387 * -351476243 : var1.height * -1187557111 * -555381447; - Coord.resizeInterface(var0, var1.id, var3, var4, var2); - if (var1.children != null) { - Coord.resizeInterface(var1.children, var1.id, var3, var4, var2); - } + @Export("compareWorlds") + static int compareWorlds(World var0, World var1, int var2, boolean var3) { + if (var2 == 1) { + int var4 = var0.population; + int var5 = var1.population; + if (!var3) { + if (var4 == -1) { + var4 = 2001; + } - InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); - if (var5 != null) { - int var6 = var5.group; - if (class317.loadInterface(var6)) { - Coord.resizeInterface(class139.Widget_interfaceComponents[var6], -1, var3, var4, var2); + if (var5 == -1) { + var5 = 2001; + } } - } - if (var1.contentType == 1337) { + return var4 - var5; + } else if (var2 == 2) { + return var0.location - var1.location; + } else if (var2 == 3) { + if (var0.activity.equals("-")) { + if (var1.activity.equals("-")) { + return 0; + } else { + return var3 ? -1 : 1; + } + } else if (var1.activity.equals("-")) { + return var3 ? 1 : -1; + } else { + return var0.activity.compareTo(var1.activity); + } + } else if (var2 == 4) { + return var0.method1594() ? (var1.method1594() ? 0 : 1) : (var1.method1594() ? -1 : 0); + } else if (var2 == 5) { + return var0.method1592() ? (var1.method1592() ? 0 : 1) : (var1.method1592() ? -1 : 0); + } else if (var2 == 6) { + return var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0); + } else if (var2 == 7) { + return var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0); + } else { + return var0.id - var1.id; } - } } diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index 54f35fb265..f91cf1c897 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -2,62 +2,59 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hk") +@ObfuscatedName("hq") @Implements("ViewportMouse") public class ViewportMouse { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("ViewportMouse_isInViewport") public static boolean ViewportMouse_isInViewport; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1715632233 + intValue = -953546055 ) @Export("ViewportMouse_x") - public static int ViewportMouse_x; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1848697121 - ) - @Export("ViewportMouse_y") - public static int ViewportMouse_y; - @ObfuscatedName("k") - @Export("ViewportMouse_false0") - public static boolean ViewportMouse_false0; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -739590761 - ) - static int field2568; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -158852347 - ) - static int field2570; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -58663791 - ) - static int field2571; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -197390433 - ) - static int field2563; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -2109743487 - ) - static int field2567; + static int ViewportMouse_x; @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2017777777 + intValue = 649288631 + ) + @Export("ViewportMouse_y") + static int ViewportMouse_y; + @ObfuscatedName("j") + @Export("ViewportMouse_false0") + static boolean ViewportMouse_false0; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1423122717 + ) + static int field2585; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 170270171 + ) + static int field2579; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1898268003 + ) + static int field2580; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1146683373 ) @Export("ViewportMouse_entityCount") public static int ViewportMouse_entityCount; @ObfuscatedName("s") @Export("ViewportMouse_entityTags") public static long[] ViewportMouse_entityTags; + @ObfuscatedName("ec") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive19") + static Archive archive19; static { ViewportMouse_isInViewport = false; @@ -67,4 +64,88 @@ public class ViewportMouse { ViewportMouse_entityCount = 0; ViewportMouse_entityTags = new long[1000]; } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lcy;I)V", + garbageValue = "-1260271458" + ) + @Export("runScriptEvent") + public static void runScriptEvent(ScriptEvent var0) { + SoundSystem.runScript(var0, 500000, 475000); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "457176058" + ) + static void method4556() { + for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var0.obj != null) { + var0.set(); + } + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(III)Ljt;", + garbageValue = "1935657633" + ) + @Export("getWidgetChild") + public static Widget getWidgetChild(int var0, int var1) { + Widget var2 = HealthBarUpdate.getWidget(var0); + if (var1 == -1) { + return var2; + } else { + return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; + } + } + + @ObfuscatedName("ih") + @ObfuscatedSignature( + descriptor = "(Ljt;IIIIIII)V", + garbageValue = "1628744155" + ) + static final void method4559(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (Client.field551) { + Client.alternativeScrollbarWidth = 32; + } else { + Client.alternativeScrollbarWidth = 0; + } + + Client.field551 = false; + int var7; + if (MouseHandler.MouseHandler_currentButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { + if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { + var0.scrollY -= 4; + class16.invalidateWidget(var0); + } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { + var0.scrollY += 4; + class16.invalidateWidget(var0); + } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { + var7 = var3 * (var3 - 32) / var4; + if (var7 < 8) { + var7 = 8; + } + + int var8 = var6 - var2 - 16 - var7 / 2; + int var9 = var3 - 32 - var7; + var0.scrollY = var8 * (var4 - var3) / var9; + class16.invalidateWidget(var0); + Client.field551 = true; + } + } + + if (Client.mouseWheelRotation != 0) { + var7 = var0.width; + if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { + var0.scrollY += Client.mouseWheelRotation * 45; + class16.invalidateWidget(var0); + } + } + + } } diff --git a/runescape-client/src/main/java/VorbisCodebook.java b/runescape-client/src/main/java/VorbisCodebook.java index c8e13ff964..36e0c35533 100644 --- a/runescape-client/src/main/java/VorbisCodebook.java +++ b/runescape-client/src/main/java/VorbisCodebook.java @@ -2,23 +2,23 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ag") +@ObfuscatedName("am") @Implements("VorbisCodebook") public class VorbisCodebook { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("dimensions") int dimensions; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("entries") int entries; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("lengthMap") int[] lengthMap; - @ObfuscatedName("k") - int[] field344; - @ObfuscatedName("o") + @ObfuscatedName("j") + int[] field346; + @ObfuscatedName("m") float[][] field345; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("keys") int[] keys; @@ -35,7 +35,7 @@ public class VorbisCodebook { var2 = 0; for (var3 = VorbisSample.readBits(5) + 1; var2 < this.entries; ++var3) { - int var4 = VorbisSample.readBits(WorldMapData_0.iLog(this.entries - var2)); + int var4 = VorbisSample.readBits(class194.iLog(this.entries - var2)); for (var5 = 0; var5 < var4; ++var5) { this.lengthMap[var2++] = var3; @@ -53,7 +53,7 @@ public class VorbisCodebook { } } - this.method988(); + this.method959(); var2 = VorbisSample.readBits(4); if (var2 > 0) { float var15 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); @@ -67,11 +67,11 @@ public class VorbisCodebook { var7 = this.entries * this.dimensions; } - this.field344 = new int[var7]; + this.field346 = new int[var7]; int var8; for (var8 = 0; var8 < var7; ++var8) { - this.field344[var8] = VorbisSample.readBits(var5); + this.field346[var8] = VorbisSample.readBits(var5); } this.field345 = new float[this.entries][this.dimensions]; @@ -85,7 +85,7 @@ public class VorbisCodebook { for (var11 = 0; var11 < this.dimensions; ++var11) { int var12 = var8 / var10 % var7; - float var13 = (float)this.field344[var12] * var16 + var15 + var9; + float var13 = (float)this.field346[var12] * var16 + var15 + var9; this.field345[var8][var11] = var13; if (var6) { var9 = var13; @@ -100,7 +100,7 @@ public class VorbisCodebook { var10 = var8 * this.dimensions; for (var11 = 0; var11 < this.dimensions; ++var11) { - float var17 = (float)this.field344[var10] * var16 + var15 + var9; + float var17 = (float)this.field346[var10] * var16 + var15 + var9; this.field345[var8][var11] = var17; if (var6) { var9 = var17; @@ -114,8 +114,8 @@ public class VorbisCodebook { } - @ObfuscatedName("c") - void method988() { + @ObfuscatedName("q") + void method959() { int[] var1 = new int[this.entries]; int[] var2 = new int[33]; @@ -208,8 +208,8 @@ public class VorbisCodebook { } - @ObfuscatedName("m") - int method989() { + @ObfuscatedName("f") + int method958() { int var1; for (var1 = 0; this.keys[var1] >= 0; var1 = VorbisSample.readBit() != 0 ? this.keys[var1] : var1 + 1) { } @@ -217,12 +217,12 @@ public class VorbisCodebook { return ~this.keys[var1]; } - @ObfuscatedName("k") - float[] method990() { - return this.field345[this.method989()]; + @ObfuscatedName("j") + float[] method957() { + return this.field345[this.method958()]; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("mapType1QuantValues") static int mapType1QuantValues(int var0, int var1) { int var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; @@ -242,7 +242,7 @@ public class VorbisCodebook { int var3; if (var5 == 1) { - var3 = var6 * var4; + var3 = var4 * var6; } else { var3 = var6; } diff --git a/runescape-client/src/main/java/VorbisFloor.java b/runescape-client/src/main/java/VorbisFloor.java index 84f08d505c..7137d863d6 100644 --- a/runescape-client/src/main/java/VorbisFloor.java +++ b/runescape-client/src/main/java/VorbisFloor.java @@ -2,43 +2,43 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("an") +@ObfuscatedName("ag") @Implements("VorbisFloor") public class VorbisFloor { - @ObfuscatedName("n") - static final int[] field265; - @ObfuscatedName("c") + @ObfuscatedName("l") + static final int[] field260; + @ObfuscatedName("q") @Export("VorbisFloor_decibelStatics") static final float[] VorbisFloor_decibelStatics; - @ObfuscatedName("e") - static int[] field263; - @ObfuscatedName("l") - static int[] field264; + @ObfuscatedName("i") + static int[] field259; @ObfuscatedName("y") + static int[] field254; + @ObfuscatedName("w") static boolean[] field255; - @ObfuscatedName("m") - int[] field256; - @ObfuscatedName("k") + @ObfuscatedName("f") + int[] field252; + @ObfuscatedName("j") @Export("multiplier") int multiplier; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("partitionClassList") int[] partitionClassList; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("classDimensions") int[] classDimensions; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("classSubClasses") int[] classSubClasses; @ObfuscatedName("a") @Export("classMasterbooks") int[] classMasterbooks; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("subclassBooks") int[][] subclassBooks; static { - field265 = new int[]{256, 128, 86, 64}; + field260 = new int[]{256, 128, 86, 64}; VorbisFloor_decibelStatics = 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}; } @@ -92,30 +92,30 @@ public class VorbisFloor { var5 += this.classDimensions[this.partitionClassList[var6]]; } - this.field256 = new int[var5]; - this.field256[0] = 0; - this.field256[1] = 1 << var4; + this.field252 = new int[var5]; + this.field252[0] = 0; + this.field252[1] = 1 << var4; var5 = 2; for (var6 = 0; var6 < var2; ++var6) { var7 = this.partitionClassList[var6]; for (int var8 = 0; var8 < this.classDimensions[var7]; ++var8) { - this.field256[var5++] = VorbisSample.readBits(var4); + this.field252[var5++] = VorbisSample.readBits(var4); } } - if (field263 == null || field263.length < var5) { - field263 = new int[var5]; - field264 = new int[var5]; + if (field259 == null || field259.length < var5) { + field259 = new int[var5]; + field254 = new int[var5]; field255 = new boolean[var5]; } } } - @ObfuscatedName("m") - int method679(int var1, int var2, int var3, int var4, int var5) { + @ObfuscatedName("f") + int method671(int var1, int var2, int var3, int var4, int var5) { int var6 = var4 - var2; int var7 = var3 - var1; int var8 = var6 < 0 ? -var6 : var6; @@ -124,8 +124,8 @@ public class VorbisFloor { return var6 < 0 ? var2 - var10 : var10 + var2; } - @ObfuscatedName("k") - void method700(int var1, int var2, int var3, int var4, float[] var5, int var6) { + @ObfuscatedName("j") + void method669(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; @@ -153,54 +153,54 @@ public class VorbisFloor { } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("VarbisFloor_sort") void VarbisFloor_sort(int var1, int var2) { if (var1 < var2) { int var3 = var1; - int var4 = field263[var1]; - int var5 = field264[var1]; + int var4 = field259[var1]; + int var5 = field254[var1]; boolean var6 = field255[var1]; for (int var7 = var1 + 1; var7 <= var2; ++var7) { - int var8 = field263[var7]; + int var8 = field259[var7]; if (var8 < var4) { - field263[var3] = var8; - field264[var3] = field264[var7]; + field259[var3] = var8; + field254[var3] = field254[var7]; field255[var3] = field255[var7]; ++var3; - field263[var7] = field263[var3]; - field264[var7] = field264[var3]; + field259[var7] = field259[var3]; + field254[var7] = field254[var3]; field255[var7] = field255[var3]; } } - field263[var3] = var4; - field264[var3] = var5; + field259[var3] = var4; + field254[var3] = var5; field255[var3] = var6; this.VarbisFloor_sort(var1, var3 - 1); this.VarbisFloor_sort(var3 + 1, var2); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("readSubmapFloor") boolean readSubmapFloor() { boolean var1 = VorbisSample.readBit() != 0; if (!var1) { return false; } else { - int var2 = this.field256.length; + int var2 = this.field252.length; int var3; for (var3 = 0; var3 < var2; ++var3) { - field263[var3] = this.field256[var3]; + field259[var3] = this.field252[var3]; } - var3 = field265[this.multiplier - 1]; - int var4 = WorldMapData_0.iLog(var3 - 1); - field264[0] = VorbisSample.readBits(var4); - field264[1] = VorbisSample.readBits(var4); + var3 = field260[this.multiplier - 1]; + int var4 = class194.iLog(var3 - 1); + field254[0] = VorbisSample.readBits(var4); + field254[1] = VorbisSample.readBits(var4); int var5 = 2; for (int var6 = 0; var6 < this.partitionClassList.length; ++var6) { @@ -210,13 +210,13 @@ public class VorbisFloor { int var10 = (1 << var9) - 1; int var11 = 0; if (var9 > 0) { - var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method989(); + var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method958(); } for (int var12 = 0; var12 < var8; ++var12) { int var13 = this.subclassBooks[var7][var11 & var10]; var11 >>>= var9; - field264[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method989() : 0; + field254[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method958() : 0; } } @@ -224,10 +224,10 @@ public class VorbisFloor { } } - @ObfuscatedName("z") - void method686(float[] var1, int var2) { - int var3 = this.field256.length; - int var4 = field265[this.multiplier - 1]; + @ObfuscatedName("t") + void method673(float[] var1, int var2) { + int var3 = this.field252.length; + int var4 = field260[this.multiplier - 1]; boolean[] var5 = field255; field255[1] = true; var5[0] = true; @@ -238,10 +238,10 @@ public class VorbisFloor { int var9; int var10; for (var6 = 2; var6 < var3; ++var6) { - var7 = method685(field263, var6); - var8 = method705(field263, var6); - var9 = this.method679(field263[var7], field264[var7], field263[var8], field264[var8], field263[var6]); - var10 = field264[var6]; + var7 = method681(field259, var6); + var8 = method667(field259, var6); + var9 = this.method671(field259[var7], field254[var7], field259[var8], field254[var8], field259[var6]); + var10 = field254[var6]; int var11 = var4 - var9; int var13 = (var11 < var9 ? var11 : var9) << 1; if (var10 != 0) { @@ -250,25 +250,25 @@ public class VorbisFloor { var14[var7] = true; field255[var6] = true; if (var10 >= var13) { - field264[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; + field254[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; } else { - field264[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; + field254[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; } } else { field255[var6] = false; - field264[var6] = var9; + field254[var6] = var9; } } this.VarbisFloor_sort(0, var3 - 1); var6 = 0; - var7 = field264[0] * this.multiplier; + var7 = field254[0] * this.multiplier; for (var8 = 1; var8 < var3; ++var8) { if (field255[var8]) { - var9 = field263[var8]; - var10 = field264[var8] * this.multiplier; - this.method700(var6, var7, var9, var10, var1, var2); + var9 = field259[var8]; + var10 = field254[var8] * this.multiplier; + this.method669(var6, var7, var9, var10, var1, var2); if (var9 >= var2) { return; } @@ -286,8 +286,8 @@ public class VorbisFloor { } - @ObfuscatedName("n") - static int method685(int[] var0, int var1) { + @ObfuscatedName("l") + static int method681(int[] var0, int var1) { int var2 = var0[var1]; int var3 = -1; int var4 = Integer.MIN_VALUE; @@ -303,8 +303,8 @@ public class VorbisFloor { return var3; } - @ObfuscatedName("c") - static int method705(int[] var0, int var1) { + @ObfuscatedName("q") + static int method667(int[] var0, int var1) { int var2 = var0[var1]; int var3 = -1; int var4 = Integer.MAX_VALUE; diff --git a/runescape-client/src/main/java/VorbisMapping.java b/runescape-client/src/main/java/VorbisMapping.java index adb84a3128..3e702e7264 100644 --- a/runescape-client/src/main/java/VorbisMapping.java +++ b/runescape-client/src/main/java/VorbisMapping.java @@ -2,19 +2,19 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ai") +@ObfuscatedName("ap") @Implements("VorbisMapping") public class VorbisMapping { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("submaps") int submaps; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("mappingMux") int mappingMux; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("submapFloor") int[] submapFloor; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("submapResidue") int[] submapResidue; diff --git a/runescape-client/src/main/java/VorbisResidue.java b/runescape-client/src/main/java/VorbisResidue.java index 5bf5c98c11..54dab59780 100644 --- a/runescape-client/src/main/java/VorbisResidue.java +++ b/runescape-client/src/main/java/VorbisResidue.java @@ -2,28 +2,28 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ay") +@ObfuscatedName("ax") @Implements("VorbisResidue") public class VorbisResidue { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("residueType") int residueType; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("begin") int begin; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("end") int end; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("partitionSize") int partitionSize; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("classifications") int classifications; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("classbook") int classbook; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("cascade") int[] cascade; @@ -56,8 +56,8 @@ public class VorbisResidue { } - @ObfuscatedName("n") - void method790(float[] var1, int var2, boolean var3) { + @ObfuscatedName("l") + void method785(float[] var1, int var2, boolean var3) { int var4; for (var4 = 0; var4 < var2; ++var4) { var1[var4] = 0.0F; @@ -76,7 +76,7 @@ public class VorbisResidue { int var10; int var11; if (var8 == 0) { - var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method989(); + var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method958(); for (var11 = var4 - 1; var11 >= 0; --var11) { if (var9 + var11 < var6) { @@ -98,7 +98,7 @@ public class VorbisResidue { var15 = this.partitionSize / var14.dimensions; for (int var19 = 0; var19 < var15; ++var19) { - float[] var20 = var14.method990(); + float[] var20 = var14.method957(); for (int var18 = 0; var18 < var14.dimensions; ++var18) { var1[var13 + var19 + var18 * var15] += var20[var18]; @@ -108,7 +108,7 @@ public class VorbisResidue { var15 = 0; while (var15 < this.partitionSize) { - float[] var16 = var14.method990(); + float[] var16 = var14.method957(); for (int var17 = 0; var17 < var14.dimensions; ++var17) { var1[var13 + var15] += var16[var17]; diff --git a/runescape-client/src/main/java/VorbisSample.java b/runescape-client/src/main/java/VorbisSample.java index c01b167956..9683d3ec1c 100644 --- a/runescape-client/src/main/java/VorbisSample.java +++ b/runescape-client/src/main/java/VorbisSample.java @@ -3,115 +3,115 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ar") +@ObfuscatedName("aw") @Implements("VorbisSample") public class VorbisSample extends Node { - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("VorbisSample_bytes") static byte[] VorbisSample_bytes; @ObfuscatedName("a") @Export("VorbisSample_byteOffset") static int VorbisSample_byteOffset; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("VorbisSample_bitOffset") static int VorbisSample_bitOffset; - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("VorbisSample_blockSize0") static int VorbisSample_blockSize0; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("VorbisSample_blockSize1") static int VorbisSample_blockSize1; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "[Lag;" + descriptor = "[Lam;" ) @Export("VorbisSample_codebooks") static VorbisCodebook[] VorbisSample_codebooks; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "[Lan;" + descriptor = "[Lag;" ) @Export("VorbisSample_floors") static VorbisFloor[] VorbisSample_floors; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "[Lay;" + descriptor = "[Lax;" ) @Export("VorbisSample_residues") static VorbisResidue[] VorbisSample_residues; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "[Lai;" + descriptor = "[Lap;" ) @Export("VorbisSample_mappings") static VorbisMapping[] VorbisSample_mappings; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("VorbisSample_blockFlags") static boolean[] VorbisSample_blockFlags; - @ObfuscatedName("d") + @ObfuscatedName("b") @Export("VorbisSample_mapping") static int[] VorbisSample_mapping; - @ObfuscatedName("q") - static boolean field364; + @ObfuscatedName("x") + static boolean field365; @ObfuscatedName("r") - static float[] field369; - @ObfuscatedName("p") - static float[] field363; - @ObfuscatedName("w") - static float[] field371; - @ObfuscatedName("i") - static float[] field377; - @ObfuscatedName("aq") - static float[] field373; - @ObfuscatedName("ad") - static float[] field355; - @ObfuscatedName("al") - static float[] field375; - @ObfuscatedName("aa") - static int[] field361; - @ObfuscatedName("aw") - static int[] field347; + static float[] field370; @ObfuscatedName("n") - byte[][] field366; - @ObfuscatedName("c") + static float[] field366; + @ObfuscatedName("u") + static float[] field372; + @ObfuscatedName("d") + static float[] field373; + @ObfuscatedName("ab") + static float[] field379; + @ObfuscatedName("ad") + static float[] field351; + @ObfuscatedName("as") + static float[] field376; + @ObfuscatedName("ak") + static int[] field348; + @ObfuscatedName("ah") + static int[] field378; + @ObfuscatedName("l") + byte[][] field362; + @ObfuscatedName("q") @Export("sampleRate") int sampleRate; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("sampleCount") int sampleCount; - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("start") int start; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("end") int end; - @ObfuscatedName("g") - boolean field376; - @ObfuscatedName("j") - float[] field374; - @ObfuscatedName("x") - int field352; - @ObfuscatedName("b") - int field367; - @ObfuscatedName("t") - boolean field368; - @ObfuscatedName("at") + @ObfuscatedName("k") + boolean field353; + @ObfuscatedName("p") + float[] field377; + @ObfuscatedName("z") + int field374; + @ObfuscatedName("h") + int field371; + @ObfuscatedName("o") + boolean field369; + @ObfuscatedName("ay") @Export("samples") byte[] samples; - @ObfuscatedName("as") - int field379; - @ObfuscatedName("ae") + @ObfuscatedName("al") int field380; + @ObfuscatedName("ao") + int field381; static { - field364 = false; + field365 = false; } VorbisSample(byte[] var1) { this.read(var1); } - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("read") void read(byte[] var1) { Buffer var2 = new Buffer(var1); @@ -121,11 +121,11 @@ public class VorbisSample extends Node { this.end = var2.readInt(); if (this.end < 0) { this.end = ~this.end; - this.field376 = true; + this.field353 = true; } int var3 = var2.readInt(); - this.field366 = new byte[var3][]; + this.field362 = new byte[var3][]; for (int var4 = 0; var4 < var3; ++var4) { int var5 = 0; @@ -138,16 +138,16 @@ public class VorbisSample extends Node { byte[] var7 = new byte[var5]; var2.readBytes(var7, 0, var5); - this.field366[var4] = var7; + this.field362[var4] = var7; } } - @ObfuscatedName("z") - float[] method1005(int var1) { - VorbisSample_setData(this.field366[var1], 0); + @ObfuscatedName("t") + float[] method973(int var1) { + VorbisSample_setData(this.field362[var1], 0); readBit(); - int var2 = readBits(WorldMapData_0.iLog(VorbisSample_mapping.length - 1)); + int var2 = readBits(class194.iLog(VorbisSample_mapping.length - 1)); boolean var3 = VorbisSample_blockFlags[var2]; int var4 = var3 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; boolean var5 = false; @@ -192,27 +192,27 @@ public class VorbisSample extends Node { for (var17 = 0; var17 < var14.submaps; ++var17) { VorbisResidue var42 = VorbisSample_residues[var14.submapResidue[var17]]; - float[] var44 = field369; - var42.method790(var44, var4 >> 1, var45); + float[] var44 = field370; + var42.method785(var44, var4 >> 1, var45); } int var18; if (!var15) { var17 = var14.mappingMux; var18 = var14.submapFloor[var17]; - VorbisSample_floors[var18].method686(field369, var4 >> 1); + VorbisSample_floors[var18].method673(field370, var4 >> 1); } int var19; if (var15) { for (var17 = var4 >> 1; var17 < var4; ++var17) { - field369[var17] = 0.0F; + field370[var17] = 0.0F; } } else { var17 = var4 >> 1; var18 = var4 >> 2; var19 = var4 >> 3; - float[] var20 = field369; + float[] var20 = field370; int var21; for (var21 = 0; var21 < var17; ++var21) { @@ -223,10 +223,10 @@ public class VorbisSample extends Node { var20[var21] = -var20[var4 - var21 - 1]; } - float[] var40 = var3 ? field373 : field363; - float[] var22 = var3 ? field355 : field371; - float[] var23 = var3 ? field375 : field377; - int[] var24 = var3 ? field347 : field361; + float[] var40 = var3 ? field379 : field366; + float[] var22 = var3 ? field351 : field372; + float[] var23 = var3 ? field376 : field373; + int[] var24 = var3 ? field378 : field348; int var25; float var26; @@ -257,7 +257,7 @@ public class VorbisSample extends Node { var20[var25 * 4 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; } - var25 = WorldMapData_0.iLog(var4 - 1); + var25 = class194.iLog(var4 - 1); int var46; int var47; @@ -357,49 +357,49 @@ public class VorbisSample extends Node { float[] var10000; for (var46 = var8; var46 < var9; ++var46) { var27 = (float)Math.sin(((double)(var46 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); - var10000 = field369; + var10000 = field370; var10000[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); } for (var46 = var11; var46 < var12; ++var46) { var27 = (float)Math.sin(((double)(var46 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); - var10000 = field369; + var10000 = field370; var10000[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); } } float[] var41 = null; - if (this.field352 > 0) { - var18 = var4 + this.field352 >> 2; + if (this.field374 > 0) { + var18 = var4 + this.field374 >> 2; var41 = new float[var18]; int var43; - if (!this.field368) { - for (var19 = 0; var19 < this.field367; ++var19) { - var43 = var19 + (this.field352 >> 1); - var41[var19] += this.field374[var43]; + if (!this.field369) { + for (var19 = 0; var19 < this.field371; ++var19) { + var43 = var19 + (this.field374 >> 1); + var41[var19] += this.field377[var43]; } } if (!var15) { for (var19 = var8; var19 < var4 >> 1; ++var19) { var43 = var41.length - (var4 >> 1) + var19; - var41[var43] += field369[var19]; + var41[var43] += field370[var19]; } } } - float[] var54 = this.field374; - this.field374 = field369; - field369 = var54; - this.field352 = var4; - this.field367 = var12 - (var4 >> 1); - this.field368 = var15; + float[] var54 = this.field377; + this.field377 = field370; + field370 = var54; + this.field374 = var4; + this.field371 = var12 - (var4 >> 1); + this.field369 = var15; return var41; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "([I)Lak;" + descriptor = "([I)Laa;" ) @Export("toRawSound") RawSound toRawSound(int[] var1) { @@ -407,21 +407,21 @@ public class VorbisSample extends Node { return null; } else { if (this.samples == null) { - this.field352 = 0; - this.field374 = new float[VorbisSample_blockSize1]; + this.field374 = 0; + this.field377 = new float[VorbisSample_blockSize1]; this.samples = new byte[this.sampleCount]; - this.field379 = 0; this.field380 = 0; + this.field381 = 0; } - for (; this.field380 < this.field366.length; ++this.field380) { + for (; this.field381 < this.field362.length; ++this.field381) { if (var1 != null && var1[0] <= 0) { return null; } - float[] var2 = this.method1005(this.field380); + float[] var2 = this.method973(this.field381); if (var2 != null) { - int var3 = this.field379; + int var3 = this.field380; int var4 = var2.length; if (var4 > this.sampleCount - var3) { var4 = this.sampleCount - var3; @@ -437,21 +437,21 @@ public class VorbisSample extends Node { } if (var1 != null) { - var1[0] -= var3 - this.field379; + var1[0] -= var3 - this.field380; } - this.field379 = var3; + this.field380 = var3; } } - this.field374 = null; + this.field377 = null; byte[] var7 = this.samples; this.samples = null; - return new RawSound(this.sampleRate, var7, this.start, this.end, this.field376); + return new RawSound(this.sampleRate, var7, this.start, this.end, this.field353); } } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("float32Unpack") static float float32Unpack(int var0) { int var1 = var0 & 2097151; @@ -464,7 +464,7 @@ public class VorbisSample extends Node { return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); } - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("VorbisSample_setData") static void VorbisSample_setData(byte[] var0, int var1) { VorbisSample_bytes = var0; @@ -472,7 +472,7 @@ public class VorbisSample extends Node { VorbisSample_bitOffset = 0; } - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("readBit") static int readBit() { int var0 = VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & 1; @@ -482,7 +482,7 @@ public class VorbisSample extends Node { return var0; } - @ObfuscatedName("k") + @ObfuscatedName("j") @Export("readBits") static int readBits(int var0) { int var1 = 0; @@ -507,12 +507,12 @@ public class VorbisSample extends Node { return var1; } - @ObfuscatedName("g") - static void method1004(byte[] var0) { + @ObfuscatedName("k") + static void method1002(byte[] var0) { VorbisSample_setData(var0, 0); VorbisSample_blockSize0 = 1 << readBits(4); VorbisSample_blockSize1 = 1 << readBits(4); - field369 = new float[VorbisSample_blockSize1]; + field370 = new float[VorbisSample_blockSize1]; int var1; int var2; @@ -524,53 +524,44 @@ public class VorbisSample extends Node { var3 = var2 >> 1; var4 = var2 >> 2; var5 = var2 >> 3; - float[] var18 = new float[var3]; + float[] var12 = new float[var3]; for (int var7 = 0; var7 < var4; ++var7) { - var18[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); - var18[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); + var12[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); + var12[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); } - float[] var19 = new float[var3]; + float[] var13 = new float[var3]; for (int var8 = 0; var8 < var4; ++var8) { - var19[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); - var19[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + var13[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + var13[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); } - float[] var20 = new float[var4]; + float[] var14 = new float[var4]; for (int var9 = 0; var9 < var5; ++var9) { - var20[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); - var20[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); + var14[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); + var14[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); } - int[] var21 = new int[var5]; - int var10 = WorldMapData_0.iLog(var5 - 1); + int[] var15 = new int[var5]; + int var10 = class194.iLog(var5 - 1); for (int var11 = 0; var11 < var5; ++var11) { - int var15 = var11; - int var16 = var10; - - int var17; - for (var17 = 0; var16 > 0; --var16) { - var17 = var17 << 1 | var15 & 1; - var15 >>>= 1; - } - - var21[var11] = var17; + var15[var11] = WorldMapElement.method2922(var11, var10); } if (var1 != 0) { - field373 = var18; - field355 = var19; - field375 = var20; - field347 = var21; + field379 = var12; + field351 = var13; + field376 = var14; + field378 = var15; } else { - field363 = var18; - field371 = var19; - field377 = var20; - field361 = var21; + field366 = var12; + field372 = var13; + field373 = var14; + field348 = var15; } } @@ -623,29 +614,29 @@ public class VorbisSample extends Node { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Lkk;)Z" + descriptor = "(Lkl;)Z" ) - static boolean method1006(AbstractArchive var0) { - if (!field364) { + static boolean method987(AbstractArchive var0) { + if (!field365) { byte[] var1 = var0.takeFile(0, 0); if (var1 == null) { return false; } - method1004(var1); - field364 = true; + method1002(var1); + field365 = true; } return true; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(Lkk;II)Lar;" + descriptor = "(Lkl;II)Law;" ) @Export("readMusicSample") static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { - if (!method1006(var0)) { + if (!method987(var0)) { var0.tryLoadFile(var1, var2); return null; } else { diff --git a/runescape-client/src/main/java/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index 3bc64a0224..c240e231a5 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -4,72 +4,72 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hh") +@ObfuscatedName("hk") @Implements("WallDecoration") public final class WallDecoration { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -198278747 + intValue = -486262227 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1381503255 + intValue = 1658643165 ) @Export("x") int x; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2051093029 + intValue = -457731185 ) @Export("y") int y; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 298359965 + intValue = 1010602035 ) @Export("orientation") int orientation; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1660964825 + intValue = -1936125561 ) @Export("orientation2") int orientation2; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -1820881555 + intValue = -1930286525 ) @Export("xOffset") int xOffset; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1424936291 + intValue = -607759825 ) @Export("yOffset") int yOffset; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("renderable1") public Renderable renderable1; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lhr;" + descriptor = "Lhi;" ) @Export("renderable2") public Renderable renderable2; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - longValue = 5051446358328224037L + longValue = -1585251643949812861L ) @Export("tag") public long tag; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -1181556671 + intValue = 148336509 ) @Export("flags") int flags; @@ -79,15 +79,71 @@ public final class WallDecoration { this.flags = 0; } - @ObfuscatedName("z") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "128" + descriptor = "(S)[Lin;", + garbageValue = "180" ) - public static void method4494() { - if (NetCache.NetCache_socket != null) { - NetCache.NetCache_socket.close(); + @Export("ServerPacket_values") + public static ServerPacket[] ServerPacket_values() { + return new ServerPacket[]{ServerPacket.field2878, ServerPacket.field2882, ServerPacket.field2869, ServerPacket.field2790, ServerPacket.field2791, ServerPacket.field2792, ServerPacket.field2862, ServerPacket.field2794, ServerPacket.field2827, ServerPacket.field2841, ServerPacket.field2832, ServerPacket.field2798, ServerPacket.field2799, ServerPacket.field2789, ServerPacket.field2804, ServerPacket.field2802, ServerPacket.field2795, ServerPacket.field2816, ServerPacket.field2805, ServerPacket.field2806, ServerPacket.field2807, ServerPacket.field2803, ServerPacket.field2809, ServerPacket.field2810, ServerPacket.field2811, ServerPacket.field2808, ServerPacket.field2813, ServerPacket.field2817, ServerPacket.field2815, ServerPacket.field2812, ServerPacket.field2801, ServerPacket.field2818, ServerPacket.field2819, ServerPacket.field2820, ServerPacket.field2788, ServerPacket.field2822, ServerPacket.field2823, ServerPacket.field2796, ServerPacket.field2845, ServerPacket.field2826, ServerPacket.field2821, ServerPacket.field2828, ServerPacket.field2829, ServerPacket.field2830, ServerPacket.field2831, ServerPacket.field2814, ServerPacket.field2833, ServerPacket.field2834, ServerPacket.field2835, ServerPacket.field2797, ServerPacket.field2836, ServerPacket.field2838, ServerPacket.field2839, ServerPacket.field2840, ServerPacket.field2865, ServerPacket.field2787, ServerPacket.field2843, ServerPacket.field2844, ServerPacket.field2879, ServerPacket.field2846, ServerPacket.field2847, ServerPacket.field2793, ServerPacket.field2849, ServerPacket.field2850, ServerPacket.field2851, ServerPacket.field2852, ServerPacket.field2853, ServerPacket.field2861, ServerPacket.field2855, ServerPacket.field2848, ServerPacket.field2857, ServerPacket.field2858, ServerPacket.field2859, ServerPacket.field2860, ServerPacket.field2824, ServerPacket.field2874, ServerPacket.field2863, ServerPacket.field2864, ServerPacket.field2856, ServerPacket.field2800, ServerPacket.field2867, ServerPacket.field2868, ServerPacket.field2866, ServerPacket.field2870, ServerPacket.field2871, ServerPacket.field2872, ServerPacket.field2873, ServerPacket.field2842, ServerPacket.field2875, ServerPacket.field2876, ServerPacket.field2877, ServerPacket.field2854, ServerPacket.field2837, ServerPacket.field2880, ServerPacket.field2881}; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "([BIII)Ljava/lang/String;", + garbageValue = "-1531705117" + ) + public static String method4580(byte[] var0, int var1, int var2) { + StringBuilder var3 = new StringBuilder(); + + for (int var4 = var1; var4 < var2 + var1; var4 += 3) { + int var5 = var0[var4] & 255; + var3.append(class317.field3869[var5 >>> 2]); + if (var4 < var2 - 1) { + int var6 = var0[var4 + 1] & 255; + var3.append(class317.field3869[(var5 & 3) << 4 | var6 >>> 4]); + if (var4 < var2 - 2) { + int var7 = var0[var4 + 2] & 255; + var3.append(class317.field3869[(var6 & 15) << 2 | var7 >>> 6]).append(class317.field3869[var7 & 63]); + } else { + var3.append(class317.field3869[(var6 & 15) << 2]).append("="); + } + } else { + var3.append(class317.field3869[(var5 & 3) << 4]).append("=="); + } } + return var3.toString(); + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "-20" + ) + static int method4581(int var0, Script var1, boolean var2) { + if (var0 == 6800) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 != 6801 && var0 != 6802) { + if (var0 == 6850) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 != 6851 && var0 != 6852) { + if (var0 == 6853) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } } } diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index ed3e2972e0..86af9f959e 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -4,688 +4,702 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jd") +@ObfuscatedName("jt") @Implements("Widget") public class Widget extends Node { - @ObfuscatedName("a") - @Export("Widget_loadedInterfaces") - public static boolean[] Widget_loadedInterfaces; - @ObfuscatedName("u") + @ObfuscatedName("uv") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkj;" + ) + public static class300 field3165; + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "[[Ljt;" + ) + @Export("Widget_interfaceComponents") + public static Widget[][] Widget_interfaceComponents; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lkl;" ) @Export("Widget_archive") public static AbstractArchive Widget_archive; - @ObfuscatedName("v") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lkl;" + ) + @Export("Widget_modelsArchive") + public static AbstractArchive Widget_modelsArchive; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lii;" ) @Export("Widget_cachedSprites") - public static EvictingDualNodeHashTable Widget_cachedSprites; - @ObfuscatedName("f") + static EvictingDualNodeHashTable Widget_cachedSprites; + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("Widget_cachedModels") - public static EvictingDualNodeHashTable Widget_cachedModels; + static EvictingDualNodeHashTable Widget_cachedModels; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("Widget_cachedFonts") - public static EvictingDualNodeHashTable Widget_cachedFonts; - @ObfuscatedName("h") + static EvictingDualNodeHashTable Widget_cachedFonts; + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("Widget_cachedSpriteMasks") - public static EvictingDualNodeHashTable Widget_cachedSpriteMasks; - @ObfuscatedName("d") - public static boolean field3153; - @ObfuscatedName("q") + static EvictingDualNodeHashTable Widget_cachedSpriteMasks; + @ObfuscatedName("b") + public static boolean field3045; + @ObfuscatedName("x") @Export("isIf3") public boolean isIf3; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedGetter( - intValue = 296163183 + intValue = -1239763633 ) @Export("id") public int id; - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedGetter( - intValue = -777771557 + intValue = -886488703 ) @Export("childIndex") public int childIndex; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedGetter( - intValue = 107388147 + intValue = 1172876095 ) @Export("type") public int type; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = -231341979 + intValue = -83198569 ) @Export("buttonType") public int buttonType; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -858005441 + intValue = 151333425 ) @Export("contentType") public int contentType; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -208704695 + intValue = 604390457 ) @Export("xAlignment") public int xAlignment; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = 685786265 + intValue = 1107777295 ) @Export("yAlignment") public int yAlignment; - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedGetter( - intValue = 163148157 + intValue = -578564921 ) @Export("widthAlignment") public int widthAlignment; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedGetter( - intValue = -1485076407 + intValue = 243916291 ) @Export("heightAlignment") public int heightAlignment; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = -710949859 + intValue = 1337119043 ) @Export("rawX") public int rawX; - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedGetter( - intValue = -1209137767 + intValue = -526147055 ) @Export("rawY") public int rawY; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = 146294391 + intValue = 359431951 ) @Export("rawWidth") public int rawWidth; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = 1463154587 + intValue = -563564287 ) @Export("rawHeight") public int rawHeight; - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedGetter( - intValue = -140051959 + intValue = 754583103 ) @Export("x") public int x; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = -2008945777 + intValue = -66554765 ) @Export("y") public int y; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedGetter( - intValue = -159544843 + intValue = -2019463933 ) @Export("width") public int width; - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedGetter( - intValue = -1187557111 + intValue = -1955651309 ) @Export("height") public int height; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = -1186994173 + intValue = 290577259 ) - public int field3062; - @ObfuscatedName("an") + public int field3067; + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = -463238507 + intValue = 38890935 ) - public int field3116; - @ObfuscatedName("ab") + public int field3136; + @ObfuscatedName("aq") @ObfuscatedGetter( - intValue = 976214871 + intValue = 802202319 ) @Export("parentId") public int parentId; - @ObfuscatedName("au") + @ObfuscatedName("ar") @Export("isHidden") public boolean isHidden; - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedGetter( - intValue = -29580989 + intValue = -1647106185 ) @Export("scrollX") public int scrollX; - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedGetter( - intValue = 767819915 + intValue = 379140179 ) @Export("scrollY") public int scrollY; - @ObfuscatedName("ay") + @ObfuscatedName("ax") @ObfuscatedGetter( - intValue = 1186027877 + intValue = -1993150083 ) @Export("scrollWidth") public int scrollWidth; - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedGetter( - intValue = -351476243 + intValue = 1068415699 ) @Export("scrollHeight") public int scrollHeight; - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedGetter( - intValue = -1026377677 + intValue = -892929689 ) @Export("color") public int color; - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedGetter( - intValue = -1093693915 + intValue = -2093001181 ) @Export("color2") public int color2; - @ObfuscatedName("ac") + @ObfuscatedName("aj") @ObfuscatedGetter( - intValue = 1351015695 + intValue = -415375271 ) @Export("mouseOverColor") public int mouseOverColor; - @ObfuscatedName("ag") + @ObfuscatedName("am") @ObfuscatedGetter( - intValue = -1460565007 + intValue = -557724983 ) @Export("mouseOverColor2") public int mouseOverColor2; - @ObfuscatedName("ar") + @ObfuscatedName("aw") @Export("fill") public boolean fill; @ObfuscatedName("az") @ObfuscatedSignature( - descriptor = "Loh;" + descriptor = "Lob;" ) @Export("fillMode") public FillMode fillMode; - @ObfuscatedName("ah") + @ObfuscatedName("ae") @ObfuscatedGetter( - intValue = 828202395 + intValue = -1463185953 ) @Export("transparencyTop") public int transparencyTop; - @ObfuscatedName("af") + @ObfuscatedName("ai") @ObfuscatedGetter( - intValue = 551618297 + intValue = 1030436607 ) @Export("transparencyBot") public int transparencyBot; - @ObfuscatedName("ax") + @ObfuscatedName("af") @ObfuscatedGetter( - intValue = 1815197675 + intValue = -1155135239 ) @Export("lineWid") public int lineWid; - @ObfuscatedName("bd") - public boolean field3117; + @ObfuscatedName("bz") + public boolean field3081; @ObfuscatedName("bt") @ObfuscatedGetter( - intValue = 471118811 + intValue = -1605814115 ) @Export("spriteId2") public int spriteId2; - @ObfuscatedName("bf") + @ObfuscatedName("bg") @ObfuscatedGetter( - intValue = -1355774769 + intValue = 805516873 ) @Export("spriteId") public int spriteId; - @ObfuscatedName("bp") + @ObfuscatedName("bf") @ObfuscatedGetter( - intValue = 1174131045 + intValue = -261092147 ) @Export("spriteAngle") public int spriteAngle; - @ObfuscatedName("bl") + @ObfuscatedName("bj") @Export("spriteTiling") public boolean spriteTiling; - @ObfuscatedName("bc") + @ObfuscatedName("bo") @ObfuscatedGetter( - intValue = 1073210623 + intValue = -81220287 ) @Export("outline") public int outline; - @ObfuscatedName("br") + @ObfuscatedName("bx") @ObfuscatedGetter( - intValue = 216456419 + intValue = 96251317 ) @Export("spriteShadow") public int spriteShadow; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @Export("spriteFlipV") public boolean spriteFlipV; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @Export("spriteFlipH") public boolean spriteFlipH; - @ObfuscatedName("bj") + @ObfuscatedName("ba") @ObfuscatedGetter( - intValue = -2065033069 + intValue = 1936984001 ) @Export("modelType") public int modelType; - @ObfuscatedName("be") + @ObfuscatedName("bm") @ObfuscatedGetter( - intValue = 1300658987 + intValue = 617278149 ) @Export("modelId") public int modelId; - @ObfuscatedName("bq") + @ObfuscatedName("bv") @ObfuscatedGetter( - intValue = -754274845 + intValue = -230164833 ) @Export("modelType2") int modelType2; - @ObfuscatedName("bu") + @ObfuscatedName("bs") @ObfuscatedGetter( - intValue = -1709943069 + intValue = -74142311 ) @Export("modelId2") int modelId2; - @ObfuscatedName("bn") + @ObfuscatedName("bd") @ObfuscatedGetter( - intValue = 146417919 + intValue = 1444892265 ) @Export("sequenceId") public int sequenceId; - @ObfuscatedName("bk") + @ObfuscatedName("bb") @ObfuscatedGetter( - intValue = 1620944493 + intValue = -1467040689 ) @Export("sequenceId2") public int sequenceId2; - @ObfuscatedName("bm") + @ObfuscatedName("bh") @ObfuscatedGetter( - intValue = -583533991 + intValue = 1967675591 ) @Export("modelOffsetX") public int modelOffsetX; - @ObfuscatedName("bb") + @ObfuscatedName("bi") @ObfuscatedGetter( - intValue = -636491287 + intValue = -789464497 ) @Export("modelOffsetY") public int modelOffsetY; - @ObfuscatedName("bx") + @ObfuscatedName("bq") @ObfuscatedGetter( - intValue = -1547833425 + intValue = -1294872275 ) @Export("modelAngleX") public int modelAngleX; - @ObfuscatedName("ba") + @ObfuscatedName("by") @ObfuscatedGetter( - intValue = 1758135277 + intValue = 315650477 ) @Export("modelAngleY") public int modelAngleY; - @ObfuscatedName("bg") + @ObfuscatedName("be") @ObfuscatedGetter( - intValue = -1500142185 + intValue = 787747681 ) @Export("modelAngleZ") public int modelAngleZ; - @ObfuscatedName("bo") + @ObfuscatedName("bw") @ObfuscatedGetter( - intValue = -2007787695 + intValue = 2013447747 ) @Export("modelZoom") public int modelZoom; - @ObfuscatedName("bv") + @ObfuscatedName("bn") @ObfuscatedGetter( - intValue = -1875497623 + intValue = -1278808337 ) - public int field3089; - @ObfuscatedName("bi") + public int field3102; + @ObfuscatedName("bl") @ObfuscatedGetter( - intValue = 802663565 + intValue = 905870085 ) - public int field3101; - @ObfuscatedName("bs") + public int field3038; + @ObfuscatedName("bk") @Export("modelOrthog") public boolean modelOrthog; - @ObfuscatedName("by") + @ObfuscatedName("bp") @Export("modelTransparency") public boolean modelTransparency; - @ObfuscatedName("bz") + @ObfuscatedName("br") @ObfuscatedGetter( - intValue = -1642020263 + intValue = -510674147 ) @Export("itemQuantityMode") public int itemQuantityMode; - @ObfuscatedName("cw") + @ObfuscatedName("ca") @ObfuscatedGetter( - intValue = 194821185 + intValue = -1603883435 ) @Export("fontId") public int fontId; - @ObfuscatedName("ci") + @ObfuscatedName("ct") @Export("text") public String text; - @ObfuscatedName("cl") + @ObfuscatedName("cy") @Export("text2") public String text2; - @ObfuscatedName("cu") + @ObfuscatedName("cg") @ObfuscatedGetter( - intValue = -524346475 + intValue = -1721306803 ) @Export("textLineHeight") public int textLineHeight; - @ObfuscatedName("co") + @ObfuscatedName("ci") @ObfuscatedGetter( - intValue = -1916096277 + intValue = -591425127 ) @Export("textXAlignment") public int textXAlignment; - @ObfuscatedName("cb") + @ObfuscatedName("cx") @ObfuscatedGetter( - intValue = -956843697 + intValue = -1728022553 ) @Export("textYAlignment") public int textYAlignment; - @ObfuscatedName("cf") + @ObfuscatedName("cd") @Export("textShadowed") public boolean textShadowed; - @ObfuscatedName("cc") + @ObfuscatedName("cp") @ObfuscatedGetter( - intValue = -992184317 + intValue = -1282237629 ) @Export("paddingX") public int paddingX; - @ObfuscatedName("cn") + @ObfuscatedName("cl") @ObfuscatedGetter( - intValue = 1889718339 + intValue = 1042618055 ) @Export("paddingY") public int paddingY; - @ObfuscatedName("ch") + @ObfuscatedName("cr") @Export("inventoryXOffsets") public int[] inventoryXOffsets; - @ObfuscatedName("cx") + @ObfuscatedName("cq") @Export("inventoryYOffsets") public int[] inventoryYOffsets; - @ObfuscatedName("cv") + @ObfuscatedName("cs") @Export("inventorySprites") public int[] inventorySprites; - @ObfuscatedName("cr") + @ObfuscatedName("cw") @Export("itemActions") public String[] itemActions; - @ObfuscatedName("cq") + @ObfuscatedName("ce") @ObfuscatedGetter( - intValue = 765734327 + intValue = -1141593057 ) @Export("flags") public int flags; + @ObfuscatedName("cz") + public boolean field3121; + @ObfuscatedName("cu") + public byte[][] field3115; + @ObfuscatedName("cv") + public byte[][] field3123; + @ObfuscatedName("cn") + public int[] field3147; + @ObfuscatedName("cf") + public int[] field3066; @ObfuscatedName("ck") - public boolean field3119; - @ObfuscatedName("cm") - public byte[][] field3100; - @ObfuscatedName("cy") - public byte[][] field3121; - @ObfuscatedName("cp") - public int[] field3135; - @ObfuscatedName("cg") - public int[] field3123; - @ObfuscatedName("ct") @Export("dataText") public String dataText; - @ObfuscatedName("cz") + @ObfuscatedName("cb") @Export("actions") public String[] actions; - @ObfuscatedName("ce") + @ObfuscatedName("cm") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Ljt;" ) @Export("parent") public Widget parent; - @ObfuscatedName("dd") + @ObfuscatedName("db") @ObfuscatedGetter( - intValue = 813889663 + intValue = -754803859 ) @Export("dragZoneSize") public int dragZoneSize; - @ObfuscatedName("dk") + @ObfuscatedName("dx") @ObfuscatedGetter( - intValue = -1607858313 + intValue = -776072407 ) @Export("dragThreshold") public int dragThreshold; - @ObfuscatedName("ds") + @ObfuscatedName("dd") @Export("isScrollBar") public boolean isScrollBar; - @ObfuscatedName("df") + @ObfuscatedName("dp") @Export("spellActionName") public String spellActionName; - @ObfuscatedName("db") + @ObfuscatedName("dq") @Export("hasListener") public boolean hasListener; - @ObfuscatedName("dn") + @ObfuscatedName("du") @Export("onLoad") public Object[] onLoad; - @ObfuscatedName("dh") + @ObfuscatedName("dc") @Export("onClick") public Object[] onClick; - @ObfuscatedName("do") + @ObfuscatedName("dy") @Export("onClickRepeat") public Object[] onClickRepeat; - @ObfuscatedName("dp") + @ObfuscatedName("dl") @Export("onRelease") public Object[] onRelease; - @ObfuscatedName("dx") + @ObfuscatedName("df") @Export("onHold") public Object[] onHold; - @ObfuscatedName("dl") + @ObfuscatedName("dj") @Export("onMouseOver") public Object[] onMouseOver; - @ObfuscatedName("du") + @ObfuscatedName("dm") @Export("onMouseRepeat") public Object[] onMouseRepeat; - @ObfuscatedName("dj") + @ObfuscatedName("dt") @Export("onMouseLeave") public Object[] onMouseLeave; - @ObfuscatedName("dy") + @ObfuscatedName("dr") @Export("onDrag") public Object[] onDrag; - @ObfuscatedName("dr") + @ObfuscatedName("do") @Export("onDragComplete") public Object[] onDragComplete; - @ObfuscatedName("dc") + @ObfuscatedName("dg") @Export("onTargetEnter") public Object[] onTargetEnter; - @ObfuscatedName("dm") + @ObfuscatedName("dv") @Export("onTargetLeave") public Object[] onTargetLeave; - @ObfuscatedName("dv") + @ObfuscatedName("di") @Export("onVarTransmit") public Object[] onVarTransmit; - @ObfuscatedName("de") + @ObfuscatedName("dw") @Export("varTransmitTriggers") public int[] varTransmitTriggers; - @ObfuscatedName("dz") + @ObfuscatedName("dn") @Export("onInvTransmit") public Object[] onInvTransmit; - @ObfuscatedName("dg") + @ObfuscatedName("dh") @Export("invTransmitTriggers") public int[] invTransmitTriggers; - @ObfuscatedName("dt") + @ObfuscatedName("ds") @Export("onStatTransmit") public Object[] onStatTransmit; @ObfuscatedName("da") @Export("statTransmitTriggers") public int[] statTransmitTriggers; - @ObfuscatedName("di") + @ObfuscatedName("dk") @Export("onTimer") public Object[] onTimer; - @ObfuscatedName("dw") + @ObfuscatedName("dz") @Export("onOp") public Object[] onOp; - @ObfuscatedName("dq") + @ObfuscatedName("de") @Export("onScroll") public Object[] onScroll; - @ObfuscatedName("eo") + @ObfuscatedName("et") @Export("onChatTransmit") public Object[] onChatTransmit; - @ObfuscatedName("ep") + @ObfuscatedName("ev") @Export("onKey") public Object[] onKey; - @ObfuscatedName("ez") - public Object[] field3155; - @ObfuscatedName("ec") - public Object[] field3069; - @ObfuscatedName("ev") + @ObfuscatedName("es") + public Object[] field3157; + @ObfuscatedName("ee") + public Object[] field3158; + @ObfuscatedName("ef") @Export("onFriendTransmit") public Object[] onFriendTransmit; - @ObfuscatedName("ex") + @ObfuscatedName("eu") @Export("onClanTransmit") public Object[] onClanTransmit; @ObfuscatedName("eb") - public Object[] field3159; - @ObfuscatedName("em") - public Object[] field3160; - @ObfuscatedName("eq") + public Object[] field3161; + @ObfuscatedName("ez") + public Object[] field3163; + @ObfuscatedName("er") @Export("onMiscTransmit") public Object[] onMiscTransmit; - @ObfuscatedName("eh") + @ObfuscatedName("ea") @Export("onDialogAbort") public Object[] onDialogAbort; - @ObfuscatedName("eu") + @ObfuscatedName("ej") @Export("onSubChange") public Object[] onSubChange; - @ObfuscatedName("ej") + @ObfuscatedName("ek") @Export("onResize") public Object[] onResize; - @ObfuscatedName("ei") + @ObfuscatedName("ew") @Export("onStockTransmit") public Object[] onStockTransmit; - @ObfuscatedName("et") - public Object[] field3174; - @ObfuscatedName("ew") + @ObfuscatedName("eg") + public Object[] field3168; + @ObfuscatedName("ec") @Export("cs1Instructions") public int[][] cs1Instructions; - @ObfuscatedName("el") + @ObfuscatedName("ei") @Export("cs1Comparisons") public int[] cs1Comparisons; - @ObfuscatedName("ey") + @ObfuscatedName("eq") @Export("cs1ComparisonValues") public int[] cs1ComparisonValues; - @ObfuscatedName("ea") + @ObfuscatedName("eh") @ObfuscatedGetter( - intValue = -1896718129 + intValue = 1331506921 ) @Export("mouseOverRedirect") public int mouseOverRedirect; - @ObfuscatedName("ed") + @ObfuscatedName("ep") @Export("spellName") public String spellName; - @ObfuscatedName("ee") + @ObfuscatedName("en") @Export("buttonText") public String buttonText; - @ObfuscatedName("es") + @ObfuscatedName("ed") @Export("itemIds") public int[] itemIds; - @ObfuscatedName("en") + @ObfuscatedName("ey") @Export("itemQuantities") public int[] itemQuantities; - @ObfuscatedName("ef") + @ObfuscatedName("ex") @ObfuscatedGetter( - intValue = -494571141 + intValue = 1708716531 ) @Export("itemId") public int itemId; - @ObfuscatedName("er") + @ObfuscatedName("eo") @ObfuscatedGetter( - intValue = 625331841 + intValue = -1521917383 ) @Export("itemQuantity") public int itemQuantity; - @ObfuscatedName("ek") + @ObfuscatedName("el") @ObfuscatedGetter( - intValue = -1615923275 + intValue = 1043627497 ) @Export("modelFrame") public int modelFrame; - @ObfuscatedName("eg") + @ObfuscatedName("em") @ObfuscatedGetter( - intValue = 1522041953 + intValue = -886660969 ) @Export("modelFrameCycle") public int modelFrameCycle; - @ObfuscatedName("ft") + @ObfuscatedName("fs") @ObfuscatedSignature( - descriptor = "[Ljd;" + descriptor = "[Ljt;" ) @Export("children") public Widget[] children; - @ObfuscatedName("fo") + @ObfuscatedName("fi") @Export("containsMouse") public boolean containsMouse; - @ObfuscatedName("fg") + @ObfuscatedName("fb") @Export("isClicked") public boolean isClicked; - @ObfuscatedName("fs") + @ObfuscatedName("fp") @ObfuscatedGetter( - intValue = -852634285 + intValue = -2088196585 ) - public int field3182; - @ObfuscatedName("fq") + public int field3064; + @ObfuscatedName("fg") @ObfuscatedGetter( - intValue = -1015960745 + intValue = 1027764261 ) - public int field3183; - @ObfuscatedName("fc") + public int field3185; + @ObfuscatedName("fz") @ObfuscatedGetter( - intValue = 661094543 + intValue = -1002447235 ) - public int field3184; - @ObfuscatedName("fu") + public int field3186; + @ObfuscatedName("fh") @ObfuscatedGetter( - intValue = 1743471611 + intValue = 80527699 ) - public int field3122; - @ObfuscatedName("fv") + public int field3187; + @ObfuscatedName("fk") @ObfuscatedGetter( - intValue = 1316483769 + intValue = 1516024327 ) @Export("rootIndex") public int rootIndex; - @ObfuscatedName("fl") + @ObfuscatedName("fm") @ObfuscatedGetter( - intValue = -2124839629 + intValue = -1555978879 ) @Export("cycle") public int cycle; - @ObfuscatedName("fn") - public int[] field3188; - @ObfuscatedName("fz") + @ObfuscatedName("ff") + public int[] field3190; + @ObfuscatedName("fd") @Export("noClickThrough") public boolean noClickThrough; - @ObfuscatedName("fe") + @ObfuscatedName("fn") @Export("noScrollThrough") public boolean noScrollThrough; - @ObfuscatedName("ff") + @ObfuscatedName("fo") @Export("prioritizeMenuEntry") public boolean prioritizeMenuEntry; @@ -694,7 +708,7 @@ public class Widget extends Node { Widget_cachedModels = new EvictingDualNodeHashTable(50); Widget_cachedFonts = new EvictingDualNodeHashTable(20); Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); - field3153 = false; + field3045 = false; } public Widget() { @@ -715,8 +729,8 @@ public class Widget extends Node { this.y = 0; this.width = 0; this.height = 0; - this.field3062 = 1; - this.field3116 = 1; + this.field3067 = 1; + this.field3136 = 1; this.parentId = -1; this.isHidden = false; this.scrollX = 0; @@ -732,7 +746,7 @@ public class Widget extends Node { this.transparencyTop = 0; this.transparencyBot = 0; this.lineWid = 1; - this.field3117 = false; + this.field3081 = false; this.spriteId2 = -1; this.spriteId = -1; this.spriteAngle = 0; @@ -751,8 +765,8 @@ public class Widget extends Node { this.modelAngleY = 0; this.modelAngleZ = 0; this.modelZoom = 100; - this.field3089 = 0; - this.field3101 = 0; + this.field3102 = 0; + this.field3038 = 0; this.modelOrthog = false; this.modelTransparency = false; this.itemQuantityMode = 2; @@ -766,7 +780,7 @@ public class Widget extends Node { this.paddingX = 0; this.paddingY = 0; this.flags = 0; - this.field3119 = false; + this.field3121 = false; this.dataText = ""; this.parent = null; this.dragZoneSize = 0; @@ -783,10 +797,10 @@ public class Widget extends Node { this.modelFrameCycle = 0; this.containsMouse = false; this.isClicked = false; - this.field3182 = -1; - this.field3183 = 0; - this.field3184 = 0; - this.field3122 = 0; + this.field3064 = -1; + this.field3185 = 0; + this.field3186 = 0; + this.field3187 = 0; this.rootIndex = -1; this.cycle = -1; this.noClickThrough = false; @@ -794,10 +808,10 @@ public class Widget extends Node { this.prioritizeMenuEntry = false; } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "652833467" + garbageValue = "2061561057" ) @Export("decodeLegacy") void decodeLegacy(Buffer var1) { @@ -981,8 +995,8 @@ public class Widget extends Node { } if (this.type == 7) { - this.itemIds = new int[this.rawWidth * this.rawHeight]; - this.itemQuantities = new int[this.rawHeight * this.rawWidth]; + this.itemIds = new int[this.rawHeight * this.rawWidth]; + this.itemQuantities = new int[this.rawWidth * this.rawHeight]; this.textXAlignment = var1.readUnsignedByte(); this.fontId = var1.readUnsignedShort(); if (this.fontId == 65535) { @@ -1051,10 +1065,10 @@ public class Widget extends Node { } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "90" + descriptor = "(Lot;I)V", + garbageValue = "1842256168" ) @Export("decode") void decode(Buffer var1) { @@ -1121,7 +1135,7 @@ public class Widget extends Node { this.modelOrthog = var1.readUnsignedByte() == 1; var1.readUnsignedShort(); if (this.widthAlignment != 0) { - this.field3089 = var1.readUnsignedShort(); + this.field3102 = var1.readUnsignedShort(); } if (this.heightAlignment != 0) { @@ -1152,7 +1166,7 @@ public class Widget extends Node { if (this.type == 9) { this.lineWid = var1.readUnsignedByte(); this.color = var1.readInt(); - this.field3117 = var1.readUnsignedByte() == 1; + this.field3081 = var1.readUnsignedByte() == 1; } this.flags = var1.readMedium(); @@ -1193,10 +1207,10 @@ public class Widget extends Node { this.statTransmitTriggers = this.readListenerTriggers(var1); } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;B)[Ljava/lang/Object;", - garbageValue = "41" + descriptor = "(Lot;I)[Ljava/lang/Object;", + garbageValue = "-1513095431" ) @Export("readListener") Object[] readListener(Buffer var1) { @@ -1220,10 +1234,10 @@ public class Widget extends Node { } } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lot;B)[I", - garbageValue = "5" + descriptor = "(Lot;I)[I", + garbageValue = "998021667" ) @Export("readListenerTriggers") int[] readListenerTriggers(Buffer var1) { @@ -1241,10 +1255,10 @@ public class Widget extends Node { } } - @ObfuscatedName("u") + @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "2111527355" + garbageValue = "1136689238" ) @Export("swapItems") public void swapItems(int var1, int var2) { @@ -1258,12 +1272,12 @@ public class Widget extends Node { @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(ZI)Loc;", - garbageValue = "978404018" + descriptor = "(ZI)Lon;", + garbageValue = "-1235914295" ) @Export("getSprite") public SpritePixels getSprite(boolean var1) { - field3153 = false; + field3045 = false; int var2; if (var1) { var2 = this.spriteId; @@ -1279,9 +1293,9 @@ public class Widget extends Node { if (var5 != null) { return var5; } else { - var5 = class258.SpriteBuffer_getSprite(class184.Widget_spritesArchive, var2, 0); + var5 = AccessFile.SpriteBuffer_getSprite(IntHashTable.Widget_spritesArchive, var2, 0); if (var5 == null) { - field3153 = true; + field3045 = true; return null; } else { if (this.spriteFlipV) { @@ -1315,14 +1329,14 @@ public class Widget extends Node { } } - @ObfuscatedName("l") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(I)Llu;", - garbageValue = "92532649" + descriptor = "(I)Llt;", + garbageValue = "-1004805347" ) @Export("getFont") public Font getFont() { - field3153 = false; + field3045 = false; if (this.fontId == -1) { return null; } else { @@ -1330,11 +1344,11 @@ public class Widget extends Node { if (var1 != null) { return var1; } else { - var1 = AbstractSocket.method6107(class184.Widget_spritesArchive, class260.Widget_fontsArchive, this.fontId, 0); + var1 = Actor.method2153(IntHashTable.Widget_spritesArchive, SecureRandomFuture.Widget_fontsArchive, this.fontId, 0); if (var1 != null) { Widget_cachedFonts.put(var1, (long)this.fontId); } else { - field3153 = true; + field3045 = true; } return var1; @@ -1344,12 +1358,12 @@ public class Widget extends Node { @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(II)Loc;", - garbageValue = "526304883" + descriptor = "(II)Lon;", + garbageValue = "-1032609925" ) @Export("getInventorySprite") public SpritePixels getInventorySprite(int var1) { - field3153 = false; + field3045 = false; if (var1 >= 0 && var1 < this.inventorySprites.length) { int var2 = this.inventorySprites[var1]; if (var2 == -1) { @@ -1359,11 +1373,11 @@ public class Widget extends Node { if (var3 != null) { return var3; } else { - var3 = class258.SpriteBuffer_getSprite(class184.Widget_spritesArchive, var2, 0); + var3 = AccessFile.SpriteBuffer_getSprite(IntHashTable.Widget_spritesArchive, var2, 0); if (var3 != null) { Widget_cachedSprites.put(var3, (long)var2); } else { - field3153 = true; + field3045 = true; } return var3; @@ -1374,14 +1388,14 @@ public class Widget extends Node { } } - @ObfuscatedName("v") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(Lfa;IZLiu;I)Lhg;", - garbageValue = "-2094189944" + descriptor = "(Lfe;IZLie;B)Lhl;", + garbageValue = "94" ) @Export("getModel") public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerComposition var4) { - field3153 = false; + field3045 = false; int var5; int var6; if (var3) { @@ -1401,9 +1415,9 @@ public class Widget extends Node { if (var7 == null) { ModelData var8; if (var5 == 1) { - var8 = ModelData.ModelData_get(GrandExchangeOfferOwnWorldComparator.Widget_modelsArchive, var6, 0); + var8 = ModelData.ModelData_get(Widget_modelsArchive, var6, 0); if (var8 == null) { - field3153 = true; + field3045 = true; return null; } @@ -1411,9 +1425,9 @@ public class Widget extends Node { } if (var5 == 2) { - var8 = ScriptEvent.getNpcDefinition(var6).getModelData(); + var8 = class112.getNpcDefinition(var6).getModelData(); if (var8 == null) { - field3153 = true; + field3045 = true; return null; } @@ -1427,7 +1441,7 @@ public class Widget extends Node { var8 = var4.getModelData(); if (var8 == null) { - field3153 = true; + field3045 = true; return null; } @@ -1435,10 +1449,10 @@ public class Widget extends Node { } if (var5 == 4) { - ItemComposition var9 = class65.ItemDefinition_get(var6); + ItemComposition var9 = class87.ItemDefinition_get(var6); var8 = var9.getModelData(10); if (var8 == null) { - field3153 = true; + field3045 = true; return null; } @@ -1456,10 +1470,10 @@ public class Widget extends Node { } } - @ObfuscatedName("f") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(ZI)Lii;", - garbageValue = "-1411986694" + descriptor = "(ZB)Liw;", + garbageValue = "103" ) @Export("getSpriteMask") public SpriteMask getSpriteMask(boolean var1) { @@ -1467,11 +1481,11 @@ public class Widget extends Node { var1 = false; } - int var2 = var1 ? this.spriteId * -1355774769 * -1718484433 : this.spriteId2 * 471118811 * -1310453677; + int var2 = var1 ? this.spriteId * -1158505479 * 805516873 : this.spriteId2 * -1605814115 * 1666649525; if (var2 == -1) { return null; } else { - long var3 = (long)var2 + ((long)this.outline << 36) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((this.spriteFlipH ? 1L : 0L) << 39) + ((long)this.spriteShadow << 40); + long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); if (var5 != null) { return var5; @@ -1517,8 +1531,8 @@ public class Widget extends Node { @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)V", - garbageValue = "-520197213" + descriptor = "(ILjava/lang/String;B)V", + garbageValue = "-65" ) @Export("setAction") public void setAction(int var1, String var2) { @@ -1535,4 +1549,61 @@ public class Widget extends Node { this.actions[var1] = var2; } + + @ObfuscatedName("k") + public static int method5030(long var0) { + return (int)(var0 >>> 0 & 127L); + } + + @ObfuscatedName("hk") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-790406239" + ) + static void method4997(int var0, int var1) { + int var2 = Interpreter.fontBold12.stringWidth("Choose Option"); + + int var3; + for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { + Font var7 = Interpreter.fontBold12; + String var8; + if (var3 < 0) { + var8 = ""; + } else if (Client.menuTargets[var3].length() > 0) { + var8 = Client.menuActions[var3] + " " + Client.menuTargets[var3]; + } else { + var8 = Client.menuActions[var3]; + } + + int var6 = var7.stringWidth(var8); + if (var6 > var2) { + var2 = var6; + } + } + + var2 += 8; + var3 = Client.menuOptionsCount * 15 + 22; + int var4 = var0 - var2 / 2; + if (var2 + var4 > Huffman.canvasWidth) { + var4 = Huffman.canvasWidth - var2; + } + + if (var4 < 0) { + var4 = 0; + } + + int var5 = var1; + if (var3 + var1 > MouseRecorder.canvasHeight) { + var5 = MouseRecorder.canvasHeight - var3; + } + + if (var5 < 0) { + var5 = 0; + } + + LoginScreenAnimation.menuX = var4; + class392.menuY = var5; + UserComparator7.menuWidth = var2; + ApproximateRouteStrategy.menuHeight = Client.menuOptionsCount * 15 + 22; + } } diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 35cdd92c1c..9e339ed8f8 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -1,76 +1,70 @@ +import java.io.File; +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("bh") +@ObfuscatedName("bc") @Implements("World") public class World { - @ObfuscatedName("g") + @ObfuscatedName("ss") @ObfuscatedGetter( - intValue = 379964613 + intValue = -1010823159 + ) + static int field774; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -48833233 ) @Export("World_count") static int World_count; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -1774398663 + intValue = -2050249947 ) @Export("World_listCount") static int World_listCount; @ObfuscatedName("a") @Export("World_sortOption2") static int[] World_sortOption2; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("World_sortOption1") static int[] World_sortOption1; - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "[Loi;" - ) - @Export("worldSelectArrows") - static IndexedSprite[] worldSelectArrows; - @ObfuscatedName("eb") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive8") - static Archive archive8; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 193044341 + intValue = -86238293 ) @Export("id") int id; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1525718377 + intValue = 1958786797 ) @Export("properties") int properties; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 20105997 + intValue = -538729111 ) @Export("population") int population; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("host") String host; @ObfuscatedName("s") @Export("activity") String activity; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 1040537499 + intValue = 669690355 ) @Export("location") int location; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = -479539557 + intValue = 388841903 ) @Export("index") int index; @@ -85,48 +79,48 @@ public class World { World() { } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-311027457" + garbageValue = "1340119949" ) @Export("isMembersOnly") boolean isMembersOnly() { return (1 & this.properties) != 0; } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1475784103" - ) - boolean method1614() { - return (2 & this.properties) != 0; - } - @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(B)Z", - garbageValue = "1" + garbageValue = "0" + ) + boolean method1592() { + return (2 & this.properties) != 0; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-42" ) @Export("isPvp") boolean isPvp() { return (4 & this.properties) != 0; } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1562214326" + garbageValue = "1652055615" ) - boolean method1619() { + boolean method1594() { return (8 & this.properties) != 0; } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(B)Z", - garbageValue = "23" + garbageValue = "102" ) @Export("isDeadman") boolean isDeadman() { @@ -136,71 +130,215 @@ public class World { @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "217290344" + garbageValue = "2054012301" ) @Export("isBeta") boolean isBeta() { return (33554432 & this.properties) != 0; } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-2119870644" + garbageValue = "2055128830" ) - boolean method1616() { + boolean method1639() { return (1073741824 & this.properties) != 0; } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/Class;", - garbageValue = "1818446610" + descriptor = "(Ljava/lang/String;Ljava/lang/String;ZB)Lnj;", + garbageValue = "126" ) - @Export("loadClassFromDescriptor") - static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { - if (var0.equals("B")) { - return Byte.TYPE; - } else if (var0.equals("I")) { - return Integer.TYPE; - } else if (var0.equals("S")) { - return Short.TYPE; - } else if (var0.equals("J")) { - return Long.TYPE; - } else if (var0.equals("Z")) { - return Boolean.TYPE; - } else if (var0.equals("F")) { - return Float.TYPE; - } else if (var0.equals("D")) { - return Double.TYPE; - } else if (var0.equals("C")) { - return Character.TYPE; - } else { - return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); + @Export("getPreferencesFile") + public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { + File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat"); + if (var3.exists()) { + try { + AccessFile var10 = new AccessFile(var3, "rw", 10000L); + return var10; + } catch (IOException var9) { + } + } + + String var4 = ""; + if (UserComparator10.cacheGamebuild == 33) { + var4 = "_rc"; + } else if (UserComparator10.cacheGamebuild == 34) { + var4 = "_wip"; + } + + File var5 = new File(class272.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); + AccessFile var6; + if (!var2 && var5.exists()) { + try { + var6 = new AccessFile(var5, "rw", 10000L); + return var6; + } catch (IOException var8) { + } + } + + try { + var6 = new AccessFile(var3, "rw", 10000L); + return var6; + } catch (IOException var7) { + throw new RuntimeException(); } } - @ObfuscatedName("i") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "46" + descriptor = "(Lbc;B)V", + garbageValue = "1" ) - static int method1661(int var0, Script var1, boolean var2) { - int var3; - if (var0 == 3500) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = WorldMapCacheName.method3872(var3) ? 1 : 0; - return 1; - } else if (var0 == 3501) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NPCComposition.method2980(var3) ? 1 : 0; - return 1; - } else if (var0 == 3502) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = GraphicsObject.method1871(var3) ? 1 : 0; - return 1; - } else { - return 2; + @Export("changeWorld") + static void changeWorld(World var0) { + if (var0.isMembersOnly() != Client.isMembersWorld) { + Client.isMembersWorld = var0.isMembersOnly(); + boolean var1 = var0.isMembersOnly(); + if (var1 != ItemComposition.ItemDefinition_inMembersWorld) { + WorldMapLabelSize.method3446(); + ItemComposition.ItemDefinition_inMembersWorld = var1; + } } + + if (var0.properties != Client.worldProperties) { + Archive var3 = class176.archive8; + int var2 = var0.properties; + if ((var2 & 536870912) != 0) { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var3, "logo_deadman_mode", ""); + } else if ((var2 & 1073741824) != 0) { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var3, "logo_seasonal_mode", ""); + } else { + ClanChannelMember.logoSprite = class131.SpriteBuffer_getIndexedSpriteByName(var3, "logo", ""); + } + } + + EnumComposition.worldHost = var0.host; + Client.worldId = var0.id; + Client.worldProperties = var0.properties; + WorldMapLabelSize.worldPort = Client.gameBuild == 0 ? 43594 : var0.id + 40000; + UserList.js5Port = Client.gameBuild == 0 ? 443 : var0.id + 50000; + RouteStrategy.currentPort = WorldMapLabelSize.worldPort; + } + + @ObfuscatedName("eo") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "2015327255" + ) + @Export("getLoginError") + static void getLoginError(int var0) { + if (var0 == -3) { + class17.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); + } else if (var0 == -2) { + class17.setLoginResponseString("Error connecting to server.", "Please try using a different world.", ""); + } else if (var0 == -1) { + class17.setLoginResponseString("No response from server.", "Please try using a different world.", ""); + } else if (var0 == 3) { + class112.method2474(3); + Login.field869 = 1; + } else if (var0 == 4) { + class112.method2474(14); + Login.field884 = 0; + } else if (var0 == 5) { + Login.field869 = 2; + class17.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); + } else if (var0 != 68 && (Client.onMobile || var0 != 6)) { + if (var0 == 7) { + class17.setLoginResponseString("This world is full.", "Please use a different world.", ""); + } else if (var0 == 8) { + class17.setLoginResponseString("Unable to connect.", "Login server offline.", ""); + } else if (var0 == 9) { + class17.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); + } else if (var0 == 10) { + class17.setLoginResponseString("Unable to connect.", "Bad session id.", ""); + } else if (var0 == 11) { + class17.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); + } else if (var0 == 12) { + class17.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); + } else if (var0 == 13) { + class17.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); + } else if (var0 == 14) { + class17.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 16) { + class17.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); + } else if (var0 == 17) { + class17.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", ""); + } else if (var0 == 18) { + class112.method2474(14); + Login.field884 = 1; + } else if (var0 == 19) { + class17.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); + } else if (var0 == 20) { + class17.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); + } else if (var0 == 22) { + class17.setLoginResponseString("Malformed login packet.", "Please try again.", ""); + } else if (var0 == 23) { + class17.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 24) { + class17.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); + } else if (var0 == 25) { + class17.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); + } else if (var0 == 26) { + class17.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); + } else if (var0 == 27) { + class17.setLoginResponseString("", "Service unavailable.", ""); + } else if (var0 == 31) { + class17.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game."); + } else if (var0 == 32) { + class17.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system."); + } else if (var0 == 37) { + class17.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); + } else if (var0 == 38) { + class17.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!"); + } else if (var0 == 55) { + class112.method2474(8); + } else { + if (var0 == 56) { + class17.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); + UserList.updateGameState(11); + return; + } + + if (var0 == 57) { + class17.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); + UserList.updateGameState(11); + return; + } + + if (var0 == 61) { + class112.method2474(7); + } else { + if (var0 == 62) { + UserList.updateGameState(10); + class112.method2474(9); + class17.setLoginResponseString("Login attempt timed out.", "Please try again.", ""); + return; + } + + if (var0 == 63) { + UserList.updateGameState(10); + class112.method2474(9); + class17.setLoginResponseString("You were signed out.", "Please sign in again.", ""); + return; + } + + if (var0 == 65 || var0 == 67) { + UserList.updateGameState(10); + class112.method2474(9); + class17.setLoginResponseString("Failed to login.", "Please try again.", ""); + return; + } + + class17.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); + } + } + } else { + class17.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); + } + + UserList.updateGameState(10); } } diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index 72e0ba1869..278cc361d8 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -10,280 +10,280 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("no") +@ObfuscatedName("na") @Implements("WorldMap") public class WorldMap { - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("fontNameVerdana11") static final FontName fontNameVerdana11; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("fontNameVerdana13") static final FontName fontNameVerdana13; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lnu;" + descriptor = "Lnx;" ) @Export("fontNameVerdana15") static final FontName fontNameVerdana15; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("WorldMap_archive") AbstractArchive WorldMap_archive; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("WorldMap_geographyArchive") AbstractArchive WorldMap_geographyArchive; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("WorldMap_groundArchive") AbstractArchive WorldMap_groundArchive; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Llu;" + descriptor = "Llt;" ) @Export("font") Font font; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("fonts") HashMap fonts; @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "[Loz;" ) @Export("mapSceneSprites") IndexedSprite[] mapSceneSprites; - @ObfuscatedName("h") + @ObfuscatedName("c") @Export("details") HashMap details; - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "Lfr;" ) @Export("mainMapArea") WorldMapArea mainMapArea; - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "Lfr;" ) @Export("currentMapArea") WorldMapArea currentMapArea; - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "Lfr;" ) - WorldMapArea field4120; - @ObfuscatedName("x") + WorldMapArea field4142; + @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "Lgd;" ) @Export("worldMapManager") WorldMapManager worldMapManager; - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "Lnv;" + descriptor = "Lnl;" ) @Export("cacheLoader") WorldMapArchiveLoader cacheLoader; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedGetter( - intValue = -911194683 + intValue = -1804193633 ) @Export("centerTileX") int centerTileX; @ObfuscatedName("r") @ObfuscatedGetter( - intValue = 2142215995 + intValue = 387220207 ) @Export("centerTileY") int centerTileY; - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -1815660237 + intValue = -664100075 ) @Export("worldMapTargetX") int worldMapTargetX; - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = -929768071 + intValue = 1338319703 ) @Export("worldMapTargetY") int worldMapTargetY; - @ObfuscatedName("i") + @ObfuscatedName("d") @Export("zoom") float zoom; - @ObfuscatedName("aq") + @ObfuscatedName("ab") @Export("zoomTarget") float zoomTarget; @ObfuscatedName("ad") @ObfuscatedGetter( - intValue = -1621039651 + intValue = 644894367 ) @Export("worldMapDisplayWidth") int worldMapDisplayWidth; - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedGetter( - intValue = -1851339475 + intValue = 908037901 ) @Export("worldMapDisplayHeight") int worldMapDisplayHeight; - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedGetter( - intValue = -378616815 + intValue = -1650801433 ) @Export("worldMapDisplayX") int worldMapDisplayX; - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedGetter( - intValue = 1299740465 + intValue = 1752750559 ) @Export("worldMapDisplayY") int worldMapDisplayY; - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedGetter( - intValue = -792006405 + intValue = 1482109167 ) @Export("maxFlashCount") int maxFlashCount; - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedGetter( - intValue = -1490233663 + intValue = 301352235 ) @Export("cyclesPerFlash") int cyclesPerFlash; - @ObfuscatedName("ae") + @ObfuscatedName("ao") @Export("perpetualFlash") boolean perpetualFlash; - @ObfuscatedName("av") + @ObfuscatedName("au") @Export("flashingElements") HashSet flashingElements; - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedGetter( - intValue = 1599635043 + intValue = 2024353507 ) @Export("flashCount") int flashCount; - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedGetter( - intValue = -436705099 + intValue = -1940197885 ) @Export("flashCycle") int flashCycle; - @ObfuscatedName("ab") + @ObfuscatedName("aq") @ObfuscatedGetter( - intValue = -768133107 + intValue = 453221207 ) - int field4139; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 331451061 - ) - int field4160; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -1784020313 - ) - int field4141; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -1836328301 - ) - int field4109; - @ObfuscatedName("ay") - @ObfuscatedGetter( - longValue = 8988570411543460171L - ) - long field4143; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1428855201 - ) - int field4118; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -1877084057 - ) - int field4125; - @ObfuscatedName("ai") - boolean field4122; + int field4161; @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -1890358313 + ) + int field4162; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 1981724235 + ) + int field4156; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 1473567095 + ) + int field4178; + @ObfuscatedName("ax") + @ObfuscatedGetter( + longValue = 4373694874656568459L + ) + long field4165; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 210082833 + ) + int field4158; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 1533218575 + ) + int field4167; + @ObfuscatedName("ap") + boolean field4174; + @ObfuscatedName("aw") @Export("enabledElements") HashSet enabledElements; @ObfuscatedName("az") @Export("enabledCategories") HashSet enabledCategories; - @ObfuscatedName("ah") + @ObfuscatedName("ae") @Export("enabledElementIds") HashSet enabledElementIds; + @ObfuscatedName("ai") + HashSet field4172; @ObfuscatedName("af") - HashSet field4163; - @ObfuscatedName("ax") @Export("elementsDisabled") boolean elementsDisabled; - @ObfuscatedName("bd") + @ObfuscatedName("bz") @ObfuscatedGetter( - intValue = 1990297337 + intValue = 186885757 ) - int field4152; - @ObfuscatedName("bf") + int field4145; + @ObfuscatedName("bg") @Export("menuOpcodes") final int[] menuOpcodes; - @ObfuscatedName("bp") - List field4146; - @ObfuscatedName("bl") + @ObfuscatedName("bf") + List field4137; + @ObfuscatedName("bj") @Export("iconIterator") Iterator iconIterator; - @ObfuscatedName("bc") - HashSet field4156; - @ObfuscatedName("br") + @ObfuscatedName("bo") + HashSet field4133; + @ObfuscatedName("bx") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("mouseCoord") Coord mouseCoord; - @ObfuscatedName("bw") + @ObfuscatedName("bu") @Export("showCoord") public boolean showCoord; - @ObfuscatedName("bh") + @ObfuscatedName("bc") @ObfuscatedSignature( - descriptor = "Loc;" + descriptor = "Lon;" ) @Export("sprite") SpritePixels sprite; - @ObfuscatedName("bj") + @ObfuscatedName("ba") @ObfuscatedGetter( - intValue = 211766855 + intValue = 1762585281 ) @Export("cachedPixelsPerTile") int cachedPixelsPerTile; - @ObfuscatedName("be") + @ObfuscatedName("bm") @ObfuscatedGetter( - intValue = -1574980041 + intValue = 1694474829 ) @Export("minCachedTileX") int minCachedTileX; - @ObfuscatedName("bq") + @ObfuscatedName("bv") @ObfuscatedGetter( - intValue = -1497854593 + intValue = -1353758785 ) @Export("minCachedTileY") int minCachedTileY; - @ObfuscatedName("bu") + @ObfuscatedName("bs") @ObfuscatedGetter( - intValue = -1199845057 + intValue = 1763412981 ) - int field4137; + int field4185; static { fontNameVerdana11 = FontName.FontName_verdana11; @@ -304,30 +304,30 @@ public class WorldMap { this.flashingElements = null; this.flashCount = -1; this.flashCycle = -1; - this.field4139 = -1; - this.field4160 = -1; - this.field4141 = -1; - this.field4109 = -1; - this.field4122 = true; + this.field4161 = -1; + this.field4162 = -1; + this.field4156 = -1; + this.field4178 = -1; + this.field4174 = true; this.enabledElements = new HashSet(); this.enabledCategories = new HashSet(); this.enabledElementIds = new HashSet(); - this.field4163 = new HashSet(); + this.field4172 = new HashSet(); this.elementsDisabled = false; - this.field4152 = 0; + this.field4145 = 0; this.menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012}; - this.field4156 = new HashSet(); + this.field4133 = new HashSet(); this.mouseCoord = null; this.showCoord = false; this.minCachedTileX = -1; this.minCachedTileY = -1; - this.field4137 = -1; + this.field4185 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;Lkk;Llu;Ljava/util/HashMap;[Loi;I)V", - garbageValue = "-1926195219" + descriptor = "(Lkl;Lkl;Lkl;Llt;Ljava/util/HashMap;[Loz;B)V", + garbageValue = "1" ) @Export("init") public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { @@ -341,7 +341,7 @@ public class WorldMap { this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); this.cacheLoader = new WorldMapArchiveLoader(var1); - int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field2199.name); + int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field2220.name); int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); this.details = new HashMap(var8.length); @@ -356,22 +356,22 @@ public class WorldMap { } this.setCurrentMapArea(this.mainMapArea); - this.field4120 = null; + this.field4142 = null; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1935848952" + garbageValue = "390385509" ) - public void method6351() { - Frames.method4334(); + public void method6417() { + WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIZIIIIB)V", - garbageValue = "-25" + descriptor = "(IIZIIIII)V", + garbageValue = "958733854" ) @Export("onCycle") public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { @@ -381,27 +381,27 @@ public class WorldMap { if (var3) { int var8 = (int)Math.ceil((double)((float)var6 / this.zoom)); int var9 = (int)Math.ceil((double)((float)var7 / this.zoom)); - List var10 = this.worldMapManager.method3645(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); + List var10 = this.worldMapManager.method3698(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); HashSet var11 = new HashSet(); Iterator var12; AbstractWorldMapIcon var13; ScriptEvent var14; WorldMapEvent var15; - for (var12 = var10.iterator(); var12.hasNext(); class139.runScriptEvent(var14)) { + for (var12 = var10.iterator(); var12.hasNext(); ViewportMouse.runScriptEvent(var14)) { var13 = (AbstractWorldMapIcon)var12.next(); var11.add(var13); var14 = new ScriptEvent(); var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); var14.setArgs(new Object[]{var15, var1, var2}); - if (this.field4156.contains(var13)) { + if (this.field4133.contains(var13)) { var14.setType(17); } else { var14.setType(15); } } - var12 = this.field4156.iterator(); + var12 = this.field4133.iterator(); while (var12.hasNext()) { var13 = (AbstractWorldMapIcon)var12.next(); @@ -410,82 +410,73 @@ public class WorldMap { var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); var14.setArgs(new Object[]{var15, var1, var2}); var14.setType(16); - class139.runScriptEvent(var14); + ViewportMouse.runScriptEvent(var14); } } - this.field4156 = var11; + this.field4133 = var11; } } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(IIZZI)V", - garbageValue = "2124376606" + garbageValue = "1635651649" ) - public void method6365(int var1, int var2, boolean var3, boolean var4) { - long var5 = Occluder.method4335(); - this.method6354(var1, var2, var4, var5); + public void method6603(int var1, int var2, boolean var3, boolean var4) { + long var5 = UserComparator4.method2406(); + this.method6416(var1, var2, var4, var5); if (this.hasTarget() || !var4 && !var3) { - this.method6523(); + this.method6420(); } else { if (var4) { - this.field4141 = var1; - this.field4109 = var2; - this.field4139 = this.centerTileX; - this.field4160 = this.centerTileY; + this.field4156 = var1; + this.field4178 = var2; + this.field4161 = this.centerTileX; + this.field4162 = this.centerTileY; } - if (this.field4139 != -1) { - int var7 = var1 - this.field4141; - int var8 = var2 - this.field4109; - this.setWorldMapPosition(this.field4139 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field4160, false); + if (this.field4161 != -1) { + int var7 = var1 - this.field4156; + int var8 = var2 - this.field4178; + this.setWorldMapPosition(this.field4161 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field4162, false); } } if (var4) { - this.field4143 = var5; - this.field4118 = var1; - this.field4125 = var2; + this.field4165 = var5; + this.field4158 = var1; + this.field4167 = var2; } } - @ObfuscatedName("o") - void method6354(int var1, int var2, boolean var3, long var4) { + @ObfuscatedName("m") + void method6416(int var1, int var2, boolean var3, long var4) { if (this.currentMapArea != null) { int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); if (this.mouseCoord != null && var3) { - int var9; - int var10; - if (Player.method2094() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { - int var13 = this.mouseCoord.x; - var9 = this.mouseCoord.y; - var10 = this.mouseCoord.plane; - PacketBufferNode var11 = FriendSystem.getPacketBufferNode(ClientPacket.field2707, Client.packetWriter.isaacCipher); - var11.packetBuffer.writeShort(var9); - var11.packetBuffer.method6861(0); - var11.packetBuffer.method6841(var10); - var11.packetBuffer.method6851(var13); - Client.packetWriter.addNode(var11); + boolean var8 = Client.staffModLevel >= 2; + if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { + UrlRequest.method2386(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false); } else { - boolean var8 = true; - if (this.field4122) { - var9 = var1 - this.field4118; - var10 = var2 - this.field4125; - if (var4 - this.field4143 > 500L || var9 < -25 || var9 > 25 || var10 < -25 || var10 > 25) { - var8 = false; + boolean var9 = true; + if (this.field4174) { + int var10 = var1 - this.field4158; + int var11 = var2 - this.field4167; + if (var4 - this.field4165 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { + var9 = false; } } - if (var8) { - PacketBufferNode var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2700, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeIntME(this.mouseCoord.packed()); + if (var9) { + PacketBufferNode var12 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2737, Client.packetWriter.isaacCipher); + var12.packetBuffer.method6942(this.mouseCoord.packed()); Client.packetWriter.addNode(var12); - this.field4143 = 0L; + this.field4165 = 0L; } } } @@ -495,18 +486,18 @@ public class WorldMap { } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2017387193" + descriptor = "(B)V", + garbageValue = "-3" ) @Export("smoothZoom") void smoothZoom() { - if (class16.field82 != null) { + if (Widget.field3165 != null) { this.zoom = this.zoomTarget; } else { if (this.zoom < this.zoomTarget) { - this.zoom = Math.min(this.zoomTarget, this.zoom + this.zoom / 30.0F); + this.zoom = Math.min(this.zoomTarget, this.zoom / 30.0F + this.zoom); } if (this.zoom > this.zoomTarget) { @@ -516,10 +507,10 @@ public class WorldMap { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "919798964" + garbageValue = "-792242336" ) @Export("scrollToTarget") void scrollToTarget() { @@ -545,46 +536,46 @@ public class WorldMap { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(IIZB)V", - garbageValue = "0" + descriptor = "(IIZI)V", + garbageValue = "-1606061078" ) @Export("setWorldMapPosition") final void setWorldMapPosition(int var1, int var2, boolean var3) { this.centerTileX = var1; this.centerTileY = var2; - Occluder.method4335(); + UserComparator4.method2406(); if (var3) { - this.method6523(); + this.method6420(); } } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2137868661" - ) - final void method6523() { - this.field4109 = -1; - this.field4141 = -1; - this.field4160 = -1; - this.field4139 = -1; - } - @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1973927478" + descriptor = "(B)V", + garbageValue = "0" + ) + final void method6420() { + this.field4178 = -1; + this.field4156 = -1; + this.field4162 = -1; + this.field4161 = -1; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-56" ) @Export("hasTarget") boolean hasTarget() { return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(IIII)Lfr;", - garbageValue = "1746939884" + garbageValue = "247407740" ) @Export("mapAreaAtCoord") public WorldMapArea mapAreaAtCoord(int var1, int var2, int var3) { @@ -602,12 +593,12 @@ public class WorldMap { return var5; } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(IIIZI)V", - garbageValue = "-589806306" + descriptor = "(IIIZB)V", + garbageValue = "1" ) - public void method6361(int var1, int var2, int var3, boolean var4) { + public void method6504(int var1, int var2, int var3, boolean var4) { WorldMapArea var5 = this.mapAreaAtCoord(var1, var2, var3); if (var5 == null) { if (!var4) { @@ -618,8 +609,8 @@ public class WorldMap { } boolean var6 = false; - if (var5 != this.field4120 || var4) { - this.field4120 = var5; + if (var5 != this.field4142 || var4) { + this.field4142 = var5; this.setCurrentMapArea(var5); var6 = true; } @@ -630,10 +621,10 @@ public class WorldMap { } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-72" + descriptor = "(II)V", + garbageValue = "784333548" ) @Export("setCurrentMapAreaId") public void setCurrentMapAreaId(int var1) { @@ -644,10 +635,10 @@ public class WorldMap { } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1225376737" + descriptor = "(S)I", + garbageValue = "-16104" ) @Export("currentMapAreaId") public int currentMapAreaId() { @@ -657,17 +648,17 @@ public class WorldMap { @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "(B)Lfr;", - garbageValue = "6" + garbageValue = "-80" ) @Export("getCurrentMapArea") public WorldMapArea getCurrentMapArea() { return this.currentMapArea; } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Lfr;B)V", - garbageValue = "64" + descriptor = "(Lfr;I)V", + garbageValue = "-1169501828" ) @Export("setCurrentMapArea") void setCurrentMapArea(WorldMapArea var1) { @@ -677,10 +668,10 @@ public class WorldMap { } } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "472331575" + garbageValue = "1799539764" ) @Export("initializeWorldMapManager") void initializeWorldMapManager(WorldMapArea var1) { @@ -689,12 +680,12 @@ public class WorldMap { this.cacheLoader.reset(this.currentMapArea.getInternalName()); } - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( - descriptor = "(Lfr;Liy;Liy;ZB)V", - garbageValue = "4" + descriptor = "(Lfr;Lic;Lic;ZB)V", + garbageValue = "55" ) - public void method6367(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { + public void method6537(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { if (var1 != null) { if (this.currentMapArea == null || var1 != this.currentMapArea) { this.initializeWorldMapManager(var1); @@ -709,10 +700,10 @@ public class WorldMap { } } - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "-812201304" + descriptor = "(IIIB)V", + garbageValue = "-19" ) @Export("jump") void jump(int var1, int var2, int var3) { @@ -727,16 +718,16 @@ public class WorldMap { this.worldMapTargetY = -1; this.zoom = this.getZoomFromPercentage(this.currentMapArea.getZoom()); this.zoomTarget = this.zoom; - this.field4146 = null; + this.field4137 = null; this.iconIterator = null; this.worldMapManager.clearIcons(); } } - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedSignature( - descriptor = "(IIIIII)V", - garbageValue = "-1135365810" + descriptor = "(IIIIIB)V", + garbageValue = "0" ) @Export("draw") public void draw(int var1, int var2, int var3, int var4, int var5) { @@ -770,18 +761,20 @@ public class WorldMap { int var8 = (int)Math.ceil((double)((float)var3 / this.zoom)); int var9 = (int)Math.ceil((double)((float)var4 / this.zoom)); this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4); + boolean var10; if (!this.elementsDisabled) { - boolean var10 = false; - if (var5 - this.field4152 > 100) { - this.field4152 = var5; + var10 = false; + if (var5 - this.field4145 > 100) { + this.field4145 = var5; var10 = true; } - this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field4163, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); + this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field4172, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); } - this.method6371(var1, var2, var3, var4, var8, var9); - if (Player.method2094() && this.showCoord && this.mouseCoord != null) { + this.method6433(var1, var2, var3, var4, var8, var9); + var10 = Client.staffModLevel >= 2; + if (var10 && this.showCoord && this.mouseCoord != null) { this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1); } @@ -793,18 +786,18 @@ public class WorldMap { } } - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(IIIIIII)Z", - garbageValue = "-654592500" + garbageValue = "-634988882" ) - boolean method6370(int var1, int var2, int var3, int var4, int var5, int var6) { + boolean method6535(int var1, int var2, int var3, int var4, int var5, int var6) { if (this.sprite == null) { return true; } else if (this.sprite.subWidth == var1 && this.sprite.subHeight == var2) { if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) { return true; - } else if (this.field4137 != Client.field760) { + } else if (this.field4185 != Client.field763) { return true; } else if (var3 <= 0 && var4 <= 0) { return var3 + var1 < var5 || var2 + var4 < var6; @@ -816,13 +809,13 @@ public class WorldMap { } } - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(IIIIIIB)V", - garbageValue = "-114" + descriptor = "(IIIIIII)V", + garbageValue = "45827893" ) - void method6371(int var1, int var2, int var3, int var4, int var5, int var6) { - if (class16.field82 != null) { + void method6433(int var1, int var2, int var3, int var4, int var5, int var6) { + if (Widget.field3165 != null) { int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2); int var8 = var3 + 512; int var9 = var4 + 512; @@ -833,7 +826,7 @@ public class WorldMap { int var12 = this.getDisplayY() - var6 / 2 - var7; int var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); - if (this.method6370(var8, var9, var13, var14, var3, var4)) { + if (this.method6535(var8, var9, var13, var14, var3, var4)) { if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) { Arrays.fill(this.sprite.pixels, 0); } else { @@ -843,17 +836,17 @@ public class WorldMap { this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7; this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7; this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile; - class16.field82.method5366(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); - this.field4137 = Client.field760; + Widget.field3165.method5456(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); + this.field4185 = Client.field763; var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); } Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); if (var10 == 1.0F) { - this.sprite.method7253(var13, var14, 192); + this.sprite.method7391(var13, var14, 192); } else { - this.sprite.method7350(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192); + this.sprite.method7339(var13, var14, (int)(var10 * (float)var8), (int)(var10 * (float)var9), 192); } } @@ -861,8 +854,8 @@ public class WorldMap { @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-1375473767" + descriptor = "(IIIIB)V", + garbageValue = "-106" ) @Export("drawOverview") public void drawOverview(int var1, int var2, int var3, int var4) { @@ -878,20 +871,20 @@ public class WorldMap { } } - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "12" + garbageValue = "29" ) @Export("setZoomPercentage") public void setZoomPercentage(int var1) { this.zoomTarget = this.getZoomFromPercentage(var1); } - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedSignature( descriptor = "(IIIIII)V", - garbageValue = "-25460579" + garbageValue = "1366912184" ) @Export("drawLoading") void drawLoading(int var1, int var2, int var3, int var4, int var5) { @@ -901,13 +894,13 @@ public class WorldMap { Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536); Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536); - this.font.drawCentered("Loading...", var7, var8 + var6, -1, -1); + this.font.drawCentered("Loading...", var7, var6 + var8, -1, -1); } - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(IB)F", - garbageValue = "-9" + descriptor = "(II)F", + garbageValue = "-1602118418" ) @Export("getZoomFromPercentage") float getZoomFromPercentage(int var1) { @@ -924,50 +917,50 @@ public class WorldMap { } } - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "102" + descriptor = "(I)I", + garbageValue = "-596143702" ) @Export("getZoomLevel") public int getZoomLevel() { if (1.0D == (double)this.zoomTarget) { return 25; - } else if ((double)this.zoomTarget == 1.5D) { + } else if (1.5D == (double)this.zoomTarget) { return 37; } else if ((double)this.zoomTarget == 2.0D) { return 50; - } else if ((double)this.zoomTarget == 3.0D) { + } else if (3.0D == (double)this.zoomTarget) { return 75; } else { - return (double)this.zoomTarget == 4.0D ? 100 : 200; + return 4.0D == (double)this.zoomTarget ? 100 : 200; } } @ObfuscatedName("ad") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "112" + descriptor = "(I)V", + garbageValue = "234732097" ) @Export("loadCache") public void loadCache() { this.cacheLoader.load(); } - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "2125725967" + garbageValue = "-1649343086" ) @Export("isCacheLoaded") public boolean isCacheLoaded() { return this.cacheLoader.isLoaded(); } - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedSignature( descriptor = "(II)Lfr;", - garbageValue = "-1467977208" + garbageValue = "-896778798" ) @Export("getMapArea") public WorldMapArea getMapArea(int var1) { @@ -985,10 +978,10 @@ public class WorldMap { return var3; } - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "1408524288" + garbageValue = "402267396" ) @Export("setWorldMapPositionTarget") public void setWorldMapPositionTarget(int var1, int var2) { @@ -998,10 +991,10 @@ public class WorldMap { } } - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedSignature( descriptor = "(IIB)V", - garbageValue = "47" + garbageValue = "35" ) @Export("setWorldMapPositionTargetInstant") public void setWorldMapPositionTargetInstant(int var1, int var2) { @@ -1012,10 +1005,10 @@ public class WorldMap { } } - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedSignature( descriptor = "(IIII)V", - garbageValue = "-2096715154" + garbageValue = "764947840" ) @Export("jumpToSourceCoord") public void jumpToSourceCoord(int var1, int var2, int var3) { @@ -1028,10 +1021,10 @@ public class WorldMap { } } - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "0" + descriptor = "(IIII)V", + garbageValue = "-143624503" ) @Export("jumpToSourceCoordInstant") public void jumpToSourceCoordInstant(int var1, int var2, int var3) { @@ -1044,60 +1037,60 @@ public class WorldMap { } } - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1574810489" + descriptor = "(B)I", + garbageValue = "1" ) @Export("getDisplayX") public int getDisplayX() { return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; } - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1958103145" + descriptor = "(S)I", + garbageValue = "255" ) @Export("getDisplayY") public int getDisplayY() { return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; } - @ObfuscatedName("an") + @ObfuscatedName("ag") @ObfuscatedSignature( - descriptor = "(I)Liy;", - garbageValue = "2039881144" + descriptor = "(I)Lic;", + garbageValue = "-1930969800" ) @Export("getDisplayCoord") public Coord getDisplayCoord() { return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); } - @ObfuscatedName("ab") + @ObfuscatedName("aq") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-28" + descriptor = "(I)I", + garbageValue = "-15228456" ) @Export("getDisplayWith") public int getDisplayWith() { return this.worldMapDisplayWidth; } - @ObfuscatedName("au") + @ObfuscatedName("ar") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "-61" + garbageValue = "1" ) @Export("getDisplayHeight") public int getDisplayHeight() { return this.worldMapDisplayHeight; } - @ObfuscatedName("am") + @ObfuscatedName("ac") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "1170778845" + garbageValue = "-934855055" ) @Export("setMaxFlashCount") public void setMaxFlashCount(int var1) { @@ -1107,20 +1100,20 @@ public class WorldMap { } - @ObfuscatedName("ao") + @ObfuscatedName("at") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "98" + descriptor = "(I)V", + garbageValue = "1595551877" ) @Export("resetMaxFlashCount") public void resetMaxFlashCount() { this.maxFlashCount = 3; } - @ObfuscatedName("ay") + @ObfuscatedName("ax") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-696308536" + garbageValue = "460269771" ) @Export("setCyclesPerFlash") public void setCyclesPerFlash(int var1) { @@ -1130,30 +1123,30 @@ public class WorldMap { } - @ObfuscatedName("aj") + @ObfuscatedName("an") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "4" + garbageValue = "124" ) @Export("resetCyclesPerFlash") public void resetCyclesPerFlash() { this.cyclesPerFlash = 50; } - @ObfuscatedName("ap") + @ObfuscatedName("av") @ObfuscatedSignature( descriptor = "(ZB)V", - garbageValue = "11" + garbageValue = "-114" ) @Export("setPerpetualFlash") public void setPerpetualFlash(boolean var1) { this.perpetualFlash = var1; } - @ObfuscatedName("ai") + @ObfuscatedName("ap") @ObfuscatedSignature( descriptor = "(IB)V", - garbageValue = "-72" + garbageValue = "-1" ) @Export("flashElement") public void flashElement(int var1) { @@ -1163,10 +1156,10 @@ public class WorldMap { this.flashCycle = 0; } - @ObfuscatedName("ac") + @ObfuscatedName("aj") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1902948272" + descriptor = "(IB)V", + garbageValue = "101" ) @Export("flashCategory") public void flashCategory(int var1) { @@ -1174,28 +1167,28 @@ public class WorldMap { this.flashCount = 0; this.flashCycle = 0; - for (int var2 = 0; var2 < Username.WorldMapElement_count; ++var2) { - if (class54.WorldMapElement_get(var2) != null && class54.WorldMapElement_get(var2).category == var1) { - this.flashingElements.add(class54.WorldMapElement_get(var2).objectId); + for (int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { + if (class13.WorldMapElement_get(var2) != null && class13.WorldMapElement_get(var2).category == var1) { + this.flashingElements.add(class13.WorldMapElement_get(var2).objectId); } } } - @ObfuscatedName("ag") + @ObfuscatedName("am") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "8487515" + descriptor = "(B)V", + garbageValue = "-24" ) @Export("stopCurrentFlashes") public void stopCurrentFlashes() { this.flashingElements = null; } - @ObfuscatedName("ar") + @ObfuscatedName("aw") @ObfuscatedSignature( descriptor = "(ZB)V", - garbageValue = "93" + garbageValue = "123" ) @Export("setElementsDisabled") public void setElementsDisabled(boolean var1) { @@ -1205,7 +1198,7 @@ public class WorldMap { @ObfuscatedName("az") @ObfuscatedSignature( descriptor = "(IZB)V", - garbageValue = "126" + garbageValue = "0" ) @Export("disableElement") public void disableElement(int var1, boolean var2) { @@ -1215,13 +1208,13 @@ public class WorldMap { this.enabledElements.remove(var1); } - this.method6403(); + this.method6450(); } - @ObfuscatedName("bd") + @ObfuscatedName("ae") @ObfuscatedSignature( - descriptor = "(IZI)V", - garbageValue = "2142324678" + descriptor = "(IZB)V", + garbageValue = "-6" ) @Export("setCategoryDisabled") public void setCategoryDisabled(int var1, boolean var2) { @@ -1231,9 +1224,9 @@ public class WorldMap { this.enabledCategories.remove(var1); } - for (int var3 = 0; var3 < Username.WorldMapElement_count; ++var3) { - if (class54.WorldMapElement_get(var3) != null && class54.WorldMapElement_get(var3).category == var1) { - int var4 = class54.WorldMapElement_get(var3).objectId; + for (int var3 = 0; var3 < WorldMapElement.WorldMapElement_count; ++var3) { + if (class13.WorldMapElement_get(var3) != null && class13.WorldMapElement_get(var3).category == var1) { + int var4 = class13.WorldMapElement_get(var3).objectId; if (!var2) { this.enabledElementIds.add(var4); } else { @@ -1242,61 +1235,61 @@ public class WorldMap { } } - this.method6403(); + this.method6450(); } - @ObfuscatedName("bt") + @ObfuscatedName("ai") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "57" + descriptor = "(I)Z", + garbageValue = "-2143225498" ) @Export("getElementsDisabled") public boolean getElementsDisabled() { return !this.elementsDisabled; } - @ObfuscatedName("bf") + @ObfuscatedName("bg") @ObfuscatedSignature( descriptor = "(II)Z", - garbageValue = "2081766026" + garbageValue = "494628771" ) @Export("isElementDisabled") public boolean isElementDisabled(int var1) { return !this.enabledElements.contains(var1); } - @ObfuscatedName("bp") + @ObfuscatedName("bf") @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1335527051" + descriptor = "(IB)Z", + garbageValue = "0" ) @Export("isCategoryDisabled") public boolean isCategoryDisabled(int var1) { return !this.enabledCategories.contains(var1); } - @ObfuscatedName("bl") + @ObfuscatedName("bj") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "146294391" + descriptor = "(B)V", + garbageValue = "-5" ) - void method6403() { - this.field4163.clear(); - this.field4163.addAll(this.enabledElements); - this.field4163.addAll(this.enabledElementIds); + void method6450() { + this.field4172.clear(); + this.field4172.addAll(this.enabledElements); + this.field4172.addAll(this.enabledElementIds); } - @ObfuscatedName("bc") + @ObfuscatedName("bo") @ObfuscatedSignature( descriptor = "(IIIIIII)V", - garbageValue = "1239112133" + garbageValue = "-1990618851" ) @Export("addElementMenuOptions") public void addElementMenuOptions(int var1, int var2, int var3, int var4, int var5, int var6) { if (this.cacheLoader.isLoaded()) { int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); - List var9 = this.worldMapManager.method3645(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); + List var9 = this.worldMapManager.method3698(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); if (!var9.isEmpty()) { Iterator var10 = var9.iterator(); @@ -1307,12 +1300,12 @@ public class WorldMap { } AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next(); - WorldMapElement var12 = class54.WorldMapElement_get(var11.getElement()); + WorldMapElement var12 = class13.WorldMapElement_get(var11.getElement()); var13 = false; for (int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) { if (var12.menuActions[var14] != null) { - ModelData0.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); + GameBuild.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); var13 = true; } } @@ -1322,12 +1315,12 @@ public class WorldMap { } } - @ObfuscatedName("br") + @ObfuscatedName("bx") @ObfuscatedSignature( - descriptor = "(ILiy;I)Liy;", - garbageValue = "-480831649" + descriptor = "(ILic;I)Lic;", + garbageValue = "-594556597" ) - public Coord method6405(int var1, Coord var2) { + public Coord method6467(int var1, Coord var2) { if (!this.cacheLoader.isLoaded()) { return null; } else if (!this.worldMapManager.isLoaded()) { @@ -1353,7 +1346,7 @@ public class WorldMap { var8 = (AbstractWorldMapIcon)var7.next(); int var9 = var8.coord2.x - var2.x; int var10 = var8.coord2.y - var2.y; - var11 = var9 * var9 + var10 * var10; + var11 = var10 * var10 + var9 * var9; if (var11 == 0) { return var8.coord2; } @@ -1368,10 +1361,10 @@ public class WorldMap { } } - @ObfuscatedName("bw") + @ObfuscatedName("bu") @ObfuscatedSignature( - descriptor = "(IILiy;Liy;B)V", - garbageValue = "73" + descriptor = "(IILic;Lic;B)V", + garbageValue = "77" ) @Export("worldMapMenuAction") public void worldMapMenuAction(int var1, int var2, Coord var3, Coord var4) { @@ -1395,13 +1388,13 @@ public class WorldMap { var5.setType(14); } - class139.runScriptEvent(var5); + ViewportMouse.runScriptEvent(var5); } - @ObfuscatedName("bh") + @ObfuscatedName("bc") @ObfuscatedSignature( - descriptor = "(I)Lgm;", - garbageValue = "-156996925" + descriptor = "(I)Lgz;", + garbageValue = "371732129" ) @Export("iconStart") public AbstractWorldMapIcon iconStart() { @@ -1411,23 +1404,23 @@ public class WorldMap { return null; } else { HashMap var1 = this.worldMapManager.buildIcons(); - this.field4146 = new LinkedList(); + this.field4137 = new LinkedList(); Iterator var2 = var1.values().iterator(); while (var2.hasNext()) { List var3 = (List)var2.next(); - this.field4146.addAll(var3); + this.field4137.addAll(var3); } - this.iconIterator = this.field4146.iterator(); + this.iconIterator = this.field4137.iterator(); return this.iconNext(); } } - @ObfuscatedName("bj") + @ObfuscatedName("ba") @ObfuscatedSignature( - descriptor = "(I)Lgm;", - garbageValue = "408766886" + descriptor = "(I)Lgz;", + garbageValue = "-2143294057" ) @Export("iconNext") public AbstractWorldMapIcon iconNext() { @@ -1446,4 +1439,41 @@ public class WorldMap { return var1; } } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/String;[IIII)V", + garbageValue = "1540528630" + ) + public static void method6612(String[] var0, int[] var1, int var2, int var3) { + if (var2 < var3) { + int var4 = (var3 + var2) / 2; + int var5 = var2; + String var6 = var0[var4]; + var0[var4] = var0[var3]; + var0[var3] = var6; + int var7 = var1[var4]; + var1[var4] = var1[var3]; + var1[var3] = var7; + + for (int var8 = var2; var8 < var3; ++var8) { + if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { + String var9 = var0[var8]; + var0[var8] = var0[var5]; + var0[var5] = var9; + int var10 = var1[var8]; + var1[var8] = var1[var5]; + var1[var5++] = var10; + } + } + + var0[var3] = var0[var5]; + var0[var5] = var6; + var1[var3] = var1[var5]; + var1[var5] = var7; + method6612(var0, var1, var2, var5 - 1); + method6612(var0, var1, var5 + 1, var3); + } + + } } diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java index 62a883070a..886a6953c1 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -4,27 +4,21 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nv") +@ObfuscatedName("nl") @Implements("WorldMapArchiveLoader") public class WorldMapArchiveLoader { - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lcj;" - ) - @Export("World_request") - static UrlRequest World_request; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("cacheName") String cacheName; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("archive") AbstractArchive archive; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 978412683 + intValue = 1838089259 ) @Export("percentLoaded") int percentLoaded; @@ -33,7 +27,7 @@ public class WorldMapArchiveLoader { boolean loaded; @ObfuscatedSignature( - descriptor = "(Lkk;)V" + descriptor = "(Lkl;)V" ) WorldMapArchiveLoader(AbstractArchive var1) { this.percentLoaded = 0; @@ -41,10 +35,10 @@ public class WorldMapArchiveLoader { this.archive = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-2042799835" + garbageValue = "-1651193306" ) @Export("reset") void reset(String var1) { @@ -58,15 +52,15 @@ public class WorldMapArchiveLoader { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1193770615" + garbageValue = "2103125458" ) @Export("load") int load() { if (this.percentLoaded < 33) { - if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field2203.name, this.cacheName)) { + if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field2215.name, this.cacheName)) { return this.percentLoaded; } @@ -74,7 +68,7 @@ public class WorldMapArchiveLoader { } if (this.percentLoaded == 33) { - if (this.archive.isValidFileName(WorldMapCacheName.field2201.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field2201.name, this.cacheName)) { + if (this.archive.isValidFileName(WorldMapCacheName.field2216.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field2216.name, this.cacheName)) { return this.percentLoaded; } @@ -82,7 +76,7 @@ public class WorldMapArchiveLoader { } if (this.percentLoaded == 66) { - if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field2200.name)) { + if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field2218.name)) { return this.percentLoaded; } @@ -93,43 +87,23 @@ public class WorldMapArchiveLoader { return this.percentLoaded; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "1751001659" + garbageValue = "-1263221569" ) @Export("isLoaded") boolean isLoaded() { return this.loaded; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-507892849" + garbageValue = "1014935859" ) @Export("getPercentLoaded") int getPercentLoaded() { return this.percentLoaded; } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "([BB)Llu;", - garbageValue = "-27" - ) - static Font method6348(byte[] var0) { - if (var0 == null) { - return null; - } else { - Font var1 = new Font(var0, class413.SpriteBuffer_xOffsets, class413.SpriteBuffer_yOffsets, InvDefinition.SpriteBuffer_spriteWidths, class413.SpriteBuffer_spriteHeights, ItemContainer.SpriteBuffer_spritePalette, class283.SpriteBuffer_pixels); - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - return var1; - } - } } diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java index 3976857759..ca3c5b5b6d 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -5,69 +5,73 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("fr") @Implements("WorldMapArea") public class WorldMapArea { - @ObfuscatedName("n") + @ObfuscatedName("gc") @ObfuscatedGetter( - intValue = -377319747 + intValue = 334389247 + ) + static int field2053; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1151523411 ) @Export("id") int id; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("internalName") String internalName; - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("externalName") String externalName; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 765401415 + intValue = 1870281145 ) @Export("backGroundColor") int backGroundColor; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1443571487 + intValue = 1005337785 ) @Export("zoom") int zoom; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("origin") Coord origin; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = -2117362555 + intValue = -2031091247 ) @Export("regionLowX") int regionLowX; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 1562902029 + intValue = 237078907 ) @Export("regionHighX") int regionHighX; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1946852235 + intValue = -992415669 ) @Export("regionLowY") int regionLowY; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 487397415 + intValue = -94527557 ) @Export("regionHighY") int regionHighY; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("isMain") boolean isMain; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("sections") LinkedList sections; @@ -83,10 +87,10 @@ public class WorldMapArea { this.isMain = false; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;IS)V", - garbageValue = "-28416" + descriptor = "(Lot;IB)V", + garbageValue = "-21" ) @Export("read") public void read(Buffer var1, int var2) { @@ -108,41 +112,42 @@ public class WorldMapArea { this.setBounds(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;I)Lge;", - garbageValue = "1294866304" + descriptor = "(Lot;B)Lgl;", + garbageValue = "1" ) @Export("readWorldMapSection") WorldMapSection readWorldMapSection(Buffer var1) { int var2 = var1.readUnsignedByte(); - WorldMapSectionType var3 = (WorldMapSectionType)class260.findEnumerated(WorldMapSectionType.method3770(), var2); - Object var4 = null; - switch(var3.type) { + WorldMapSectionType[] var3 = new WorldMapSectionType[]{WorldMapSectionType.WORLDMAPSECTIONTYPE2, WorldMapSectionType.WORLDMAPSECTIONTYPE1, WorldMapSectionType.WORLDMAPSECTIONTYPE3, WorldMapSectionType.WORLDMAPSECTIONTYPE0}; + WorldMapSectionType var4 = (WorldMapSectionType)class128.findEnumerated(var3, var2); + Object var5 = null; + switch(var4.type) { case 0: - var4 = new WorldMapSection1(); + var5 = new class184(); break; case 1: - var4 = new WorldMapSection0(); + var5 = new WorldMapSection1(); break; case 2: - var4 = new class184(); + var5 = new WorldMapSection0(); break; case 3: - var4 = new WorldMapSection2(); + var5 = new WorldMapSection2(); break; default: throw new IllegalStateException(""); } - ((WorldMapSection)var4).read(var1); - return (WorldMapSection)var4; + ((WorldMapSection)var5).read(var1); + return (WorldMapSection)var5; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIIS)Z", - garbageValue = "468" + descriptor = "(IIII)Z", + garbageValue = "668263956" ) @Export("containsCoord") public boolean containsCoord(int var1, int var2, int var3) { @@ -160,10 +165,10 @@ public class WorldMapArea { return true; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIB)Z", - garbageValue = "127" + descriptor = "(III)Z", + garbageValue = "1626377450" ) @Export("containsPosition") public boolean containsPosition(int var1, int var2) { @@ -191,10 +196,10 @@ public class WorldMapArea { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(IIII)[I", - garbageValue = "1190463288" + garbageValue = "-1387557690" ) @Export("position") public int[] position(int var1, int var2, int var3) { @@ -212,10 +217,10 @@ public class WorldMapArea { return var5.getBorderTileLengths(var1, var2, var3); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1752640167" + descriptor = "(III)Lic;", + garbageValue = "1153813181" ) @Export("coord") public Coord coord(int var1, int var2) { @@ -233,10 +238,10 @@ public class WorldMapArea { return var4.coord(var1, var2); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "68" + descriptor = "(I)V", + garbageValue = "557053872" ) @Export("setBounds") void setBounds() { @@ -252,44 +257,44 @@ public class WorldMapArea { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1771884236" + garbageValue = "-2094198480" ) @Export("getId") public int getId() { return this.id; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1114273601" + descriptor = "(B)Z", + garbageValue = "13" ) @Export("getIsMain") public boolean getIsMain() { return this.isMain; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(S)Ljava/lang/String;", - garbageValue = "512" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "1549460192" ) @Export("getInternalName") public String getInternalName() { return this.internalName; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(I)Ljava/lang/String;", - garbageValue = "-1928542765" + garbageValue = "539428715" ) @Export("getExternalName") public String getExternalName() { return this.externalName; } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( descriptor = "(B)I", garbageValue = "0" @@ -299,20 +304,20 @@ public class WorldMapArea { return this.backGroundColor; } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1803047201" + garbageValue = "-468887944" ) @Export("getZoom") public int getZoom() { return this.zoom; } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-28" + descriptor = "(I)I", + garbageValue = "-1837285801" ) @Export("getRegionLowX") public int getRegionLowX() { @@ -322,158 +327,199 @@ public class WorldMapArea { @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "711087502" + garbageValue = "895947812" ) @Export("getRegionHighX") public int getRegionHighX() { return this.regionHighX; } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-96890444" + garbageValue = "1917929622" ) @Export("getRegionLowY") public int getRegionLowY() { return this.regionLowY; } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "421755464" + garbageValue = "1966642948" ) @Export("getRegionHighY") public int getRegionHighY() { return this.regionHighY; } - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1684890187" + garbageValue = "-2055677745" ) @Export("getOriginX") public int getOriginX() { return this.origin.x; } - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "920397121" + descriptor = "(B)I", + garbageValue = "-15" ) @Export("getOriginPlane") public int getOriginPlane() { return this.origin.plane; } - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "9" + descriptor = "(I)I", + garbageValue = "-1154509313" ) @Export("getOriginY") public int getOriginY() { return this.origin.y; } - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "(I)Liy;", - garbageValue = "-1486746324" + descriptor = "(B)Lic;", + garbageValue = "-12" ) @Export("getOrigin") public Coord getOrigin() { return new Coord(this.origin); } - @ObfuscatedName("n") + @ObfuscatedName("gg") @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "991835851" + descriptor = "(ZLoy;I)V", + garbageValue = "-254909194" ) - static boolean method3507(int var0, int var1) { - return var0 != 4 || var1 < 8; - } + @Export("loadRegions") + static final void loadRegions(boolean var0, PacketBuffer var1) { + Client.isInInstance = var0; + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + if (!Client.isInInstance) { + int var2 = var1.method6933(); + var3 = var1.readUnsignedShort(); + var4 = var1.readUnsignedShort(); + ModeWhere.xteaKeys = new int[var4][4]; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-101" - ) - static int method3455(int var0, Script var1, boolean var2) { - Widget var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETSCROLLX) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollY; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTEXT) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTRANS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.transparencyTop; - return 1; - } else if (var0 == 2610) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.transparencyBot; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == 2613) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else if (var0 != 2615 && var0 != 2616) { - return 2; - } else { - ++class240.Interpreter_intStackSize; - return 1; - } - } - - @ObfuscatedName("lj") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)Ljava/lang/String;", - garbageValue = "-39" - ) - static String method3513(String var0) { - PlayerType[] var1 = StructComposition.PlayerType_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - PlayerType var3 = var1[var2]; - if (var3.modIcon != -1 && var0.startsWith(ApproximateRouteStrategy.method1122(var3.modIcon))) { - var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); - break; + for (var5 = 0; var5 < var4; ++var5) { + for (var6 = 0; var6 < 4; ++var6) { + ModeWhere.xteaKeys[var5][var6] = var1.readInt(); + } } + + class129.regions = new int[var4]; + Canvas.regionMapArchiveIds = new int[var4]; + GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds = new int[var4]; + class28.regionLandArchives = new byte[var4][]; + Client.regionMapArchives = new byte[var4][]; + boolean var16 = false; + if (Client.field540) { + if ((var2 / 8 == 48 || var2 / 8 == 49) && var3 / 8 == 48) { + var16 = true; + } + + if (var2 / 8 == 48 && var3 / 8 == 148) { + var16 = true; + } + } + + var4 = 0; + + for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { + for (var7 = (var3 - 6) / 8; var7 <= (var3 + 6) / 8; ++var7) { + var8 = var7 + (var6 << 8); + if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { + class129.regions[var4] = var8; + Canvas.regionMapArchiveIds[var4] = ApproximateRouteStrategy.archive5.getGroupId("m" + var6 + "_" + var7); + GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var4] = ApproximateRouteStrategy.archive5.getGroupId("l" + var6 + "_" + var7); + ++var4; + } + } + } + + DesktopPlatformInfoProvider.method6380(var2, var3, true); + } else { + boolean var15 = var1.method6926() == 1; + var3 = var1.method6933(); + var4 = var1.readUnsignedShort(); + var5 = var1.readUnsignedShort(); + var1.importIndex(); + + int var9; + for (var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 13; ++var7) { + for (var8 = 0; var8 < 13; ++var8) { + var9 = var1.readBits(1); + if (var9 == 1) { + Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); + } else { + Client.instanceChunkTemplates[var6][var7][var8] = -1; + } + } + } + } + + var1.exportIndex(); + ModeWhere.xteaKeys = new int[var5][4]; + + for (var6 = 0; var6 < var5; ++var6) { + for (var7 = 0; var7 < 4; ++var7) { + ModeWhere.xteaKeys[var6][var7] = var1.readInt(); + } + } + + class129.regions = new int[var5]; + Canvas.regionMapArchiveIds = new int[var5]; + GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds = new int[var5]; + class28.regionLandArchives = new byte[var5][]; + Client.regionMapArchives = new byte[var5][]; + var5 = 0; + + for (var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 13; ++var7) { + for (var8 = 0; var8 < 13; ++var8) { + var9 = Client.instanceChunkTemplates[var6][var7][var8]; + if (var9 != -1) { + int var10 = var9 >> 14 & 1023; + int var11 = var9 >> 3 & 2047; + int var12 = (var10 / 8 << 8) + var11 / 8; + + int var13; + for (var13 = 0; var13 < var5; ++var13) { + if (class129.regions[var13] == var12) { + var12 = -1; + break; + } + } + + if (var12 != -1) { + class129.regions[var5] = var12; + var13 = var12 >> 8 & 255; + int var14 = var12 & 255; + Canvas.regionMapArchiveIds[var5] = ApproximateRouteStrategy.archive5.getGroupId("m" + var13 + "_" + var14); + GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var5] = ApproximateRouteStrategy.archive5.getGroupId("l" + var13 + "_" + var14); + ++var5; + } + } + } + } + } + + DesktopPlatformInfoProvider.method6380(var4, var3, !var15); } - return var0; } } diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index 28fbd8fd5c..b3200a7dcd 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -3,16 +3,23 @@ import java.util.LinkedList; import java.util.List; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gh") +@ObfuscatedName("gx") @Implements("WorldMapAreaData") public class WorldMapAreaData extends WorldMapArea { - @ObfuscatedName("v") + @ObfuscatedName("tz") + @ObfuscatedGetter( + intValue = 1969439529 + ) + @Export("foundItemIdCount") + static int foundItemIdCount; + @ObfuscatedName("g") @Export("worldMapData0Set") HashSet worldMapData0Set; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("worldMapData1Set") HashSet worldMapData1Set; @ObfuscatedName("s") @@ -22,10 +29,10 @@ public class WorldMapAreaData extends WorldMapArea { WorldMapAreaData() { } - @ObfuscatedName("ch") + @ObfuscatedName("cy") @ObfuscatedSignature( - descriptor = "(Lot;Lot;IZB)V", - garbageValue = "-49" + descriptor = "(Lot;Lot;IZI)V", + garbageValue = "1114240184" ) @Export("init") void init(Buffer var1, Buffer var2, int var3, boolean var4) { @@ -64,10 +71,10 @@ public class WorldMapAreaData extends WorldMapArea { this.initIconsList(var2, var4); } - @ObfuscatedName("cx") + @ObfuscatedName("cg") @ObfuscatedSignature( - descriptor = "(Lot;ZB)V", - garbageValue = "-12" + descriptor = "(Lot;ZI)V", + garbageValue = "1360518712" ) @Export("initIconsList") void initIconsList(Buffer var1, boolean var2) { @@ -75,7 +82,7 @@ public class WorldMapAreaData extends WorldMapArea { int var3 = var1.readUnsignedShort(); for (int var4 = 0; var4 < var3; ++var4) { - int var5 = var1.method6985(); + int var5 = var1.method6977(); Coord var6 = new Coord(var1.readInt()); boolean var7 = var1.readUnsignedByte() == 1; if (var2 || !var7) { @@ -84,59 +91,4 @@ public class WorldMapAreaData extends WorldMapArea { } } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IB)Lbg;", - garbageValue = "-121" - ) - @Export("getScript") - static Script getScript(int var0) { - Script var1 = (Script)Script.Script_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = SecureRandomCallable.archive12.takeFile(var0, 0); - if (var2 == null) { - return null; - } else { - var1 = AttackOption.newScript(var2); - Script.Script_cached.put(var1, (long)var0); - return var1; - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "(I)Loi;", - garbageValue = "-1458921113" - ) - public static IndexedSprite method3896() { - IndexedSprite var0 = new IndexedSprite(); - var0.width = class413.SpriteBuffer_spriteWidth; - var0.height = class413.SpriteBuffer_spriteHeight; - var0.xOffset = class413.SpriteBuffer_xOffsets[0]; - var0.yOffset = class413.SpriteBuffer_yOffsets[0]; - var0.subWidth = InvDefinition.SpriteBuffer_spriteWidths[0]; - var0.subHeight = class413.SpriteBuffer_spriteHeights[0]; - var0.palette = ItemContainer.SpriteBuffer_spritePalette; - var0.pixels = class283.SpriteBuffer_pixels[0]; - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - return var0; - } - - @ObfuscatedName("lp") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1896027" - ) - static boolean method3903() { - return VarbitComposition.clientPreferences.field1192 >= Client.field485; - } } diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index 5c73e3a6c8..40519458d7 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -3,90 +3,53 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gi") +@ObfuscatedName("gp") @Implements("WorldMapCacheName") public class WorldMapCacheName { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lgi;" + descriptor = "Lgp;" ) - public static final WorldMapCacheName field2199; - @ObfuscatedName("c") + public static final WorldMapCacheName field2220; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lgi;" + descriptor = "Lgp;" ) - public static final WorldMapCacheName field2203; + public static final WorldMapCacheName field2215; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + public static final WorldMapCacheName field2216; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + static final WorldMapCacheName field2217; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lgi;" + descriptor = "Lgp;" ) - public static final WorldMapCacheName field2201; + public static final WorldMapCacheName field2218; + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("worldSelectLeftSprite") + static IndexedSprite worldSelectLeftSprite; @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - static final WorldMapCacheName field2202; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - public static final WorldMapCacheName field2200; - @ObfuscatedName("g") @Export("name") public final String name; static { - field2199 = new WorldMapCacheName("details"); - field2203 = new WorldMapCacheName("compositemap"); - field2201 = new WorldMapCacheName("compositetexture"); - field2202 = new WorldMapCacheName("area"); - field2200 = new WorldMapCacheName("labels"); + field2220 = new WorldMapCacheName("details"); + field2215 = new WorldMapCacheName("compositemap"); + field2216 = new WorldMapCacheName("compositetexture"); + field2217 = new WorldMapCacheName("area"); + field2218 = new WorldMapCacheName("labels"); } WorldMapCacheName(String var1) { this.name = var1; } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1928602665" - ) - public static boolean method3872(int var0) { - return var0 >= 0 && var0 < 112 ? KeyHandler.KeyHandler_pressedKeys[var0] : false; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "1" - ) - static final int method3873(int var0, int var1) { - if (var0 == -1) { - return 12345678; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - } - - @ObfuscatedName("ks") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "12" - ) - @Export("FriendSystem_invalidateIgnoreds") - static final void FriendSystem_invalidateIgnoreds() { - Tiles.method2005(); - if (class78.friendsChat != null) { - class78.friendsChat.invalidateIgnoreds(); - } - - } } diff --git a/runescape-client/src/main/java/WorldMapData_0.java b/runescape-client/src/main/java/WorldMapData_0.java index b60db7022a..e85eece283 100644 --- a/runescape-client/src/main/java/WorldMapData_0.java +++ b/runescape-client/src/main/java/WorldMapData_0.java @@ -3,25 +3,21 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fd") +@ObfuscatedName("fj") @Implements("WorldMapData_0") public class WorldMapData_0 extends AbstractWorldMapData { - @ObfuscatedName("hp") - @Export("regionLandArchives") - static byte[][] regionLandArchives; - WorldMapData_0() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;B)V", - garbageValue = "-98" + garbageValue = "7" ) @Export("init") void init(Buffer var1) { int var2 = var1.readUnsignedByte(); - if (var2 != WorldMapID.field2175.value) { + if (var2 != WorldMapID.field2195.value) { throw new IllegalStateException(""); } else { super.minPlane = var1.readUnsignedByte(); @@ -30,26 +26,26 @@ public class WorldMapData_0 extends AbstractWorldMapData { super.regionYLow = var1.readUnsignedShort(); super.regionX = var1.readUnsignedShort(); super.regionY = var1.readUnsignedShort(); - super.groupId = var1.method6985(); - super.fileId = var1.method6985(); + super.groupId = var1.method6977(); + super.fileId = var1.method6977(); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "2" + descriptor = "(Lot;I)V", + garbageValue = "725648072" ) @Export("readGeography") void readGeography(Buffer var1) { super.planes = Math.min(super.planes, 4); super.floorUnderlayIds = new short[1][64][64]; super.floorOverlayIds = new short[super.planes][64][64]; - super.field2143 = new byte[super.planes][64][64]; - super.field2144 = new byte[super.planes][64][64]; + super.field2155 = new byte[super.planes][64][64]; + super.field2149 = new byte[super.planes][64][64]; super.decorations = new WorldMapDecoration[super.planes][64][64][]; int var2 = var1.readUnsignedByte(); - if (var2 != class194.field2173.value) { + if (var2 != class194.field2189.value) { throw new IllegalStateException(""); } else { int var3 = var1.readUnsignedByte(); @@ -67,67 +63,117 @@ public class WorldMapData_0 extends AbstractWorldMapData { } } - public int hashCode() { - return super.regionX | super.regionY << 8; - } - public boolean equals(Object var1) { if (!(var1 instanceof WorldMapData_0)) { return false; } else { WorldMapData_0 var2 = (WorldMapData_0)var1; - return super.regionX == var2.regionX && super.regionY == var2.regionY; + return var2.regionX == super.regionX && super.regionY == var2.regionY; } } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "3" - ) - @Export("iLog") - public static int iLog(int var0) { - int var1 = 0; - if (var0 < 0 || var0 >= 65536) { - var0 >>>= 16; - var1 += 16; - } - - if (var0 >= 256) { - var0 >>>= 8; - var1 += 8; - } - - if (var0 >= 16) { - var0 >>>= 4; - var1 += 4; - } - - if (var0 >= 4) { - var0 >>>= 2; - var1 += 2; - } - - if (var0 >= 1) { - var0 >>>= 1; - ++var1; - } - - return var0 + var1; + public int hashCode() { + return super.regionX | super.regionY << 8; } - @ObfuscatedName("kf") + @ObfuscatedName("l") + public static double method3438(double var0) { + return Math.exp(-var0 * var0 / 2.0D) / Math.sqrt(6.283185307179586D); + } + + @ObfuscatedName("fz") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "80464683" + descriptor = "(I)V", + garbageValue = "-509263629" ) - @Export("clanKickUser") - static final void clanKickUser(String var0) { - if (class78.friendsChat != null) { - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2714, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); + static final void method3441() { + for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { + int var10002 = Client.queuedSoundEffectDelays[var0]--; + if (Client.queuedSoundEffectDelays[var0] >= -10) { + SoundEffect var1 = Client.soundEffects[var0]; + if (var1 == null) { + Object var10000 = null; + var1 = SoundEffect.readSoundEffect(class260.archive4, Client.soundEffectIds[var0], 0); + if (var1 == null) { + continue; + } + + int[] var13 = Client.queuedSoundEffectDelays; + var13[var0] += var1.calculateDelay(); + Client.soundEffects[var0] = var1; + } + + if (Client.queuedSoundEffectDelays[var0] < 0) { + int var2; + if (Client.soundLocations[var0] != 0) { + int var3 = (Client.soundLocations[var0] & 255) * 128; + int var4 = Client.soundLocations[var0] >> 16 & 255; + int var5 = var4 * 128 + 64 - class67.localPlayer.x; + if (var5 < 0) { + var5 = -var5; + } + + int var6 = Client.soundLocations[var0] >> 8 & 255; + int var7 = var6 * 128 + 64 - class67.localPlayer.y; + if (var7 < 0) { + var7 = -var7; + } + + int var8 = var7 + var5 - 128; + if (var8 > var3) { + Client.queuedSoundEffectDelays[var0] = -100; + continue; + } + + if (var8 < 0) { + var8 = 0; + } + + var2 = (var3 - var8) * WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume / var3; + } else { + var2 = WorldMapDecorationType.clientPreferences.soundEffectsVolume; + } + + if (var2 > 0) { + RawSound var9 = var1.toRawSound().resample(RouteStrategy.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var2); + var10.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); + ApproximateRouteStrategy.pcmStreamMixer.addSubStream(var10); + } + + Client.queuedSoundEffectDelays[var0] = -100; + } + } else { + --Client.soundEffectCount; + + for (int var11 = var0; var11 < Client.soundEffectCount; ++var11) { + Client.soundEffectIds[var11] = Client.soundEffectIds[var11 + 1]; + Client.soundEffects[var11] = Client.soundEffects[var11 + 1]; + Client.queuedSoundEffectLoops[var11] = Client.queuedSoundEffectLoops[var11 + 1]; + Client.queuedSoundEffectDelays[var11] = Client.queuedSoundEffectDelays[var11 + 1]; + Client.soundLocations[var11] = Client.soundLocations[var11 + 1]; + } + + --var0; + } } + + if (Client.field663) { + boolean var12; + if (class247.musicPlayerStatus != 0) { + var12 = true; + } else { + var12 = class247.midiPcmStream.isReady(); + } + + if (!var12) { + if (WorldMapDecorationType.clientPreferences.musicVolume != 0 && Client.currentTrackGroupId != -1) { + class67.method1886(Tiles.archive6, Client.currentTrackGroupId, 0, WorldMapDecorationType.clientPreferences.musicVolume, false); + } + + Client.field663 = false; + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 39233d35b1..68c9bec6f8 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -4,30 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gg") +@ObfuscatedName("gf") @Implements("WorldMapData_1") public class WorldMapData_1 extends AbstractWorldMapData { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1425976559 + intValue = -1847575921 ) @Export("chunkXLow") int chunkXLow; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -2120583625 + intValue = 1386192995 ) @Export("chunkYLow") int chunkYLow; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2142213525 + intValue = 683382679 ) @Export("chunkX") int chunkX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1279659529 + intValue = 2145976263 ) @Export("chunkY") int chunkY; @@ -35,15 +35,15 @@ public class WorldMapData_1 extends AbstractWorldMapData { WorldMapData_1() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-384501977" + descriptor = "(Lot;B)V", + garbageValue = "-32" ) @Export("init") void init(Buffer var1) { int var2 = var1.readUnsignedByte(); - if (var2 != WorldMapID.field2174.value) { + if (var2 != WorldMapID.field2190.value) { throw new IllegalStateException(""); } else { super.minPlane = var1.readUnsignedByte(); @@ -56,26 +56,26 @@ public class WorldMapData_1 extends AbstractWorldMapData { super.regionY = var1.readUnsignedShort(); this.chunkX = var1.readUnsignedByte(); this.chunkY = var1.readUnsignedByte(); - super.groupId = var1.method6985(); - super.fileId = var1.method6985(); + super.groupId = var1.method6977(); + super.fileId = var1.method6977(); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lot;B)V", - garbageValue = "2" + descriptor = "(Lot;I)V", + garbageValue = "725648072" ) @Export("readGeography") void readGeography(Buffer var1) { super.planes = Math.min(super.planes, 4); super.floorUnderlayIds = new short[1][64][64]; super.floorOverlayIds = new short[super.planes][64][64]; - super.field2143 = new byte[super.planes][64][64]; - super.field2144 = new byte[super.planes][64][64]; + super.field2155 = new byte[super.planes][64][64]; + super.field2149 = new byte[super.planes][64][64]; super.decorations = new WorldMapDecoration[super.planes][64][64][]; int var2 = var1.readUnsignedByte(); - if (var2 != class194.field2169.value) { + if (var2 != class194.field2184.value) { throw new IllegalStateException(""); } else { int var3 = var1.readUnsignedByte(); @@ -95,106 +95,74 @@ public class WorldMapData_1 extends AbstractWorldMapData { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "1045105786" + garbageValue = "-464773748" ) @Export("getChunkXLow") int getChunkXLow() { return this.chunkXLow; } - @ObfuscatedName("k") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1806403043" + descriptor = "(B)I", + garbageValue = "-113" ) @Export("getChunkYLow") int getChunkYLow() { return this.chunkYLow; } - @ObfuscatedName("o") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(B)I", - garbageValue = "-36" + garbageValue = "-53" ) @Export("getChunkX") int getChunkX() { return this.chunkX; } - @ObfuscatedName("z") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1677490500" + garbageValue = "-674356349" ) @Export("getChunkY") int getChunkY() { return this.chunkY; } - public int hashCode() { - return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; - } - public boolean equals(Object var1) { if (!(var1 instanceof WorldMapData_1)) { return false; } else { WorldMapData_1 var2 = (WorldMapData_1)var1; - if (super.regionX == var2.regionX && super.regionY == var2.regionY) { - return this.chunkX == var2.chunkX && var2.chunkY == this.chunkY; + if (var2.regionX == super.regionX && var2.regionY == super.regionY) { + return this.chunkX == var2.chunkX && this.chunkY == var2.chunkY; } else { return false; } } } - @ObfuscatedName("gf") + public int hashCode() { + return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; + } + + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZI)V", - garbageValue = "838418623" + descriptor = "(II)I", + garbageValue = "913068963" ) - @Export("drawLoadingMessage") - static final void drawLoadingMessage(String var0, boolean var1) { - if (Client.showLoadingMessages) { - byte var2 = 4; - int var3 = var2 + 6; - int var4 = var2 + 6; - int var5 = class129.fontPlain12.lineWidth(var0, 250); - int var6 = class129.fontPlain12.lineCount(var0, 250) * 13; - Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var2 + var5, var6 + var2 + var2, 0); - Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var2 + var5, var6 + var2 + var2, 16777215); - class129.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); - int var7 = var3 - var2; - int var8 = var4 - var2; - int var9 = var2 + var2 + var5; - int var10 = var6 + var2 + var2; - - int var11; - for (var11 = 0; var11 < Client.rootWidgetCount; ++var11) { - if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var9 + var7 && Client.rootWidgetYs[var11] + Client.rootWidgetHeights[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) { - Client.field697[var11] = true; - } - } - - if (var1) { - class11.rasterProvider.drawFull(0, 0); - } else { - var11 = var3; - int var12 = var4; - int var13 = var5; - int var14 = var6; - - for (int var15 = 0; var15 < Client.rootWidgetCount; ++var15) { - if (Client.rootWidgetWidths[var15] + Client.rootWidgetXs[var15] > var11 && Client.rootWidgetXs[var15] < var11 + var13 && Client.rootWidgetYs[var15] + Client.rootWidgetHeights[var15] > var12 && Client.rootWidgetYs[var15] < var14 + var12) { - Client.field766[var15] = true; - } - } - } - - } + public static int method3757(int var0) { + var0 = (var0 & 1431655765) + (var0 >>> 1 & 1431655765); + var0 = (var0 >>> 2 & 858993459) + (var0 & 858993459); + var0 = var0 + (var0 >>> 4) & 252645135; + var0 += var0 >>> 8; + var0 += var0 >>> 16; + return var0 & 255; } } diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index 8fd65f4705..dfeed97871 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -3,26 +3,37 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gc") +@ObfuscatedName("gk") @Implements("WorldMapDecoration") public class WorldMapDecoration { - @ObfuscatedName("n") + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Ljt;" + ) + @Export("scriptDotWidget") + static Widget scriptDotWidget; + @ObfuscatedName("ii") + @ObfuscatedSignature( + descriptor = "[Loz;" + ) + @Export("scrollBarSprites") + static IndexedSprite[] scrollBarSprites; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1475776637 + intValue = -86570713 ) @Export("objectDefinitionId") final int objectDefinitionId; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 840191733 + intValue = 143955813 ) @Export("decoration") final int decoration; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 856286721 + intValue = -1572822193 ) @Export("rotation") final int rotation; @@ -32,225 +43,4 @@ public class WorldMapDecoration { this.decoration = var2; this.rotation = var3; } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;B)V", - garbageValue = "57" - ) - public static void method3802(AbstractArchive var0, AbstractArchive var1) { - SpotAnimationDefinition.SpotAnimationDefinition_archive = var0; - SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var1; - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-2119354055" - ) - static int method3801(int var0, Script var1, boolean var2) { - int var3; - int var4; - if (var0 == ScriptOpcodes.ADD) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4 + var3; - return 1; - } else if (var0 == ScriptOpcodes.SUB) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 - var4; - return 1; - } else if (var0 == ScriptOpcodes.MULTIPLY) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4 * var3; - return 1; - } else if (var0 == ScriptOpcodes.DIV) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 / var4; - return 1; - } else if (var0 == ScriptOpcodes.RANDOM) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); - return 1; - } else if (var0 == ScriptOpcodes.RANDOMINC) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); - return 1; - } else { - int var5; - int var6; - int var7; - if (var0 == ScriptOpcodes.INTERPOLATE) { - class240.Interpreter_intStackSize -= 5; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 4]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 + (var4 - var3) * (var7 - var5) / (var6 - var5); - return 1; - } else if (var0 == ScriptOpcodes.ADDPERCENT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 + var4 * var3 / 100; - return 1; - } else if (var0 == ScriptOpcodes.SETBIT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 | 1 << var4; - return 1; - } else if (var0 == ScriptOpcodes.CLEARBIT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); - return 1; - } else if (var0 == ScriptOpcodes.TESTBIT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.MOD) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 % var4; - return 1; - } else if (var0 == ScriptOpcodes.POW) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); - } - - return 1; - } else if (var0 == ScriptOpcodes.INVPOW) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - switch(var4) { - case 0: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; - break; - case 1: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - break; - case 2: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); - break; - case 3: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); - break; - case 4: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); - break; - default: - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); - } - - return 1; - } - } else if (var0 == ScriptOpcodes.AND) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 & var4; - return 1; - } else if (var0 == ScriptOpcodes.OR) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 | var4; - return 1; - } else if (var0 == ScriptOpcodes.SCALE) { - class240.Interpreter_intStackSize -= 3; - long var9 = (long)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - long var11 = (long)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - long var13 = (long)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (int)(var9 * var13 / var11); - return 1; - } else if (var0 == ScriptOpcodes.BITCOUNT) { - var3 = HealthBar.method2205(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - return 1; - } else if (var0 == ScriptOpcodes.TOGGLEBIT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 ^ 1 << var4; - return 1; - } else if (var0 == ScriptOpcodes.SETBIT_RANGE) { - class240.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ObjectSound.method1731(var3, var4, var5); - return 1; - } else if (var0 == ScriptOpcodes.CLEARBIT_RANGE) { - class240.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class10.method98(var3, var4, var5); - return 1; - } else if (var0 == ScriptOpcodes.GETBIT_RANGE) { - class240.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var6 = 31 - var5; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 << var6 >>> var6 + var4; - return 1; - } else if (var0 == 4030) { - class240.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - var3 = class10.method98(var3, var5, var6); - var7 = class120.method2512(var6 - var5 + 1); - if (var4 > var7) { - var4 = var7; - } - - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 | var4 << var5; - return 1; - } else if (var0 == 4032) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = class262.method5001(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1]); - return 1; - } else if (var0 == 4033) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = class229.method4497(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1]); - return 1; - } else if (var0 == 4034) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = TriBool.method6080(var3, var4); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5; - return 1; - } else if (var0 == 4035) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1] = Math.abs(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize - 1]); - return 1; - } else { - return 2; - } - } - } } diff --git a/runescape-client/src/main/java/WorldMapDecorationType.java b/runescape-client/src/main/java/WorldMapDecorationType.java index e8fc31f0cd..e3fa44864f 100644 --- a/runescape-client/src/main/java/WorldMapDecorationType.java +++ b/runescape-client/src/main/java/WorldMapDecorationType.java @@ -4,128 +4,134 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jg") +@ObfuscatedName("jl") @Implements("WorldMapDecorationType") public enum WorldMapDecorationType implements MouseWheel { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3246(0, 0), - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3230(1, 0), - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3231(2, 0), - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3232(3, 0), - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3233(9, 2), - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3248(4, 1), - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3235(5, 1), - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3236(6, 1), - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3234(7, 1), - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3238(8, 1), @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3239(12, 2), - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3240(13, 2), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3241(14, 2), - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3237(15, 2), - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3243(16, 2), - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3244(17, 2), - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Ljg;" - ) - field3245(18, 2), + field3245(0, 0), @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3229(19, 2), + field3234(1, 0), + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3227(2, 0), @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3247(20, 2), - @ObfuscatedName("x") + field3228(3, 0), + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3242(21, 2), - @ObfuscatedName("b") + field3250(9, 2), + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3249(10, 2), + field3230(4, 1), @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3250(11, 2), + field3249(5, 1), + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3247(6, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3233(7, 1), + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3239(8, 1), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3235(12, 2), + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3236(13, 2), + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3237(14, 2), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3238(15, 2), + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3225(16, 2), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3240(17, 2), + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3241(18, 2), + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3242(19, 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3243(20, 2), + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3231(21, 2), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3232(10, 2), + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Ljl;" + ) + field3246(11, 2), @ObfuscatedName("r") @ObfuscatedSignature( - descriptor = "Ljg;" + descriptor = "Ljl;" ) - field3251(22, 3); + field3229(22, 3); - @ObfuscatedName("p") + @ObfuscatedName("tr") + @ObfuscatedSignature( + descriptor = "Lcq;" + ) + @Export("clientPreferences") + static ClientPreferences clientPreferences; + @ObfuscatedName("n") @ObfuscatedGetter( - intValue = -1903748651 + intValue = 1201425423 ) @Export("id") public final int id; @@ -138,24 +144,13 @@ public enum WorldMapDecorationType implements MouseWheel { this.id = var3; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - - @ObfuscatedName("ji") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "0" - ) - static final void method5062(int var0) { - var0 = Math.min(Math.max(var0, 0), 127); - VarbitComposition.clientPreferences.areaSoundEffectsVolume = var0; - DevicePcmPlayerProvider.savePreferences(); - } } diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java index 78defd7e21..ff94c53dab 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -3,112 +3,122 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("er") +@ObfuscatedName("eo") @Implements("WorldMapElement") public class WorldMapElement extends DualNode { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("WorldMapElement_archive") - static AbstractArchive WorldMapElement_archive; - @ObfuscatedName("c") + public static AbstractArchive WorldMapElement_archive; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Ler;" + descriptor = "[Leo;" ) @Export("WorldMapElement_cached") - static WorldMapElement[] WorldMapElement_cached; - @ObfuscatedName("k") + public static WorldMapElement[] WorldMapElement_cached; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -880810839 + ) + @Export("WorldMapElement_count") + public static int WorldMapElement_count; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lim;" + descriptor = "Lii;" ) @Export("WorldMapElement_cachedSprites") static EvictingDualNodeHashTable WorldMapElement_cachedSprites; - @ObfuscatedName("o") + @ObfuscatedName("hn") @ObfuscatedGetter( - intValue = -1174068579 + intValue = 845293889 + ) + static int field1622; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 876781501 ) @Export("objectId") public final int objectId; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 85360477 + intValue = -1137753307 ) @Export("sprite1") public int sprite1; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 653122629 + intValue = 1145388013 ) @Export("sprite2") int sprite2; @ObfuscatedName("a") @Export("name") public String name; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1066557155 - ) - public int field1625; @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 431900443 + intValue = 1017200265 + ) + public int field1630; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 21450715 ) @Export("textSize") public int textSize; - @ObfuscatedName("y") - public boolean field1628; + @ObfuscatedName("w") + public boolean field1633; + @ObfuscatedName("g") + public boolean field1634; @ObfuscatedName("v") - public boolean field1629; - @ObfuscatedName("f") @Export("menuActions") public String[] menuActions; @ObfuscatedName("s") @Export("menuTargetName") public String menuTargetName; - @ObfuscatedName("h") - int[] field1632; - @ObfuscatedName("d") + @ObfuscatedName("c") + int[] field1636; + @ObfuscatedName("b") @ObfuscatedGetter( - intValue = -683943103 - ) - int field1633; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1751934629 + intValue = 830800723 ) int field1638; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1111535343 - ) - int field1635; @ObfuscatedName("x") @ObfuscatedGetter( - intValue = -319002873 + intValue = 1146568603 ) - int field1636; - @ObfuscatedName("b") + int field1643; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -299465407 + ) + int field1640; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1865538037 + ) + int field1641; + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "Lfs;" + descriptor = "Lfp;" ) @Export("horizontalAlignment") public HorizontalAlignment horizontalAlignment; - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "Lfc;" + descriptor = "Lfz;" ) @Export("verticalAlignment") public VerticalAlignment verticalAlignment; @ObfuscatedName("r") - int[] field1640; - @ObfuscatedName("p") - byte[] field1637; - @ObfuscatedName("w") + int[] field1644; + @ObfuscatedName("n") + byte[] field1645; + @ObfuscatedName("u") @ObfuscatedGetter( - intValue = -1302475207 + intValue = -729856873 ) @Export("category") public int category; @@ -117,30 +127,30 @@ public class WorldMapElement extends DualNode { WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); } - WorldMapElement(int var1) { + public WorldMapElement(int var1) { this.sprite1 = -1; this.sprite2 = -1; this.textSize = 0; - this.field1628 = true; - this.field1629 = false; + this.field1633 = true; + this.field1634 = false; this.menuActions = new String[5]; - this.field1633 = Integer.MAX_VALUE; this.field1638 = Integer.MAX_VALUE; - this.field1635 = Integer.MIN_VALUE; - this.field1636 = Integer.MIN_VALUE; + this.field1643 = Integer.MAX_VALUE; + this.field1640 = Integer.MIN_VALUE; + this.field1641 = Integer.MIN_VALUE; this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; this.category = -1; this.objectId = var1; } - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "1299052460" + garbageValue = "359574419" ) @Export("decode") - void decode(Buffer var1) { + public void decode(Buffer var1) { while (true) { int var2 = var1.readUnsignedByte(); if (var2 == 0) { @@ -151,21 +161,21 @@ public class WorldMapElement extends DualNode { } } - @ObfuscatedName("k") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-1724775081" + garbageValue = "371005915" ) @Export("decodeNext") void decodeNext(Buffer var1, int var2) { if (var2 == 1) { - this.sprite1 = var1.method6985(); + this.sprite1 = var1.method6977(); } else if (var2 == 2) { - this.sprite2 = var1.method6985(); + this.sprite2 = var1.method6977(); } else if (var2 == 3) { this.name = var1.readStringCp1252NullTerminated(); } else if (var2 == 4) { - this.field1625 = var1.readMedium(); + this.field1630 = var1.readMedium(); } else if (var2 == 5) { var1.readMedium(); } else if (var2 == 6) { @@ -175,11 +185,11 @@ public class WorldMapElement extends DualNode { if (var2 == 7) { var6 = var1.readUnsignedByte(); if ((var6 & 1) == 0) { - this.field1628 = false; + this.field1633 = false; } if ((var6 & 2) == 2) { - this.field1629 = true; + this.field1634 = true; } } else if (var2 == 8) { var1.readUnsignedByte(); @@ -187,32 +197,32 @@ public class WorldMapElement extends DualNode { this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated(); } else if (var2 == 15) { var6 = var1.readUnsignedByte(); - this.field1632 = new int[var6 * 2]; + this.field1636 = new int[var6 * 2]; int var4; for (var4 = 0; var4 < var6 * 2; ++var4) { - this.field1632[var4] = var1.readShort(); + this.field1636[var4] = var1.readShort(); } var1.readInt(); var4 = var1.readUnsignedByte(); - this.field1640 = new int[var4]; + this.field1644 = new int[var4]; int var5; - for (var5 = 0; var5 < this.field1640.length; ++var5) { - this.field1640[var5] = var1.readInt(); + for (var5 = 0; var5 < this.field1644.length; ++var5) { + this.field1644[var5] = var1.readInt(); } - this.field1637 = new byte[var6]; + this.field1645 = new byte[var6]; for (var5 = 0; var5 < var6; ++var5) { - this.field1637[var5] = var1.readByte(); + this.field1645[var5] = var1.readByte(); } } else if (var2 != 16) { if (var2 == 17) { this.menuTargetName = var1.readStringCp1252NullTerminated(); } else if (var2 == 18) { - var1.method6985(); + var1.method6977(); } else if (var2 == 19) { this.category = var1.readUnsignedShort(); } else if (var2 == 21) { @@ -227,48 +237,48 @@ public class WorldMapElement extends DualNode { var1.readShort(); var1.readShort(); } else if (var2 == 25) { - var1.method6985(); + var1.method6977(); } else if (var2 == 28) { var1.readUnsignedByte(); } else if (var2 == 29) { - HorizontalAlignment[] var3 = new HorizontalAlignment[]{HorizontalAlignment.field1697, HorizontalAlignment.HorizontalAlignment_centered, HorizontalAlignment.field1699}; - this.horizontalAlignment = (HorizontalAlignment)class260.findEnumerated(var3, var1.readUnsignedByte()); + this.horizontalAlignment = (HorizontalAlignment)class128.findEnumerated(PcmPlayer.method702(), var1.readUnsignedByte()); } else if (var2 == 30) { - this.verticalAlignment = (VerticalAlignment)class260.findEnumerated(HorizontalAlignment.method2943(), var1.readUnsignedByte()); + VerticalAlignment[] var3 = new VerticalAlignment[]{VerticalAlignment.field1747, VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field1748}; + this.verticalAlignment = (VerticalAlignment)class128.findEnumerated(var3, var1.readUnsignedByte()); } } } } - @ObfuscatedName("o") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1992880187" + garbageValue = "-2056893790" ) - void method2846() { - if (this.field1632 != null) { - for (int var1 = 0; var1 < this.field1632.length; var1 += 2) { - if (this.field1632[var1] < this.field1633) { - this.field1633 = this.field1632[var1]; - } else if (this.field1632[var1] > this.field1635) { - this.field1635 = this.field1632[var1]; + public void method2900() { + if (this.field1636 != null) { + for (int var1 = 0; var1 < this.field1636.length; var1 += 2) { + if (this.field1636[var1] < this.field1638) { + this.field1638 = this.field1636[var1]; + } else if (this.field1636[var1] > this.field1640) { + this.field1640 = this.field1636[var1]; } - if (this.field1632[var1 + 1] < this.field1638) { - this.field1638 = this.field1632[var1 + 1]; - } else if (this.field1632[var1 + 1] > this.field1636) { - this.field1636 = this.field1632[var1 + 1]; + if (this.field1636[var1 + 1] < this.field1643) { + this.field1643 = this.field1636[var1 + 1]; + } else if (this.field1636[var1 + 1] > this.field1641) { + this.field1641 = this.field1636[var1 + 1]; } } } } - @ObfuscatedName("g") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(ZI)Loc;", - garbageValue = "1072986518" + descriptor = "(ZI)Lon;", + garbageValue = "-583562620" ) @Export("getSpriteBool") public SpritePixels getSpriteBool(boolean var1) { @@ -276,10 +286,10 @@ public class WorldMapElement extends DualNode { return this.getSprite(var2); } - @ObfuscatedName("z") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(II)Loc;", - garbageValue = "1239659620" + descriptor = "(IB)Lon;", + garbageValue = "35" ) @Export("getSprite") SpritePixels getSprite(int var1) { @@ -290,7 +300,7 @@ public class WorldMapElement extends DualNode { if (var2 != null) { return var2; } else { - var2 = class258.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); + var2 = AccessFile.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); if (var2 != null) { WorldMapElement_cachedSprites.put(var2, (long)var1); } @@ -300,229 +310,26 @@ public class WorldMapElement extends DualNode { } } - @ObfuscatedName("a") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "133441214" + garbageValue = "-306914464" ) @Export("getObjectId") public int getObjectId() { return this.objectId; } - @ObfuscatedName("n") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lkk;I)V", - garbageValue = "-858270951" + descriptor = "(III)I", + garbageValue = "-1756483655" ) - public static void method2827(AbstractArchive var0) { - FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var0; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1549181494" - ) - static int method2852(int var0, Script var1, boolean var2) { - int var4 = -1; - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var3 = class87.getWidget(var4); - } else { - var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - } - - if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { - class240.Interpreter_intStackSize -= 2; - var3.scrollX = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - if (var3.scrollX > var3.scrollWidth - var3.width) { - var3.scrollX = var3.scrollWidth - var3.width; - } - - if (var3.scrollX < 0) { - var3.scrollX = 0; - } - - var3.scrollY = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (var3.scrollY > var3.scrollHeight - var3.height) { - var3.scrollY = var3.scrollHeight - var3.height; - } - - if (var3.scrollY < 0) { - var3.scrollY = 0; - } - - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { - var3.color = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILL) { - var3.fill = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTRANS) { - var3.transparencyTop = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { - var3.lineWid = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { - var3.spriteId2 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { - var3.spriteAngle = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTILING) { - var3.spriteTiling = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODEL) { - var3.modelType = 1; - var3.modelId = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { - class240.Interpreter_intStackSize -= 6; - var3.modelOffsetX = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var3.modelOffsetY = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var3.modelAngleX = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var3.modelAngleY = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - var3.modelAngleZ = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 4]; - var3.modelZoom = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 5]; - Actor.invalidateWidget(var3); - return 1; - } else { - int var8; - if (var0 == ScriptOpcodes.CC_SETMODELANIM) { - var8 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var8 != var3.sequenceId) { - var3.sequenceId = var8; - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - Actor.invalidateWidget(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { - var3.modelOrthog = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXT) { - String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - if (!var7.equals(var3.text)) { - var3.text = var7; - Actor.invalidateWidget(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { - var3.fontId = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { - class240.Interpreter_intStackSize -= 3; - var3.textXAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var3.textYAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var3.textLineHeight = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { - var3.textShadowed = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { - var3.outline = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { - var3.spriteShadow = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { - var3.spriteFlipV = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { - var3.spriteFlipH = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { - class240.Interpreter_intStackSize -= 2; - var3.scrollWidth = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var3.scrollHeight = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Actor.invalidateWidget(var3); - if (var4 != -1 && var3.type == 0) { - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var4 >> 16], var3, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { - DevicePcmPlayerProvider.resumePauseWidget(var3.id, var3.childIndex); - Client.meslayerContinueWidget = var3; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == 1122) { - var3.spriteId = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { - var3.color2 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == 1124) { - var3.transparencyBot = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == 1125) { - var8 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - FillMode var6 = (FillMode)class260.findEnumerated(WorldMapScaleHandler.FillMode_values(), var8); - if (var6 != null) { - var3.fillMode = var6; - Actor.invalidateWidget(var3); - } - - return 1; - } else { - boolean var5; - if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { - var5 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - var3.field3117 = var5; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { - var5 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - var3.modelTransparency = var5; - return 1; - } else if (var0 == 1128) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else { - return 2; - } - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "101" - ) - static final int method2851(int var0, int var1) { - int var2 = Friend.method5915(45365 + var0, var1 + 91923, 4) - 128 + (Friend.method5915(10294 + var0, var1 + 37821, 2) - 128 >> 1) + (Friend.method5915(var0, var1, 1) - 128 >> 2); - var2 = (int)((double)var2 * 0.3D) + 35; - if (var2 < 10) { - var2 = 10; - } else if (var2 > 60) { - var2 = 60; + public static int method2922(int var0, int var1) { + int var2; + for (var2 = 0; var1 > 0; --var1) { + var2 = var2 << 1 | var0 & 1; + var0 >>>= 1; } return var2; diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index 7624006a3a..a00e10bc54 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -4,41 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gp") +@ObfuscatedName("gt") @Implements("WorldMapEvent") public class WorldMapEvent { - @ObfuscatedName("hn") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -502169227 - ) - static int field2216; - @ObfuscatedName("nc") - @ObfuscatedGetter( - intValue = -195950963 - ) - @Export("selectedSpellWidget") - static int selectedSpellWidget; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1964137909 + intValue = -2131068137 ) @Export("mapElement") public int mapElement; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("coord1") public Coord coord1; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Liy;" + descriptor = "Lic;" ) @Export("coord2") public Coord coord2; @ObfuscatedSignature( - descriptor = "(ILiy;Liy;)V" + descriptor = "(ILic;Lic;)V" ) public WorldMapEvent(int var1, Coord var2, Coord var3) { this.mapElement = var1; @@ -46,142 +35,80 @@ public class WorldMapEvent { this.coord2 = var3; } - @ObfuscatedName("n") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIILfw;Lfk;Z[I[II)I", - garbageValue = "-1833738708" + descriptor = "([BIIII[Lfy;I)V", + garbageValue = "-804986830" ) - public static int method3948(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4, boolean var5, int[] var6, int[] var7) { - int var9; - for (int var8 = 0; var8 < 128; ++var8) { - for (var9 = 0; var9 < 128; ++var9) { - class174.directions[var8][var9] = 0; - class174.distances[var8][var9] = 99999999; - } - } - - boolean var27; - if (var2 == 1) { - var27 = GraphicsObject.method1869(var0, var1, var3, var4); - } else if (var2 == 2) { - var27 = class150.method2806(var0, var1, var3, var4); - } else { - var27 = class111.method2467(var0, var1, var2, var3, var4); - } - - var9 = var0 - 64; - int var10 = var1 - 64; - int var11 = class150.field1601; - int var12 = class174.field1991; - int var13; - int var14; - int var16; - if (!var27) { - var13 = Integer.MAX_VALUE; - var14 = Integer.MAX_VALUE; - byte var15 = 10; - var16 = var3.approxDestinationX; - int var17 = var3.approxDestinationY; - int var18 = var3.approxDestinationSizeX; - int var19 = var3.approxDestinationSizeY; - - for (int var20 = var16 - var15; var20 <= var16 + var15; ++var20) { - for (int var21 = var17 - var15; var21 <= var15 + var17; ++var21) { - int var22 = var20 - var9; - int var23 = var21 - var10; - if (var22 >= 0 && var23 >= 0 && var22 < 128 && var23 < 128 && class174.distances[var22][var23] < 100) { - int var24 = 0; - if (var20 < var16) { - var24 = var16 - var20; - } else if (var20 > var16 + var18 - 1) { - var24 = var20 - (var18 + var16 - 1); - } - - int var25 = 0; - if (var21 < var17) { - var25 = var17 - var21; - } else if (var21 > var17 + var19 - 1) { - var25 = var21 - (var17 + var19 - 1); - } - - int var26 = var25 * var25 + var24 * var24; - if (var26 < var13 || var26 == var13 && class174.distances[var22][var23] < var14) { - var13 = var26; - var14 = class174.distances[var22][var23]; - var11 = var20; - var12 = var21; - } + static final void method4018(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { + int var7; + int var8; + for (int var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 64; ++var7) { + for (var8 = 0; var8 < 64; ++var8) { + if (var7 + var1 > 0 && var7 + var1 < 103 && var8 + var2 > 0 && var8 + var2 < 103) { + int[] var10000 = var5[var6].flags[var7 + var1]; + var10000[var8 + var2] &= -16777217; } } } + } - if (var13 == Integer.MAX_VALUE) { - return -1; + Buffer var10 = new Buffer(var0); + + for (var7 = 0; var7 < 4; ++var7) { + for (var8 = 0; var8 < 64; ++var8) { + for (int var9 = 0; var9 < 64; ++var9) { + VarpDefinition.loadTerrain(var10, var7, var8 + var1, var9 + var2, var3, var4, 0); + } } } - if (var0 == var11 && var12 == var1) { - return 0; - } else { - byte var28 = 0; - class174.bufferX[var28] = var11; - var13 = var28 + 1; - class174.bufferY[var28] = var12; - - int var29; - for (var14 = var29 = class174.directions[var11 - var9][var12 - var10]; var0 != var11 || var12 != var1; var14 = class174.directions[var11 - var9][var12 - var10]) { - if (var29 != var14) { - var29 = var14; - class174.bufferX[var13] = var11; - class174.bufferY[var13++] = var12; - } - - if ((var14 & 2) != 0) { - ++var11; - } else if ((var14 & 8) != 0) { - --var11; - } - - if ((var14 & 1) != 0) { - ++var12; - } else if ((var14 & 4) != 0) { - --var12; - } - } - - var16 = 0; - - while (var13-- > 0) { - var6[var16] = class174.bufferX[var13]; - var7[var16++] = class174.bufferY[var13]; - if (var16 >= var6.length) { - break; - } - } - - return var16; - } } - @ObfuscatedName("z") + @ObfuscatedName("ij") @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-10" + descriptor = "(Ljt;IIZB)V", + garbageValue = "1" ) - public static boolean method3947(int var0) { - return (var0 >> 30 & 1) != 0; - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-769879638" - ) - public static int method3949(int var0) { - if (var0 > 0) { - return 1; - } else { - return var0 < 0 ? -1 : 0; + @Export("alignWidgetSize") + static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { + int var4 = var0.width; + int var5 = var0.height; + if (var0.widthAlignment == 0) { + var0.width = var0.rawWidth; + } else if (var0.widthAlignment == 1) { + var0.width = var1 - var0.rawWidth; + } else if (var0.widthAlignment == 2) { + var0.width = var0.rawWidth * var1 >> 14; } + + if (var0.heightAlignment == 0) { + var0.height = var0.rawHeight; + } else if (var0.heightAlignment == 1) { + var0.height = var2 - var0.rawHeight; + } else if (var0.heightAlignment == 2) { + var0.height = var2 * var0.rawHeight >> 14; + } + + if (var0.widthAlignment == 4) { + var0.width = var0.height * var0.field3067 / var0.field3136; + } + + if (var0.heightAlignment == 4) { + var0.height = var0.width * var0.field3136 / var0.field3067; + } + + if (var0.contentType == 1337) { + Client.viewportWidget = var0; + } + + if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var0; + var6.args = var0.onResize; + Client.scriptEvents.addFirst(var6); + } + } } diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index 5c54fae3f7..b7d598c447 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -4,175 +4,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gk") +@ObfuscatedName("gm") @Implements("WorldMapID") public class WorldMapID { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lgk;" + descriptor = "Lgm;" ) - static final WorldMapID field2175; - @ObfuscatedName("c") + static final WorldMapID field2195; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lgk;" + descriptor = "Lgm;" ) - static final WorldMapID field2174; - @ObfuscatedName("jd") + static final WorldMapID field2190; + @ObfuscatedName("t") + @Export("Interpreter_stringLocals") + static String[] Interpreter_stringLocals; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 921885903 - ) - @Export("oculusOrbFocalPointX") - static int oculusOrbFocalPointX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -213737243 + intValue = 1713675959 ) @Export("value") final int value; static { - field2175 = new WorldMapID(0); - field2174 = new WorldMapID(1); + field2195 = new WorldMapID(0); + field2190 = new WorldMapID(1); } WorldMapID(int var1) { this.value = var1; } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "16" - ) - public static boolean method3811(int var0) { - return (var0 >> 28 & 1) != 0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Ljd;I[B[BI)V", - garbageValue = "760172468" - ) - @Export("Widget_setKey") - static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { - if (var0.field3100 == null) { - if (var2 == null) { - return; - } - - var0.field3100 = new byte[11][]; - var0.field3121 = new byte[11][]; - var0.field3135 = new int[11]; - var0.field3123 = new int[11]; - } - - var0.field3100[var1] = var2; - if (var2 != null) { - var0.field3119 = true; - } else { - var0.field3119 = false; - - for (int var4 = 0; var4 < var0.field3100.length; ++var4) { - if (var0.field3100[var4] != null) { - var0.field3119 = true; - break; - } - } - } - - var0.field3121[var1] = var3; - } - - @ObfuscatedName("fd") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "962774189" - ) - @Export("doCheat") - static final void doCheat(String var0) { - if (var0.equalsIgnoreCase("toggleroof")) { - VarbitComposition.clientPreferences.roofsHidden = !VarbitComposition.clientPreferences.roofsHidden; - DevicePcmPlayerProvider.savePreferences(); - if (VarbitComposition.clientPreferences.roofsHidden) { - SecureRandomCallable.addGameMessage(99, "", "Roofs are now all hidden"); - } else { - SecureRandomCallable.addGameMessage(99, "", "Roofs will only be removed selectively"); - } - } - - if (var0.equalsIgnoreCase("displayfps")) { - Client.displayFps = !Client.displayFps; - } - - if (var0.equalsIgnoreCase("renderself")) { - Client.renderSelf = !Client.renderSelf; - } - - if (var0.equalsIgnoreCase("mouseovertext")) { - Client.showMouseOverText = !Client.showMouseOverText; - } - - if (Client.staffModLevel >= 2) { - if (var0.equalsIgnoreCase("errortest")) { - throw new RuntimeException(); - } - - if (var0.equalsIgnoreCase("showcoord")) { - class65.worldMap.showCoord = !class65.worldMap.showCoord; - } - - if (var0.equalsIgnoreCase("fpson")) { - Client.displayFps = true; - } - - if (var0.equalsIgnoreCase("fpsoff")) { - Client.displayFps = false; - } - - if (var0.equalsIgnoreCase("gc")) { - System.gc(); - } - - if (var0.equalsIgnoreCase("clientdrop")) { - class245.method4590(); - } - } - - PacketBufferNode var1 = FriendSystem.getPacketBufferNode(ClientPacket.field2661, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(var0.length() + 1); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); - } - - @ObfuscatedName("jx") - @ObfuscatedSignature( - descriptor = "(Lci;ZI)V", - garbageValue = "-359197999" - ) - @Export("closeInterface") - static final void closeInterface(InterfaceParent var0, boolean var1) { - int var2 = var0.group; - int var3 = (int)var0.key; - var0.remove(); - if (var1) { - class120.method2516(var2); - } - - for (IntegerNode var4 = (IntegerNode)Client.widgetFlags.first(); var4 != null; var4 = (IntegerNode)Client.widgetFlags.next()) { - if ((var4.key >> 48 & 65535L) == (long)var2) { - var4.remove(); - } - } - - Widget var5 = class87.getWidget(var3); - if (var5 != null) { - Actor.invalidateWidget(var5); - } - - PendingSpawn.method2119(); - if (Client.rootInterface != -1) { - class13.runIntfCloseListeners(Client.rootInterface, 1); - } - - } } diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java index 01721f1d72..201b4fa734 100644 --- a/runescape-client/src/main/java/WorldMapIcon_0.java +++ b/runescape-client/src/main/java/WorldMapIcon_0.java @@ -4,49 +4,42 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gn") +@ObfuscatedName("gb") @Implements("WorldMapIcon_0") public class WorldMapIcon_0 extends AbstractWorldMapIcon { - @ObfuscatedName("o") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1404019363 - ) - static int field2105; - @ObfuscatedName("be") - static String field2104; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1294282713 + intValue = -1190804449 ) @Export("element") final int element; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lgz;" + descriptor = "Lga;" ) @Export("label") final WorldMapLabel label; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2094833405 + intValue = 511085029 ) @Export("subWidth") final int subWidth; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 292316121 + intValue = 139309099 ) @Export("subHeight") final int subHeight; @ObfuscatedSignature( - descriptor = "(Liy;Liy;ILgz;)V" + descriptor = "(Lic;Lic;ILga;)V" ) WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { super(var1, var2); this.element = var3; this.label = var4; - WorldMapElement var5 = class54.WorldMapElement_get(this.getElement()); + WorldMapElement var5 = class13.WorldMapElement_get(this.getElement()); SpritePixels var6 = var5.getSpriteBool(false); if (var6 != null) { this.subWidth = var6.subWidth; @@ -58,145 +51,43 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "120" + descriptor = "(I)I", + garbageValue = "1329338621" ) @Export("getElement") public int getElement() { return this.element; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(S)Lgz;", - garbageValue = "3118" + descriptor = "(S)Lga;", + garbageValue = "5309" ) @Export("getLabel") WorldMapLabel getLabel() { return this.label; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-50" + descriptor = "(I)I", + garbageValue = "-1544604408" ) @Export("getSubWidth") int getSubWidth() { return this.subWidth; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-967271066" + garbageValue = "318612621" ) @Export("getSubHeight") int getSubHeight() { return this.subHeight; } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)Lfl;", - garbageValue = "-1853266202" - ) - public static VarbitComposition method3741(int var0) { - VarbitComposition var1 = (VarbitComposition)VarbitComposition.VarbitDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); - var1 = new VarbitComposition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - VarbitComposition.VarbitDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1244161405" - ) - public static void method3730() { - try { - if (class247.musicPlayerStatus == 1) { - int var0 = class135.midiPcmStream.method4621(); - if (var0 > 0 && class135.midiPcmStream.isReady()) { - var0 -= class130.pcmSampleLength; - if (var0 < 0) { - var0 = 0; - } - - class135.midiPcmStream.setPcmStreamVolume(var0); - return; - } - - class135.midiPcmStream.clear(); - class135.midiPcmStream.removeAll(); - if (class247.musicTrackArchive != null) { - class247.musicPlayerStatus = 2; - } else { - class247.musicPlayerStatus = 0; - } - - class281.musicTrack = null; - class273.soundCache = null; - } - } catch (Exception var2) { - var2.printStackTrace(); - class135.midiPcmStream.clear(); - class247.musicPlayerStatus = 0; - class281.musicTrack = null; - class273.soundCache = null; - class247.musicTrackArchive = null; - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "0" - ) - public static int method3732(int var0) { - return class275.method5066(ViewportMouse.ViewportMouse_entityTags[var0]); - } - - @ObfuscatedName("in") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljd;B)Ljava/lang/String;", - garbageValue = "2" - ) - static String method3729(String var0, Widget var1) { - if (var0.indexOf("%") != -1) { - for (int var2 = 1; var2 <= 5; ++var2) { - while (true) { - int var3 = var0.indexOf("%" + var2); - if (var3 == -1) { - break; - } - - String var4 = var0.substring(0, var3); - int var6 = class9.method90(var1, var2 - 1); - String var5; - if (var6 < 999999999) { - var5 = Integer.toString(var6); - } else { - var5 = "*"; - } - - var0 = var4 + var5 + var0.substring(var3 + 2); - } - } - } - - return var0; - } } diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java index 0f47218dbc..528048d85f 100644 --- a/runescape-client/src/main/java/WorldMapIcon_1.java +++ b/runescape-client/src/main/java/WorldMapIcon_1.java @@ -4,54 +4,60 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fh") +@ObfuscatedName("fv") @Implements("WorldMapIcon_1") public class WorldMapIcon_1 extends AbstractWorldMapIcon { - @ObfuscatedName("ir") + @ObfuscatedName("po") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "Lnc;" ) - @Export("modIconSprites") - static IndexedSprite[] modIconSprites; - @ObfuscatedName("n") + @Export("HitSplatDefinition_cachedSprites") + static class387 HitSplatDefinition_cachedSprites; + @ObfuscatedName("iq") @ObfuscatedGetter( - intValue = 723711115 + intValue = -866840671 + ) + @Export("cameraPitch") + static int cameraPitch; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1931079881 ) @Export("objectDefId") final int objectDefId; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lfm;" + descriptor = "Lfx;" ) @Export("region") final WorldMapRegion region; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 363240787 + intValue = 1125219351 ) @Export("element") int element; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lgz;" + descriptor = "Lga;" ) @Export("label") WorldMapLabel label; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 853602973 + intValue = 866496065 ) @Export("subWidth") int subWidth; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -1200946541 + intValue = 1835416561 ) @Export("subHeight") int subHeight; @ObfuscatedSignature( - descriptor = "(Liy;Liy;ILfm;)V" + descriptor = "(Lic;Lic;ILfx;)V" ) WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { super(var1, var2); @@ -60,16 +66,16 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { this.init(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-283459385" + garbageValue = "-878538128" ) @Export("init") void init() { - this.element = HitSplatDefinition.getObjectDefinition(this.objectDefId).transform().mapIconId; - this.label = this.region.createMapLabel(class54.WorldMapElement_get(this.element)); - WorldMapElement var1 = class54.WorldMapElement_get(this.getElement()); + this.element = class245.getObjectDefinition(this.objectDefId).transform().mapIconId; + this.label = this.region.createMapLabel(class13.WorldMapElement_get(this.element)); + WorldMapElement var1 = class13.WorldMapElement_get(this.getElement()); SpritePixels var2 = var1.getSpriteBool(false); if (var2 != null) { this.subWidth = var2.subWidth; @@ -81,112 +87,74 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "120" + descriptor = "(I)I", + garbageValue = "1329338621" ) @Export("getElement") public int getElement() { return this.element; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(S)Lgz;", - garbageValue = "3118" + descriptor = "(S)Lga;", + garbageValue = "5309" ) @Export("getLabel") WorldMapLabel getLabel() { return this.label; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-50" + descriptor = "(I)I", + garbageValue = "-1544604408" ) @Export("getSubWidth") int getSubWidth() { return this.subWidth; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-967271066" + garbageValue = "318612621" ) @Export("getSubHeight") int getSubHeight() { return this.subHeight; } - @ObfuscatedName("n") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lkk;II)Liz;", - garbageValue = "-1316529255" + descriptor = "(IB)Ley;", + garbageValue = "49" ) - static MusicPatch method3403(AbstractArchive var0, int var1) { - byte[] var2 = var0.takeFileFlat(var1); - return var2 == null ? null : new MusicPatch(var2); - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)[Lit;", - garbageValue = "559434564" - ) - @Export("ServerPacket_values") - public static ServerPacket[] ServerPacket_values() { - return new ServerPacket[]{ServerPacket.field2836, ServerPacket.field2844, ServerPacket.field2771, ServerPacket.field2864, ServerPacket.field2773, ServerPacket.field2774, ServerPacket.field2821, ServerPacket.field2797, ServerPacket.field2777, ServerPacket.field2778, ServerPacket.field2779, ServerPacket.field2780, ServerPacket.field2770, ServerPacket.field2782, ServerPacket.field2783, ServerPacket.field2787, ServerPacket.field2796, ServerPacket.field2786, ServerPacket.field2837, ServerPacket.field2784, ServerPacket.field2789, ServerPacket.field2790, ServerPacket.field2840, ServerPacket.field2792, ServerPacket.field2851, ServerPacket.field2794, ServerPacket.field2795, ServerPacket.field2769, ServerPacket.field2852, ServerPacket.field2830, ServerPacket.field2799, ServerPacket.field2800, ServerPacket.field2802, ServerPacket.field2811, ServerPacket.field2820, ServerPacket.field2804, ServerPacket.field2805, ServerPacket.field2793, ServerPacket.field2807, ServerPacket.field2815, ServerPacket.field2809, ServerPacket.field2810, ServerPacket.field2816, ServerPacket.field2812, ServerPacket.field2813, ServerPacket.field2814, ServerPacket.field2817, ServerPacket.field2775, ServerPacket.field2842, ServerPacket.field2818, ServerPacket.field2819, ServerPacket.field2863, ServerPacket.field2806, ServerPacket.field2822, ServerPacket.field2823, ServerPacket.field2824, ServerPacket.field2825, ServerPacket.field2826, ServerPacket.field2827, ServerPacket.field2828, ServerPacket.field2829, ServerPacket.field2791, ServerPacket.field2831, ServerPacket.field2832, ServerPacket.field2833, ServerPacket.field2834, ServerPacket.field2835, ServerPacket.field2856, ServerPacket.field2803, ServerPacket.field2838, ServerPacket.field2839, ServerPacket.field2808, ServerPacket.field2841, ServerPacket.field2798, ServerPacket.field2843, ServerPacket.field2772, ServerPacket.field2845, ServerPacket.field2846, ServerPacket.field2847, ServerPacket.field2848, ServerPacket.field2849, ServerPacket.field2850, ServerPacket.field2788, ServerPacket.field2862, ServerPacket.field2853, ServerPacket.field2854, ServerPacket.field2855, ServerPacket.field2781, ServerPacket.field2857, ServerPacket.field2858, ServerPacket.field2859, ServerPacket.field2860, ServerPacket.field2861, ServerPacket.field2785, ServerPacket.field2801}; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IS)Lfn;", - garbageValue = "-27680" - ) - @Export("getParamDefinition") - public static ParamComposition getParamDefinition(int var0) { - ParamComposition var1 = (ParamComposition)ParamComposition.ParamDefinition_cached.get((long)var0); + @Export("getInvDefinition") + public static InvDefinition getInvDefinition(int var0) { + InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { - byte[] var2 = JagexCache.ParamDefinition_archive.takeFile(11, var0); - var1 = new ParamComposition(); + byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); + var1 = new InvDefinition(); if (var2 != null) { var1.decode(new Buffer(var2)); } - var1.postDecode(); - ParamComposition.ParamDefinition_cached.put(var1, (long)var0); + InvDefinition.InvDefinition_cached.put(var1, (long)var0); return var1; } } - @ObfuscatedName("jw") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "648862734" + descriptor = "(CI)Z", + garbageValue = "273507297" ) - static final void method3406(int var0) { - var0 = Math.min(Math.max(var0, 0), 255); - if (var0 != VarbitComposition.clientPreferences.musicVolume) { - if (VarbitComposition.clientPreferences.musicVolume == 0 && Client.currentTrackGroupId != -1) { - Decimator.method1051(class276.archive6, Client.currentTrackGroupId, 0, var0, false); - Client.field728 = false; - } else if (var0 == 0) { - Canvas.method371(); - Client.field728 = false; - } else if (class247.musicPlayerStatus != 0) { - class196.musicTrackVolume = var0; - } else { - class135.midiPcmStream.setPcmStreamVolume(var0); - } - - VarbitComposition.clientPreferences.musicVolume = var0; - DevicePcmPlayerProvider.savePreferences(); - } - + static boolean method3461(char var0) { + return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var0) != -1; } } diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index d61fa50ba8..5d2c4f586d 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -4,33 +4,40 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gz") +@ObfuscatedName("ga") @Implements("WorldMapLabel") public class WorldMapLabel { - @ObfuscatedName("n") + @ObfuscatedName("w") + public static short[][] field2180; + @ObfuscatedName("fg") + @ObfuscatedGetter( + intValue = 1364409407 + ) + static int field2176; + @ObfuscatedName("l") @Export("text") String text; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -844696425 + intValue = -445350199 ) @Export("width") int width; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 202703995 + intValue = 22712869 ) @Export("height") int height; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lfb;" + descriptor = "Lfc;" ) @Export("size") WorldMapLabelSize size; @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;IILfb;)V" + descriptor = "(Ljava/lang/String;IILfc;)V" ) WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { this.text = var1; @@ -38,115 +45,4 @@ public class WorldMapLabel { this.height = var3; this.size = var4; } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lnf;B)I", - garbageValue = "-71" - ) - public static final int method3810(LoginType var0) { - if (var0 == null) { - return 12; - } else { - switch(var0.field4206) { - case 4: - return 20; - default: - return 12; - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lkx;II)V", - garbageValue = "-1823606886" - ) - static void method3808(Archive var0, int var1) { - if (NetCache.NetCache_reference != null) { - NetCache.NetCache_reference.offset = var1 * 8 + 5; - int var2 = NetCache.NetCache_reference.readInt(); - int var3 = NetCache.NetCache_reference.readInt(); - var0.loadIndex(var2, var3); - } else { - UserList.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); - NetCache.NetCache_archives[var1] = var0; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lhg;IIII)Z", - garbageValue = "1277221877" - ) - static final boolean method3809(Model var0, int var1, int var2, int var3) { - if (!class319.method5768()) { - return false; - } else { - int var4; - int var5; - int var6; - int var7; - int var10; - int var11; - int var12; - int var15; - int var16; - if (!ViewportMouse.ViewportMouse_false0) { - var4 = Scene.Scene_cameraPitchSine; - var5 = Scene.Scene_cameraPitchCosine; - var6 = Scene.Scene_cameraYawSine; - var7 = Scene.Scene_cameraYawCosine; - byte var8 = 50; - short var9 = 3500; - var10 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var8 / Rasterizer3D.Rasterizer3D_zoom; - var11 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var8 / Rasterizer3D.Rasterizer3D_zoom; - var12 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var9 / Rasterizer3D.Rasterizer3D_zoom; - int var13 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var9 / Rasterizer3D.Rasterizer3D_zoom; - int var14 = Rasterizer3D.method4067(var11, var8, var5, var4); - var15 = Rasterizer3D.method4112(var11, var8, var5, var4); - var11 = var14; - var14 = Rasterizer3D.method4067(var13, var9, var5, var4); - var16 = Rasterizer3D.method4112(var13, var9, var5, var4); - var13 = var14; - var14 = Rasterizer3D.method4123(var10, var15, var7, var6); - var15 = Rasterizer3D.method4066(var10, var15, var7, var6); - var10 = var14; - var14 = Rasterizer3D.method4123(var12, var16, var7, var6); - var16 = Rasterizer3D.method4066(var12, var16, var7, var6); - WorldMapIcon_0.field2105 = (var14 + var10) / 2; - ViewportMouse.field2568 = (var13 + var11) / 2; - ViewportMouse.field2570 = (var15 + var16) / 2; - ViewportMouse.field2571 = (var14 - var10) / 2; - ViewportMouse.field2563 = (var13 - var11) / 2; - class115.field1380 = (var16 - var15) / 2; - GrandExchangeOfferOwnWorldComparator.field475 = Math.abs(ViewportMouse.field2571); - VarcInt.field1647 = Math.abs(ViewportMouse.field2563); - ViewportMouse.field2567 = Math.abs(class115.field1380); - } - - var4 = var0.xMid + var1; - var5 = var2 + var0.yMid; - var6 = var3 + var0.zMid; - var7 = var0.xMidOffset; - var15 = var0.yMidOffset; - var16 = var0.zMidOffset; - var10 = WorldMapIcon_0.field2105 - var4; - var11 = ViewportMouse.field2568 - var5; - var12 = ViewportMouse.field2570 - var6; - if (Math.abs(var10) > var7 + GrandExchangeOfferOwnWorldComparator.field475) { - return false; - } else if (Math.abs(var11) > var15 + VarcInt.field1647) { - return false; - } else if (Math.abs(var12) > var16 + ViewportMouse.field2567) { - return false; - } else if (Math.abs(var12 * ViewportMouse.field2563 - var11 * class115.field1380) > var15 * ViewportMouse.field2567 + var16 * VarcInt.field1647) { - return false; - } else if (Math.abs(var10 * class115.field1380 - var12 * ViewportMouse.field2571) > var7 * ViewportMouse.field2567 + var16 * GrandExchangeOfferOwnWorldComparator.field475) { - return false; - } else { - return Math.abs(var11 * ViewportMouse.field2571 - var10 * ViewportMouse.field2563) <= var15 * GrandExchangeOfferOwnWorldComparator.field475 + var7 * VarcInt.field1647; - } - } - } } diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index 1a44ae4686..d5a3676f7a 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -3,329 +3,1161 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fb") +@ObfuscatedName("fc") @Implements("WorldMapLabelSize") public class WorldMapLabelSize { - @ObfuscatedName("pl") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lni;" - ) - static class386 field2011; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lfb;" + descriptor = "Lfc;" ) @Export("WorldMapLabelSize_small") public static final WorldMapLabelSize WorldMapLabelSize_small; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lfb;" + descriptor = "Lfc;" ) @Export("WorldMapLabelSize_medium") public static final WorldMapLabelSize WorldMapLabelSize_medium; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lfb;" + descriptor = "Lfc;" ) @Export("WorldMapLabelSize_large") public static final WorldMapLabelSize WorldMapLabelSize_large; - @ObfuscatedName("fc") + @ObfuscatedName("fi") @ObfuscatedGetter( - intValue = -1581418795 + intValue = -493270791 ) - static int field2012; - @ObfuscatedName("mm") + @Export("worldPort") + static int worldPort; + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 449162423 + intValue = -153786259 ) - @Export("menuHeight") - static int menuHeight; + final int field2012; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1953042663 + ) + final int field2014; @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 511339007 - ) - final int field2005; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 2121496851 + intValue = -635469781 ) final int field2010; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1251340533 - ) - final int field2007; static { - WorldMapLabelSize_small = new WorldMapLabelSize(2, 0, 4); + WorldMapLabelSize_small = new WorldMapLabelSize(0, 0, 4); WorldMapLabelSize_medium = new WorldMapLabelSize(1, 1, 2); - WorldMapLabelSize_large = new WorldMapLabelSize(0, 2, 0); + WorldMapLabelSize_large = new WorldMapLabelSize(2, 2, 0); } WorldMapLabelSize(int var1, int var2, int var3) { - this.field2005 = var1; - this.field2010 = var2; - this.field2007 = var3; + this.field2012 = var1; + this.field2014 = var2; + this.field2010 = var3; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(FS)Z", - garbageValue = "9554" + descriptor = "(FI)Z", + garbageValue = "1395291796" ) - boolean method3379(float var1) { - return var1 >= (float)this.field2007; + boolean method3447(float var1) { + return var1 >= (float)this.field2010; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IB)Lfb;", - garbageValue = "54" + descriptor = "(II)Lem;", + garbageValue = "1099508444" ) - static WorldMapLabelSize method3380(int var0) { - WorldMapLabelSize[] var1 = new WorldMapLabelSize[]{WorldMapLabelSize_large, WorldMapLabelSize_small, WorldMapLabelSize_medium}; - WorldMapLabelSize[] var2 = var1; - - for (int var3 = 0; var3 < var2.length; ++var3) { - WorldMapLabelSize var4 = var2[var3]; - if (var0 == var4.field2010) { - return var4; + @Export("KitDefinition_get") + public static KitDefinition KitDefinition_get(int var0) { + KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); + var1 = new KitDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); } - } - return null; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1348368073" - ) - static int method3385(int var0, Script var1, boolean var2) { - if (var0 < 1000) { - return class247.method4617(var0, var1, var2); - } else if (var0 < 1100) { - return class14.method185(var0, var1, var2); - } else if (var0 < 1200) { - return WorldMapElement.method2852(var0, var1, var2); - } else if (var0 < 1300) { - return HealthBarUpdate.method2142(var0, var1, var2); - } else if (var0 < 1400) { - return WorldMapRegion.method3638(var0, var1, var2); - } else if (var0 < 1500) { - return method3386(var0, var1, var2); - } else if (var0 < 1600) { - return class283.method5093(var0, var1, var2); - } else if (var0 < 1700) { - return EnumComposition.method2941(var0, var1, var2); - } else if (var0 < 1800) { - return class295.method5305(var0, var1, var2); - } else if (var0 < 1900) { - return SpriteMask.method4856(var0, var1, var2); - } else if (var0 < 2000) { - return UserComparator4.method2388(var0, var1, var2); - } else if (var0 < 2100) { - return class14.method185(var0, var1, var2); - } else if (var0 < 2200) { - return WorldMapElement.method2852(var0, var1, var2); - } else if (var0 < 2300) { - return HealthBarUpdate.method2142(var0, var1, var2); - } else if (var0 < 2400) { - return WorldMapRegion.method3638(var0, var1, var2); - } else if (var0 < 2500) { - return method3386(var0, var1, var2); - } else if (var0 < 2600) { - return ApproximateRouteStrategy.method1123(var0, var1, var2); - } else if (var0 < 2700) { - return WorldMapArea.method3455(var0, var1, var2); - } else if (var0 < 2800) { - return class176.method3377(var0, var1, var2); - } else if (var0 < 2900) { - return class14.method190(var0, var1, var2); - } else if (var0 < 3000) { - return UserComparator4.method2388(var0, var1, var2); - } else if (var0 < 3200) { - return class184.method3721(var0, var1, var2); - } else if (var0 < 3300) { - return BuddyRankComparator.method2457(var0, var1, var2); - } else if (var0 < 3400) { - return class139.method2708(var0, var1, var2); - } else if (var0 < 3500) { - return class29.method421(var0, var1, var2); - } else if (var0 < 3600) { - return World.method1661(var0, var1, var2); - } else if (var0 < 3700) { - return ClientPreferences.method2200(var0, var1, var2); - } else if (var0 < 3800) { - return Renderable.method4319(var0, var1, var2); - } else if (var0 < 3900) { - return MusicPatchPcmStream.method4837(var0, var1, var2); - } else if (var0 < 4000) { - return class91.method2230(var0, var1, var2); - } else if (var0 < 4100) { - return WorldMapDecoration.method3801(var0, var1, var2); - } else if (var0 < 4200) { - return UserComparator8.method2398(var0, var1, var2); - } else if (var0 < 4300) { - return Ignored.method6061(var0, var1, var2); - } else if (var0 < 5100) { - return class112.method2468(var0, var1, var2); - } else if (var0 < 5400) { - return KeyHandler.method360(var0, var1, var2); - } else if (var0 < 5600) { - return class323.method5819(var0, var1, var2); - } else if (var0 < 5700) { - return Varps.method4867(var0, var1, var2); - } else if (var0 < 6300) { - return Friend.method5916(var0, var1, var2); - } else if (var0 < 6600) { - return Language.method5401(var0, var1, var2); - } else if (var0 < 6700) { - return class12.method173(var0, var1, var2); - } else if (var0 < 6800) { - return class29.method423(var0, var1, var2); - } else if (var0 < 6900) { - return class78.method2043(var0, var1, var2); - } else if (var0 < 7000) { - return EnumComposition.method2938(var0, var1, var2); - } else if (var0 < 7100) { - return WorldMapSectionType.method3769(var0, var1, var2); - } else if (var0 < 7200) { - return GrandExchangeOffer.method5345(var0, var1, var2); - } else { - return var0 < 7300 ? Renderable.method4326(var0, var1, var2) : 2; + KitDefinition.KitDefinition_cached.put(var1, (long)var0); + return var1; } } - @ObfuscatedName("y") + @ObfuscatedName("z") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "10" + descriptor = "(B)V", + garbageValue = "31" ) - static int method3386(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - } else { - var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - } + public static void method3446() { + ItemComposition.ItemDefinition_cached.clear(); + ItemComposition.ItemDefinition_cachedModels.clear(); + ItemComposition.ItemDefinition_cachedSprites.clear(); + } - String var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - int[] var5 = null; - if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { - int var6 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var6 > 0) { - for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]) { + @ObfuscatedName("gi") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1948532333" + ) + static final void method3448() { + MouseRecorder.method2075(false); + Client.field764 = 0; + boolean var0 = true; + + int var1; + for (var1 = 0; var1 < class28.regionLandArchives.length; ++var1) { + if (Canvas.regionMapArchiveIds[var1] != -1 && class28.regionLandArchives[var1] == null) { + class28.regionLandArchives[var1] = ApproximateRouteStrategy.archive5.takeFile(Canvas.regionMapArchiveIds[var1], 0); + if (class28.regionLandArchives[var1] == null) { + var0 = false; + ++Client.field764; } } - var4 = var4.substring(0, var4.length() - 1); + if (GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var1] != -1 && Client.regionMapArchives[var1] == null) { + Client.regionMapArchives[var1] = ApproximateRouteStrategy.archive5.takeFileEncrypted(GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var1], 0, ModeWhere.xteaKeys[var1]); + if (Client.regionMapArchives[var1] == null) { + var0 = false; + ++Client.field764; + } + } } - Object[] var8 = new Object[var4.length() + 1]; + if (!var0) { + Client.field534 = 1; + } else { + Client.field545 = 0; + var0 = true; - int var7; - for (var7 = var8.length - 1; var7 >= 1; --var7) { - if (var4.charAt(var7 - 1) == 's') { - var8[var7] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + int var4; + int var57; + for (var1 = 0; var1 < class28.regionLandArchives.length; ++var1) { + byte[] var2 = Client.regionMapArchives[var1]; + if (var2 != null) { + var57 = (class129.regions[var1] >> 8) * 64 - WorldMapSectionType.baseX; + var4 = (class129.regions[var1] & 255) * 64 - PlayerComposition.baseY; + if (Client.isInInstance) { + var57 = 10; + var4 = 10; + } + + var0 &= class130.method2682(var2, var57, var4); + } + } + + if (!var0) { + Client.field534 = 2; } else { - var8[var7] = new Integer(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); + if (Client.field534 != 0) { + ScriptFrame.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); + } + + class356.playPcmPlayers(); + PlayerComposition.scene.clear(); + + for (var1 = 0; var1 < 4; ++var1) { + Client.collisionMaps[var1].clear(); + } + + int var49; + for (var1 = 0; var1 < 4; ++var1) { + for (var49 = 0; var49 < 104; ++var49) { + for (var57 = 0; var57 < 104; ++var57) { + Tiles.Tiles_renderFlags[var1][var49][var57] = 0; + } + } + } + + class356.playPcmPlayers(); + Tiles.Tiles_minPlane = 99; + Tiles.Tiles_underlays = new byte[4][104][104]; + Tiles.Tiles_overlays = new byte[4][104][104]; + class14.Tiles_shapes = new byte[4][104][104]; + GrandExchangeEvent.field3760 = new byte[4][104][104]; + Huffman.field3203 = new int[4][105][105]; + class281.field3323 = new byte[4][105][105]; + Tiles.field981 = new int[105][105]; + class11.Tiles_hue = new int[104]; + Tiles.Tiles_saturation = new int[104]; + Tiles.Tiles_lightness = new int[104]; + Client.Tiles_hueMultiplier = new int[104]; + Tiles.field984 = new int[104]; + var1 = class28.regionLandArchives.length; + + for (ObjectSound var68 = (ObjectSound)ObjectSound.objectSounds.last(); var68 != null; var68 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var68.stream1 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var68.stream1); + var68.stream1 = null; + } + + if (var68.stream2 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var68.stream2); + var68.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + MouseRecorder.method2075(true); + int var5; + int var9; + int var10; + int var11; + int var12; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + int var20; + int var21; + if (!Client.isInInstance) { + byte[] var50; + for (var49 = 0; var49 < var1; ++var49) { + var57 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX; + var4 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY; + var50 = class28.regionLandArchives[var49]; + if (var50 != null) { + class356.playPcmPlayers(); + WorldMapEvent.method4018(var50, var57, var4, HealthBarDefinition.field1671 * 8 - 48, WorldMapArea.field2053 * 8 - 48, Client.collisionMaps); + } + } + + for (var49 = 0; var49 < var1; ++var49) { + var57 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX; + var4 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY; + var50 = class28.regionLandArchives[var49]; + if (var50 == null && WorldMapArea.field2053 < 800) { + class356.playPcmPlayers(); + MouseHandler.method586(var57, var4, 64, 64); + } + } + + MouseRecorder.method2075(true); + + for (var49 = 0; var49 < var1; ++var49) { + byte[] var3 = Client.regionMapArchives[var49]; + if (var3 != null) { + var4 = (class129.regions[var49] >> 8) * 64 - WorldMapSectionType.baseX; + var5 = (class129.regions[var49] & 255) * 64 - PlayerComposition.baseY; + class356.playPcmPlayers(); + Scene var64 = PlayerComposition.scene; + CollisionMap[] var65 = Client.collisionMaps; + Buffer var66 = new Buffer(var3); + var9 = -1; + + while (true) { + var10 = var66.method7037(); + if (var10 == 0) { + break; + } + + var9 += var10; + var11 = 0; + + while (true) { + var12 = var66.readUShortSmart(); + if (var12 == 0) { + break; + } + + var11 += var12 - 1; + var13 = var11 & 63; + var14 = var11 >> 6 & 63; + var15 = var11 >> 12; + var16 = var66.readUnsignedByte(); + var17 = var16 >> 2; + var18 = var16 & 3; + var19 = var14 + var4; + var20 = var13 + var5; + if (var19 > 0 && var20 > 0 && var19 < 103 && var20 < 103) { + var21 = var15; + if ((Tiles.Tiles_renderFlags[1][var19][var20] & 2) == 2) { + var21 = var15 - 1; + } + + CollisionMap var67 = null; + if (var21 >= 0) { + var67 = var65[var21]; + } + + class7.method64(var15, var19, var20, var9, var18, var17, var64, var67); + } + } + } + } + } + } + + int var6; + int var7; + int var8; + int[] var10000; + int var22; + int var23; + int var24; + int var25; + int var26; + int var27; + int var28; + int var29; + int var32; + int var33; + int var34; + int var35; + int var36; + int var41; + int var42; + int var43; + int var44; + int var45; + int var53; + int var54; + if (Client.isInInstance) { + CollisionMap[] var56; + Buffer var59; + for (var49 = 0; var49 < 4; ++var49) { + class356.playPcmPlayers(); + + for (var57 = 0; var57 < 13; ++var57) { + for (var4 = 0; var4 < 13; ++var4) { + boolean var71 = false; + var6 = Client.instanceChunkTemplates[var49][var57][var4]; + if (var6 != -1) { + var7 = var6 >> 24 & 3; + var8 = var6 >> 1 & 3; + var9 = var6 >> 14 & 1023; + var10 = var6 >> 3 & 2047; + var11 = (var9 / 8 << 8) + var10 / 8; + + for (var12 = 0; var12 < class129.regions.length; ++var12) { + if (class129.regions[var12] == var11 && class28.regionLandArchives[var12] != null) { + byte[] var63 = class28.regionLandArchives[var12]; + var14 = var57 * 8; + var15 = var4 * 8; + var16 = (var9 & 7) * 8; + var17 = (var10 & 7) * 8; + var56 = Client.collisionMaps; + + for (var19 = 0; var19 < 8; ++var19) { + for (var20 = 0; var20 < 8; ++var20) { + if (var14 + var19 > 0 && var14 + var19 < 103 && var15 + var20 > 0 && var20 + var15 < 103) { + var10000 = var56[var49].flags[var19 + var14]; + var10000[var20 + var15] &= -16777217; + } + } + } + + var59 = new Buffer(var63); + + for (var20 = 0; var20 < 4; ++var20) { + for (var21 = 0; var21 < 64; ++var21) { + for (var22 = 0; var22 < 64; ++var22) { + if (var20 == var7 && var21 >= var16 && var21 < var16 + 8 && var22 >= var17 && var22 < var17 + 8) { + VarpDefinition.loadTerrain(var59, var49, var14 + EnumComposition.method2998(var21 & 7, var22 & 7, var8), var15 + Canvas.method374(var21 & 7, var22 & 7, var8), 0, 0, var8); + } else { + VarpDefinition.loadTerrain(var59, 0, -1, -1, 0, 0, 0); + } + } + } + } + + var71 = true; + break; + } + } + } + + if (!var71) { + var7 = var49; + var8 = var57 * 8; + var9 = var4 * 8; + + for (var10 = 0; var10 < 8; ++var10) { + for (var11 = 0; var11 < 8; ++var11) { + Tiles.Tiles_heights[var7][var8 + var10][var9 + var11] = 0; + } + } + + if (var8 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var8][var10 + var9] = Tiles.Tiles_heights[var7][var8 - 1][var9 + var10]; + } + } + + if (var9 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var10 + var8][var9] = Tiles.Tiles_heights[var7][var8 + var10][var9 - 1]; + } + } + + if (var8 > 0 && Tiles.Tiles_heights[var7][var8 - 1][var9] != 0) { + Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8 - 1][var9]; + } else if (var9 > 0 && Tiles.Tiles_heights[var7][var8][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8][var9 - 1]; + } else if (var8 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var8 - 1][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var8][var9] = Tiles.Tiles_heights[var7][var8 - 1][var9 - 1]; + } + } + } + } + } + + for (var49 = 0; var49 < 13; ++var49) { + for (var57 = 0; var57 < 13; ++var57) { + var4 = Client.instanceChunkTemplates[0][var49][var57]; + if (var4 == -1) { + MouseHandler.method586(var49 * 8, var57 * 8, 8, 8); + } + } + } + + MouseRecorder.method2075(true); + + for (var49 = 0; var49 < 4; ++var49) { + class356.playPcmPlayers(); + + for (var57 = 0; var57 < 13; ++var57) { + label1200: + for (var4 = 0; var4 < 13; ++var4) { + var5 = Client.instanceChunkTemplates[var49][var57][var4]; + if (var5 != -1) { + var6 = var5 >> 24 & 3; + var7 = var5 >> 1 & 3; + var8 = var5 >> 14 & 1023; + var9 = var5 >> 3 & 2047; + var10 = (var8 / 8 << 8) + var9 / 8; + + for (var11 = 0; var11 < class129.regions.length; ++var11) { + if (class129.regions[var11] == var10 && Client.regionMapArchives[var11] != null) { + byte[] var58 = Client.regionMapArchives[var11]; + var13 = var57 * 8; + var14 = var4 * 8; + var15 = (var8 & 7) * 8; + var16 = (var9 & 7) * 8; + Scene var55 = PlayerComposition.scene; + var56 = Client.collisionMaps; + var59 = new Buffer(var58); + var20 = -1; + + while (true) { + var21 = var59.method7037(); + if (var21 == 0) { + continue label1200; + } + + var20 += var21; + var22 = 0; + + while (true) { + var23 = var59.readUShortSmart(); + if (var23 == 0) { + break; + } + + var22 += var23 - 1; + var24 = var22 & 63; + var25 = var22 >> 6 & 63; + var26 = var22 >> 12; + var27 = var59.readUnsignedByte(); + var28 = var27 >> 2; + var29 = var27 & 3; + if (var26 == var6 && var25 >= var15 && var25 < var15 + 8 && var24 >= var16 && var24 < var16 + 8) { + ObjectComposition var60 = class245.getObjectDefinition(var20); + var33 = var25 & 7; + var34 = var24 & 7; + var36 = var60.sizeX; + int var61 = var60.sizeY; + if ((var29 & 1) == 1) { + var53 = var36; + var36 = var61; + var61 = var53; + } + + var35 = var7 & 3; + if (var35 == 0) { + var32 = var33; + } else if (var35 == 1) { + var32 = var34; + } else if (var35 == 2) { + var32 = 7 - var33 - (var36 - 1); + } else { + var32 = 7 - var34 - (var61 - 1); + } + + var53 = var13 + var32; + var41 = var25 & 7; + var42 = var24 & 7; + var44 = var60.sizeX; + var45 = var60.sizeY; + int var46; + if ((var29 & 1) == 1) { + var46 = var44; + var44 = var45; + var45 = var46; + } + + var43 = var7 & 3; + if (var43 == 0) { + var54 = var42; + } else if (var43 == 1) { + var54 = 7 - var41 - (var44 - 1); + } else if (var43 == 2) { + var54 = 7 - var42 - (var45 - 1); + } else { + var54 = var41; + } + + var46 = var54 + var14; + if (var53 > 0 && var46 > 0 && var53 < 103 && var46 < 103) { + int var47 = var49; + if ((Tiles.Tiles_renderFlags[1][var53][var46] & 2) == 2) { + var47 = var49 - 1; + } + + CollisionMap var48 = null; + if (var47 >= 0) { + var48 = var56[var47]; + } + + class7.method64(var49, var53, var46, var20, var29 + var7 & 3, var28, var55, var48); + } + } + } + } + } + } + } + } + } + } + } + + MouseRecorder.method2075(true); + class356.playPcmPlayers(); + Scene var69 = PlayerComposition.scene; + CollisionMap[] var70 = Client.collisionMaps; + + for (var4 = 0; var4 < 4; ++var4) { + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + if ((Tiles.Tiles_renderFlags[var4][var5][var6] & 1) == 1) { + var7 = var4; + if ((Tiles.Tiles_renderFlags[1][var5][var6] & 2) == 2) { + var7 = var4 - 1; + } + + if (var7 >= 0) { + var70[var7].setBlockedByFloor(var5, var6); + } + } + } + } + } + + Tiles.rndHue += (int)(Math.random() * 5.0D) - 2; + if (Tiles.rndHue < -8) { + Tiles.rndHue = -8; + } + + if (Tiles.rndHue > 8) { + Tiles.rndHue = 8; + } + + Tiles.rndLightness += (int)(Math.random() * 5.0D) - 2; + if (Tiles.rndLightness < -16) { + Tiles.rndLightness = -16; + } + + if (Tiles.rndLightness > 16) { + Tiles.rndLightness = 16; + } + + for (var4 = 0; var4 < 4; ++var4) { + byte[][] var75 = class281.field3323[var4]; + var11 = (int)Math.sqrt(5100.0D); + var12 = var11 * 768 >> 8; + + for (var13 = 1; var13 < 103; ++var13) { + for (var14 = 1; var14 < 103; ++var14) { + var15 = Tiles.Tiles_heights[var4][var14 + 1][var13] - Tiles.Tiles_heights[var4][var14 - 1][var13]; + var16 = Tiles.Tiles_heights[var4][var14][var13 + 1] - Tiles.Tiles_heights[var4][var14][var13 - 1]; + var17 = (int)Math.sqrt((double)(var15 * var15 + var16 * var16 + 65536)); + var18 = (var15 << 8) / var17; + var19 = 65536 / var17; + var20 = (var16 << 8) / var17; + var21 = (var20 * -50 + var18 * -50 + var19 * -10) / var12 + 96; + var22 = (var75[var14][var13 + 1] >> 3) + (var75[var14 - 1][var13] >> 2) + (var75[var14][var13 - 1] >> 2) + (var75[var14 + 1][var13] >> 3) + (var75[var14][var13] >> 1); + Tiles.field981[var14][var13] = var21 - var22; + } + } + + for (var13 = 0; var13 < 104; ++var13) { + class11.Tiles_hue[var13] = 0; + Tiles.Tiles_saturation[var13] = 0; + Tiles.Tiles_lightness[var13] = 0; + Client.Tiles_hueMultiplier[var13] = 0; + Tiles.field984[var13] = 0; + } + + for (var13 = -5; var13 < 109; ++var13) { + for (var14 = 0; var14 < 104; ++var14) { + var15 = var13 + 5; + int var10002; + if (var15 >= 0 && var15 < 104) { + var16 = Tiles.Tiles_underlays[var4][var15][var14] & 255; + if (var16 > 0) { + FloorUnderlayDefinition var78 = HealthBar.method2214(var16 - 1); + var10000 = class11.Tiles_hue; + var10000[var14] += var78.hue; + var10000 = Tiles.Tiles_saturation; + var10000[var14] += var78.saturation; + var10000 = Tiles.Tiles_lightness; + var10000[var14] += var78.lightness; + var10000 = Client.Tiles_hueMultiplier; + var10000[var14] += var78.hueMultiplier; + var10002 = Tiles.field984[var14]++; + } + } + + var16 = var13 - 5; + if (var16 >= 0 && var16 < 104) { + var17 = Tiles.Tiles_underlays[var4][var16][var14] & 255; + if (var17 > 0) { + FloorUnderlayDefinition var79 = HealthBar.method2214(var17 - 1); + var10000 = class11.Tiles_hue; + var10000[var14] -= var79.hue; + var10000 = Tiles.Tiles_saturation; + var10000[var14] -= var79.saturation; + var10000 = Tiles.Tiles_lightness; + var10000[var14] -= var79.lightness; + var10000 = Client.Tiles_hueMultiplier; + var10000[var14] -= var79.hueMultiplier; + var10002 = Tiles.field984[var14]--; + } + } + } + + if (var13 >= 1 && var13 < 103) { + var14 = 0; + var15 = 0; + var16 = 0; + var17 = 0; + var18 = 0; + + for (var19 = -5; var19 < 109; ++var19) { + var20 = var19 + 5; + if (var20 >= 0 && var20 < 104) { + var14 += class11.Tiles_hue[var20]; + var15 += Tiles.Tiles_saturation[var20]; + var16 += Tiles.Tiles_lightness[var20]; + var17 += Client.Tiles_hueMultiplier[var20]; + var18 += Tiles.field984[var20]; + } + + var21 = var19 - 5; + if (var21 >= 0 && var21 < 104) { + var14 -= class11.Tiles_hue[var21]; + var15 -= Tiles.Tiles_saturation[var21]; + var16 -= Tiles.Tiles_lightness[var21]; + var17 -= Client.Tiles_hueMultiplier[var21]; + var18 -= Tiles.field984[var21]; + } + + if (var19 >= 1 && var19 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var13][var19] & 2) != 0 || (Tiles.Tiles_renderFlags[var4][var13][var19] & 16) == 0)) { + if (var4 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var4; + } + + var22 = Tiles.Tiles_underlays[var4][var13][var19] & 255; + var23 = Tiles.Tiles_overlays[var4][var13][var19] & 255; + if (var22 > 0 || var23 > 0) { + var24 = Tiles.Tiles_heights[var4][var13][var19]; + var25 = Tiles.Tiles_heights[var4][var13 + 1][var19]; + var26 = Tiles.Tiles_heights[var4][var13 + 1][var19 + 1]; + var27 = Tiles.Tiles_heights[var4][var13][var19 + 1]; + var28 = Tiles.field981[var13][var19]; + var29 = Tiles.field981[var13 + 1][var19]; + int var30 = Tiles.field981[var13 + 1][var19 + 1]; + int var31 = Tiles.field981[var13][var19 + 1]; + var32 = -1; + var33 = -1; + if (var22 > 0) { + var34 = var14 * 256 / var17; + var35 = var15 / var18; + var36 = var16 / var18; + var32 = NPCComposition.hslToRgb(var34, var35, var36); + var34 = var34 + Tiles.rndHue & 255; + var36 += Tiles.rndLightness; + if (var36 < 0) { + var36 = 0; + } else if (var36 > 255) { + var36 = 255; + } + + var33 = NPCComposition.hslToRgb(var34, var35, var36); + } + + FloorOverlayDefinition var37; + if (var4 > 0) { + boolean var73 = true; + if (var22 == 0 && class14.Tiles_shapes[var4][var13][var19] != 0) { + var73 = false; + } + + if (var23 > 0) { + var36 = var23 - 1; + var37 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var36); + FloorOverlayDefinition var52; + if (var37 != null) { + var52 = var37; + } else { + byte[] var38 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var36); + var37 = new FloorOverlayDefinition(); + if (var38 != null) { + var37.decode(new Buffer(var38), var36); + } + + var37.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var37, (long)var36); + var52 = var37; + } + + if (!var52.hideUnderlay) { + var73 = false; + } + } + + if (var73 && var25 == var24 && var26 == var24 && var27 == var24) { + var10000 = Huffman.field3203[var4][var13]; + var10000[var19] |= 2340; + } + } + + var34 = 0; + if (var33 != -1) { + var34 = Rasterizer3D.Rasterizer3D_colorPalette[class128.method2663(var33, 96)]; + } + + if (var23 == 0) { + var69.addTile(var4, var13, var19, 0, 0, -1, var24, var25, var26, var27, class128.method2663(var32, var28), class128.method2663(var32, var29), class128.method2663(var32, var30), class128.method2663(var32, var31), 0, 0, 0, 0, var34, 0); + } else { + var35 = class14.Tiles_shapes[var4][var13][var19] + 1; + byte var74 = GrandExchangeEvent.field3760[var4][var13][var19]; + var53 = var23 - 1; + FloorOverlayDefinition var39 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var53); + if (var39 != null) { + var37 = var39; + } else { + byte[] var40 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var53); + var39 = new FloorOverlayDefinition(); + if (var40 != null) { + var39.decode(new Buffer(var40), var53); + } + + var39.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var39, (long)var53); + var37 = var39; + } + + var54 = var37.texture; + if (var54 >= 0) { + var42 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var54); + var41 = -1; + } else if (var37.primaryRgb == 16711935) { + var41 = -2; + var54 = -1; + var42 = -2; + } else { + var41 = NPCComposition.hslToRgb(var37.hue, var37.saturation, var37.lightness); + var43 = var37.hue + Tiles.rndHue & 255; + var44 = var37.lightness + Tiles.rndLightness; + if (var44 < 0) { + var44 = 0; + } else if (var44 > 255) { + var44 = 255; + } + + var42 = NPCComposition.hslToRgb(var43, var37.saturation, var44); + } + + var43 = 0; + if (var42 != -2) { + var43 = Rasterizer3D.Rasterizer3D_colorPalette[MouseHandler.method612(var42, 96)]; + } + + if (var37.secondaryRgb != -1) { + var44 = var37.secondaryHue + Tiles.rndHue & 255; + var45 = var37.secondaryLightness + Tiles.rndLightness; + if (var45 < 0) { + var45 = 0; + } else if (var45 > 255) { + var45 = 255; + } + + var42 = NPCComposition.hslToRgb(var44, var37.secondarySaturation, var45); + var43 = Rasterizer3D.Rasterizer3D_colorPalette[MouseHandler.method612(var42, 96)]; + } + + var69.addTile(var4, var13, var19, var35, var74, var54, var24, var25, var26, var27, class128.method2663(var32, var28), class128.method2663(var32, var29), class128.method2663(var32, var30), class128.method2663(var32, var31), MouseHandler.method612(var41, var28), MouseHandler.method612(var41, var29), MouseHandler.method612(var41, var30), MouseHandler.method612(var41, var31), var34, var43); + } + } + } + } + } + } + + for (var13 = 1; var13 < 103; ++var13) { + for (var14 = 1; var14 < 103; ++var14) { + if ((Tiles.Tiles_renderFlags[var4][var14][var13] & 8) != 0) { + var19 = 0; + } else if (var4 > 0 && (Tiles.Tiles_renderFlags[1][var14][var13] & 2) != 0) { + var19 = var4 - 1; + } else { + var19 = var4; + } + + var69.setTileMinPlane(var4, var14, var13, var19); + } + } + + Tiles.Tiles_underlays[var4] = null; + Tiles.Tiles_overlays[var4] = null; + class14.Tiles_shapes[var4] = null; + GrandExchangeEvent.field3760[var4] = null; + class281.field3323[var4] = null; + } + + var69.method4228(-50, -10, -50); + + for (var4 = 0; var4 < 104; ++var4) { + for (var5 = 0; var5 < 104; ++var5) { + if ((Tiles.Tiles_renderFlags[1][var4][var5] & 2) == 2) { + var69.setLinkBelow(var4, var5); + } + } + } + + var4 = 1; + var5 = 2; + var6 = 4; + + for (var7 = 0; var7 < 4; ++var7) { + if (var7 > 0) { + var4 <<= 3; + var5 <<= 3; + var6 <<= 3; + } + + for (var8 = 0; var8 <= var7; ++var8) { + for (var9 = 0; var9 <= 104; ++var9) { + for (var10 = 0; var10 <= 104; ++var10) { + short var72; + if ((Huffman.field3203[var8][var10][var9] & var4) != 0) { + var11 = var9; + var12 = var9; + var13 = var8; + + for (var14 = var8; var11 > 0 && (Huffman.field3203[var8][var10][var11 - 1] & var4) != 0; --var11) { + } + + while (var12 < 104 && (Huffman.field3203[var8][var10][var12 + 1] & var4) != 0) { + ++var12; + } + + label928: + while (var13 > 0) { + for (var15 = var11; var15 <= var12; ++var15) { + if ((Huffman.field3203[var13 - 1][var10][var15] & var4) == 0) { + break label928; + } + } + + --var13; + } + + label917: + while (var14 < var7) { + for (var15 = var11; var15 <= var12; ++var15) { + if ((Huffman.field3203[var14 + 1][var10][var15] & var4) == 0) { + break label917; + } + } + + ++var14; + } + + var15 = (var12 - var11 + 1) * (var14 + 1 - var13); + if (var15 >= 8) { + var72 = 240; + var17 = Tiles.Tiles_heights[var14][var10][var11] - var72; + var18 = Tiles.Tiles_heights[var13][var10][var11]; + Scene.Scene_addOccluder(var7, 1, var10 * 128, var10 * 128, var11 * 128, var12 * 128 + 128, var17, var18); + + for (var19 = var13; var19 <= var14; ++var19) { + for (var20 = var11; var20 <= var12; ++var20) { + var10000 = Huffman.field3203[var19][var10]; + var10000[var20] &= ~var4; + } + } + } + } + + if ((Huffman.field3203[var8][var10][var9] & var5) != 0) { + var11 = var10; + var12 = var10; + var13 = var8; + + for (var14 = var8; var11 > 0 && (Huffman.field3203[var8][var11 - 1][var9] & var5) != 0; --var11) { + } + + while (var12 < 104 && (Huffman.field3203[var8][var12 + 1][var9] & var5) != 0) { + ++var12; + } + + label981: + while (var13 > 0) { + for (var15 = var11; var15 <= var12; ++var15) { + if ((Huffman.field3203[var13 - 1][var15][var9] & var5) == 0) { + break label981; + } + } + + --var13; + } + + label970: + while (var14 < var7) { + for (var15 = var11; var15 <= var12; ++var15) { + if ((Huffman.field3203[var14 + 1][var15][var9] & var5) == 0) { + break label970; + } + } + + ++var14; + } + + var15 = (var12 - var11 + 1) * (var14 + 1 - var13); + if (var15 >= 8) { + var72 = 240; + var17 = Tiles.Tiles_heights[var14][var11][var9] - var72; + var18 = Tiles.Tiles_heights[var13][var11][var9]; + Scene.Scene_addOccluder(var7, 2, var11 * 128, var12 * 128 + 128, var9 * 128, var9 * 128, var17, var18); + + for (var19 = var13; var19 <= var14; ++var19) { + for (var20 = var11; var20 <= var12; ++var20) { + var10000 = Huffman.field3203[var19][var20]; + var10000[var9] &= ~var5; + } + } + } + } + + if ((Huffman.field3203[var8][var10][var9] & var6) != 0) { + var11 = var10; + var12 = var10; + var13 = var9; + + for (var14 = var9; var13 > 0 && (Huffman.field3203[var8][var10][var13 - 1] & var6) != 0; --var13) { + } + + while (var14 < 104 && (Huffman.field3203[var8][var10][var14 + 1] & var6) != 0) { + ++var14; + } + + label1034: + while (var11 > 0) { + for (var15 = var13; var15 <= var14; ++var15) { + if ((Huffman.field3203[var8][var11 - 1][var15] & var6) == 0) { + break label1034; + } + } + + --var11; + } + + label1023: + while (var12 < 104) { + for (var15 = var13; var15 <= var14; ++var15) { + if ((Huffman.field3203[var8][var12 + 1][var15] & var6) == 0) { + break label1023; + } + } + + ++var12; + } + + if ((var14 - var13 + 1) * (var12 - var11 + 1) >= 4) { + var15 = Tiles.Tiles_heights[var8][var11][var13]; + Scene.Scene_addOccluder(var7, 4, var11 * 128, var12 * 128 + 128, var13 * 128, var14 * 128 + 128, var15, var15); + + for (var16 = var11; var16 <= var12; ++var16) { + for (var17 = var13; var17 <= var14; ++var17) { + var10000 = Huffman.field3203[var8][var16]; + var10000[var17] &= ~var6; + } + } + } + } + } + } + } + } + + MouseRecorder.method2075(true); + var4 = Tiles.Tiles_minPlane; + if (var4 > VertexNormal.Client_plane) { + var4 = VertexNormal.Client_plane; + } + + if (var4 < VertexNormal.Client_plane - 1) { + var4 = VertexNormal.Client_plane - 1; + } + + if (Client.isLowDetail) { + PlayerComposition.scene.init(Tiles.Tiles_minPlane); + } else { + PlayerComposition.scene.init(0); + } + + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + HealthBarUpdate.updateItemPile(var5, var6); + } + } + + class356.playPcmPlayers(); + + for (PendingSpawn var76 = (PendingSpawn)Client.pendingSpawns.last(); var76 != null; var76 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var76.hitpoints == -1) { + var76.delay = 0; + Script.method1969(var76); + } else { + var76.remove(); + } + } + + ObjectComposition.ObjectDefinition_cachedModelData.clear(); + PacketBufferNode var77; + if (class21.client.hasFrame()) { + var77 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2723, Client.packetWriter.isaacCipher); + var77.packetBuffer.writeInt(1057001181); + Client.packetWriter.addNode(var77); + } + + if (!Client.isInInstance) { + var5 = (HealthBarDefinition.field1671 - 6) / 8; + var6 = (HealthBarDefinition.field1671 + 6) / 8; + var7 = (WorldMapArea.field2053 - 6) / 8; + var8 = (WorldMapArea.field2053 + 6) / 8; + + for (var9 = var5 - 1; var9 <= var6 + 1; ++var9) { + for (var10 = var7 - 1; var10 <= var8 + 1; ++var10) { + if (var9 < var5 || var9 > var6 || var10 < var7 || var10 > var8) { + ApproximateRouteStrategy.archive5.loadRegionFromName("m" + var9 + "_" + var10); + ApproximateRouteStrategy.archive5.loadRegionFromName("l" + var9 + "_" + var10); + } + } + } + } + + UserList.updateGameState(30); + class356.playPcmPlayers(); + SecureRandomCallable.method2036(); + var77 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2680, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var77); + LoginPacket.clock.mark(); + + for (var6 = 0; var6 < 32; ++var6) { + GameEngine.graphicsTickTimes[var6] = 0L; + } + + for (var6 = 0; var6 < 32; ++var6) { + GameEngine.clientTickTimes[var6] = 0L; + } + + GameEngine.gameCyclesToDo = 0; } } - - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var7 != -1) { - var8[0] = new Integer(var7); - } else { - var8 = null; - } - - if (var0 == ScriptOpcodes.CC_SETONCLICK) { - var3.onClick = var8; - } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { - var3.onHold = var8; - } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { - var3.onRelease = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { - var3.onMouseOver = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { - var3.onMouseLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { - var3.onDrag = var8; - } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { - var3.onTargetLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { - var3.onVarTransmit = var8; - var3.varTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { - var3.onTimer = var8; - } else if (var0 == ScriptOpcodes.CC_SETONOP) { - var3.onOp = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { - var3.onDragComplete = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { - var3.onClickRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { - var3.onMouseRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { - var3.onInvTransmit = var8; - var3.invTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { - var3.onStatTransmit = var8; - var3.statTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { - var3.onTargetEnter = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { - var3.onScroll = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { - var3.onChatTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONKEY) { - var3.onKey = var8; - } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { - var3.onFriendTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { - var3.onClanTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { - var3.onMiscTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { - var3.onDialogAbort = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { - var3.onSubChange = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { - var3.onStockTransmit = var8; - } else if (var0 == 1426) { - var3.field3174 = var8; - } else if (var0 == ScriptOpcodes.CC_SETONRESIZE) { - var3.onResize = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLANSETTINGSTRANSMIT) { - var3.field3159 = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLANCHANNELTRANSMIT) { - var3.field3160 = var8; - } else if (var0 == 1430) { - var3.field3155 = var8; - } else { - if (var0 != 1431) { - return 2; - } - - var3.field3069 = var8; - } - - var3.hasListener = true; - return 1; } - @ObfuscatedName("gz") + @ObfuscatedName("jw") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "123867900" + garbageValue = "-220787387" ) - static void method3387() { - if (Client.renderSelf) { - class114.addPlayerToScene(class129.localPlayer, false); + static final void method3445() { + PacketBufferNode var0 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2669, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var0); + + for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { + if (var1.type == 0 || var1.type == 3) { + closeInterface(var1, true); + } + } + + if (Client.meslayerContinueWidget != null) { + class16.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; + } + + } + + @ObfuscatedName("js") + @ObfuscatedSignature( + descriptor = "(Lct;ZS)V", + garbageValue = "-12050" + ) + @Export("closeInterface") + static final void closeInterface(InterfaceParent var0, boolean var1) { + int var2 = var0.group; + int var3 = (int)var0.key; + var0.remove(); + if (var1 && var2 != -1 && class157.Widget_loadedInterfaces[var2]) { + Widget.Widget_archive.clearFilesGroup(var2); + if (Widget.Widget_interfaceComponents[var2] != null) { + boolean var4 = true; + + for (int var5 = 0; var5 < Widget.Widget_interfaceComponents[var2].length; ++var5) { + if (Widget.Widget_interfaceComponents[var2][var5] != null) { + if (Widget.Widget_interfaceComponents[var2][var5].type != 2) { + Widget.Widget_interfaceComponents[var2][var5] = null; + } else { + var4 = false; + } + } + } + + if (var4) { + Widget.Widget_interfaceComponents[var2] = null; + } + + class157.Widget_loadedInterfaces[var2] = false; + } + } + + for (IntegerNode var6 = (IntegerNode)Client.widgetFlags.first(); var6 != null; var6 = (IntegerNode)Client.widgetFlags.next()) { + if ((long)var2 == (var6.key >> 48 & 65535L)) { + var6.remove(); + } + } + + Widget var7 = HealthBarUpdate.getWidget(var3); + if (var7 != null) { + class16.invalidateWidget(var7); + } + + class132.method2699(); + if (Client.rootInterface != -1) { + ItemContainer.runIntfCloseListeners(Client.rootInterface, 1); } } diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index 8c31664f30..4ad42b0f16 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -12,90 +12,90 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gd") @Implements("WorldMapManager") public final class WorldMapManager { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("loaded") boolean loaded; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("loadStarted") boolean loadStarted; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lgh;" + descriptor = "Lgx;" ) @Export("mapAreaData") WorldMapAreaData mapAreaData; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Loc;" + descriptor = "Lon;" ) @Export("compositeTextureSprite") SpritePixels compositeTextureSprite; - @ObfuscatedName("o") + @ObfuscatedName("m") @Export("icons") HashMap icons; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "[[Lfm;" + descriptor = "[[Lfx;" ) @Export("regions") WorldMapRegion[][] regions; - @ObfuscatedName("z") + @ObfuscatedName("t") @Export("scaleHandlers") HashMap scaleHandlers; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "[Loz;" ) @Export("mapSceneSprites") IndexedSprite[] mapSceneSprites; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("geographyArchive") final AbstractArchive geographyArchive; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("groundArchive") final AbstractArchive groundArchive; - @ObfuscatedName("l") + @ObfuscatedName("y") @Export("fonts") final HashMap fonts; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -1795323681 + intValue = 2007666273 ) @Export("tileX") int tileX; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 635578295 + intValue = -11493957 ) @Export("tileY") int tileY; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 876683677 + intValue = -2131514409 ) @Export("tileWidth") int tileWidth; @ObfuscatedName("s") @ObfuscatedGetter( - intValue = -2031973391 + intValue = -387965393 ) @Export("tileHeight") int tileHeight; - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedGetter( - intValue = 2115232329 + intValue = -129692209 ) @Export("pixelsPerTile") public int pixelsPerTile; @ObfuscatedSignature( - descriptor = "([Loi;Ljava/util/HashMap;Lkk;Lkk;)V" + descriptor = "([Loz;Ljava/util/HashMap;Lkl;Lkl;)V" ) public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { this.loaded = false; @@ -108,10 +108,10 @@ public final class WorldMapManager { this.groundArchive = var4; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;Ljava/lang/String;ZI)V", - garbageValue = "297189005" + descriptor = "(Lkl;Ljava/lang/String;ZI)V", + garbageValue = "1633509701" ) @Export("load") public void load(AbstractArchive var1, String var2, boolean var3) { @@ -119,10 +119,10 @@ public final class WorldMapManager { this.loaded = false; this.loadStarted = true; System.nanoTime(); - int var4 = var1.getGroupId(WorldMapCacheName.field2199.name); + int var4 = var1.getGroupId(WorldMapCacheName.field2220.name); int var5 = var1.getFileId(var4, var2); - Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field2199.name, var2)); - Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field2203.name, var2)); + Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field2220.name, var2)); + Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field2215.name, var2)); System.nanoTime(); System.nanoTime(); this.mapAreaData = new WorldMapAreaData(); @@ -144,7 +144,7 @@ public final class WorldMapManager { int var9 = this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1; System.nanoTime(); System.nanoTime(); - LoginScreenAnimation.method2173(); + class17.method226(); this.regions = new WorldMapRegion[var16][var9]; Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); @@ -169,9 +169,9 @@ public final class WorldMapManager { System.nanoTime(); System.nanoTime(); - if (var1.isValidFileName(WorldMapCacheName.field2201.name, var2)) { - byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field2201.name, var2); - this.compositeTextureSprite = class17.convertJpgToSprite(var20); + if (var1.isValidFileName(WorldMapCacheName.field2216.name, var2)) { + byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field2216.name, var2); + this.compositeTextureSprite = class135.convertJpgToSprite(var20); } System.nanoTime(); @@ -181,20 +181,20 @@ public final class WorldMapManager { } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-34" + descriptor = "(I)V", + garbageValue = "-1401830870" ) @Export("clearIcons") public final void clearIcons() { this.icons = null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IIIIIIIIB)V", - garbageValue = "15" + descriptor = "(IIIIIIIII)V", + garbageValue = "-668867918" ) @Export("drawTiles") public final void drawTiles(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { @@ -214,7 +214,7 @@ public final class WorldMapManager { } int var23 = var13.width + var13.x - 1; - int var17 = var13.y + var13.height - 1; + int var17 = var13.height + var13.y - 1; int var18; int var19; @@ -226,28 +226,28 @@ public final class WorldMapManager { Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); Rasterizer2D.Rasterizer2D_setClipArray(var12); - var18 = (int)(64.0F * var14); + var18 = (int)(var14 * 64.0F); var19 = this.tileX + var1; int var20 = var2 + this.tileY; - for (int var21 = var13.x; var21 < var13.width + var13.x; ++var21) { - for (int var22 = var13.y; var22 < var13.y + var13.height; ++var22) { - this.regions[var21][var22].method3525(var5 + (this.regions[var21][var22].regionX * 64 - var19) * var18 / 64, var8 - (this.regions[var21][var22].regionY * 64 - var20 + 64) * var18 / 64, var18); + for (int var21 = var13.x; var21 < var13.x + var13.width; ++var21) { + for (int var22 = var13.y; var22 < var13.height + var13.y; ++var22) { + this.regions[var21][var22].method3569(var5 + (this.regions[var21][var22].regionX * 64 - var19) * var18 / 64, var8 - (this.regions[var21][var22].regionY * 64 - var20 + 64) * var18 / 64, var18); } } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", - garbageValue = "-678341519" + garbageValue = "-840000073" ) @Export("drawElements") public final void drawElements(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) { WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4); float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var16 = (int)(var15 * 64.0F); + int var16 = (int)(64.0F * var15); int var17 = this.tileX + var1; int var18 = var2 + this.tileY; @@ -259,13 +259,13 @@ public final class WorldMapManager { this.regions[var19][var20].initWorldMapIcon1s(); } - this.regions[var19][var20].method3526(var5 + (this.regions[var19][var20].regionX * 64 - var17) * var16 / 64, var8 - (this.regions[var19][var20].regionY * 64 - var18 + 64) * var16 / 64, var16, var9); + this.regions[var19][var20].method3579(var5 + (this.regions[var19][var20].regionX * 64 - var17) * var16 / 64, var8 - (this.regions[var19][var20].regionY * 64 - var18 + 64) * var16 / 64, var16, var9); } } if (var10 != null && var11 > 0) { - for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { - for (var20 = var14.y; var20 < var14.y + var14.height; ++var20) { + for (var19 = var14.x; var19 < var14.width + var14.x; ++var19) { + for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) { this.regions[var19][var20].flashElements(var10, var11, var12); } } @@ -273,10 +273,10 @@ public final class WorldMapManager { } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(IIIILjava/util/HashSet;III)V", - garbageValue = "1824309086" + descriptor = "(IIIILjava/util/HashSet;IIB)V", + garbageValue = "111" ) @Export("drawOverview") public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { @@ -313,12 +313,12 @@ public final class WorldMapManager { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(IIIIIIIIIII)Ljava/util/List;", - garbageValue = "-355566181" + garbageValue = "-2118739630" ) - public List method3645(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + public List method3698(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { LinkedList var11 = new LinkedList(); if (!this.loaded) { return var11; @@ -331,7 +331,7 @@ public final class WorldMapManager { for (int var17 = var12.x; var17 < var12.width + var12.x; ++var17) { for (int var18 = var12.y; var18 < var12.y + var12.height; ++var18) { - List var19 = this.regions[var17][var18].method3547(var5 + (this.regions[var17][var18].regionX * 64 - var15) * var14 / 64, var8 + var6 - (this.regions[var17][var18].regionY * 64 - var16 + 64) * var14 / 64, var14, var9, var10); + List var19 = this.regions[var17][var18].method3599(var5 + (this.regions[var17][var18].regionX * 64 - var15) * var14 / 64, var8 + var6 - (this.regions[var17][var18].regionY * 64 - var16 + 64) * var14 / 64, var14, var9, var10); if (!var19.isEmpty()) { var11.addAll(var19); } @@ -342,10 +342,10 @@ public final class WorldMapManager { } } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(IIIIB)Lgf;", - garbageValue = "74" + descriptor = "(IIIIB)Lgo;", + garbageValue = "35" ) @Export("createWorldMapRectangle") WorldMapRectangle createWorldMapRectangle(int var1, int var2, int var3, int var4) { @@ -388,17 +388,17 @@ public final class WorldMapManager { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-44016321" + garbageValue = "-1950948657" ) @Export("isLoaded") public boolean isLoaded() { return this.loaded; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(B)Ljava/util/HashMap;", - garbageValue = "0" + descriptor = "(I)Ljava/util/HashMap;", + garbageValue = "34907623" ) @Export("buildIcons") public HashMap buildIcons() { @@ -406,10 +406,10 @@ public final class WorldMapManager { return this.icons; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-124" + descriptor = "(I)V", + garbageValue = "50226969" ) @Export("buildIcons0") void buildIcons0() { @@ -443,10 +443,10 @@ public final class WorldMapManager { } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(III)F", - garbageValue = "382223653" + garbageValue = "-1870521455" ) @Export("getPixelsPerTile") float getPixelsPerTile(int var1, int var2) { @@ -461,31 +461,14 @@ public final class WorldMapManager { } } - @ObfuscatedName("kb") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZB)Ljava/lang/String;", - garbageValue = "-55" + descriptor = "(ILkl;Ljava/lang/String;Ljava/lang/String;IZI)V", + garbageValue = "-826491014" ) - static String method3679(String var0, boolean var1) { - String var2 = var1 ? "https://" : "http://"; - if (Client.gameBuild == 1) { - var0 = var0 + "-wtrc"; - } else if (Client.gameBuild == 2) { - var0 = var0 + "-wtqa"; - } else if (Client.gameBuild == 3) { - var0 = var0 + "-wtwip"; - } else if (Client.gameBuild == 5) { - var0 = var0 + "-wti"; - } else if (Client.gameBuild == 4) { - var0 = "local"; - } - - String var3 = ""; - if (WorldMapIcon_0.field2104 != null) { - var3 = "/p=" + WorldMapIcon_0.field2104; - } - - String var4 = "runescape.com"; - return var2 + var0 + "." + var4 + "/l=" + class323.clientLanguage + "/a=" + KeyHandler.field145 + var3 + "/"; + public static void method3727(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { + int var6 = var1.getGroupId(var2); + int var7 = var1.getFileId(var6, var3); + VertexNormal.method4560(var0, var1, var6, var7, var4, var5); } } diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index f6b8335e05..cc4405441a 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -4,42 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gf") +@ObfuscatedName("go") @Implements("WorldMapRectangle") public final class WorldMapRectangle { - @ObfuscatedName("dw") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive0") - static Archive archive0; - @ObfuscatedName("jc") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1930442357 - ) - @Export("oculusOrbFocalPointY") - static int oculusOrbFocalPointY; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1925132623 + intValue = 1169726605 ) @Export("width") int width; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1411511191 + intValue = -1795160043 ) @Export("height") int height; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1007463057 + intValue = 65148741 ) @Export("x") int x; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1649439453 + intValue = -1075815641 ) @Export("y") int y; diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index e110e10794..6f2dd0654f 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -9,69 +9,56 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fm") +@ObfuscatedName("fx") @Implements("WorldMapRegion") public class WorldMapRegion { - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lhv;" + descriptor = "Lhs;" ) @Export("WorldMapRegion_cachedSprites") - static DemotingHashTable WorldMapRegion_cachedSprites; - @ObfuscatedName("ee") - @ObfuscatedSignature( - descriptor = "Lmp;" - ) - @Export("spriteIds") - static GraphicsDefaults spriteIds; - @ObfuscatedName("lc") + public static DemotingHashTable WorldMapRegion_cachedSprites; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 203412635 - ) - @Export("menuX") - static int menuX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 161567605 + intValue = 784175593 ) @Export("regionX") int regionX; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1045938021 + intValue = 1993185167 ) @Export("regionY") int regionY; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lfd;" + descriptor = "Lfj;" ) @Export("worldMapData_0") WorldMapData_0 worldMapData_0; - @ObfuscatedName("u") + @ObfuscatedName("e") @Export("worldMapData1List") LinkedList worldMapData1List; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -2035160101 + intValue = -1422223479 ) @Export("backgroundColor") int backgroundColor; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = 1553061967 + intValue = -1506951061 ) @Export("pixelsPerTile") int pixelsPerTile; - @ObfuscatedName("y") + @ObfuscatedName("w") @Export("icon0List") List icon0List; - @ObfuscatedName("v") + @ObfuscatedName("g") @Export("iconMap") HashMap iconMap; - @ObfuscatedName("f") + @ObfuscatedName("v") @Export("fonts") final HashMap fonts; @@ -89,18 +76,16 @@ public class WorldMapRegion { this.fonts = var4; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(IIII)V", - garbageValue = "-1100748322" + garbageValue = "1231459705" ) - void method3525(int var1, int var2, int var3) { + void method3569(int var1, int var2, int var3) { int var5 = this.regionX; int var6 = this.regionY; int var7 = this.pixelsPerTile; - DemotingHashTable var8 = WorldMapRegion_cachedSprites; - long var9 = (long)(var7 << 16 | var5 << 8 | var6); - SpritePixels var4 = (SpritePixels)var8.get(var9); + SpritePixels var4 = (SpritePixels)WorldMapRegion_cachedSprites.get(Clock.method2870(var5, var6, var7)); if (var4 != null) { if (var3 == this.pixelsPerTile * 64) { var4.drawAt(var1, var2); @@ -111,10 +96,10 @@ public class WorldMapRegion { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lfd;Ljava/util/List;B)V", - garbageValue = "-31" + descriptor = "(Lfj;Ljava/util/List;I)V", + garbageValue = "1441709008" ) @Export("initWorldMapData0") void initWorldMapData0(WorldMapData_0 var1, List var2) { @@ -123,10 +108,10 @@ public class WorldMapRegion { this.addAllToIconList(var2); } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(Ljava/util/HashSet;Ljava/util/List;I)V", - garbageValue = "-1951911545" + garbageValue = "1846535587" ) @Export("initWorldMapData1") void initWorldMapData1(HashSet var1, List var2) { @@ -143,10 +128,10 @@ public class WorldMapRegion { this.addAllToIconList(var2); } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IIIILgy;I)V", - garbageValue = "2060822775" + descriptor = "(IIIILge;I)V", + garbageValue = "-66518747" ) @Export("getIconsForTiles") void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) { @@ -163,13 +148,13 @@ public class WorldMapRegion { boolean var14; label66: { WorldMapDecoration var12 = var10[var11]; - var13 = HitSplatDefinition.getObjectDefinition(var12.objectDefinitionId); + var13 = class245.getObjectDefinition(var12.objectDefinitionId); if (var13.transforms != null) { int[] var15 = var13.transforms; for (int var16 = 0; var16 < var15.length; ++var16) { int var17 = var15[var16]; - ObjectComposition var18 = HitSplatDefinition.getObjectDefinition(var17); + ObjectComposition var18 = class245.getObjectDefinition(var17); if (var18.mapIconId != -1) { var14 = true; break label66; @@ -195,10 +180,10 @@ public class WorldMapRegion { } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lff;IIILgy;I)V", - garbageValue = "1090808059" + descriptor = "(Lfo;IIILge;I)V", + garbageValue = "-1742341954" ) @Export("getIcon") void getIcon(ObjectComposition var1, int var2, int var3, int var4, AbstractWorldMapData var5) { @@ -216,12 +201,12 @@ public class WorldMapRegion { if (var1.transforms != null) { var10 = new WorldMapIcon_1(var7, var6, var1.id, this); } else { - var9 = class54.WorldMapElement_get(var1.mapIconId); + var9 = class13.WorldMapElement_get(var1.mapIconId); var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); } - var9 = class54.WorldMapElement_get(((AbstractWorldMapIcon)var10).getElement()); - if (var9.field1628) { + var9 = class13.WorldMapElement_get(((AbstractWorldMapIcon)var10).getElement()); + if (var9.field1633) { this.iconMap.put(new Coord(0, var3, var4), var10); } @@ -229,8 +214,8 @@ public class WorldMapRegion { @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-397033886" + descriptor = "(B)V", + garbageValue = "-54" ) @Export("initWorldMapIcon1s") void initWorldMapIcon1s() { @@ -245,10 +230,10 @@ public class WorldMapRegion { } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(Ljava/util/List;I)V", - garbageValue = "904082423" + garbageValue = "-1935534195" ) @Export("addAllToIconList") void addAllToIconList(List var1) { @@ -256,20 +241,20 @@ public class WorldMapRegion { while (var2.hasNext()) { WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next(); - if (class54.WorldMapElement_get(var3.element).field1628 && var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { - WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method3588(var3.element)); + if (class13.WorldMapElement_get(var3.element).field1633 && var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { + WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method3597(var3.element)); this.icon0List.add(var4); } } } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1389975162" + descriptor = "(S)V", + garbageValue = "-18665" ) - void method3523() { + void method3576() { if (this.worldMapData_0 != null) { this.worldMapData_0.reset(); } else { @@ -283,10 +268,10 @@ public class WorldMapRegion { } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(Lkk;B)Z", - garbageValue = "-73" + descriptor = "(Lkl;B)Z", + garbageValue = "32" ) @Export("loadGeography") boolean loadGeography(AbstractArchive var1) { @@ -322,10 +307,10 @@ public class WorldMapRegion { } } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(ILgb;[Loi;Lkk;Lkk;B)V", - garbageValue = "120" + descriptor = "(ILgg;[Loz;Lkl;Lkl;I)V", + garbageValue = "-538848998" ) @Export("drawTile") void drawTile(int var1, WorldMapScaleHandler var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { @@ -333,12 +318,10 @@ public class WorldMapRegion { if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { int var7 = this.regionX; int var8 = this.regionY; - DemotingHashTable var9 = WorldMapRegion_cachedSprites; - long var10 = (long)(var1 << 16 | var7 << 8 | var8); - SpritePixels var6 = (SpritePixels)var9.get(var10); + SpritePixels var6 = (SpritePixels)WorldMapRegion_cachedSprites.get(Clock.method2870(var7, var8, var1)); if (var6 == null) { - boolean var21 = true; - var21 &= this.loadGeography(var4); + boolean var9 = true; + var9 &= this.loadGeography(var4); int var11; if (this.worldMapData_0 != null) { var11 = this.worldMapData_0.groupId; @@ -346,36 +329,34 @@ public class WorldMapRegion { var11 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; } - var21 &= var5.tryLoadGroup(var11); - if (var21) { - byte[] var22 = var5.takeFileFlat(var11); - WorldMapSprite var12 = LoginPacket.method4572(var22); + var9 &= var5.tryLoadGroup(var11); + if (var9) { + byte[] var10 = var5.takeFileFlat(var11); + WorldMapSprite var12 = method3629(var10); SpritePixels var13 = new SpritePixels(this.pixelsPerTile * 64, this.pixelsPerTile * 64); var13.setRaster(); if (this.worldMapData_0 != null) { - this.method3528(var2, var3, var12); + this.method3581(var2, var3, var12); } else { - this.method3529(var2, var3, var12); + this.method3582(var2, var3, var12); } int var14 = this.regionX; int var15 = this.regionY; int var16 = this.pixelsPerTile; - DemotingHashTable var17 = WorldMapRegion_cachedSprites; - long var19 = (long)(var16 << 16 | var14 << 8 | var15); - var17.put(var13, var19, var13.pixels.length * 4); - this.method3523(); + WorldMapRegion_cachedSprites.put(var13, Clock.method2870(var14, var15, var16), var13.pixels.length * 4); + this.method3576(); } } } } - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedSignature( descriptor = "(IIILjava/util/HashSet;I)V", - garbageValue = "1211659860" + garbageValue = "-121819239" ) - void method3526(int var1, int var2, int var3, HashSet var4) { + void method3579(int var1, int var2, int var3, HashSet var4) { if (var4 == null) { var4 = new HashSet(); } @@ -384,10 +365,10 @@ public class WorldMapRegion { this.drawMapLinks(var1, var2, var4, var3); } - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(Ljava/util/HashSet;III)V", - garbageValue = "-1330950283" + garbageValue = "-2126026396" ) @Export("flashElements") void flashElements(HashSet var1, int var2, int var3) { @@ -398,44 +379,44 @@ public class WorldMapRegion { if (var5.hasValidElement()) { int var6 = var5.getElement(); if (var1.contains(var6)) { - WorldMapElement var7 = class54.WorldMapElement_get(var6); + WorldMapElement var7 = class13.WorldMapElement_get(var6); this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); } } } - this.method3537(var1, var2, var3); + this.method3691(var1, var2, var3); } @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(Lgb;[Loi;Lga;B)V", - garbageValue = "-110" + descriptor = "(Lgg;[Loz;Lgw;I)V", + garbageValue = "1347230920" ) - void method3528(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { + void method3581(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { int var4; int var5; for (var4 = 0; var4 < 64; ++var4) { for (var5 = 0; var5 < 64; ++var5) { this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); - this.method3532(var4, var5, this.worldMapData_0, var1); + this.method3585(var4, var5, this.worldMapData_0, var1); } } for (var4 = 0; var4 < 64; ++var4) { for (var5 = 0; var5 < 64; ++var5) { - this.method3530(var4, var5, this.worldMapData_0, var1, var2); + this.method3583(var4, var5, this.worldMapData_0, var1, var2); } } } - @ObfuscatedName("h") + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Lgb;[Loi;Lga;I)V", - garbageValue = "-554775796" + descriptor = "(Lgg;[Loz;Lgw;B)V", + garbageValue = "-20" ) - void method3529(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { + void method3582(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { Iterator var4 = this.worldMapData1List.iterator(); WorldMapData_1 var5; @@ -447,7 +428,7 @@ public class WorldMapRegion { for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { this.drawTileGround(var6, var7, var5, var1, var3); - this.method3532(var6, var7, var5, var1); + this.method3585(var6, var7, var5, var1); } } } @@ -459,27 +440,27 @@ public class WorldMapRegion { for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { - this.method3530(var6, var7, var5, var1, var2); + this.method3583(var6, var7, var5, var1, var2); } } } } - @ObfuscatedName("d") + @ObfuscatedName("b") @ObfuscatedSignature( - descriptor = "(IILgy;Lgb;[Loi;I)V", - garbageValue = "1044074793" + descriptor = "(IILge;Lgg;[Loz;B)V", + garbageValue = "-22" ) - void method3530(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) { - this.method3535(var1, var2, var3); - this.method3533(var1, var2, var3, var5); + void method3583(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) { + this.method3620(var1, var2, var3); + this.method3594(var1, var2, var3, var5); } - @ObfuscatedName("q") + @ObfuscatedName("x") @ObfuscatedSignature( - descriptor = "(IILgy;Lgb;Lga;I)V", - garbageValue = "783242506" + descriptor = "(IILge;Lgg;Lgw;I)V", + garbageValue = "1425155164" ) @Export("drawTileGround") void drawTileGround(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, WorldMapSprite var5) { @@ -491,56 +472,56 @@ public class WorldMapRegion { int var8 = 16711935; if (var7 != -1) { - var8 = MouseRecorder.method2058(var7, this.backgroundColor); + var8 = ItemContainer.method2059(var7, this.backgroundColor); } - if (var7 > -1 && var3.field2143[0][var1][var2] == 0) { + if (var7 > -1 && var3.field2155[0][var1][var2] == 0) { Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); } else { - int var9 = this.method3615(var1, var2, var3, var5); + int var9 = this.method3586(var1, var2, var3, var5); if (var7 == -1) { Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); } else { - var4.method3912(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field2143[0][var1][var2], var3.field2144[0][var1][var2]); + var4.method4009(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field2155[0][var1][var2], var3.field2149[0][var1][var2]); } } } - @ObfuscatedName("j") + @ObfuscatedName("p") @ObfuscatedSignature( - descriptor = "(IILgy;Lgb;B)V", - garbageValue = "-23" + descriptor = "(IILge;Lgg;B)V", + garbageValue = "-95" ) - void method3532(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) { + void method3585(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) { for (int var5 = 1; var5 < var3.planes; ++var5) { int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; if (var6 > -1) { - int var7 = MouseRecorder.method2058(var6, this.backgroundColor); - if (var3.field2143[var5][var1][var2] == 0) { + int var7 = ItemContainer.method2059(var6, this.backgroundColor); + if (var3.field2155[var5][var1][var2] == 0) { Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); } else { - var4.method3912(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field2143[var5][var1][var2], var3.field2144[var5][var1][var2]); + var4.method4009(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field2155[var5][var1][var2], var3.field2149[var5][var1][var2]); } } } } - @ObfuscatedName("x") + @ObfuscatedName("z") @ObfuscatedSignature( - descriptor = "(IILgy;Lga;I)I", - garbageValue = "1061504265" + descriptor = "(IILge;Lgw;I)I", + garbageValue = "828533450" ) - int method3615(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { + int method3586(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); } - @ObfuscatedName("b") + @ObfuscatedName("h") @ObfuscatedSignature( - descriptor = "(IILgy;[Loi;I)V", - garbageValue = "-209468679" + descriptor = "(IILge;[Loz;B)V", + garbageValue = "-4" ) - void method3533(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { + void method3594(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { for (int var5 = 0; var5 < var3.planes; ++var5) { WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; if (var6 != null && var6.length != 0) { @@ -548,20 +529,20 @@ public class WorldMapRegion { for (int var8 = 0; var8 < var7.length; ++var8) { WorldMapDecoration var9 = var7[var8]; - if (!class9.method91(var9.decoration)) { + if (!class326.method5928(var9.decoration)) { int var11 = var9.decoration; - boolean var10 = var11 == WorldMapDecorationType.field3251.id; + boolean var10 = var11 == WorldMapDecorationType.field3229.id; if (!var10) { continue; } } - ObjectComposition var12 = HitSplatDefinition.getObjectDefinition(var9.objectDefinitionId); + ObjectComposition var12 = class245.getObjectDefinition(var9.objectDefinitionId); if (var12.mapSceneId != -1) { if (var12.mapSceneId != 46 && var12.mapSceneId != 52) { - var4[var12.mapSceneId].method7206(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); + var4[var12.mapSceneId].method7274(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); } else { - var4[var12.mapSceneId].method7206(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); + var4[var12.mapSceneId].method7274(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); } } } @@ -570,12 +551,12 @@ public class WorldMapRegion { } - @ObfuscatedName("t") + @ObfuscatedName("o") @ObfuscatedSignature( - descriptor = "(IILgy;I)V", - garbageValue = "1476060443" + descriptor = "(IILge;I)V", + garbageValue = "-1072057008" ) - void method3535(int var1, int var2, AbstractWorldMapData var3) { + void method3620(int var1, int var2, AbstractWorldMapData var3) { for (int var4 = 0; var4 < var3.planes; ++var4) { WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; if (var5 != null && var5.length != 0) { @@ -584,20 +565,20 @@ public class WorldMapRegion { for (int var7 = 0; var7 < var6.length; ++var7) { WorldMapDecoration var8 = var6[var7]; int var10 = var8.decoration; - boolean var9 = var10 >= WorldMapDecorationType.field3246.id && var10 <= WorldMapDecorationType.field3232.id || var10 == WorldMapDecorationType.field3233.id; + boolean var9 = var10 >= WorldMapDecorationType.field3245.id && var10 <= WorldMapDecorationType.field3228.id || var10 == WorldMapDecorationType.field3250.id; if (var9) { - ObjectComposition var11 = HitSplatDefinition.getObjectDefinition(var8.objectDefinitionId); + ObjectComposition var11 = class245.getObjectDefinition(var8.objectDefinitionId); int var12 = var11.int1 != 0 ? -3407872 : -3355444; - if (var8.decoration == WorldMapDecorationType.field3246.id) { - this.method3549(var1, var2, var8.rotation, var12); + if (var8.decoration == WorldMapDecorationType.field3245.id) { + this.method3684(var1, var2, var8.rotation, var12); } - if (var8.decoration == WorldMapDecorationType.field3231.id) { - this.method3549(var1, var2, var8.rotation, -3355444); - this.method3549(var1, var2, var8.rotation + 1, var12); + if (var8.decoration == WorldMapDecorationType.field3227.id) { + this.method3684(var1, var2, var8.rotation, -3355444); + this.method3684(var1, var2, var8.rotation + 1, var12); } - if (var8.decoration == WorldMapDecorationType.field3232.id) { + if (var8.decoration == WorldMapDecorationType.field3228.id) { if (var8.rotation == 0) { Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var12); } @@ -615,7 +596,7 @@ public class WorldMapRegion { } } - if (var8.decoration == WorldMapDecorationType.field3233.id) { + if (var8.decoration == WorldMapDecorationType.field3250.id) { int var13 = var8.rotation % 2; int var14; if (var13 == 0) { @@ -638,7 +619,7 @@ public class WorldMapRegion { @ObfuscatedName("r") @ObfuscatedSignature( descriptor = "(IILjava/util/HashSet;II)V", - garbageValue = "-2113802496" + garbageValue = "676465573" ) @Export("drawNonLinkMapIcons") void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) { @@ -649,33 +630,33 @@ public class WorldMapRegion { while (var7.hasNext()) { Entry var8 = (Entry)var7.next(); Coord var9 = (Coord)var8.getKey(); - int var10 = (int)((float)var9.x * var5 + (float)var1 - var6); + int var10 = (int)((float)var1 + var5 * (float)var9.x - var6); int var11 = (int)((float)(var2 + var4) - (float)var9.y * var5 - var6); AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); if (var12 != null && var12.hasValidElement()) { var12.screenX = var10; var12.screenY = var11; - WorldMapElement var13 = class54.WorldMapElement_get(var12.getElement()); + WorldMapElement var13 = class13.WorldMapElement_get(var12.getElement()); if (!var3.contains(var13.getObjectId())) { - this.method3608(var12, var10, var11, var5); + this.method3606(var12, var10, var11, var5); } } } } - @ObfuscatedName("p") + @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(Ljava/util/HashSet;IIS)V", - garbageValue = "22098" + descriptor = "(Ljava/util/HashSet;IIB)V", + garbageValue = "-2" ) - void method3537(HashSet var1, int var2, int var3) { + void method3691(HashSet var1, int var2, int var3) { Iterator var4 = this.icon0List.iterator(); while (var4.hasNext()) { AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); if (var5.hasValidElement()) { - WorldMapElement var6 = class54.WorldMapElement_get(var5.getElement()); + WorldMapElement var6 = class13.WorldMapElement_get(var5.getElement()); if (var6 != null && var1.contains(var6.getObjectId())) { this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); } @@ -684,10 +665,10 @@ public class WorldMapRegion { } - @ObfuscatedName("w") + @ObfuscatedName("u") @ObfuscatedSignature( - descriptor = "(Ler;IIIII)V", - garbageValue = "-1866681714" + descriptor = "(Leo;IIIII)V", + garbageValue = "1027799401" ) @Export("drawBackgroundCircle") void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) { @@ -702,27 +683,27 @@ public class WorldMapRegion { } } - @ObfuscatedName("i") + @ObfuscatedName("d") @ObfuscatedSignature( - descriptor = "(Lgm;IIFI)V", - garbageValue = "-2144977009" + descriptor = "(Lgz;IIFI)V", + garbageValue = "-680055045" ) - void method3608(AbstractWorldMapIcon var1, int var2, int var3, float var4) { - WorldMapElement var5 = class54.WorldMapElement_get(var1.getElement()); - this.method3617(var5, var2, var3); - this.method3581(var1, var5, var2, var3, var4); + void method3606(AbstractWorldMapIcon var1, int var2, int var3, float var4) { + WorldMapElement var5 = class13.WorldMapElement_get(var1.getElement()); + this.method3592(var5, var2, var3); + this.method3667(var1, var5, var2, var3, var4); } - @ObfuscatedName("aq") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "(Ler;III)V", - garbageValue = "-641155672" + descriptor = "(Leo;III)V", + garbageValue = "1807859321" ) - void method3617(WorldMapElement var1, int var2, int var3) { + void method3592(WorldMapElement var1, int var2, int var3) { SpritePixels var4 = var1.getSpriteBool(false); if (var4 != null) { - int var5 = this.method3558(var4, var1.horizontalAlignment); - int var6 = this.method3544(var4, var1.verticalAlignment); + int var5 = this.method3678(var4, var1.horizontalAlignment); + int var6 = this.method3596(var4, var1.verticalAlignment); var4.drawTransBgAt(var5 + var2, var3 + var6); } @@ -730,23 +711,23 @@ public class WorldMapRegion { @ObfuscatedName("ad") @ObfuscatedSignature( - descriptor = "(Lgm;Ler;IIFI)V", - garbageValue = "1539756998" + descriptor = "(Lgz;Leo;IIFB)V", + garbageValue = "-52" ) - void method3581(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { + void method3667(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { WorldMapLabel var6 = var1.getLabel(); if (var6 != null) { - if (var6.size.method3379(var5)) { + if (var6.size.method3447(var5)) { Font var7 = (Font)this.fonts.get(var6.size); - var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field1625, 0, 1, 0, var7.ascent / 2); + var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field1630, 0, 1, 0, var7.ascent / 2); } } } - @ObfuscatedName("al") + @ObfuscatedName("as") @ObfuscatedSignature( - descriptor = "(IILjava/util/HashSet;II)V", - garbageValue = "1388215575" + descriptor = "(IILjava/util/HashSet;IB)V", + garbageValue = "-6" ) @Export("drawMapLinks") void drawMapLinks(int var1, int var2, HashSet var3, int var4) { @@ -759,89 +740,109 @@ public class WorldMapRegion { int var8 = var7.coord2.x % 64; int var9 = var7.coord2.y % 64; var7.screenX = (int)((float)var8 * var5 + (float)var1); - var7.screenY = (int)((float)(63 - var9) * var5 + (float)var2); + var7.screenY = (int)((float)var2 + var5 * (float)(63 - var9)); if (!var3.contains(var7.getElement())) { - this.method3608(var7, var7.screenX, var7.screenY, var5); + this.method3606(var7, var7.screenX, var7.screenY, var5); } } } } - @ObfuscatedName("aa") + @ObfuscatedName("ak") @ObfuscatedSignature( - descriptor = "(Loc;Lfs;I)I", - garbageValue = "2091936003" + descriptor = "(Lon;Lfp;I)I", + garbageValue = "-2067647941" ) - int method3558(SpritePixels var1, HorizontalAlignment var2) { + int method3678(SpritePixels var1, HorizontalAlignment var2) { switch(var2.value) { case 0: return 0; - case 1: + case 2: return -var1.subWidth / 2; default: return -var1.subWidth; } } - @ObfuscatedName("aw") + @ObfuscatedName("ah") @ObfuscatedSignature( - descriptor = "(Loc;Lfc;I)I", - garbageValue = "-1105130513" + descriptor = "(Lon;Lfz;B)I", + garbageValue = "49" ) - int method3544(SpritePixels var1, VerticalAlignment var2) { + int method3596(SpritePixels var1, VerticalAlignment var2) { switch(var2.value) { case 0: - return -var1.subHeight / 2; - case 2: return 0; + case 1: + return -var1.subHeight / 2; default: return -var1.subHeight; } } - @ObfuscatedName("at") + @ObfuscatedName("ay") @ObfuscatedSignature( - descriptor = "(IB)Lgz;", - garbageValue = "16" + descriptor = "(II)Lga;", + garbageValue = "-1135574478" ) - WorldMapLabel method3588(int var1) { - WorldMapElement var2 = class54.WorldMapElement_get(var1); + WorldMapLabel method3597(int var1) { + WorldMapElement var2 = class13.WorldMapElement_get(var1); return this.createMapLabel(var2); } - @ObfuscatedName("as") + @ObfuscatedName("al") @ObfuscatedSignature( - descriptor = "(Ler;B)Lgz;", - garbageValue = "-27" + descriptor = "(Leo;I)Lga;", + garbageValue = "-1290616488" ) @Export("createMapLabel") WorldMapLabel createMapLabel(WorldMapElement var1) { if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { - WorldMapLabelSize var2 = WorldMapLabelSize.method3380(var1.textSize); + int var3 = var1.textSize; + WorldMapLabelSize[] var4 = new WorldMapLabelSize[]{WorldMapLabelSize.WorldMapLabelSize_medium, WorldMapLabelSize.WorldMapLabelSize_small, WorldMapLabelSize.WorldMapLabelSize_large}; + WorldMapLabelSize[] var5 = var4; + int var6 = 0; + + WorldMapLabelSize var2; + while (true) { + if (var6 >= var5.length) { + var2 = null; + break; + } + + WorldMapLabelSize var7 = var5[var6]; + if (var3 == var7.field2014) { + var2 = var7; + break; + } + + ++var6; + } + if (var2 == null) { return null; } else { - Font var3 = (Font)this.fonts.get(var2); - if (var3 == null) { + Font var14 = (Font)this.fonts.get(var2); + if (var14 == null) { return null; } else { - int var4 = var3.lineCount(var1.name, 1000000); - String[] var5 = new String[var4]; - var3.breakLines(var1.name, (int[])null, var5); - int var6 = var5.length * var3.ascent / 2; - int var7 = 0; - String[] var8 = var5; + var6 = var14.lineCount(var1.name, 1000000); + String[] var15 = new String[var6]; + var14.breakLines(var1.name, (int[])null, var15); + int var8 = var15.length * var14.ascent / 2; + int var9 = 0; + String[] var10 = var15; - for (int var9 = 0; var9 < var8.length; ++var9) { - String var10 = var8[var9]; - int var11 = var3.stringWidth(var10); - if (var11 > var7) { - var7 = var11; + for (int var11 = 0; var11 < var10.length; ++var11) { + String var12 = var10[var11]; + int var13 = var14.stringWidth(var12); + if (var13 > var9) { + var9 = var13; } } - return new WorldMapLabel(var1.name, var7, var6, var2); + return new WorldMapLabel(var1.name, var9, var8, var2); } } } else { @@ -849,12 +850,12 @@ public class WorldMapRegion { } } - @ObfuscatedName("ae") + @ObfuscatedName("ao") @ObfuscatedSignature( descriptor = "(IIIIII)Ljava/util/List;", - garbageValue = "-320312676" + garbageValue = "1288633441" ) - List method3547(int var1, int var2, int var3, int var4, int var5) { + List method3599(int var1, int var2, int var3, int var4, int var5) { LinkedList var6 = new LinkedList(); if (var4 >= var1 && var5 >= var2) { if (var4 < var3 + var1 && var5 < var3 + var2) { @@ -886,10 +887,10 @@ public class WorldMapRegion { } } - @ObfuscatedName("av") + @ObfuscatedName("au") @ObfuscatedSignature( - descriptor = "(I)Ljava/util/List;", - garbageValue = "799520324" + descriptor = "(S)Ljava/util/List;", + garbageValue = "2247" ) @Export("icons") List icons() { @@ -899,12 +900,12 @@ public class WorldMapRegion { return var1; } - @ObfuscatedName("ak") + @ObfuscatedName("aa") @ObfuscatedSignature( descriptor = "(IIIII)V", - garbageValue = "1960094214" + garbageValue = "-1789376461" ) - void method3549(int var1, int var2, int var3, int var4) { + void method3684(int var1, int var2, int var3, int var4) { var3 %= 4; if (var3 == 0) { Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); @@ -924,217 +925,37 @@ public class WorldMapRegion { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILms;Lkx;S)V", - garbageValue = "31696" + descriptor = "([BB)Lgw;", + garbageValue = "-41" ) - static void method3637(int var0, ArchiveDisk var1, Archive var2) { - byte[] var3 = null; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - for (ArchiveDiskAction var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var5 != null; var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { - if ((long)var0 == var5.key && var1 == var5.archiveDisk && var5.type == 0) { - var3 = var5.data; - break; - } - } - } - - if (var3 != null) { - var2.load(var1, var0, var3, true); - } else { - byte[] var4 = var1.read(var0); - var2.load(var1, var0, var4, true); - } + static WorldMapSprite method3629(byte[] var0) { + return var0 == null ? new WorldMapSprite() : new WorldMapSprite(class135.convertJpgToSprite(var0).pixels); } - @ObfuscatedName("c") - static final void method3602(long var0) { - try { - Thread.sleep(var0); - } catch (InterruptedException var3) { - } - + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(ILic;ZI)V", + garbageValue = "-1919439654" + ) + static void method3604(int var0, Coord var1, boolean var2) { + WorldMapArea var3 = GrandExchangeEvent.getWorldMap().getMapArea(var0); + int var4 = class67.localPlayer.plane; + int var5 = (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX; + int var6 = (class67.localPlayer.y >> 7) + PlayerComposition.baseY; + Coord var7 = new Coord(var4, var5, var6); + GrandExchangeEvent.getWorldMap().method6537(var3, var7, var1, var2); } - @ObfuscatedName("g") + @ObfuscatedName("kc") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-691370561" + descriptor = "(Ljt;I)I", + garbageValue = "2101402964" ) - public static boolean method3595() { - try { - if (class247.musicPlayerStatus == 2) { - if (class281.musicTrack == null) { - class281.musicTrack = MusicTrack.readTrack(class247.musicTrackArchive, class247.musicTrackGroupId, GrandExchangeOfferOwnWorldComparator.musicTrackFileId); - if (class281.musicTrack == null) { - return false; - } - } - - if (class273.soundCache == null) { - class273.soundCache = new SoundCache(class247.soundEffectsArchive, class247.musicSamplesArchive); - } - - if (class135.midiPcmStream.loadMusicTrack(class281.musicTrack, class247.musicPatchesArchive, class273.soundCache, 22050)) { - class135.midiPcmStream.clearAll(); - class135.midiPcmStream.setPcmStreamVolume(class196.musicTrackVolume); - class135.midiPcmStream.setMusicTrack(class281.musicTrack, class20.musicTrackBoolean); - class247.musicPlayerStatus = 0; - class281.musicTrack = null; - class273.soundCache = null; - class247.musicTrackArchive = null; - return true; - } - } - } catch (Exception var1) { - var1.printStackTrace(); - class135.midiPcmStream.clear(); - class247.musicPlayerStatus = 0; - class281.musicTrack = null; - class273.soundCache = null; - class247.musicTrackArchive = null; - } - - return false; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "(ILbg;ZS)I", - garbageValue = "-23608" - ) - static int method3638(int var0, Script var1, boolean var2) { - boolean var3 = true; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var4 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - var3 = false; - } else { - var4 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - } - - int var11; - if (var0 == ScriptOpcodes.CC_SETOP) { - var11 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] - 1; - if (var11 >= 0 && var11 <= 9) { - var4.setAction(var11, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - return 1; - } else { - --Interpreter.Interpreter_stringStackSize; - return 1; - } - } else { - int var6; - if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { - class240.Interpreter_intStackSize -= 2; - var11 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var4.parent = ParamComposition.getWidgetChild(var11, var6); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { - var4.isScrollBar = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { - var4.dragZoneSize = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { - var4.dragThreshold = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { - var4.dataText = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { - var4.spellActionName = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { - var4.actions = null; - return 1; - } else if (var0 == 1308) { - var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == 1309) { - --class240.Interpreter_intStackSize; - return 1; - } else { - int var7; - byte[] var8; - if (var0 != ScriptOpcodes.CC_SETOPKEY) { - byte var5; - if (var0 == ScriptOpcodes.CC_SETOPTKEY) { - class240.Interpreter_intStackSize -= 2; - var5 = 10; - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]}; - byte[] var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]}; - WorldMapID.Widget_setKey(var4, var5, var8, var9); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { - class240.Interpreter_intStackSize -= 3; - var11 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] - 1; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - if (var11 >= 0 && var11 <= 9) { - class10.Widget_setKeyRate(var4, var11, var6, var7); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { - var5 = 10; - var6 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - class10.Widget_setKeyRate(var4, var5, var6, var7); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { - --class240.Interpreter_intStackSize; - var11 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] - 1; - if (var11 >= 0 && var11 <= 9) { - ScriptEvent.Widget_setKeyIgnoreHeld(var4, var11); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { - var5 = 10; - ScriptEvent.Widget_setKeyIgnoreHeld(var4, var5); - return 1; - } else { - return 2; - } - } else { - byte[] var10 = null; - var8 = null; - if (var3) { - class240.Interpreter_intStackSize -= 10; - - for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + class240.Interpreter_intStackSize] >= 0; var7 += 2) { - } - - if (var7 > 0) { - var10 = new byte[var7 / 2]; - var8 = new byte[var7 / 2]; - - for (var7 -= 2; var7 >= 0; var7 -= 2) { - var10[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + class240.Interpreter_intStackSize]; - var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + class240.Interpreter_intStackSize + 1]; - } - } - } else { - class240.Interpreter_intStackSize -= 2; - var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]}; - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]}; - } - - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] - 1; - if (var7 >= 0 && var7 <= 9) { - WorldMapID.Widget_setKey(var4, var7, var10, var8); - return 1; - } else { - throw new RuntimeException(); - } - } - } - } + @Export("getWidgetFlags") + static int getWidgetFlags(Widget var0) { + IntegerNode var1 = (IntegerNode)Client.widgetFlags.get(((long)var0.id << 32) + (long)var0.childIndex); + return var1 != null ? var1.integer : var0.flags; } } diff --git a/runescape-client/src/main/java/WorldMapScaleHandler.java b/runescape-client/src/main/java/WorldMapScaleHandler.java index c2685165ef..0b079a3fdd 100644 --- a/runescape-client/src/main/java/WorldMapScaleHandler.java +++ b/runescape-client/src/main/java/WorldMapScaleHandler.java @@ -1,21 +1,19 @@ -import java.net.MalformedURLException; -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gb") +@ObfuscatedName("gg") @Implements("WorldMapScaleHandler") public class WorldMapScaleHandler { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -961117973 + intValue = 460269771 ) @Export("pixelsPerTile") int pixelsPerTile; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("tileTemplates") byte[][][] tileTemplates; @@ -23,25 +21,25 @@ public class WorldMapScaleHandler { this.pixelsPerTile = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(IIIIIIIII)V", - garbageValue = "-1286380267" + garbageValue = "806412151" ) - void method3912(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + void method4009(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { if (var7 != 0 && this.pixelsPerTile != 0 && this.tileTemplates != null) { - var8 = this.method3944(var8, var7); - var7 = this.method3909(var7); + var8 = this.method3999(var8, var7); + var7 = this.method3976(var7); Rasterizer2D.Rasterizer2D_drawGradientPixels(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "1398514753" + garbageValue = "1935329101" ) - int method3944(int var1, int var2) { + int method3999(int var1, int var2) { if (var2 == 9) { var1 = var1 + 1 & 3; } @@ -57,12 +55,12 @@ public class WorldMapScaleHandler { return var1; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(II)I", - garbageValue = "1745983567" + garbageValue = "649131971" ) - int method3909(int var1) { + int method3976(int var1) { if (var1 != 9 && var1 != 10) { return var1 == 11 ? 8 : var1; } else { @@ -70,10 +68,10 @@ public class WorldMapScaleHandler { } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "201045358" + garbageValue = "-2085057846" ) @Export("init") void init() { @@ -90,10 +88,10 @@ public class WorldMapScaleHandler { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-117" + descriptor = "(I)V", + garbageValue = "-871886733" ) @Export("init0") void init0() { @@ -157,10 +155,10 @@ public class WorldMapScaleHandler { this.tileTemplates[0][3] = var1; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "18272219" + garbageValue = "1256743675" ) @Export("init1") void init1() { @@ -228,10 +226,10 @@ public class WorldMapScaleHandler { this.tileTemplates[1][3] = var1; } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-88" + descriptor = "(I)V", + garbageValue = "-1960858078" ) @Export("init2") void init2() { @@ -298,7 +296,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-2057947491" + garbageValue = "-592698839" ) @Export("init3") void init3() { @@ -362,10 +360,10 @@ public class WorldMapScaleHandler { this.tileTemplates[3][3] = var1; } - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1015348041" + descriptor = "(B)V", + garbageValue = "1" ) @Export("init4") void init4() { @@ -429,10 +427,10 @@ public class WorldMapScaleHandler { this.tileTemplates[4][3] = var1; } - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1785226616" + garbageValue = "-1288253951" ) @Export("init5") void init5() { @@ -498,10 +496,10 @@ public class WorldMapScaleHandler { this.tileTemplates[5][3] = var1; } - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2059916434" + descriptor = "(B)V", + garbageValue = "9" ) @Export("init6") void init6() { @@ -567,10 +565,10 @@ public class WorldMapScaleHandler { this.tileTemplates[6][3] = var1; } - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1852377606" + descriptor = "(B)V", + garbageValue = "62" ) @Export("init7") void init7() { @@ -636,79 +634,90 @@ public class WorldMapScaleHandler { this.tileTemplates[7][3] = var1; } - @ObfuscatedName("n") + @ObfuscatedName("az") @ObfuscatedSignature( - descriptor = "(S)[Loh;", - garbageValue = "-7730" + descriptor = "(II)V", + garbageValue = "1043186464" ) - @Export("FillMode_values") - public static FillMode[] FillMode_values() { - return new FillMode[]{FillMode.field4354, FillMode.SOLID, FillMode.field4352}; - } + @Export("runWidgetOnLoadListener") + static void runWidgetOnLoadListener(int var0) { + if (var0 != -1) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3.onLoad != null) { + ScriptEvent var4 = new ScriptEvent(); + var4.widget = var3; + var4.args = var3.onLoad; + SoundSystem.runScript(var4, 5000000, 0); + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Z", - garbageValue = "-1039563312" - ) - static boolean method3907(String var0) { - if (var0 == null) { - return false; - } else { - try { - new URL(var0); - return true; - } catch (MalformedURLException var2) { - return false; } } } - @ObfuscatedName("c") + @ObfuscatedName("ga") @ObfuscatedSignature( - descriptor = "(I)Lil;", - garbageValue = "-1342634459" + descriptor = "(IIB)V", + garbageValue = "89" ) - public static PacketBufferNode method3906() { - PacketBufferNode var0; - if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { - var0 = new PacketBufferNode(); - } else { - var0 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; - } + static final void method4005(int var0, int var1) { + if (Client.hintArrowType == 2) { + class124.worldToScreen((Client.hintArrowX - WorldMapSectionType.baseX << 7) + Client.hintArrowSubX, (Client.hintArrowY - PlayerComposition.baseY << 7) + Client.hintArrowSubY, Client.hintArrowHeight * 2); + if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { + UserComparator4.headIconHintSprites[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); + } - var0.clientPacket = null; - var0.clientPacketLength = 0; - var0.packetBuffer = new PacketBuffer(5000); - return var0; + } } - @ObfuscatedName("m") + @ObfuscatedName("kw") @ObfuscatedSignature( - descriptor = "(CI)C", - garbageValue = "-404344610" + descriptor = "(Ljava/lang/String;ZI)V", + garbageValue = "2084685303" ) - static char method3916(char var0) { - return var0 != 181 && var0 != 402 ? Character.toTitleCase(var0) : var0; - } + @Export("findItemDefinitions") + static void findItemDefinitions(String var0, boolean var1) { + var0 = var0.toLowerCase(); + short[] var2 = new short[16]; + int var3 = 0; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(CLka;B)I", - garbageValue = "49" - ) - @Export("lowercaseChar") - static int lowercaseChar(char var0, Language var1) { - int var2 = var0 << 4; - if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { - var0 = Character.toLowerCase(var0); - var2 = (var0 << 4) + 1; + for (int var4 = 0; var4 < class17.ItemDefinition_fileCount; ++var4) { + ItemComposition var9 = class87.ItemDefinition_get(var4); + if ((!var1 || var9.isTradable) && var9.noteTemplate == -1 && var9.name.toLowerCase().indexOf(var0) != -1) { + if (var3 >= 250) { + WorldMapAreaData.foundItemIdCount = -1; + ObjectComposition.foundItemIds = null; + return; + } + + if (var3 >= var2.length) { + short[] var6 = new short[var2.length * 2]; + + for (int var7 = 0; var7 < var3; ++var7) { + var6[var7] = var2[var7]; + } + + var2 = var6; + } + + var2[var3++] = (short)var4; + } } - if (var0 == 241 && var1 == Language.Language_ES) { - var2 = 1762; + ObjectComposition.foundItemIds = var2; + GraphicsObject.foundItemIndex = 0; + WorldMapAreaData.foundItemIdCount = var3; + String[] var8 = new String[WorldMapAreaData.foundItemIdCount]; + + for (int var5 = 0; var5 < WorldMapAreaData.foundItemIdCount; ++var5) { + var8[var5] = class87.ItemDefinition_get(var2[var5]).name; } - return var2; + short[] var10 = ObjectComposition.foundItemIds; + class281.sortItemsByName(var8, var10, 0, var8.length - 1); } } diff --git a/runescape-client/src/main/java/WorldMapSection.java b/runescape-client/src/main/java/WorldMapSection.java index 64516d0564..47e21e2a80 100644 --- a/runescape-client/src/main/java/WorldMapSection.java +++ b/runescape-client/src/main/java/WorldMapSection.java @@ -3,53 +3,53 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ge") +@ObfuscatedName("gl") @Implements("WorldMapSection") public interface WorldMapSection { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "1411488256" + garbageValue = "2018229058" ) @Export("expandBounds") void expandBounds(WorldMapArea var1); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIII)Z", - garbageValue = "899981978" + garbageValue = "-964071790" ) @Export("containsCoord") boolean containsCoord(int var1, int var2, int var3); - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1579388425" + garbageValue = "381612084" ) @Export("containsPosition") boolean containsPosition(int var1, int var2); - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "-1605422008" + descriptor = "(IIIB)[I", + garbageValue = "88" ) @Export("getBorderTileLengths") int[] getBorderTileLengths(int var1, int var2, int var3); - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1389329989" + descriptor = "(III)Lic;", + garbageValue = "2033247854" ) @Export("coord") Coord coord(int var1, int var2); - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-2069607106" + descriptor = "(Lot;B)V", + garbageValue = "4" ) @Export("read") void read(Buffer var1); diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index bd581651bb..a691129704 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -1,99 +1,101 @@ +import java.util.Date; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gj") +@ObfuscatedName("gs") @Implements("WorldMapSection0") public class WorldMapSection0 implements WorldMapSection { - @ObfuscatedName("et") + @ObfuscatedName("gq") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lcj;" ) - @Export("archive15") - static Archive archive15; - @ObfuscatedName("n") + @Export("urlRequester") + static UrlRequester urlRequester; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1799367031 + intValue = 26129547 ) @Export("oldZ") int oldZ; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -432598283 + intValue = -867337437 ) @Export("newZ") int newZ; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 410888893 + intValue = 847593195 ) @Export("oldX") int oldX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1719467777 + intValue = -308984415 ) @Export("oldY") int oldY; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1368077497 + intValue = 276591907 ) @Export("newX") int newX; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -959034875 + intValue = 1307815303 ) @Export("newY") int newY; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 1444756223 + intValue = -1009384651 ) @Export("oldChunkXLow") int oldChunkXLow; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 1782399699 + intValue = -1044972979 ) @Export("oldChunkYLow") int oldChunkYLow; - @ObfuscatedName("u") + @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -1201601721 + intValue = 1528547923 ) @Export("oldChunkXHigh") int oldChunkXHigh; - @ObfuscatedName("e") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = -673400873 + intValue = 493876669 ) @Export("oldChunkYHigh") int oldChunkYHigh; - @ObfuscatedName("l") + @ObfuscatedName("y") @ObfuscatedGetter( - intValue = -1855912777 + intValue = -1984300227 ) @Export("newChunkXLow") int newChunkXLow; - @ObfuscatedName("y") + @ObfuscatedName("w") @ObfuscatedGetter( - intValue = -610519609 + intValue = 1261005687 ) @Export("newChunkYLow") int newChunkYLow; - @ObfuscatedName("v") + @ObfuscatedName("g") @ObfuscatedGetter( - intValue = 113779895 + intValue = 998230359 ) @Export("newChunkXHigh") int newChunkXHigh; - @ObfuscatedName("f") + @ObfuscatedName("v") @ObfuscatedGetter( - intValue = 1187194763 + intValue = 1441950703 ) @Export("newChunkYHigh") int newChunkYHigh; @@ -101,10 +103,10 @@ public class WorldMapSection0 implements WorldMapSection { WorldMapSection0() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "1411488256" + garbageValue = "2018229058" ) @Export("expandBounds") public void expandBounds(WorldMapArea var1) { @@ -126,34 +128,34 @@ public class WorldMapSection0 implements WorldMapSection { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIII)Z", - garbageValue = "899981978" + garbageValue = "-964071790" ) @Export("containsCoord") public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.oldZ && var1 < this.newZ + this.oldZ) { + if (var1 >= this.oldZ && var1 < this.oldZ + this.newZ) { return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7; } else { return false; } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1579388425" + garbageValue = "381612084" ) @Export("containsPosition") public boolean containsPosition(int var1, int var2) { return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "-1605422008" + descriptor = "(IIIB)[I", + garbageValue = "88" ) @Export("getBorderTileLengths") public int[] getBorderTileLengths(int var1, int var2, int var3) { @@ -165,10 +167,10 @@ public class WorldMapSection0 implements WorldMapSection { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1389329989" + descriptor = "(III)Lic;", + garbageValue = "2033247854" ) @Export("coord") public Coord coord(int var1, int var2) { @@ -181,10 +183,10 @@ public class WorldMapSection0 implements WorldMapSection { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-2069607106" + descriptor = "(Lot;B)V", + garbageValue = "4" ) @Export("read") public void read(Buffer var1) { @@ -205,12 +207,386 @@ public class WorldMapSection0 implements WorldMapSection { this.postRead(); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1519540004" + garbageValue = "-1980100595" ) @Export("postRead") void postRead() { } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "582127125" + ) + static final void method3824(String var0) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2676, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-1293981201" + ) + static int method3826(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_FIND_LISTENED) { + if (class114.guestClanSettings != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + ModeWhere.field3804 = class114.guestClanSettings; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_FIND_AFFINED) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Client.currentClanSettings[var3] != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + ModeWhere.field3804 = Client.currentClanSettings[var3]; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCLANNAME) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ModeWhere.field3804.name; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETALLOWUNAFFINED) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.allowGuests ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKTALK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1450; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKKICK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1452; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETRANKLOOTSHARE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1459; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCOINSHARE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1466; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDCOUNT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.memberCount; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDDISPLAYNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ModeWhere.field3804.memberNames[var3]; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDRANK) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.memberRanks[var3]; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETBANNEDCOUNT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.bannedMemberCount; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETBANNEDDISPLAYNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ModeWhere.field3804.bannedMemberNames[var3]; + return 1; + } else { + int var5; + int var6; + if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDEXTRAINFO) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.method2585(var3, var6, var5); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETCURRENTOWNER_SLOT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.currentOwner; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETREPLACEMENTOWNER_SLOT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1451; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDSLOT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.method2584(Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETSORTEDAFFINEDSLOT) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.getSortedMembers()[Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1]]; + return 1; + } else if (var0 == ScriptOpcodes.AFFINEDCLANSETTINGS_ADDBANNED_FROMCHANNEL) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + PacketWriter.method2375(var6, var3); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDJOINRUNEDAY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1460[var3]; + return 1; + } else { + if (var0 == ScriptOpcodes.AFFINEDCLANSETTINGS_SETMUTED_FROMCHANNEL) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + boolean var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] == 1; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + class111.method2467(var5, var3, var4); + } + + if (var0 == ScriptOpcodes.ACTIVECLANSETTINGS_GETAFFINEDMUTED) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ModeWhere.field3804.field1461[var3] ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_FIND_LISTENED) { + if (GrandExchangeOfferNameComparator.guestClanChannel != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + BuddyRankComparator.field1347 = GrandExchangeOfferNameComparator.guestClanChannel; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_FIND_AFFINED) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Client.currentClanChannels[var3] != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + BuddyRankComparator.field1347 = Client.currentClanChannels[var3]; + PacketWriter.field1285 = var3; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETCLANNAME) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = BuddyRankComparator.field1347.name; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETRANKKICK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = BuddyRankComparator.field1347.field1512; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETRANKTALK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = BuddyRankComparator.field1347.field1517; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERCOUNT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = BuddyRankComparator.field1347.method2729(); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERDISPLAYNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ((ClanChannelMember)BuddyRankComparator.field1347.members.get(var3)).username.getName(); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERRANK) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((ClanChannelMember)BuddyRankComparator.field1347.members.get(var3)).rank; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERWORLD) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((ClanChannelMember)BuddyRankComparator.field1347.members.get(var3)).world; + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_KICKUSER) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class275.method5121(PacketWriter.field1285, var3); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETUSERSLOT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = BuddyRankComparator.field1347.method2739(Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.ACTIVECLANCHANNEL_GETSORTEDUSERSLOT) { + Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1] = BuddyRankComparator.field1347.getSortedMembers()[Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize - 1]]; + return 1; + } else if (var0 == ScriptOpcodes.CLANPROFILE_FIND) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Coord.field3013 != null ? 1 : 0; + return 1; + } else { + return 2; + } + } + } + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "84538647" + ) + static int method3827(int var0, Script var1, boolean var2) { + String var3; + int var9; + if (var0 == ScriptOpcodes.APPEND_NUM) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3 + var9; + return 1; + } else { + String var4; + if (var0 == ScriptOpcodes.APPEND) { + class54.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3 + var4; + return 1; + } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3 + class14.intToString(var9, true); + return 1; + } else if (var0 == ScriptOpcodes.LOWERCASE) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.toLowerCase(); + return 1; + } else { + int var6; + int var10; + if (var0 == ScriptOpcodes.FROMDATE) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + long var13 = ((long)var10 + 11745L) * 86400000L; + Interpreter.Interpreter_calendar.setTime(new Date(var13)); + var6 = Interpreter.Interpreter_calendar.get(5); + int var17 = Interpreter.Interpreter_calendar.get(2); + int var8 = Interpreter.Interpreter_calendar.get(1); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var17] + "-" + var8; + return 1; + } else if (var0 != ScriptOpcodes.TEXT_GENDER) { + if (var0 == ScriptOpcodes.TOSTRING) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = Integer.toString(var10); + return 1; + } else if (var0 == ScriptOpcodes.COMPARE) { + class54.Interpreter_stringStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = MidiPcmStream.method4815(MusicPatchPcmStream.compareStrings(Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1], ReflectionCheck.clientLanguage)); + return 1; + } else { + int var5; + byte[] var11; + Font var12; + if (var0 == ScriptOpcodes.PARAHEIGHT) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var11 = class54.archive13.takeFile(var5, 0); + var12 = new Font(var11); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var12.lineCount(var3, var9); + return 1; + } else if (var0 == ScriptOpcodes.PARAWIDTH) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var11 = class54.archive13.takeFile(var5, 0); + var12 = new Font(var11); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var12.lineWidth(var3, var9); + return 1; + } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { + class54.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + if (Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4; + } + + return 1; + } else if (var0 == ScriptOpcodes.ESCAPE) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); + return 1; + } else if (var0 == ScriptOpcodes.APPEND_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3 + (char)var9; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = DevicePcmPlayerProvider.isCharPrintable((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = KeyHandler.isAlphaNumeric((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class133.isCharAlphabetic((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { + var10 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class65.isDigit((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STRING_LENGTH) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + if (var3 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.length(); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.SUBSTRING) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.substring(var9, var5); + return 1; + } else if (var0 == ScriptOpcodes.REMOVETAGS) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + StringBuilder var15 = new StringBuilder(var3.length()); + boolean var16 = false; + + for (var6 = 0; var6 < var3.length(); ++var6) { + char var7 = var3.charAt(var6); + if (var7 == '<') { + var16 = true; + } else if (var7 == '>') { + var16 = false; + } else if (!var16) { + var15.append(var7); + } + } + + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var15.toString(); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.indexOf(var9); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { + class54.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.indexOf(var4, var5); + return 1; + } else if (var0 == 4122) { + var3 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3.toUpperCase(); + return 1; + } else { + return 2; + } + } + } else { + class54.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[class54.Interpreter_stringStackSize + 1]; + if (class67.localPlayer.appearance != null && class67.localPlayer.appearance.isFemale) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var3; + } + + return 1; + } + } + } + } + + @ObfuscatedName("ie") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "33887552" + ) + @Export("getTapToDrop") + static boolean getTapToDrop() { + return Client.tapToDrop; + } } diff --git a/runescape-client/src/main/java/WorldMapSection1.java b/runescape-client/src/main/java/WorldMapSection1.java index c6466e6feb..32416421a8 100644 --- a/runescape-client/src/main/java/WorldMapSection1.java +++ b/runescape-client/src/main/java/WorldMapSection1.java @@ -4,48 +4,42 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gr") +@ObfuscatedName("gy") @Implements("WorldMapSection1") public class WorldMapSection1 implements WorldMapSection { - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "[Loi;" - ) - @Export("worldSelectFlagSprites") - static IndexedSprite[] worldSelectFlagSprites; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 656001719 + intValue = 1921792767 ) @Export("minPlane") int minPlane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -525945557 + intValue = -1540557989 ) @Export("planes") int planes; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 2035585677 + intValue = 50051199 ) @Export("regionStartX") int regionStartX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1305061549 + intValue = -625671383 ) @Export("regionStartY") int regionStartY; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = -1689577501 + intValue = 345047229 ) @Export("regionEndX") int regionEndX; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 1713119819 + intValue = -598803681 ) @Export("regionEndY") int regionEndY; @@ -53,10 +47,10 @@ public class WorldMapSection1 implements WorldMapSection { WorldMapSection1() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "1411488256" + garbageValue = "2018229058" ) @Export("expandBounds") public void expandBounds(WorldMapArea var1) { @@ -78,34 +72,34 @@ public class WorldMapSection1 implements WorldMapSection { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIII)Z", - garbageValue = "899981978" + garbageValue = "-964071790" ) @Export("containsCoord") public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { + if (var1 >= this.minPlane && var1 < this.minPlane + this.planes) { return var2 >> 6 == this.regionStartX && var3 >> 6 == this.regionStartY; } else { return false; } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1579388425" + garbageValue = "381612084" ) @Export("containsPosition") public boolean containsPosition(int var1, int var2) { return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "-1605422008" + descriptor = "(IIIB)[I", + garbageValue = "88" ) @Export("getBorderTileLengths") public int[] getBorderTileLengths(int var1, int var2, int var3) { @@ -117,10 +111,10 @@ public class WorldMapSection1 implements WorldMapSection { } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1389329989" + descriptor = "(III)Lic;", + garbageValue = "2033247854" ) @Export("coord") public Coord coord(int var1, int var2) { @@ -133,10 +127,10 @@ public class WorldMapSection1 implements WorldMapSection { } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-2069607106" + descriptor = "(Lot;B)V", + garbageValue = "4" ) @Export("read") public void read(Buffer var1) { @@ -149,21 +143,57 @@ public class WorldMapSection1 implements WorldMapSection { this.postRead(); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-100803461" + descriptor = "(B)V", + garbageValue = "51" ) @Export("postRead") void postRead() { } - @ObfuscatedName("n") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "33" + descriptor = "(II)J", + garbageValue = "1118875109" ) - public static int method3843(int var0, int var1) { - return (var0 << 8) + var1; + public static long method3912(int var0) { + return ViewportMouse.ViewportMouse_entityTags[var0]; + } + + @ObfuscatedName("ig") + @ObfuscatedSignature( + descriptor = "([Ljt;IIIZB)V", + garbageValue = "3" + ) + @Export("resizeInterface") + static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { + for (int var5 = 0; var5 < var0.length; ++var5) { + Widget var6 = var0[var5]; + if (var6 != null && var6.parentId == var1) { + WorldMapEvent.alignWidgetSize(var6, var2, var3, var4); + HorizontalAlignment.alignWidgetPosition(var6, var2, var3); + if (var6.scrollX > var6.scrollWidth - var6.width) { + var6.scrollX = var6.scrollWidth - var6.width; + } + + if (var6.scrollX < 0) { + var6.scrollX = 0; + } + + if (var6.scrollY > var6.scrollHeight - var6.height) { + var6.scrollY = var6.scrollHeight - var6.height; + } + + if (var6.scrollY < 0) { + var6.scrollY = 0; + } + + if (var6.type == 0) { + TaskHandler.revalidateWidgetScroll(var0, var6, var4); + } + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 703f05353b..876029fbac 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -4,109 +4,98 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fi") +@ObfuscatedName("fl") @Implements("WorldMapSection2") public class WorldMapSection2 implements WorldMapSection { - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Ljw;" - ) - static GameBuild field2031; - @ObfuscatedName("is") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1727517231 - ) - @Export("cameraX") - static int cameraX; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1697423319 + intValue = 739106677 ) @Export("minPlane") int minPlane; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -1601696191 + intValue = -1981198519 ) @Export("planes") int planes; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -725219837 + intValue = 126525707 ) @Export("regionStartX") int regionStartX; - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = 1152095957 + intValue = 2091786471 ) @Export("regionStartY") int regionStartY; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 209240493 + intValue = -1494547721 ) @Export("regionEndX") int regionEndX; - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -1497862547 + intValue = -1240041779 ) @Export("regionEndY") int regionEndY; - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedGetter( - intValue = 764579299 + intValue = -677400595 ) - int field2027; + int field2031; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = -288081381 + intValue = 156542557 ) - int field2021; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1222340217 - ) - int field2028; + int field2038; @ObfuscatedName("e") @ObfuscatedGetter( - intValue = -1110327175 + intValue = 1002795527 ) - int field2023; + int field2039; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1479791309 + ) + int field2037; WorldMapSection2() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "1411488256" + garbageValue = "2018229058" ) @Export("expandBounds") public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field2027) { - var1.regionLowX = this.field2027; + if (var1.regionLowX > this.field2031) { + var1.regionLowX = this.field2031; } - if (var1.regionHighX < this.field2028) { - var1.regionHighX = this.field2028; + if (var1.regionHighX < this.field2039) { + var1.regionHighX = this.field2039; } - if (var1.regionLowY > this.field2021) { - var1.regionLowY = this.field2021; + if (var1.regionLowY > this.field2038) { + var1.regionLowY = this.field2038; } - if (var1.regionHighY < this.field2023) { - var1.regionHighY = this.field2023; + if (var1.regionHighY < this.field2037) { + var1.regionHighY = this.field2037; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIII)Z", - garbageValue = "899981978" + garbageValue = "-964071790" ) @Export("containsCoord") public boolean containsCoord(int var1, int var2, int var3) { @@ -117,51 +106,51 @@ public class WorldMapSection2 implements WorldMapSection { } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1579388425" + garbageValue = "381612084" ) @Export("containsPosition") public boolean containsPosition(int var1, int var2) { - return var1 >> 6 >= this.field2027 && var1 >> 6 <= this.field2028 && var2 >> 6 >= this.field2021 && var2 >> 6 <= this.field2023; + return var1 >> 6 >= this.field2031 && var1 >> 6 <= this.field2039 && var2 >> 6 >= this.field2038 && var2 >> 6 <= this.field2037; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "-1605422008" + descriptor = "(IIIB)[I", + garbageValue = "88" ) @Export("getBorderTileLengths") public int[] getBorderTileLengths(int var1, int var2, int var3) { if (!this.containsCoord(var1, var2, var3)) { return null; } else { - int[] var4 = new int[]{var2 + (this.field2027 * 64 - this.regionStartX * 64), var3 + (this.field2021 * 64 - this.regionStartY * 64)}; + int[] var4 = new int[]{var2 + (this.field2031 * 64 - this.regionStartX * 64), var3 + (this.field2038 * 64 - this.regionStartY * 64)}; return var4; } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1389329989" + descriptor = "(III)Lic;", + garbageValue = "2033247854" ) @Export("coord") public Coord coord(int var1, int var2) { if (!this.containsPosition(var1, var2)) { return null; } else { - int var3 = this.regionStartX * 64 - this.field2027 * 64 + var1; - int var4 = var2 + (this.regionStartY * 64 - this.field2021 * 64); + int var3 = this.regionStartX * 64 - this.field2031 * 64 + var1; + int var4 = var2 + (this.regionStartY * 64 - this.field2038 * 64); return new Coord(this.minPlane, var3, var4); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-2069607106" + descriptor = "(Lot;B)V", + garbageValue = "4" ) @Export("read") public void read(Buffer var1) { @@ -171,90 +160,19 @@ public class WorldMapSection2 implements WorldMapSection { this.regionStartY = var1.readUnsignedShort(); this.regionEndX = var1.readUnsignedShort(); this.regionEndY = var1.readUnsignedShort(); - this.field2027 = var1.readUnsignedShort(); - this.field2021 = var1.readUnsignedShort(); - this.field2028 = var1.readUnsignedShort(); - this.field2023 = var1.readUnsignedShort(); + this.field2031 = var1.readUnsignedShort(); + this.field2038 = var1.readUnsignedShort(); + this.field2039 = var1.readUnsignedShort(); + this.field2037 = var1.readUnsignedShort(); this.postRead(); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1366714923" + garbageValue = "1532243849" ) @Export("postRead") void postRead() { } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(CB)B", - garbageValue = "-98" - ) - @Export("charToByteCp1252") - public static byte charToByteCp1252(char var0) { - byte var1; - if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { - var1 = (byte)var0; - } else if (var0 == 8364) { - var1 = -128; - } else if (var0 == 8218) { - var1 = -126; - } else if (var0 == 402) { - var1 = -125; - } else if (var0 == 8222) { - var1 = -124; - } else if (var0 == 8230) { - var1 = -123; - } else if (var0 == 8224) { - var1 = -122; - } else if (var0 == 8225) { - var1 = -121; - } else if (var0 == 710) { - var1 = -120; - } else if (var0 == 8240) { - var1 = -119; - } else if (var0 == 352) { - var1 = -118; - } else if (var0 == 8249) { - var1 = -117; - } else if (var0 == 338) { - var1 = -116; - } else if (var0 == 381) { - var1 = -114; - } else if (var0 == 8216) { - var1 = -111; - } else if (var0 == 8217) { - var1 = -110; - } else if (var0 == 8220) { - var1 = -109; - } else if (var0 == 8221) { - var1 = -108; - } else if (var0 == 8226) { - var1 = -107; - } else if (var0 == 8211) { - var1 = -106; - } else if (var0 == 8212) { - var1 = -105; - } else if (var0 == 732) { - var1 = -104; - } else if (var0 == 8482) { - var1 = -103; - } else if (var0 == 353) { - var1 = -102; - } else if (var0 == 8250) { - var1 = -101; - } else if (var0 == 339) { - var1 = -100; - } else if (var0 == 382) { - var1 = -98; - } else if (var0 == 376) { - var1 = -97; - } else { - var1 = 63; - } - - return var1; - } } diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index 29ec9f0aaf..24038f8277 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -4,52 +4,58 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gu") +@ObfuscatedName("gj") @Implements("WorldMapSectionType") public enum WorldMapSectionType implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lgu;" + descriptor = "Lgj;" ) @Export("WORLDMAPSECTIONTYPE0") WORLDMAPSECTIONTYPE0(3, (byte)0), - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lgu;" + descriptor = "Lgj;" ) @Export("WORLDMAPSECTIONTYPE1") - WORLDMAPSECTIONTYPE1(0, (byte)1), - @ObfuscatedName("m") + WORLDMAPSECTIONTYPE1(1, (byte)1), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lgu;" + descriptor = "Lgj;" ) @Export("WORLDMAPSECTIONTYPE2") - WORLDMAPSECTIONTYPE2(1, (byte)2), - @ObfuscatedName("k") + WORLDMAPSECTIONTYPE2(2, (byte)2), + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lgu;" + descriptor = "Lgj;" ) @Export("WORLDMAPSECTIONTYPE3") - WORLDMAPSECTIONTYPE3(2, (byte)3); + WORLDMAPSECTIONTYPE3(0, (byte)3); - @ObfuscatedName("rl") + @ObfuscatedName("qm") + @Export("ClanChat_inClanChat") + static boolean ClanChat_inClanChat; + @ObfuscatedName("bo") @ObfuscatedSignature( - descriptor = "Leb;" + descriptor = "Lny;" ) - @Export("guestClanChannel") - static ClanChannel guestClanChannel; - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "Lmt;" - ) - static Bounds field2125; - @ObfuscatedName("o") + @Export("loginType") + static LoginType loginType; + @ObfuscatedName("fm") + static String field2140; + @ObfuscatedName("gn") @ObfuscatedGetter( - intValue = 944556803 + intValue = 356488237 + ) + @Export("baseX") + static int baseX; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1222085259 ) @Export("type") final int type; - @ObfuscatedName("g") + @ObfuscatedName("k") @Export("id") final byte id; @@ -58,78 +64,83 @@ public enum WorldMapSectionType implements MouseWheel { this.id = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("n") + @ObfuscatedName("gv") @ObfuscatedSignature( - descriptor = "(B)[Lgu;", - garbageValue = "0" + descriptor = "(II)V", + garbageValue = "104390740" ) - static WorldMapSectionType[] method3770() { - return new WorldMapSectionType[]{WORLDMAPSECTIONTYPE2, WORLDMAPSECTIONTYPE1, WORLDMAPSECTIONTYPE0, WORLDMAPSECTIONTYPE3}; - } + static final void method3830(int var0) { + int[] var1 = class11.sceneMinimapSprite.pixels; + int var2 = var1.length; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1892784316" - ) - static int method3769(int var0, Script var1, boolean var2) { - if (var0 != 7000 && var0 != 7005 && var0 != 7010 && var0 != 7015 && var0 != 7020 && var0 != 7025 && var0 != 7030 && var0 != 7035) { - if (var0 != 7001 && var0 != 7002 && var0 != 7011 && var0 != 7012 && var0 != 7021 && var0 != 7022) { - if (var0 != 7003 && var0 != 7013 && var0 != 7023) { - if (var0 != 7006 && var0 != 7007 && var0 != 7016 && var0 != 7017 && var0 != 7026 && var0 != 7027) { - if (var0 != 7008 && var0 != 7018 && var0 != 7028) { - if (var0 != 7031 && var0 != 7032) { - if (var0 == 7033) { - --Interpreter.Interpreter_stringStackSize; - return 1; - } else if (var0 != 7036 && var0 != 7037) { - if (var0 == 7038) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 != 7004 && var0 != 7009 && var0 != 7014 && var0 != 7019 && var0 != 7024 && var0 != 7029 && var0 != 7034 && var0 != 7039) { - return 2; - } else { - --class240.Interpreter_intStackSize; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 2; - return 1; - } - } else { - --Interpreter.Interpreter_stringStackSize; - --class240.Interpreter_intStackSize; - return 1; - } - } else { - --class240.Interpreter_intStackSize; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 2; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 2; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 3; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 5; - return 1; + int var3; + for (var3 = 0; var3 < var2; ++var3) { + var1[var3] = 0; } + + int var4; + int var5; + for (var3 = 1; var3 < 103; ++var3) { + var4 = (103 - var3) * 2048 + 24628; + + for (var5 = 1; var5 < 103; ++var5) { + if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { + PlayerComposition.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { + PlayerComposition.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); + } + + var4 += 4; + } + } + + var3 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); + var4 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; + class11.sceneMinimapSprite.setRaster(); + + int var6; + for (var5 = 1; var5 < 103; ++var5) { + for (var6 = 1; var6 < 103; ++var6) { + if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { + class138.drawObject(var0, var6, var5, var3, var4); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { + class138.drawObject(var0 + 1, var6, var5, var3, var4); + } + } + } + + Client.mapIconCount = 0; + + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + long var7 = PlayerComposition.scene.getFloorDecorationTag(VertexNormal.Client_plane, var5, var6); + if (0L != var7) { + int var9 = InterfaceParent.Entity_unpackID(var7); + int var10 = class245.getObjectDefinition(var9).mapIconId; + if (var10 >= 0 && class13.WorldMapElement_get(var10).field1634) { + Client.mapIcons[Client.mapIconCount] = class13.WorldMapElement_get(var10).getSpriteBool(false); + Client.mapIconXs[Client.mapIconCount] = var5; + Client.mapIconYs[Client.mapIconCount] = var6; + ++Client.mapIconCount; + } + } + } + } + + class244.rasterProvider.apply(); } } diff --git a/runescape-client/src/main/java/WorldMapSprite.java b/runescape-client/src/main/java/WorldMapSprite.java index 80a83a951c..34df1ede89 100644 --- a/runescape-client/src/main/java/WorldMapSprite.java +++ b/runescape-client/src/main/java/WorldMapSprite.java @@ -2,14 +2,12 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ga") +@ObfuscatedName("gw") @Implements("WorldMapSprite") public final class WorldMapSprite { - @ObfuscatedName("l") - @Export("Tiles_saturation") - static int[] Tiles_saturation; - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("tileColors") final int[] tileColors; @@ -21,13 +19,87 @@ public final class WorldMapSprite { this.tileColors = var1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)I", - garbageValue = "1715930440" + garbageValue = "214577413" ) @Export("getTileColor") final int getTileColor(int var1, int var2) { - return this.tileColors[var2 * 64 + var1]; + return this.tileColors[var1 + var2 * 64]; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "523339121" + ) + static int method3866(int var0, Script var1, boolean var2) { + Widget var7; + if (var0 != ScriptOpcodes.CC_CALLONRESIZE && var0 != ScriptOpcodes.IF_CALLONRESIZE) { + int var4; + if (var0 == ScriptOpcodes.CC_TRIGGEROP) { + var7 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + var4 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var4 >= 1 && var4 <= 10) { + class92 var8 = new class92(var4, var7.id, var7.childIndex, var7.itemId); + Interpreter.field830.add(var8); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.IF_TRIGGEROP) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 3; + int var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + if (var5 >= 1 && var5 <= 10) { + class92 var6 = new class92(var5, var3, var4, HealthBarUpdate.getWidget(var3).itemId); + Interpreter.field830.add(var6); + return 1; + } else { + throw new RuntimeException(); + } + } else { + return 2; + } + } else if (Interpreter.field818 >= 10) { + throw new RuntimeException(); + } else { + if (var0 >= 2000) { + var7 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } else { + var7 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } + + if (var7.onResize == null) { + return 0; + } else { + ScriptEvent var9 = new ScriptEvent(); + var9.widget = var7; + var9.args = var7.onResize; + var9.field1037 = Interpreter.field818 + 1; + Client.scriptEvents.addFirst(var9); + return 1; + } + } + } + + @ObfuscatedName("fm") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1445604382" + ) + @Export("playSong") + static void playSong(int var0) { + if (var0 == -1 && !Client.field663) { + class247.midiPcmStream.clear(); + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = null; + } else if (var0 != -1 && var0 != Client.currentTrackGroupId && WorldMapDecorationType.clientPreferences.musicVolume != 0 && !Client.field663) { + VertexNormal.method4560(2, Tiles.archive6, var0, 0, WorldMapDecorationType.clientPreferences.musicVolume, false); + } + + Client.currentTrackGroupId = var0; } } diff --git a/runescape-client/src/main/java/Wrapper.java b/runescape-client/src/main/java/Wrapper.java index 4e54e31006..4f75e5566a 100644 --- a/runescape-client/src/main/java/Wrapper.java +++ b/runescape-client/src/main/java/Wrapper.java @@ -2,10 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ij") +@ObfuscatedName("ik") @Implements("Wrapper") public abstract class Wrapper extends DualNode { - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("size") final int size; @@ -13,11 +13,11 @@ public abstract class Wrapper extends DualNode { this.size = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("get") abstract Object get(); - @ObfuscatedName("c") + @ObfuscatedName("q") @Export("isSoft") abstract boolean isSoft(); } diff --git a/runescape-client/src/main/java/class0.java b/runescape-client/src/main/java/class0.java index c90be7f53d..ebeec46d93 100644 --- a/runescape-client/src/main/java/class0.java +++ b/runescape-client/src/main/java/class0.java @@ -1,28 +1,31 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("n") +@ObfuscatedName("l") public class class0 implements class3 { - @ObfuscatedName("n") + class0() { + } + + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;)Lot;" ) - public Buffer vmethod17(Buffer var1) { + public Buffer vmethod15(Buffer var1) { Buffer var2 = new Buffer(100); - this.method1(var1, var2); + this.method3(var1, var2); return var2; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;Lot;)V" ) - void method1(Buffer var1, Buffer var2) { + void method3(Buffer var1, Buffer var2) { class8 var3 = new class8(var1); class5 var4 = new class5(var3); long var5; - for (var5 = 0L; !var4.method23(var3.method67(), var3.method65(), var5); ++var5) { + for (var5 = 0L; !var4.method25(var3.method68(), var3.method67(), var5); ++var5) { } var2.writeLong(var5); diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index ece294cd9e..ac71fa0ef2 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -1,32 +1,27 @@ +import java.awt.Image; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.net.URLConnection; import java.util.concurrent.Callable; import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("c") +@ObfuscatedName("q") public class class1 implements Callable { - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = -1191956543 - ) - static int field3; - @ObfuscatedName("dg") - @ObfuscatedSignature( - descriptor = "Lmv;" - ) - @Export("js5Socket") - static AbstractSocket js5Socket; - @ObfuscatedName("n") + @ObfuscatedName("au") + static Image field3; + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "Lot;" ) - final Buffer field0; - @ObfuscatedName("c") + final Buffer field1; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lk;" + descriptor = "Lj;" ) - final class3 field1; + final class3 field4; // $FF: synthetic field @ObfuscatedSignature( descriptor = "La;" @@ -34,190 +29,123 @@ public class class1 implements Callable { final class7 this$0; @ObfuscatedSignature( - descriptor = "(La;Lot;Lk;)V" + descriptor = "(La;Lot;Lj;)V" ) class1(class7 var1, Buffer var2, class3 var3) { this.this$0 = var1; - this.field0 = var2; - this.field1 = var3; + this.field1 = var2; + this.field4 = var3; } public Object call() { - return this.field1.vmethod17(this.field0); + return this.field4.vmethod15(this.field1); } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Lft;", - garbageValue = "826334190" + descriptor = "(IB)Lbe;", + garbageValue = "-96" ) - public static HealthBarDefinition method12(int var0) { - HealthBarDefinition var1 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var0); + @Export("getScript") + static Script getScript(int var0) { + Script var1 = (Script)Script.Script_cached.get((long)var0); if (var1 != null) { return var1; } else { - byte[] var2 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var0); - var1 = new HealthBarDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - HealthBarDefinition.HealthBarDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "([BIII)Z", - garbageValue = "-1744818632" - ) - static final boolean method16(byte[] var0, int var1, int var2) { - boolean var3 = true; - Buffer var4 = new Buffer(var0); - int var5 = -1; - - label69: - while (true) { - int var6 = var4.method7009(); - if (var6 == 0) { - return var3; - } - - var5 += var6; - int var7 = 0; - boolean var8 = false; - - while (true) { - int var9; - while (!var8) { - var9 = var4.readUShortSmart(); - if (var9 == 0) { - continue label69; - } - - var7 += var9 - 1; - int var10 = var7 & 63; - int var11 = var7 >> 6 & 63; - int var12 = var4.readUnsignedByte() >> 2; - int var13 = var11 + var1; - int var14 = var10 + var2; - if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) { - ObjectComposition var15 = HitSplatDefinition.getObjectDefinition(var5); - if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { - if (!var15.needsModelFiles()) { - ++Client.field641; - var3 = false; - } - - var8 = true; - } - } - } - - var9 = var4.readUShortSmart(); - if (var9 == 0) { - break; - } - - var4.readUnsignedByte(); + byte[] var2 = UserComparator6.archive12.takeFile(var0, 0); + if (var2 == null) { + return null; + } else { + var1 = GrandExchangeOfferOwnWorldComparator.newScript(var2); + Script.Script_cached.put(var1, (long)var0); + return var1; } } } - @ObfuscatedName("fe") + @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1356134240" + garbageValue = "1037014776" ) - @Export("playPcmPlayers") - static final void playPcmPlayers() { - if (FriendsChat.pcmPlayer1 != null) { - FriendsChat.pcmPlayer1.run(); - } - - if (UserComparator10.pcmPlayer0 != null) { - UserComparator10.pcmPlayer0.run(); - } - + static void method13() { + Messages.Messages_channels.clear(); + Messages.Messages_hashTable.clear(); + Messages.Messages_queue.clear(); + Messages.Messages_count = 0; } - @ObfuscatedName("gi") + @ObfuscatedName("y") @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1710532913" + descriptor = "(I)V", + garbageValue = "182768173" ) - static boolean method9() { - return (Client.drawPlayerNames & 8) != 0; - } - - @ObfuscatedName("ht") - @ObfuscatedSignature( - descriptor = "(IIIIIIIB)V", - garbageValue = "13" - ) - static final void method14(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - var5 = User.method5968(var5, var6); - int var7 = 2048 - var3 & 2047; - int var8 = 2048 - var4 & 2047; - int var9 = 0; - int var10 = 0; - int var11 = var5; - int var12; - int var13; - int var14; - if (var7 != 0) { - var12 = Rasterizer3D.Rasterizer3D_sine[var7]; - var13 = Rasterizer3D.Rasterizer3D_cosine[var7]; - var14 = var13 * var10 - var5 * var12 >> 16; - var11 = var5 * var13 + var10 * var12 >> 16; - var10 = var14; - } - - if (var8 != 0) { - var12 = Rasterizer3D.Rasterizer3D_sine[var8]; - var13 = Rasterizer3D.Rasterizer3D_cosine[var8]; - var14 = var9 * var13 + var11 * var12 >> 16; - var11 = var13 * var11 - var12 * var9 >> 16; - var9 = var14; - } - - WorldMapSection2.cameraX = var0 - var9; - SpotAnimationDefinition.cameraY = var1 - var10; - DevicePcmPlayerProvider.cameraZ = var2 - var11; - ApproximateRouteStrategy.cameraPitch = var3; - Fonts.cameraYaw = var4; - if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (WorldMapID.oculusOrbFocalPointX >> 7 != class129.localPlayer.x >> 7 || WorldMapRectangle.oculusOrbFocalPointY >> 7 != class129.localPlayer.y >> 7)) { - var12 = class129.localPlayer.plane; - var13 = (WorldMapID.oculusOrbFocalPointX >> 7) + FloorOverlayDefinition.baseX; - var14 = (WorldMapRectangle.oculusOrbFocalPointY >> 7) + class320.baseY; - PacketBufferNode var15 = FriendSystem.getPacketBufferNode(ClientPacket.field2707, Client.packetWriter.isaacCipher); - var15.packetBuffer.writeShort(var14); - var15.packetBuffer.method6861(Client.field570); - var15.packetBuffer.method6841(var12); - var15.packetBuffer.method6851(var13); - Client.packetWriter.addNode(var15); - } - - } - - @ObfuscatedName("iz") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "1396434339" - ) - @Export("formatItemStacks") - static final String formatItemStacks(int var0) { - String var1 = Integer.toString(var0); - - for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { - var1 = var1.substring(0, var2) + "," + var1.substring(var2); - } - - if (var1.length() > 9) { - return " " + class54.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; + static void method14() { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class17.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); } else { - return var1.length() > 6 ? " " + class54.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + class54.colorStartTag(16776960) + var1 + ""; + long var1; + try { + URL var3 = new URL(HitSplatDefinition.method3168("services", false) + "m=accountappeal/login.ws"); + URLConnection var4 = var3.openConnection(); + var4.setRequestProperty("connection", "close"); + var4.setDoInput(true); + var4.setDoOutput(true); + var4.setConnectTimeout(5000); + OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); + var5.write("data1=req"); + var5.flush(); + InputStream var6 = var4.getInputStream(); + Buffer var7 = new Buffer(new byte[1000]); + + while (true) { + int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); + if (var8 == -1) { + var7.offset = 0; + long var10 = var7.readLong(); + var1 = var10; + break; + } + + var7.offset += var8; + if (var7.offset >= 1000) { + var1 = 0L; + break; + } + } + } catch (Exception var14) { + var1 = 0L; + } + + int var0; + if (0L == var1) { + var0 = 5; + } else { + var0 = UserComparator8.method2413(var1, Login.Login_username); + } + + switch(var0) { + case 2: + class17.setLoginResponseString(Strings.field3604, Strings.field3351, Strings.field3606); + class112.method2474(6); + break; + case 3: + class17.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 4: + class17.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); + break; + case 5: + class17.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); + break; + case 6: + class17.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 7: + class17.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); + } + } } } diff --git a/runescape-client/src/main/java/class10.java b/runescape-client/src/main/java/class10.java index 622dbe0d0b..a6b0067306 100644 --- a/runescape-client/src/main/java/class10.java +++ b/runescape-client/src/main/java/class10.java @@ -11,75 +11,74 @@ import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import javax.net.ssl.HttpsURLConnection; -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("l") +@ObfuscatedName("y") public class class10 { - @ObfuscatedName("n") - HttpsURLConnection field46; - @ObfuscatedName("c") - final Map field42; + @ObfuscatedName("l") + HttpsURLConnection field49; + @ObfuscatedName("q") + final Map field51; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + class360 field50; + @ObfuscatedName("j") + Map field55; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lma;" + descriptor = "Li;" ) - class359 field43; + final class9 field52; @ObfuscatedName("k") - Map field44; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Le;" - ) - final class9 field48; - @ObfuscatedName("g") - boolean field41; - @ObfuscatedName("z") - boolean field50; + boolean field53; + @ObfuscatedName("t") + boolean field54; @ObfuscatedName("a") @ObfuscatedGetter( - intValue = 1757954479 + intValue = 978288269 ) - int field47; + int field57; @ObfuscatedSignature( - descriptor = "(Ljava/net/URL;Le;)V" + descriptor = "(Ljava/net/URL;Li;)V" ) public class10(URL var1, class9 var2) throws IOException { - this.field41 = false; - this.field50 = false; - this.field47 = 300000; - if (!var2.method71()) { - throw new UnsupportedEncodingException("Unsupported request method used " + var2.method72()); + this.field53 = false; + this.field54 = false; + this.field57 = 300000; + if (!var2.method74()) { + throw new UnsupportedEncodingException("Unsupported request method used " + var2.method85()); } else { - this.field46 = (HttpsURLConnection)var1.openConnection(); - this.field46.setSSLSocketFactory(new class15()); - this.field48 = var2; - this.field42 = new HashMap(); - this.field44 = new HashMap(); + this.field49 = (HttpsURLConnection)var1.openConnection(); + this.field49.setSSLSocketFactory(new class15()); + this.field52 = var2; + this.field51 = new HashMap(); + this.field55 = new HashMap(); } } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-794666028" + garbageValue = "1233460295" ) - public void method104(String var1, String var2) { - if (!this.field41) { - this.field42.put(var1, var2); + public void method91(String var1, String var2) { + if (!this.field53) { + this.field51.put(var1, var2); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "159386071" + descriptor = "(S)Ljava/lang/String;", + garbageValue = "-25817" ) - String method105() { - ArrayList var1 = new ArrayList(this.field44.entrySet()); + String method92() { + ArrayList var1 = new ArrayList(this.field55.entrySet()); Collections.sort(var1, new class18(this)); StringBuilder var2 = new StringBuilder(); Iterator var3 = var1.iterator(); @@ -90,7 +89,7 @@ public class class10 { var2.append(","); } - var2.append(((class358)var4.getKey()).method6273()); + var2.append(((class359)var4.getKey()).method6333()); float var5 = (Float)var4.getValue(); if (var5 < 1.0F) { String var6 = Float.toString(var5).substring(0, 4); @@ -101,32 +100,32 @@ public class class10 { return var2.toString(); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "336" + descriptor = "(I)V", + garbageValue = "2133161377" ) - void method100() throws ProtocolException { - if (!this.field41) { - this.field46.setRequestMethod(this.field48.method72()); - if (!this.field44.isEmpty()) { - this.field42.put("Accept", this.method105()); + void method102() throws ProtocolException { + if (!this.field53) { + this.field49.setRequestMethod(this.field52.method85()); + if (!this.field55.isEmpty()) { + this.field51.put("Accept", this.method92()); } - Iterator var1 = this.field42.entrySet().iterator(); + Iterator var1 = this.field51.entrySet().iterator(); while (var1.hasNext()) { Entry var2 = (Entry)var1.next(); - this.field46.setRequestProperty((String)var2.getKey(), (String)var2.getValue()); + this.field49.setRequestProperty((String)var2.getKey(), (String)var2.getValue()); } - if (this.field48.method73() && this.field43 != null) { - this.field46.setDoOutput(true); + if (this.field52.method76() && this.field50 != null) { + this.field49.setDoOutput(true); ByteArrayOutputStream var13 = new ByteArrayOutputStream(); try { - var13.write(this.field43.method6276(1403875276)); - var13.writeTo(this.field46.getOutputStream()); + var13.write(this.field50.method6336((byte)89)); + var13.writeTo(this.field49.getOutputStream()); } catch (IOException var11) { var11.printStackTrace(); } finally { @@ -141,38 +140,38 @@ public class class10 { } } - this.field46.setConnectTimeout(this.field47); - this.field46.setInstanceFollowRedirects(this.field50); - this.field41 = true; + this.field49.setConnectTimeout(this.field57); + this.field49.setInstanceFollowRedirects(this.field54); + this.field53 = true; } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "2091217505" + garbageValue = "-1708578826" ) - boolean method97() throws IOException, SocketTimeoutException { - if (!this.field41) { - this.method100(); + boolean method94() throws IOException, SocketTimeoutException { + if (!this.field53) { + this.method102(); } - this.field46.connect(); - return this.field46.getResponseCode() == -1; + this.field49.connect(); + return this.field49.getResponseCode() == -1; } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(I)Lt;", - garbageValue = "-1470332984" + descriptor = "(S)Lo;", + garbageValue = "-3416" ) - class21 method111() { + class21 method98() { try { - if (!this.field41 || this.field46.getResponseCode() == -1) { + if (!this.field53 || this.field49.getResponseCode() == -1) { return new class21("No REST response has been received yet."); } } catch (IOException var10) { - this.field46.disconnect(); + this.field49.disconnect(); return new class21("Error decoding REST response code: " + var10.getMessage()); } @@ -180,71 +179,62 @@ public class class10 { class21 var3; try { - var1 = new class21(this.field46); + var1 = new class21(this.field49); return var1; } catch (IOException var8) { var3 = new class21("Error decoding REST response: " + var8.getMessage()); } finally { - this.field46.disconnect(); + this.field49.disconnect(); } return var3; } - @ObfuscatedName("c") + @ObfuscatedName("hc") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1382258045" + descriptor = "(ILjava/lang/String;I)V", + garbageValue = "516116106" ) - @Export("ItemContainer_getCount") - static int ItemContainer_getCount(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return 0; - } else { - return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; - } - } + static void method104(int var0, String var1) { + int var2 = Players.Players_count; + int[] var3 = Players.Players_indices; + boolean var4 = false; + Username var5 = new Username(var1, WorldMapSectionType.loginType); - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "1120035384" - ) - public static int method98(int var0, int var1, int var2) { - int var3 = class120.method2512(var2 - var1 + 1); - var3 <<= var1; - return var0 & ~var3; - } + for (int var6 = 0; var6 < var2; ++var6) { + Player var7 = Client.players[var3[var6]]; + if (var7 != null && var7 != class67.localPlayer && var7.username != null && var7.username.equals(var5)) { + PacketBufferNode var8; + if (var0 == 1) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2740, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(0); + var8.packetBuffer.method6930(var3[var6]); + Client.packetWriter.addNode(var8); + } else if (var0 == 4) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2682, Client.packetWriter.isaacCipher); + var8.packetBuffer.method6931(var3[var6]); + var8.packetBuffer.method7066(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 6) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2695, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7066(0); + var8.packetBuffer.method6930(var3[var6]); + Client.packetWriter.addNode(var8); + } else if (var0 == 7) { + var8 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2709, Client.packetWriter.isaacCipher); + var8.packetBuffer.method7117(0); + var8.packetBuffer.method7029(var3[var6]); + Client.packetWriter.addNode(var8); + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Ljd;IIII)V", - garbageValue = "-1034555918" - ) - @Export("Widget_setKeyRate") - static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { - if (var0.field3135 == null) { - throw new RuntimeException(); - } else { - var0.field3135[var1] = var2; - var0.field3123[var1] = var3; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "8" - ) - static String method112() { - String var0 = ""; - - Message var2; - for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') { - var2 = (Message)var1.next(); + var4 = true; + break; + } + } + + if (!var4) { + GraphicsDefaults.addGameMessage(4, "", "Unable to find " + var1); } - return var0; } } diff --git a/runescape-client/src/main/java/class11.java b/runescape-client/src/main/java/class11.java index 4f5c1d0c74..02fbbb31fb 100644 --- a/runescape-client/src/main/java/class11.java +++ b/runescape-client/src/main/java/class11.java @@ -4,7 +4,6 @@ import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.util.LinkedList; import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import org.bouncycastle.crypto.tls.Certificate; @@ -12,36 +11,25 @@ import org.bouncycastle.crypto.tls.CertificateRequest; import org.bouncycastle.crypto.tls.TlsAuthentication; import org.bouncycastle.crypto.tls.TlsCredentials; -@ObfuscatedName("y") +@ObfuscatedName("w") class class11 implements TlsAuthentication { - @ObfuscatedName("e") - public static short[][] field54; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 2144032175 - ) - @Export("loginBoxCenter") - static int loginBoxCenter; - @ObfuscatedName("ao") + @ObfuscatedName("rt") @ObfuscatedSignature( - descriptor = "Lor;" + descriptor = "Lon;" ) - @Export("rasterProvider") - public static AbstractRasterProvider rasterProvider; - @ObfuscatedName("ge") - @ObfuscatedSignature( - descriptor = "Llu;" - ) - @Export("fontBold12") - static Font fontBold12; + @Export("sceneMinimapSprite") + static SpritePixels sceneMinimapSprite; + @ObfuscatedName("i") + @Export("Tiles_hue") + static int[] Tiles_hue; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lf;" + descriptor = "Lv;" ) final class13 this$2; @ObfuscatedSignature( - descriptor = "(Lf;)V" + descriptor = "(Lv;)V" ) class11(class13 var1) { this.this$2 = var1; @@ -58,7 +46,7 @@ class class11 implements TlsAuthentication { var3.add(var2.generateCertificate(new ByteArrayInputStream(var6.getEncoded()))); } - this.this$2.this$1.field60 = (java.security.cert.Certificate[])((java.security.cert.Certificate[])var3.toArray(new java.security.cert.Certificate[0])); + this.this$2.this$1.field65 = (java.security.cert.Certificate[])((java.security.cert.Certificate[])var3.toArray(new java.security.cert.Certificate[0])); } catch (CertificateException var7) { throw new IOException(var7); } @@ -68,16 +56,619 @@ class class11 implements TlsAuthentication { return null; } - @ObfuscatedName("km") + @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1237234444" + garbageValue = "-480736632" ) - static final void method115() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsInFriendsChat(); - } + public static void method105() { + StructComposition.StructDefinition_cached.clear(); + } + @ObfuscatedName("en") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1585776634" + ) + @Export("load") + static void load() { + int var25; + if (Client.titleLoadingStage == 0) { + PlayerComposition.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); + + for (var25 = 0; var25 < 4; ++var25) { + Client.collisionMaps[var25] = new CollisionMap(104, 104); + } + + sceneMinimapSprite = new SpritePixels(512, 512); + Login.Login_loadingText = "Starting game engine..."; + Login.Login_loadingPercent = 5; + Client.titleLoadingStage = 20; + } else if (Client.titleLoadingStage == 20) { + Login.Login_loadingText = "Prepared visibility map"; + Login.Login_loadingPercent = 10; + Client.titleLoadingStage = 30; + } else if (Client.titleLoadingStage == 30) { + ClanChannel.archive0 = ItemLayer.newArchive(0, false, true, true); + MouseRecorder.archive1 = ItemLayer.newArchive(1, false, true, true); + RouteStrategy.archive2 = ItemLayer.newArchive(2, true, false, true); + class150.archive3 = ItemLayer.newArchive(3, false, true, true); + class260.archive4 = ItemLayer.newArchive(4, false, true, true); + ApproximateRouteStrategy.archive5 = ItemLayer.newArchive(5, true, true, true); + Tiles.archive6 = ItemLayer.newArchive(6, true, true, true); + Skeleton.archive7 = ItemLayer.newArchive(7, false, true, true); + class176.archive8 = ItemLayer.newArchive(8, false, true, true); + Interpreter.archive9 = ItemLayer.newArchive(9, false, true, true); + UserComparator8.archive10 = ItemLayer.newArchive(10, false, true, true); + class4.archive11 = ItemLayer.newArchive(11, false, true, true); + UserComparator6.archive12 = ItemLayer.newArchive(12, false, true, true); + class54.archive13 = ItemLayer.newArchive(13, true, false, true); + class28.archive14 = ItemLayer.newArchive(14, false, true, true); + class12.archive15 = ItemLayer.newArchive(15, false, true, true); + ItemContainer.archive17 = ItemLayer.newArchive(17, true, true, true); + TextureProvider.archive18 = ItemLayer.newArchive(18, false, true, true); + ViewportMouse.archive19 = ItemLayer.newArchive(19, false, true, true); + class54.archive20 = ItemLayer.newArchive(20, false, true, true); + Login.Login_loadingText = "Connecting to update server"; + Login.Login_loadingPercent = 20; + Client.titleLoadingStage = 40; + } else if (Client.titleLoadingStage == 40) { + byte var43 = 0; + var25 = var43 + ClanChannel.archive0.percentage() * 4 / 100; + var25 += MouseRecorder.archive1.percentage() * 4 / 100; + var25 += RouteStrategy.archive2.percentage() * 2 / 100; + var25 += class150.archive3.percentage() * 2 / 100; + var25 += class260.archive4.percentage() * 6 / 100; + var25 += ApproximateRouteStrategy.archive5.percentage() * 4 / 100; + var25 += Tiles.archive6.percentage() * 2 / 100; + var25 += Skeleton.archive7.percentage() * 56 / 100; + var25 += class176.archive8.percentage() * 2 / 100; + var25 += Interpreter.archive9.percentage() * 2 / 100; + var25 += UserComparator8.archive10.percentage() * 2 / 100; + var25 += class4.archive11.percentage() * 2 / 100; + var25 += UserComparator6.archive12.percentage() * 2 / 100; + var25 += class54.archive13.percentage() * 2 / 100; + var25 += class28.archive14.percentage() * 2 / 100; + var25 += class12.archive15.percentage() * 2 / 100; + var25 += ViewportMouse.archive19.percentage() / 100; + var25 += TextureProvider.archive18.percentage() / 100; + var25 += class54.archive20.percentage() / 100; + var25 += ItemContainer.archive17.method5201() && ItemContainer.archive17.isFullyLoaded() ? 1 : 0; + if (var25 != 100) { + if (var25 != 0) { + Login.Login_loadingText = "Checking for updates - " + var25 + "%"; + } + + Login.Login_loadingPercent = 30; + } else { + class13.method167(ClanChannel.archive0, "Animations"); + class13.method167(MouseRecorder.archive1, "Skeletons"); + class13.method167(class260.archive4, "Sound FX"); + class13.method167(ApproximateRouteStrategy.archive5, "Maps"); + class13.method167(Tiles.archive6, "Music Tracks"); + class13.method167(Skeleton.archive7, "Models"); + class13.method167(class176.archive8, "Sprites"); + class13.method167(class4.archive11, "Music Jingles"); + class13.method167(class28.archive14, "Music Samples"); + class13.method167(class12.archive15, "Music Patches"); + class13.method167(ViewportMouse.archive19, "World Map"); + class13.method167(TextureProvider.archive18, "World Map Geography"); + class13.method167(class54.archive20, "World Map Ground"); + class131.spriteIds = new GraphicsDefaults(); + class131.spriteIds.decode(ItemContainer.archive17); + Login.Login_loadingText = "Loaded update list"; + Login.Login_loadingPercent = 30; + Client.titleLoadingStage = 45; + } + } else if (Client.titleLoadingStage == 45) { + boolean var42 = !Client.isLowDetail; + PcmPlayer.field279 = 22050; + PcmPlayer.PcmPlayer_stereo = var42; + PcmPlayer.field283 = 2; + MidiPcmStream var38 = new MidiPcmStream(); + var38.method4736(9, 128); + class126.pcmPlayer0 = HitSplatDefinition.method3194(GameEngine.taskHandler, 0, 22050); + class126.pcmPlayer0.setStream(var38); + class264.method5077(class12.archive15, class28.archive14, class260.archive4, var38); + class116.pcmPlayer1 = HitSplatDefinition.method3194(GameEngine.taskHandler, 1, 2048); + ApproximateRouteStrategy.pcmStreamMixer = new PcmStreamMixer(); + class116.pcmPlayer1.setStream(ApproximateRouteStrategy.pcmStreamMixer); + RouteStrategy.decimator = new Decimator(22050, PcmPlayer.field279); + Login.Login_loadingText = "Prepared sound engine"; + Login.Login_loadingPercent = 35; + Client.titleLoadingStage = 50; + class196.WorldMapElement_fonts = new Fonts(class176.archive8, class54.archive13); + } else { + int var26; + if (Client.titleLoadingStage == 50) { + FontName[] var35 = new FontName[]{FontName.FontName_bold12, FontName.FontName_plain12, FontName.FontName_verdana15, FontName.FontName_plain11, FontName.FontName_verdana13, FontName.FontName_verdana11}; + var26 = var35.length; + Fonts var36 = class196.WorldMapElement_fonts; + FontName[] var41 = new FontName[]{FontName.FontName_bold12, FontName.FontName_plain12, FontName.FontName_verdana15, FontName.FontName_plain11, FontName.FontName_verdana13, FontName.FontName_verdana11}; + Client.fontsMap = var36.createMap(var41); + if (Client.fontsMap.size() < var26) { + Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var26 + "%"; + Login.Login_loadingPercent = 40; + } else { + UserComparator8.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); + class262.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); + Interpreter.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); + MenuAction.platformInfo = Client.platformInfoProvider.get(); + Login.Login_loadingText = "Loaded fonts"; + Login.Login_loadingPercent = 40; + Client.titleLoadingStage = 60; + } + } else if (Client.titleLoadingStage == 60) { + var25 = MouseHandler.method614(UserComparator8.archive10, class176.archive8); + var26 = Login.field907.length + Login.field890.length; + if (var25 < var26) { + Login.Login_loadingText = "Loading title screen - " + var25 * 100 / var26 + "%"; + Login.Login_loadingPercent = 50; + } else { + Login.Login_loadingText = "Loaded title screen"; + Login.Login_loadingPercent = 50; + UserList.updateGameState(5); + Client.titleLoadingStage = 70; + } + } else { + Archive var2; + if (Client.titleLoadingStage == 70) { + if (!RouteStrategy.archive2.isFullyLoaded()) { + Login.Login_loadingText = "Loading config - " + RouteStrategy.archive2.loadPercent() + "%"; + Login.Login_loadingPercent = 60; + } else { + Archive var34 = RouteStrategy.archive2; + FloorOverlayDefinition.FloorOverlayDefinition_archive = var34; + GrandExchangeOfferTotalQuantityComparator.method5361(RouteStrategy.archive2); + Archive var37 = RouteStrategy.archive2; + var2 = Skeleton.archive7; + KitDefinition.KitDefinition_archive = var37; + KitDefinition.KitDefinition_modelsArchive = var2; + KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); + class114.method2490(RouteStrategy.archive2, Skeleton.archive7, Client.isLowDetail); + class128.method2662(RouteStrategy.archive2, Skeleton.archive7); + class157.method2982(RouteStrategy.archive2); + Archive var29 = RouteStrategy.archive2; + Archive var4 = Skeleton.archive7; + boolean var30 = Client.isMembersWorld; + Font var31 = UserComparator8.fontPlain11; + UserComparator4.ItemDefinition_archive = var29; + ItemComposition.ItemDefinition_modelArchive = var4; + ItemComposition.ItemDefinition_inMembersWorld = var30; + class17.ItemDefinition_fileCount = UserComparator4.ItemDefinition_archive.getGroupFileCount(10); + ItemComposition.ItemDefinition_fontPlain11 = var31; + Archive var39 = RouteStrategy.archive2; + Archive var32 = ClanChannel.archive0; + Archive var40 = MouseRecorder.archive1; + class395.SequenceDefinition_archive = var39; + class13.SequenceDefinition_animationsArchive = var32; + SequenceDefinition.SequenceDefinition_skeletonsArchive = var40; + HealthBarDefinition.method2978(RouteStrategy.archive2, Skeleton.archive7); + Archive var33 = RouteStrategy.archive2; + VarbitComposition.VarbitDefinition_archive = var33; + Archive var11 = RouteStrategy.archive2; + class351.VarpDefinition_archive = var11; + VarpDefinition.VarpDefinition_fileCount = class351.VarpDefinition_archive.getGroupFileCount(16); + Archive var12 = class150.archive3; + Archive var13 = Skeleton.archive7; + Archive var14 = class176.archive8; + Archive var15 = class54.archive13; + Widget.Widget_archive = var12; + Widget.Widget_modelsArchive = var13; + IntHashTable.Widget_spritesArchive = var14; + SecureRandomFuture.Widget_fontsArchive = var15; + Widget.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; + class157.Widget_loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; + Language.method5481(RouteStrategy.archive2); + FriendsList.method5954(RouteStrategy.archive2); + Archive var16 = RouteStrategy.archive2; + VarcInt.VarcInt_archive = var16; + Archive var17 = RouteStrategy.archive2; + DevicePcmPlayerProvider.ParamDefinition_archive = var17; + TriBool.field3979 = new class387(class392.field4267, 54, ReflectionCheck.clientLanguage, RouteStrategy.archive2); + WorldMapIcon_1.HitSplatDefinition_cachedSprites = new class387(class392.field4267, 47, ReflectionCheck.clientLanguage, RouteStrategy.archive2); + Tile.varcs = new Varcs(); + Archive var18 = RouteStrategy.archive2; + Archive var19 = class176.archive8; + Archive var20 = class54.archive13; + HitSplatDefinition.HitSplatDefinition_archive = var18; + HitSplatDefinition.field1799 = var19; + class17.HitSplatDefinition_fontsArchive = var20; + AttackOption.method2262(RouteStrategy.archive2, class176.archive8); + Archive var21 = RouteStrategy.archive2; + Archive var22 = class176.archive8; + WorldMapElement.WorldMapElement_archive = var22; + if (var21.isFullyLoaded()) { + WorldMapElement.WorldMapElement_count = var21.getGroupFileCount(35); + WorldMapElement.WorldMapElement_cached = new WorldMapElement[WorldMapElement.WorldMapElement_count]; + + for (int var23 = 0; var23 < WorldMapElement.WorldMapElement_count; ++var23) { + byte[] var24 = var21.takeFile(35, var23); + WorldMapElement.WorldMapElement_cached[var23] = new WorldMapElement(var23); + if (var24 != null) { + WorldMapElement.WorldMapElement_cached[var23].decode(new Buffer(var24)); + WorldMapElement.WorldMapElement_cached[var23].method2900(); + } + } + } + + Login.Login_loadingText = "Loaded config"; + Login.Login_loadingPercent = 60; + Client.titleLoadingStage = 80; + } + } else if (Client.titleLoadingStage == 80) { + var25 = 0; + if (class4.compass == null) { + class4.compass = AccessFile.SpriteBuffer_getSprite(class176.archive8, class131.spriteIds.compass, 0); + } else { + ++var25; + } + + if (class21.redHintArrowSprite == null) { + class21.redHintArrowSprite = AccessFile.SpriteBuffer_getSprite(class176.archive8, class131.spriteIds.field4014, 0); + } else { + ++var25; + } + + if (GrandExchangeOfferTotalQuantityComparator.mapSceneSprites == null) { + GrandExchangeOfferTotalQuantityComparator.mapSceneSprites = KitDefinition.method2934(class176.archive8, class131.spriteIds.mapScenes, 0); + } else { + ++var25; + } + + SpritePixels[] var1; + int var3; + SpritePixels[] var5; + int var6; + SpritePixels var7; + int var8; + byte[] var9; + int var10; + if (class21.headIconPkSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.headIconsPk; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subHeight * var7.subWidth; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + class21.headIconPkSprites = var1; + } else { + ++var25; + } + + if (HealthBarUpdate.headIconPrayerSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.field4017; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subHeight * var7.subWidth; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + HealthBarUpdate.headIconPrayerSprites = var1; + } else { + ++var25; + } + + if (UserComparator4.headIconHintSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.field4015; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subWidth * var7.subHeight; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + UserComparator4.headIconHintSprites = var1; + } else { + ++var25; + } + + if (Client.mapMarkerSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.field4018; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subWidth * var7.subHeight; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + Client.mapMarkerSprites = var1; + } else { + ++var25; + } + + if (SecureRandomFuture.crossSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.field4020; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subHeight * var7.subWidth; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + SecureRandomFuture.crossSprites = var1; + } else { + ++var25; + } + + if (class119.mapDotSprites == null) { + var2 = class176.archive8; + var3 = class131.spriteIds.field4019; + if (!VarbitComposition.method3102(var2, var3, 0)) { + var1 = null; + } else { + var5 = new SpritePixels[class414.SpriteBuffer_spriteCount]; + var6 = 0; + + while (true) { + if (var6 >= class414.SpriteBuffer_spriteCount) { + StudioGame.method5130(); + var1 = var5; + break; + } + + var7 = var5[var6] = new SpritePixels(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class131.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[var6]; + var8 = var7.subWidth * var7.subHeight; + var9 = class414.SpriteBuffer_pixels[var6]; + var7.pixels = new int[var8]; + + for (var10 = 0; var10 < var8; ++var10) { + var7.pixels[var10] = class351.SpriteBuffer_spritePalette[var9[var10] & 255]; + } + + ++var6; + } + } + + class119.mapDotSprites = var1; + } else { + ++var25; + } + + if (WorldMapDecoration.scrollBarSprites == null) { + WorldMapDecoration.scrollBarSprites = KitDefinition.method2934(class176.archive8, class131.spriteIds.field4022, 0); + } else { + ++var25; + } + + if (ApproximateRouteStrategy.modIconSprites == null) { + ApproximateRouteStrategy.modIconSprites = KitDefinition.method2934(class176.archive8, class131.spriteIds.field4013, 0); + } else { + ++var25; + } + + if (var25 < 11) { + Login.Login_loadingText = "Loading sprites - " + var25 * 100 / 12 + "%"; + Login.Login_loadingPercent = 70; + } else { + AbstractFont.AbstractFont_modIconSprites = ApproximateRouteStrategy.modIconSprites; + class21.redHintArrowSprite.normalize(); + var26 = (int)(Math.random() * 21.0D) - 10; + int var27 = (int)(Math.random() * 21.0D) - 10; + var3 = (int)(Math.random() * 21.0D) - 10; + int var28 = (int)(Math.random() * 41.0D) - 20; + GrandExchangeOfferTotalQuantityComparator.mapSceneSprites[0].shiftColors(var28 + var26, var27 + var28, var28 + var3); + Login.Login_loadingText = "Loaded sprites"; + Login.Login_loadingPercent = 70; + Client.titleLoadingStage = 90; + } + } else if (Client.titleLoadingStage == 90) { + if (!Interpreter.archive9.isFullyLoaded()) { + Login.Login_loadingText = "Loading textures - " + "0%"; + Login.Login_loadingPercent = 90; + } else { + Language.textureProvider = new TextureProvider(Interpreter.archive9, class176.archive8, 20, WorldMapDecorationType.clientPreferences.brightness, Client.isLowDetail ? 64 : 128); + Rasterizer3D.Rasterizer3D_setTextureLoader(Language.textureProvider); + Rasterizer3D.Rasterizer3D_setBrightness(WorldMapDecorationType.clientPreferences.brightness); + Client.titleLoadingStage = 100; + } + } else if (Client.titleLoadingStage == 100) { + var25 = Language.textureProvider.getLoadedPercentage(); + if (var25 < 100) { + Login.Login_loadingText = "Loading textures - " + var25 + "%"; + Login.Login_loadingPercent = 90; + } else { + Login.Login_loadingText = "Loaded textures"; + Login.Login_loadingPercent = 90; + Client.titleLoadingStage = 110; + } + } else if (Client.titleLoadingStage == 110) { + ClientPreferences.mouseRecorder = new MouseRecorder(); + GameEngine.taskHandler.newThreadTask(ClientPreferences.mouseRecorder, 10); + Login.Login_loadingText = "Loaded input handler"; + Login.Login_loadingPercent = 92; + Client.titleLoadingStage = 120; + } else if (Client.titleLoadingStage == 120) { + if (!UserComparator8.archive10.tryLoadFileByNames("huffman", "")) { + Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; + Login.Login_loadingPercent = 94; + } else { + Huffman var0 = new Huffman(UserComparator8.archive10.takeFileByNames("huffman", "")); + class264.huffman = var0; + Login.Login_loadingText = "Loaded wordpack"; + Login.Login_loadingPercent = 94; + Client.titleLoadingStage = 130; + } + } else if (Client.titleLoadingStage == 130) { + if (!class150.archive3.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + class150.archive3.loadPercent() * 4 / 5 + "%"; + Login.Login_loadingPercent = 96; + } else if (!UserComparator6.archive12.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (80 + UserComparator6.archive12.loadPercent() / 6) + "%"; + Login.Login_loadingPercent = 96; + } else if (!class54.archive13.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (96 + class54.archive13.loadPercent() / 50) + "%"; + Login.Login_loadingPercent = 96; + } else { + Login.Login_loadingText = "Loaded interfaces"; + Login.Login_loadingPercent = 98; + Client.titleLoadingStage = 140; + } + } else if (Client.titleLoadingStage == 140) { + Login.Login_loadingPercent = 100; + if (!ViewportMouse.archive19.tryLoadGroupByName(WorldMapCacheName.field2220.name)) { + Login.Login_loadingText = "Loading world map - " + ViewportMouse.archive19.groupLoadPercentByName(WorldMapCacheName.field2220.name) / 10 + "%"; + } else { + if (TileItem.worldMap == null) { + TileItem.worldMap = new WorldMap(); + TileItem.worldMap.init(ViewportMouse.archive19, TextureProvider.archive18, class54.archive20, Interpreter.fontBold12, Client.fontsMap, GrandExchangeOfferTotalQuantityComparator.mapSceneSprites); + } + + Login.Login_loadingText = "Loaded world map"; + Client.titleLoadingStage = 150; + } + } else if (Client.titleLoadingStage == 150) { + UserList.updateGameState(10); + } + } + } + } + + @ObfuscatedName("gp") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "836711710" + ) + static final void method110(int var0, int var1, int var2, int var3) { + class115.method2501(); } } diff --git a/runescape-client/src/main/java/class110.java b/runescape-client/src/main/java/class110.java index 1b7d74c9ff..40f7a8e47a 100644 --- a/runescape-client/src/main/java/class110.java +++ b/runescape-client/src/main/java/class110.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dh") +@ObfuscatedName("dc") public interface class110 { } diff --git a/runescape-client/src/main/java/class111.java b/runescape-client/src/main/java/class111.java index be37f63610..84d956997c 100644 --- a/runescape-client/src/main/java/class111.java +++ b/runescape-client/src/main/java/class111.java @@ -1,227 +1,25 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("do") +@ObfuscatedName("dy") public class class111 implements class110 { - @ObfuscatedName("n") + @ObfuscatedName("kp") @ObfuscatedSignature( - descriptor = "(Lkk;B)V", - garbageValue = "22" + descriptor = "(IIZB)V", + garbageValue = "27" ) - public static void method2466(AbstractArchive var0) { - StructComposition.StructDefinition_archive = var0; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(IIILfw;Lfk;B)Z", - garbageValue = "70" - ) - static final boolean method2467(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) { - int var5 = var0; - int var6 = var1; - byte var7 = 64; - byte var8 = 64; - int var9 = var0 - var7; - int var10 = var1 - var8; - class174.directions[var7][var8] = 99; - class174.distances[var7][var8] = 0; - byte var11 = 0; - int var12 = 0; - class174.bufferX[var11] = var0; - int var20 = var11 + 1; - class174.bufferY[var11] = var1; - int[][] var13 = var4.flags; - - while (true) { - label307: - while (true) { - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - do { - do { - do { - label284: - do { - if (var12 == var20) { - class150.field1601 = var5; - class174.field1991 = var6; - return false; - } - - var5 = class174.bufferX[var12]; - var6 = class174.bufferY[var12]; - var12 = var12 + 1 & 4095; - var18 = var5 - var9; - var19 = var6 - var10; - var14 = var5 - var4.xInset; - var15 = var6 - var4.yInset; - if (var3.hasArrived(var2, var5, var6, var4)) { - class150.field1601 = var5; - class174.field1991 = var6; - return true; - } - - var16 = class174.distances[var18][var19] + 1; - if (var18 > 0 && class174.directions[var18 - 1][var19] == 0 && (var13[var14 - 1][var15] & 19136782) == 0 && (var13[var14 - 1][var15 + var2 - 1] & 19136824) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class174.bufferX[var20] = var5 - 1; - class174.bufferY[var20] = var6; - var20 = var20 + 1 & 4095; - class174.directions[var18 - 1][var19] = 2; - class174.distances[var18 - 1][var19] = var16; - break; - } - - if ((var13[var14 - 1][var15 + var17] & 19136830) != 0) { - break; - } - - ++var17; - } - } - - if (var18 < 128 - var2 && class174.directions[var18 + 1][var19] == 0 && (var13[var14 + var2][var15] & 19136899) == 0 && (var13[var14 + var2][var15 + var2 - 1] & 19136992) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class174.bufferX[var20] = var5 + 1; - class174.bufferY[var20] = var6; - var20 = var20 + 1 & 4095; - class174.directions[var18 + 1][var19] = 8; - class174.distances[var18 + 1][var19] = var16; - break; - } - - if ((var13[var14 + var2][var15 + var17] & 19136995) != 0) { - break; - } - - ++var17; - } - } - - if (var19 > 0 && class174.directions[var18][var19 - 1] == 0 && (var13[var14][var15 - 1] & 19136782) == 0 && (var13[var14 + var2 - 1][var15 - 1] & 19136899) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class174.bufferX[var20] = var5; - class174.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class174.directions[var18][var19 - 1] = 1; - class174.distances[var18][var19 - 1] = var16; - break; - } - - if ((var13[var17 + var14][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var19 < 128 - var2 && class174.directions[var18][var19 + 1] == 0 && (var13[var14][var15 + var2] & 19136824) == 0 && (var13[var14 + var2 - 1][var15 + var2] & 19136992) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class174.bufferX[var20] = var5; - class174.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class174.directions[var18][var19 + 1] = 4; - class174.distances[var18][var19 + 1] = var16; - break; - } - - if ((var13[var14 + var17][var15 + var2] & 19137016) != 0) { - break; - } - - ++var17; - } - } - - if (var18 > 0 && var19 > 0 && class174.directions[var18 - 1][var19 - 1] == 0 && (var13[var14 - 1][var15 - 1] & 19136782) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2) { - class174.bufferX[var20] = var5 - 1; - class174.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class174.directions[var18 - 1][var19 - 1] = 3; - class174.distances[var18 - 1][var19 - 1] = var16; - break; - } - - if ((var13[var14 - 1][var17 + (var15 - 1)] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var18 < 128 - var2 && var19 > 0 && class174.directions[var18 + 1][var19 - 1] == 0 && (var13[var14 + var2][var15 - 1] & 19136899) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2) { - class174.bufferX[var20] = var5 + 1; - class174.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class174.directions[var18 + 1][var19 - 1] = 9; - class174.distances[var18 + 1][var19 - 1] = var16; - break; - } - - if ((var13[var14 + var2][var17 + (var15 - 1)] & 19136995) != 0 || (var13[var17 + var14][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var18 > 0 && var19 < 128 - var2 && class174.directions[var18 - 1][var19 + 1] == 0 && (var13[var14 - 1][var15 + var2] & 19136824) == 0) { - for (var17 = 1; var17 < var2; ++var17) { - if ((var13[var14 - 1][var15 + var17] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 + var2] & 19137016) != 0) { - continue label284; - } - } - - class174.bufferX[var20] = var5 - 1; - class174.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class174.directions[var18 - 1][var19 + 1] = 6; - class174.distances[var18 - 1][var19 + 1] = var16; - } - } while(var18 >= 128 - var2); - } while(var19 >= 128 - var2); - } while(class174.directions[var18 + 1][var19 + 1] != 0); - } while((var13[var14 + var2][var15 + var2] & 19136992) != 0); - - for (var17 = 1; var17 < var2; ++var17) { - if ((var13[var17 + var14][var15 + var2] & 19137016) != 0 || (var13[var14 + var2][var17 + var15] & 19136995) != 0) { - continue label307; - } - } - - class174.bufferX[var20] = var5 + 1; - class174.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class174.directions[var18 + 1][var19 + 1] = 12; - class174.distances[var18 + 1][var19 + 1] = var16; + static final void method2467(int var0, int var1, boolean var2) { + if (Client.currentClanChannels[var0] != null) { + if (var1 >= 0 && var1 < Client.currentClanChannels[var0].method2729()) { + ClanChannelMember var3 = (ClanChannelMember)Client.currentClanChannels[var0].members.get(var1); + PacketWriter var4 = Client.packetWriter; + PacketBufferNode var5 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2696, var4.isaacCipher); + var5.packetBuffer.writeByte(4 + class113.stringCp1252NullTerminatedByteSize(var3.username.getName())); + var5.packetBuffer.writeByte(var0); + var5.packetBuffer.writeShort(var1); + var5.packetBuffer.writeBoolean(var2); + var5.packetBuffer.writeStringCp1252NullTerminated(var3.username.getName()); + var4.addNode(var5); } } } diff --git a/runescape-client/src/main/java/class112.java b/runescape-client/src/main/java/class112.java index 0441ae811e..a231371829 100644 --- a/runescape-client/src/main/java/class112.java +++ b/runescape-client/src/main/java/class112.java @@ -2,289 +2,103 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("dp") +@ObfuscatedName("dl") public enum class112 implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ldp;" + descriptor = "Ldl;" ) - field1355(2, 0), - @ObfuscatedName("c") + field1363(0, 0), + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ldp;" + descriptor = "Ldl;" ) - field1356(3, 1), - @ObfuscatedName("m") + field1358(2, 1), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ldp;" + descriptor = "Ldl;" ) - field1357(0, 2), - @ObfuscatedName("k") + field1359(3, 2), + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Ldp;" + descriptor = "Ldl;" ) - field1359(1, 3); + field1362(1, 3); - @ObfuscatedName("sc") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 572418005 + intValue = 1343295737 ) - static int field1361; - @ObfuscatedName("o") + public final int field1361; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -2108357605 - ) - public final int field1360; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 221932759 + intValue = -7588353 ) @Export("id") final int id; class112(int var3, int var4) { - this.field1360 = var3; + this.field1361 = var3; this.id = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { return this.id; } - @ObfuscatedName("ae") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "347780124" + descriptor = "(II)Lfg;", + garbageValue = "2143323219" ) - static int method2468(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.publicChatMode; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { - class240.Interpreter_intStackSize -= 3; - Client.publicChatMode = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - class18.privateChatMode = FloorUnderlayDefinition.method3025(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - if (class18.privateChatMode == null) { - class18.privateChatMode = PrivateChatMode.field4395; - } - - Client.tradeChatMode = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - PacketBufferNode var13 = FriendSystem.getPacketBufferNode(ClientPacket.field2686, Client.packetWriter.isaacCipher); - var13.packetBuffer.writeByte(Client.publicChatMode); - var13.packetBuffer.writeByte(class18.privateChatMode.field4393); - var13.packetBuffer.writeByte(Client.tradeChatMode); - Client.packetWriter.addNode(var13); - return 1; + @Export("getNpcDefinition") + public static NPCComposition getNpcDefinition(int var0) { + NPCComposition var1 = (NPCComposition)NPCComposition.NpcDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - PacketBufferNode var6; - int var7; - String var8; - int var9; - if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { - var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class240.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var6 = FriendSystem.getPacketBufferNode(ClientPacket.field2744, Client.packetWriter.isaacCipher); - var6.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var8) + 2); - var6.packetBuffer.writeStringCp1252NullTerminated(var8); - var6.packetBuffer.writeByte(var7 - 1); - var6.packetBuffer.writeByte(var9); - Client.packetWriter.addNode(var6); - return 1; - } else { - int var3; - Message var5; - if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = DevicePcmPlayerProvider.Messages_getByChannelAndID(var3, var7); - if (var5 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.count; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.sender != null ? var5.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.prefix != null ? var5.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.text != null ? var5.text : ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.isFromFriend() ? 1 : (var5.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - Message var4; - if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class9.Messages_getMessage(var3); - if (var4 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.type; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.sender != null ? var4.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.prefix != null ? var4.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.text != null ? var4.text : ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.isFromFriend() ? 1 : (var4.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { - if (class18.privateChatMode == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class18.privateChatMode.field4393; - } - - return 1; - } else { - PacketBufferNode var12; - if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { - var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var7 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var12 = class395.method6747(var7, var8, class323.clientLanguage, -1); - Client.packetWriter.addNode(var12); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { - Interpreter.Interpreter_stringStackSize -= 2; - var8 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - String var11 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2731, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeShort(0); - int var10 = var12.packetBuffer.offset; - var12.packetBuffer.writeStringCp1252NullTerminated(var8); - ByteArrayPool.method5814(var12.packetBuffer, var11); - var12.packetBuffer.writeLengthShort(var12.packetBuffer.offset - var10); - Client.packetWriter.addNode(var12); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SENDCLAN) { - var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class240.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var6 = class395.method6747(var7, var8, class323.clientLanguage, var9); - Client.packetWriter.addNode(var6); - return 1; - } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.tradeChatMode; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = SoundSystem.Messages_getHistorySize(var3); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = ParamComposition.Messages_getLastChatID(var3); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = VarbitComposition.method3027(var3); - return 1; - } else if (var0 == ScriptOpcodes.DOCHEAT) { - var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapID.doCheat(var8); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { - Client.field647 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize].toLowerCase().trim(); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Client.field647; - return 1; - } else if (var0 == ScriptOpcodes.WRITECONSOLE) { - var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - System.out.println(var8); - return 1; - } else if (var0 == 5024) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 5025) { - ++class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 5030) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = DevicePcmPlayerProvider.Messages_getByChannelAndID(var3, var7); - if (var5 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.count; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.sender != null ? var5.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.prefix != null ? var5.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.text != null ? var5.text : ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.isFromFriend() ? 1 : (var5.isFromIgnored() ? 2 : 0); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == 5031) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class9.Messages_getMessage(var3); - if (var4 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.type; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.sender != null ? var4.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.prefix != null ? var4.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.text != null ? var4.text : ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.isFromFriend() ? 1 : (var4.isFromIgnored() ? 2 : 0); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - return 2; - } - } else { - if (class129.localPlayer != null && class129.localPlayer.username != null) { - var8 = class129.localPlayer.username.getName(); - } else { - var8 = ""; - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8; - return 1; - } - } - } + byte[] var2 = GrandExchangeOfferAgeComparator.NpcDefinition_archive.takeFile(9, var0); + var1 = new NPCComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); } + + var1.postDecode(); + NPCComposition.NpcDefinition_cached.put(var1, (long)var0); + return var1; } } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "200795103" + ) + static void method2474(int var0) { + if (var0 != Login.loginIndex) { + Login.loginIndex = var0; + } + } + + @ObfuscatedName("hm") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-1793606804" + ) + static final void method2468(int var0, int var1, int var2, int var3) { + for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { + if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetYs[var4] + Client.rootWidgetHeights[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { + Client.field701[var4] = true; + } + } + + } } diff --git a/runescape-client/src/main/java/class113.java b/runescape-client/src/main/java/class113.java index 0ffa89d6b5..68f060b791 100644 --- a/runescape-client/src/main/java/class113.java +++ b/runescape-client/src/main/java/class113.java @@ -2,203 +2,294 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("dx") +@ObfuscatedName("df") public class class113 extends class116 { - @ObfuscatedName("ro") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Loc;" + descriptor = "Lkl;" ) - @Export("sceneMinimapSprite") - static SpritePixels sceneMinimapSprite; - @ObfuscatedName("s") - static int[][][] field1367; - @ObfuscatedName("n") + @Export("musicTrackArchive") + public static AbstractArchive musicTrackArchive; + @ObfuscatedName("fh") @ObfuscatedGetter( - intValue = -2004132967 + intValue = 611077485 + ) + static int field1364; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1446418621 + ) + int field1365; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 837732111 ) int field1366; - @ObfuscatedName("c") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1951092477 + intValue = 191831599 ) - int field1363; - @ObfuscatedName("m") + int field1367; + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -960522385 - ) - int field1364; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -188053285 + intValue = -779185285 ) int field1368; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class113(class119 var1) { this.this$0 = var1; - this.field1366 = -1; + this.field1365 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1366 = var1.readUnsignedShort(); - this.field1363 = var1.readInt(); - this.field1364 = var1.readUnsignedByte(); + void vmethod2767(Buffer var1) { + this.field1365 = var1.readUnsignedShort(); + this.field1366 = var1.readInt(); + this.field1367 = var1.readUnsignedByte(); this.field1368 = var1.readUnsignedByte(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2614(this.field1366, this.field1363, this.field1364, this.field1368); + void vmethod2766(ClanSettings var1) { + var1.method2596(this.field1365, this.field1366, this.field1367, this.field1368); } - @ObfuscatedName("o") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;II)I", - garbageValue = "-1428729537" + descriptor = "(ILbe;ZB)I", + garbageValue = "-47" ) - public static int method2479(CharSequence var0, int var1) { - return GrandExchangeEvent.method5326(var0, var1, true); - } + static int method2482(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + } else { + var3 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "1877025218" - ) - public static String method2480(String var0) { - int var1 = var0.length(); - char[] var2 = new char[var1]; - byte var3 = 2; - - for (int var4 = 0; var4 < var1; ++var4) { - char var5 = var0.charAt(var4); - if (var3 == 0) { - var5 = Character.toLowerCase(var5); - } else if (var3 == 2 || Character.isUpperCase(var5)) { - var5 = WorldMapScaleHandler.method3916(var5); + class16.invalidateWidget(var3); + if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { + if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { + var3.modelType = 2; + var3.modelId = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { + var3.modelType = 3; + var3.modelId = class67.localPlayer.appearance.getChatHeadId(); + return 1; + } else { + return 2; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + int var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var3.itemId = var4; + var3.itemQuantity = var5; + ItemComposition var6 = class87.ItemDefinition_get(var4); + var3.modelAngleX = var6.xan2d; + var3.modelAngleY = var6.yan2d; + var3.modelAngleZ = var6.zan2d; + var3.modelOffsetX = var6.offsetX2d; + var3.modelOffsetY = var6.offsetY2d; + var3.modelZoom = var6.zoom2d; + if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { + var3.itemQuantityMode = 0; + } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | var6.isStackable == 1) { + var3.itemQuantityMode = 1; + } else { + var3.itemQuantityMode = 2; } - if (Character.isLetter(var5)) { - var3 = 0; - } else if (var5 != '.' && var5 != '?' && var5 != '!') { - if (Character.isSpaceChar(var5)) { - if (var3 != 2) { - var3 = 1; - } - } else { - var3 = 1; + if (var3.field3102 > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.field3102; + } else if (var3.rawWidth > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; + } + + return 1; + } + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "1268577977" + ) + @Export("stringCp1252NullTerminatedByteSize") + public static int stringCp1252NullTerminatedByteSize(String var0) { + return var0.length() + 1; + } + + @ObfuscatedName("hd") + @ObfuscatedSignature( + descriptor = "(IIIIIIIIII)V", + garbageValue = "-1912016711" + ) + @Export("updatePendingSpawn") + static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + PendingSpawn var9 = null; + + for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { + var9 = var10; + break; + } + } + + if (var9 == null) { + var9 = new PendingSpawn(); + var9.plane = var0; + var9.type = var3; + var9.x = var1; + var9.y = var2; + Script.method1969(var9); + Client.pendingSpawns.addFirst(var9); + } + + var9.id = var4; + var9.field1104 = var5; + var9.orientation = var6; + var9.delay = var7; + var9.hitpoints = var8; + } + + @ObfuscatedName("jm") + @ObfuscatedSignature( + descriptor = "(Ljt;IIIB)V", + garbageValue = "1" + ) + @Export("drawMinimap") + static final void drawMinimap(Widget var0, int var1, int var2, int var3) { + class356.playPcmPlayers(); + SpriteMask var4 = var0.getSpriteMask(false); + if (var4 != null) { + Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); + if (Client.minimapState != 2 && Client.minimapState != 5) { + int var5 = Client.camAngleY & 2047; + int var6 = class67.localPlayer.x / 32 + 48; + int var7 = 464 - class67.localPlayer.y / 32; + class11.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); + + int var8; + int var10; + int var16; + for (var8 = 0; var8 < Client.mapIconCount; ++var8) { + var16 = Client.mapIconXs[var8] * 4 + 2 - class67.localPlayer.x / 32; + var10 = Client.mapIconYs[var8] * 4 + 2 - class67.localPlayer.y / 32; + StudioGame.drawSpriteOnMinimap(var1, var2, var16, var10, Client.mapIcons[var8], var4); } - } else { - var3 = 2; - } - var2[var4] = var5; - } - - return new String(var2); - } - - @ObfuscatedName("hq") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2040835738" - ) - static final void method2478() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0.hitpoints == -1) { - var0.delay = 0; - InterfaceParent.method2044(var0); - } else { - var0.remove(); - } - } - - } - - @ObfuscatedName("je") - @ObfuscatedSignature( - descriptor = "([Ljd;IB)V", - garbageValue = "5" - ) - @Export("drawModelComponents") - static final void drawModelComponents(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { - Widget var3 = var0[var2]; - if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !PcmPlayer.isComponentHidden(var3))) { - int var5; - if (var3.type == 0) { - if (!var3.isIf3 && PcmPlayer.isComponentHidden(var3) && var3 != class301.mousedOverWidgetIf1) { - continue; - } - - drawModelComponents(var0, var3.id); - if (var3.children != null) { - drawModelComponents(var3.children, var3.id); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - var5 = var4.group; - if (class317.loadInterface(var5)) { - drawModelComponents(class139.Widget_interfaceComponents[var5], -1); + int var11; + int var12; + for (var8 = 0; var8 < 104; ++var8) { + for (var16 = 0; var16 < 104; ++var16) { + NodeDeque var14 = Client.groundItems[VertexNormal.Client_plane][var8][var16]; + if (var14 != null) { + var11 = var8 * 4 + 2 - class67.localPlayer.x / 32; + var12 = var16 * 4 + 2 - class67.localPlayer.y / 32; + StudioGame.drawSpriteOnMinimap(var1, var2, var11, var12, class119.mapDotSprites[0], var4); } } } - if (var3.type == 6) { - if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { - boolean var7 = BZip2State.runCs1(var3); - if (var7) { - var5 = var3.sequenceId2; + for (var8 = 0; var8 < Client.npcCount; ++var8) { + NPC var9 = Client.npcs[Client.npcIndices[var8]]; + if (var9 != null && var9.isVisible()) { + NPCComposition var18 = var9.definition; + if (var18 != null && var18.transforms != null) { + var18 = var18.transform(); + } + + if (var18 != null && var18.drawMapDot && var18.isInteractable) { + var11 = var9.x / 32 - class67.localPlayer.x / 32; + var12 = var9.y / 32 - class67.localPlayer.y / 32; + StudioGame.drawSpriteOnMinimap(var1, var2, var11, var12, class119.mapDotSprites[1], var4); + } + } + } + + var8 = Players.Players_count; + int[] var17 = Players.Players_indices; + + for (var10 = 0; var10 < var8; ++var10) { + Player var15 = Client.players[var17[var10]]; + if (var15 != null && var15.isVisible() && !var15.isHidden && var15 != class67.localPlayer) { + var12 = var15.x / 32 - class67.localPlayer.x / 32; + int var13 = var15.y / 32 - class67.localPlayer.y / 32; + if (var15.isFriend()) { + StudioGame.drawSpriteOnMinimap(var1, var2, var12, var13, class119.mapDotSprites[3], var4); + } else if (class67.localPlayer.team != 0 && var15.team != 0 && var15.team == class67.localPlayer.team) { + StudioGame.drawSpriteOnMinimap(var1, var2, var12, var13, class119.mapDotSprites[4], var4); + } else if (var15.isFriendsChatMember()) { + StudioGame.drawSpriteOnMinimap(var1, var2, var12, var13, class119.mapDotSprites[5], var4); + } else if (var15.isClanMember()) { + StudioGame.drawSpriteOnMinimap(var1, var2, var12, var13, class119.mapDotSprites[6], var4); } else { - var5 = var3.sequenceId; + StudioGame.drawSpriteOnMinimap(var1, var2, var12, var13, class119.mapDotSprites[2], var4); } - - if (var5 != -1) { - SequenceDefinition var6 = class17.SequenceDefinition_get(var5); - - for (var3.modelFrameCycle += Client.field764; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; Actor.invalidateWidget(var3)) { - var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; - ++var3.modelFrame; - if (var3.modelFrame >= var6.frameIds.length) { - var3.modelFrame -= var6.frameCount; - if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { - var3.modelFrame = 0; - } - } - } - } - } - - if (var3.field3101 != 0 && !var3.isIf3) { - int var8 = var3.field3101 >> 16; - var5 = var3.field3101 << 16 >> 16; - var8 *= Client.field764; - var5 *= Client.field764; - var3.modelAngleX = var8 + var3.modelAngleX & 2047; - var3.modelAngleY = var5 + var3.modelAngleY & 2047; - Actor.invalidateWidget(var3); } } - } - } + if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { + if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { + NPC var19 = Client.npcs[Client.hintArrowNpcIndex]; + if (var19 != null) { + var11 = var19.x / 32 - class67.localPlayer.x / 32; + var12 = var19.y / 32 - class67.localPlayer.y / 32; + Calendar.worldToMinimap(var1, var2, var11, var12, Client.mapMarkerSprites[1], var4); + } + } + + if (Client.hintArrowType == 2) { + var10 = Client.hintArrowX * 4 - WorldMapSectionType.baseX * 4 + 2 - class67.localPlayer.x / 32; + var11 = Client.hintArrowY * 4 - PlayerComposition.baseY * 4 + 2 - class67.localPlayer.y / 32; + Calendar.worldToMinimap(var1, var2, var10, var11, Client.mapMarkerSprites[1], var4); + } + + if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { + Player var20 = Client.players[Client.hintArrowPlayerIndex]; + if (var20 != null) { + var11 = var20.x / 32 - class67.localPlayer.x / 32; + var12 = var20.y / 32 - class67.localPlayer.y / 32; + Calendar.worldToMinimap(var1, var2, var11, var12, Client.mapMarkerSprites[1], var4); + } + } + } + + if (Client.destinationX != 0) { + var10 = Client.destinationX * 4 + 2 - class67.localPlayer.x / 32; + var11 = Client.destinationY * 4 + 2 - class67.localPlayer.y / 32; + StudioGame.drawSpriteOnMinimap(var1, var2, var10, var11, Client.mapMarkerSprites[0], var4); + } + + if (!class67.localPlayer.isHidden) { + Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); + } + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + + Client.field701[var3] = true; + } } } diff --git a/runescape-client/src/main/java/class114.java b/runescape-client/src/main/java/class114.java index b9e27f4fe1..60db8e7d86 100644 --- a/runescape-client/src/main/java/class114.java +++ b/runescape-client/src/main/java/class114.java @@ -1,37 +1,34 @@ -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dl") +@ObfuscatedName("dj") public class class114 extends class116 { - @ObfuscatedName("sz") - @ObfuscatedGetter( - intValue = 2134701041 + @ObfuscatedName("qw") + @ObfuscatedSignature( + descriptor = "Ldk;" ) - static int field1376; - @ObfuscatedName("sh") + @Export("guestClanSettings") + static ClanSettings guestClanSettings; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -935127469 - ) - static int field1372; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = -4881453485156331309L + longValue = -7893519352844407853L ) long field1371; - @ObfuscatedName("c") + @ObfuscatedName("q") String field1370; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class114(class119 var1) { this.this$0 = var1; @@ -39,12 +36,12 @@ public class class114 extends class116 { this.field1370 = null; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { + void vmethod2767(Buffer var1) { if (var1.readUnsignedByte() != 255) { --var1.offset; this.field1371 = var1.readLong(); @@ -53,148 +50,326 @@ public class class114 extends class116 { this.field1370 = var1.readStringCp1252NullTerminatedOrNull(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2559(this.field1371, this.field1370, 0); + void vmethod2766(ClanSettings var1) { + var1.method2646(this.field1371, this.field1370, 0); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;III)V", + garbageValue = "-769236648" + ) + public static void method2485(String var0, String var1, int var2, int var3) throws IOException { + Bounds.idxCount = var3; + UserComparator10.cacheGamebuild = var2; + + try { + Messages.operatingSystemName = System.getProperty("os.name"); + } catch (Exception var35) { + Messages.operatingSystemName = "Unknown"; + } + + class13.formattedOperatingSystemName = Messages.operatingSystemName.toLowerCase(); + + try { + class272.userHomeDirectory = System.getProperty("user.home"); + if (class272.userHomeDirectory != null) { + class272.userHomeDirectory = class272.userHomeDirectory + "/"; + } + } catch (Exception var34) { + } + + try { + if (class13.formattedOperatingSystemName.startsWith("win")) { + if (class272.userHomeDirectory == null) { + class272.userHomeDirectory = System.getenv("USERPROFILE"); + } + } else if (class272.userHomeDirectory == null) { + class272.userHomeDirectory = System.getenv("HOME"); + } + + if (class272.userHomeDirectory != null) { + class272.userHomeDirectory = class272.userHomeDirectory + "/"; + } + } catch (Exception var33) { + } + + if (class272.userHomeDirectory == null) { + class272.userHomeDirectory = "~/"; + } + + class396.cacheParentPaths = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", class272.userHomeDirectory, "/tmp/", ""}; + class92.cacheSubPaths = new String[]{".jagex_cache_" + UserComparator10.cacheGamebuild, ".file_store_" + UserComparator10.cacheGamebuild}; + int var18 = 0; + + File var5; + label308: + while (var18 < 4) { + String var6 = var18 == 0 ? "" : "" + var18; + JagexCache.JagexCache_locationFile = new File(class272.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var6 + ".dat"); + String var7 = null; + String var8 = null; + boolean var9 = false; + int var12; + int var14; + File var43; + if (JagexCache.JagexCache_locationFile.exists()) { + try { + AccessFile var10 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + + Buffer var11; + for (var11 = new Buffer((int)var10.length()); var11.offset < var11.array.length; var11.offset += var12) { + var12 = var10.read(var11.array, var11.offset, var11.array.length - var11.offset); + if (var12 == -1) { + throw new IOException(); + } + } + + var11.offset = 0; + var12 = var11.readUnsignedByte(); + if (var12 < 1 || var12 > 3) { + throw new IOException("" + var12); + } + + int var13 = 0; + if (var12 > 1) { + var13 = var11.readUnsignedByte(); + } + + if (var12 <= 2) { + var7 = var11.readStringCp1252NullCircumfixed(); + if (var13 == 1) { + var8 = var11.readStringCp1252NullCircumfixed(); + } + } else { + var7 = var11.readCESU8(); + if (var13 == 1) { + var8 = var11.readCESU8(); + } + } + + var10.close(); + } catch (IOException var38) { + var38.printStackTrace(); + } + + if (var7 != null) { + var43 = new File(var7); + if (!var43.exists()) { + var7 = null; + } + } + + if (var7 != null) { + var43 = new File(var7, "test.dat"); + + boolean var46; + try { + RandomAccessFile var19 = new RandomAccessFile(var43, "rw"); + var14 = var19.read(); + var19.seek(0L); + var19.write(var14); + var19.seek(0L); + var19.close(); + var43.delete(); + var46 = true; + } catch (Exception var32) { + var46 = false; + } + + if (!var46) { + var7 = null; + } + } + } + + if (var7 == null && var18 == 0) { + label282: + for (int var20 = 0; var20 < class92.cacheSubPaths.length; ++var20) { + for (int var21 = 0; var21 < class396.cacheParentPaths.length; ++var21) { + File var22 = new File(class396.cacheParentPaths[var21] + class92.cacheSubPaths[var20] + File.separatorChar + var0 + File.separatorChar); + if (var22.exists()) { + File var23 = new File(var22, "test.dat"); + + boolean var47; + try { + RandomAccessFile var15 = new RandomAccessFile(var23, "rw"); + int var16 = var15.read(); + var15.seek(0L); + var15.write(var16); + var15.seek(0L); + var15.close(); + var23.delete(); + var47 = true; + } catch (Exception var31) { + var47 = false; + } + + if (var47) { + var7 = var22.toString(); + var9 = true; + break label282; + } + } + } + } + } + + if (var7 == null) { + var7 = class272.userHomeDirectory + File.separatorChar + "jagexcache" + var6 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; + var9 = true; + } + + if (var8 != null) { + File var42 = new File(var8); + var43 = new File(var7); + + try { + File[] var51 = var42.listFiles(); + File[] var49 = var51; + + for (var14 = 0; var14 < var49.length; ++var14) { + File var48 = var49[var14]; + File var24 = new File(var43, var48.getName()); + boolean var17 = var48.renameTo(var24); + if (!var17) { + throw new IOException(); + } + } + } catch (Exception var37) { + var37.printStackTrace(); + } + + var9 = true; + } + + if (var9) { + EnumComposition.method3007(new File(var7), (File)null); + } + + var5 = new File(var7); + JagexCache.cacheDir = var5; + if (!JagexCache.cacheDir.exists()) { + JagexCache.cacheDir.mkdirs(); + } + + File[] var39 = JagexCache.cacheDir.listFiles(); + if (var39 != null) { + File[] var44 = var39; + + for (int var25 = 0; var25 < var44.length; ++var25) { + File var26 = var44[var25]; + + boolean var50; + try { + RandomAccessFile var45 = new RandomAccessFile(var26, "rw"); + var12 = var45.read(); + var45.seek(0L); + var45.write(var12); + var45.seek(0L); + var45.close(); + var50 = true; + } catch (Exception var30) { + var50 = false; + } + + if (!var50) { + ++var18; + continue label308; + } + } + } + break; + } + + File var4 = JagexCache.cacheDir; + FileSystem.FileSystem_cacheDir = var4; + if (!FileSystem.FileSystem_cacheDir.exists()) { + throw new RuntimeException(""); + } else { + FileSystem.FileSystem_hasPermissions = true; + + try { + var5 = new File(class272.userHomeDirectory, "random.dat"); + int var28; + if (var5.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var5, "rw", 25L), 24, 0); + } else { + label231: + for (int var27 = 0; var27 < class92.cacheSubPaths.length; ++var27) { + for (var28 = 0; var28 < class396.cacheParentPaths.length; ++var28) { + File var41 = new File(class396.cacheParentPaths[var28] + class92.cacheSubPaths[var27] + File.separatorChar + "random.dat"); + if (var41.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var41, "rw", 25L), 24, 0); + break label231; + } + } + } + } + + if (JagexCache.JagexCache_randomDat == null) { + RandomAccessFile var40 = new RandomAccessFile(var5, "rw"); + var28 = var40.read(); + var40.seek(0L); + var40.write(var28); + var40.seek(0L); + var40.close(); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var5, "rw", 25L), 24, 0); + } + } catch (IOException var36) { + } + + JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(class134.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); + JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(class134.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); + JagexCache.JagexCache_idxFiles = new BufferedFile[Bounds.idxCount]; + + for (int var29 = 0; var29 < Bounds.idxCount; ++var29) { + JagexCache.JagexCache_idxFiles[var29] = new BufferedFile(new AccessFile(class134.getFile("main_file_cache.idx" + var29), "rw", 1048576L), 6000, 0); + } + + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkl;Lkl;ZI)V", + garbageValue = "-2136687604" + ) + public static void method2490(AbstractArchive var0, AbstractArchive var1, boolean var2) { + ObjectComposition.ObjectDefinition_archive = var0; + ObjectComposition.ObjectDefinition_modelsArchive = var1; + ObjectComposition.ObjectDefinition_isLowDetail = var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)Lji;", + garbageValue = "-1874338745" + ) + public static GameBuild method2494(int var0) { + GameBuild[] var1 = class78.method2060(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + GameBuild var3 = var1[var2]; + if (var0 == var3.buildId) { + return var3; + } + } + + return null; } @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Lei;III)Lab;", - garbageValue = "-1383117497" + descriptor = "(IB)Z", + garbageValue = "108" ) - public static final PcmPlayer method2487(TaskHandler var0, int var1, int var2) { - if (var1 >= 0 && var1 < 2) { - if (var2 < 256) { - var2 = 256; - } - - try { - PcmPlayer var3 = class91.pcmPlayerProvider.player(); - var3.samples = new int[(PcmPlayer.PcmPlayer_stereo ? 2 : 1) * 256]; - var3.field274 = var2; - var3.init(); - var3.capacity = (var2 & -1024) + 1024; - if (var3.capacity > 16384) { - var3.capacity = 16384; - } - - var3.open(var3.capacity); - if (PcmPlayer.field268 > 0 && class258.soundSystem == null) { - class258.soundSystem = new SoundSystem(); - PcmPlayer.soundSystemExecutor = Executors.newScheduledThreadPool(1); - PcmPlayer.soundSystemExecutor.scheduleAtFixedRate(class258.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); - } - - if (class258.soundSystem != null) { - if (class258.soundSystem.players[var1] != null) { - throw new IllegalArgumentException(); - } - - class258.soundSystem.players[var1] = var3; - } - - return var3; - } catch (Throwable var4) { - return new PcmPlayer(); - } - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("fv") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "859699173" - ) - static final void method2481() { - PacketBufferNode.method4564(); - GrandExchangeOfferOwnWorldComparator.method1133(); - KitDefinition.KitDefinition_cached.clear(); - ObjectComposition.ObjectDefinition_cached.clear(); - ObjectComposition.ObjectDefinition_cachedModelData.clear(); - ObjectComposition.ObjectDefinition_cachedEntities.clear(); - ObjectComposition.ObjectDefinition_cachedModels.clear(); - EnumComposition.method2940(); - Client.method1330(); - class20.method310(); - SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); - SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); - ServerPacket.method4567(); - VarpDefinition.VarpDefinition_cached.clear(); - WorldMapLabelSize.field2011.method6674(); - class125.HitSplatDefinition_cachedSprites.method6674(); - HitSplatDefinition.HitSplatDefinition_cached.clear(); - HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); - HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); - HealthBarDefinition.HealthBarDefinition_cached.clear(); - HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); - StructComposition.StructDefinition_cached.clear(); - ParamComposition.ParamDefinition_cached.clear(); - class20.method314(); - AbstractWorldMapIcon.method3871(); - Widget.Widget_cachedSprites.clear(); - Widget.Widget_cachedModels.clear(); - Widget.Widget_cachedFonts.clear(); - Widget.Widget_cachedSpriteMasks.clear(); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); - Script.Script_cached.clear(); - WorldMapRectangle.archive0.clearFiles(); - MenuAction.archive1.clearFiles(); - class260.archive3.clearFiles(); - ReflectionCheck.archive4.clearFiles(); - ObjectComposition.archive5.clearFiles(); - class276.archive6.clearFiles(); - class135.archive7.clearFiles(); - World.archive8.clearFiles(); - VarcInt.archive9.clearFiles(); - MouseRecorder.archive10.clearFiles(); - class318.archive11.clearFiles(); - SecureRandomCallable.archive12.clearFiles(); - } - - @ObfuscatedName("gv") - @ObfuscatedSignature( - descriptor = "(Lco;ZI)V", - garbageValue = "-662067493" - ) - @Export("addPlayerToScene") - static void addPlayerToScene(Player var0, boolean var1) { - if (var0 != null && var0.isVisible() && !var0.isHidden) { - var0.isUnanimated = false; - if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.movementSequence == var0.idleSequence) { - var0.isUnanimated = true; - } - - int var2 = var0.x >> 7; - int var3 = var0.y >> 7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - long var4 = ClanSettings.calculateTag(0, 0, 0, false, var0.index); - if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { - var0.isUnanimated = false; - var0.tileHeight = GraphicsObject.getTileHeight(var0.x, var0.y, class391.Client_plane); - var0.playerCycle = Client.cycle; - CollisionMap.scene.addNullableObject(class391.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.minX, var0.minY, var0.maxX, var0.maxY); - } else { - if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { - if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { - return; - } - - Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; - } - - var0.tileHeight = GraphicsObject.getTileHeight(var0.x, var0.y, class391.Client_plane); - var0.playerCycle = Client.cycle; - CollisionMap.scene.drawEntity(class391.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); - } - } - } - + public static boolean method2493(int var0) { + return (var0 >> 29 & 1) != 0; } } diff --git a/runescape-client/src/main/java/class115.java b/runescape-client/src/main/java/class115.java index 286442b043..f091ccdc73 100644 --- a/runescape-client/src/main/java/class115.java +++ b/runescape-client/src/main/java/class115.java @@ -1,55 +1,293 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("du") +@ObfuscatedName("dm") public class class115 extends class116 { - @ObfuscatedName("e") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -2138422247 + intValue = -816403893 ) - static int field1380; - @ObfuscatedName("eo") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive2") - static Archive archive2; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -456160395 - ) - int field1382; + int field1376; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class115(class119 var1) { this.this$0 = var1; - this.field1382 = -1; + this.field1376 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1382 = var1.readUnsignedShort(); + void vmethod2767(Buffer var1) { + this.field1376 = var1.readUnsignedShort(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2560(this.field1382); + void vmethod2766(ClanSettings var1) { + var1.method2589(this.field1376); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIIIIILhy;Lfy;I)V", + garbageValue = "-1093015978" + ) + static final void method2495(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { + ObjectComposition var9 = class245.getObjectDefinition(var4); + int var10; + int var11; + if (var5 != 1 && var5 != 3) { + var10 = var9.sizeX; + var11 = var9.sizeY; + } else { + var10 = var9.sizeY; + var11 = var9.sizeX; + } + + int var12; + int var13; + if (var10 + var2 <= 104) { + var12 = (var10 >> 1) + var2; + var13 = var2 + (var10 + 1 >> 1); + } else { + var12 = var2; + var13 = var2 + 1; + } + + int var14; + int var15; + if (var3 + var11 <= 104) { + var14 = var3 + (var11 >> 1); + var15 = var3 + (var11 + 1 >> 1); + } else { + var14 = var3; + var15 = var3 + 1; + } + + int[][] var16 = Tiles.Tiles_heights[var1]; + int var17 = var16[var12][var14] + var16[var13][var14] + var16[var12][var15] + var16[var13][var15] >> 2; + int var18 = (var2 << 7) + (var10 << 6); + int var19 = (var3 << 7) + (var11 << 6); + long var20 = class247.calculateTag(var2, var3, 2, var9.int1 == 0, var4); + int var22 = (var5 << 6) + var6; + if (var9.int3 == 1) { + var22 += 256; + } + + Object var30; + if (var6 == 22) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(22, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newFloorDecoration(var0, var2, var3, var17, (Renderable)var30, var20, var22); + if (var9.interactType == 1) { + var8.setBlockedByFloorDec(var2, var3); + } + + } else if (var6 != 10 && var6 != 11) { + if (var6 >= 12) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(var6, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.method4208(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } else if (var6 == 0) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(0, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field985[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3416(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 1) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(1, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field986[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3416(var2, var3, var6, var5, var9.boolean1); + } + + } else { + int var23; + if (var6 == 2) { + var23 = var5 + 1 & 3; + Object var25; + Object var31; + if (var9.animationId == -1 && var9.transforms == null) { + var31 = var9.getModel(2, var5 + 4, var16, var18, var17, var19); + var25 = var9.getModel(2, var23, var16, var18, var17, var19); + } else { + var31 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + var25 = new DynamicObject(var4, 2, var23, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var31, (Renderable)var25, Tiles.field985[var5], Tiles.field985[var23], var20, var22); + if (var9.interactType != 0) { + var8.method3416(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 3) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(3, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field986[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3416(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 9) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(var6, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.method4208(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } else if (var6 == 4) { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(4, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field985[var5], 0, 0, 0, var20, var22); + } else { + long var24; + Object var26; + if (var6 == 5) { + var23 = 16; + var24 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var24 != 0L) { + var23 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var24)).int2; + } + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, Tiles.field985[var5], 0, var23 * Tiles.field987[var5], var23 * Tiles.field988[var5], var20, var22); + } else if (var6 == 6) { + var23 = 8; + var24 = var7.getBoundaryObjectTag(var0, var2, var3); + if (0L != var24) { + var23 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var24)).int2 / 2; + } + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, 256, var5, var23 * Tiles.field980[var5], var23 * Tiles.field979[var5], var20, var22); + } else if (var6 == 7) { + int var29 = var5 + 2 & 3; + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(4, var29 + 4, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 4, var29 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, 256, var29, 0, 0, var20, var22); + } else if (var6 == 8) { + var23 = 8; + var24 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var24 != 0L) { + var23 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var24)).int2 / 2; + } + + int var28 = var5 + 2 & 3; + Object var27; + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); + var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)var27, 256, var5, var23 * Tiles.field980[var5], var23 * Tiles.field979[var5], var20, var22); + } + } + } + } else { + if (var9.animationId == -1 && var9.transforms == null) { + var30 = var9.getModel(10, var5, var16, var18, var17, var19); + } else { + var30 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); + } + + if (var30 != null) { + var7.method4208(var0, var2, var3, var17, var10, var11, (Renderable)var30, var6 == 11 ? 256 : 0, var20, var22); + } + + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } + } + + @ObfuscatedName("gz") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-47" + ) + static final void method2501() { + Client.field559 = 0; + int var0 = (class67.localPlayer.x >> 7) + WorldMapSectionType.baseX; + int var1 = (class67.localPlayer.y >> 7) + PlayerComposition.baseY; + if (var0 >= 3053 && var0 <= 3156 && var1 >= 3056 && var1 <= 3136) { + Client.field559 = 1; + } + + if (var0 >= 3072 && var0 <= 3118 && var1 >= 9492 && var1 <= 9535) { + Client.field559 = 1; + } + + if (Client.field559 == 1 && var0 >= 3139 && var0 <= 3199 && var1 >= 3008 && var1 <= 3062) { + Client.field559 = 0; + } + } } diff --git a/runescape-client/src/main/java/class116.java b/runescape-client/src/main/java/class116.java index 5368c9aea6..20f66c83ed 100644 --- a/runescape-client/src/main/java/class116.java +++ b/runescape-client/src/main/java/class116.java @@ -1,46 +1,327 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dj") +@ObfuscatedName("dt") public abstract class class116 extends Node { + @ObfuscatedName("rp") + @ObfuscatedSignature( + descriptor = "Laq;" + ) + @Export("pcmPlayer1") + static PcmPlayer pcmPlayer1; + class116() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - abstract void vmethod2711(Buffer var1); + abstract void vmethod2767(Buffer var1); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - abstract void vmethod2712(ClanSettings var1); + abstract void vmethod2766(ClanSettings var1); - @ObfuscatedName("c") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "256964776" + descriptor = "(Ljava/lang/CharSequence;II)I", + garbageValue = "1969424851" ) - public static void method2492() { - if (MouseHandler.MouseHandler_instance != null) { - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_instance = null; + public static int method2510(CharSequence var0, int var1) { + return Language.method5477(var0, var1, true); + } + + @ObfuscatedName("fw") + @ObfuscatedSignature( + descriptor = "(Lcd;II)V", + garbageValue = "-855242752" + ) + @Export("updateActorSequence") + static final void updateActorSequence(Actor var0, int var1) { + SequenceDefinition var2; + int var3; + int var4; + int var11; + if (var0.field1145 >= Client.cycle) { + var11 = Math.max(1, var0.field1145 - Client.cycle); + var3 = var0.field1109 * 64 + var0.field1148 * 128; + var4 = var0.field1109 * 64 + var0.field1126 * 128; + var0.x += (var3 - var0.x) / var11; + var0.y += (var4 - var0.y) / var11; + var0.field1164 = 0; + var0.orientation = var0.field1151; + } else if (var0.field1165 >= Client.cycle) { + Client.method1589(var0); + } else { + var0.movementSequence = var0.idleSequence; + if (var0.pathLength == 0) { + var0.field1164 = 0; + } else { + label399: { + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var2 = KitDefinition.SequenceDefinition_get(var0.sequence); + if (var0.field1129 > 0 && var2.field1959 == 0) { + ++var0.field1164; + break label399; + } + + if (var0.field1129 <= 0 && var2.field1960 == 0) { + ++var0.field1164; + break label399; + } + } + + var11 = var0.x; + var3 = var0.y; + var4 = var0.field1109 * 64 + var0.pathX[var0.pathLength - 1] * 128; + int var5 = var0.field1109 * 64 + var0.pathY[var0.pathLength - 1] * 128; + if (var11 < var4) { + if (var3 < var5) { + var0.orientation = 1280; + } else if (var3 > var5) { + var0.orientation = 1792; + } else { + var0.orientation = 1536; + } + } else if (var11 > var4) { + if (var3 < var5) { + var0.orientation = 768; + } else if (var3 > var5) { + var0.orientation = 256; + } else { + var0.orientation = 512; + } + } else if (var3 < var5) { + var0.orientation = 1024; + } else if (var3 > var5) { + var0.orientation = 0; + } + + byte var6 = var0.pathTraversed[var0.pathLength - 1]; + if (var4 - var11 <= 256 && var4 - var11 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { + int var7 = var0.orientation - var0.rotation & 2047; + if (var7 > 1024) { + var7 -= 2048; + } + + int var8 = var0.walkBackSequence; + if (var7 >= -256 && var7 <= 256) { + var8 = var0.walkSequence; + } else if (var7 >= 256 && var7 < 768) { + var8 = var0.walkRightSequence; + } else if (var7 >= -768 && var7 <= -256) { + var8 = var0.walkLeftSequence; + } + + if (var8 == -1) { + var8 = var0.walkSequence; + } + + var0.movementSequence = var8; + int var9 = 4; + boolean var10 = true; + if (var0 instanceof NPC) { + var10 = ((NPC)var0).definition.isClickable; + } + + if (var10) { + if (var0.rotation != var0.orientation && var0.targetIndex == -1 && var0.field1146 != 0) { + var9 = 2; + } + + if (var0.pathLength > 2) { + var9 = 6; + } + + if (var0.pathLength > 3) { + var9 = 8; + } + + if (var0.field1164 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1164; + } + } else { + if (var0.pathLength > 1) { + var9 = 6; + } + + if (var0.pathLength > 2) { + var9 = 8; + } + + if (var0.field1164 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1164; + } + } + + if (var6 == 2) { + var9 <<= 1; + } + + if (var9 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) { + var0.movementSequence = var0.runSequence; + } + + if (var4 != var11 || var5 != var3) { + if (var11 < var4) { + var0.x += var9; + if (var0.x > var4) { + var0.x = var4; + } + } else if (var11 > var4) { + var0.x -= var9; + if (var0.x < var4) { + var0.x = var4; + } + } + + if (var3 < var5) { + var0.y += var9; + if (var0.y > var5) { + var0.y = var5; + } + } else if (var3 > var5) { + var0.y -= var9; + if (var0.y < var5) { + var0.y = var5; + } + } + } + + if (var4 == var0.x && var5 == var0.y) { + --var0.pathLength; + if (var0.field1129 > 0) { + --var0.field1129; + } + } + } else { + var0.x = var4; + var0.y = var5; + --var0.pathLength; + if (var0.field1129 > 0) { + --var0.field1129; + } + } + } } } - } + if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field1145 = 0; + var0.field1165 = 0; + var0.x = var0.pathX[0] * 128 + var0.field1109 * 64; + var0.y = var0.field1109 * 64 + var0.pathY[0] * 128; + var0.method2137(); + } + + if (class67.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field1145 = 0; + var0.field1165 = 0; + var0.x = var0.field1109 * 64 + var0.pathX[0] * 128; + var0.y = var0.pathY[0] * 128 + var0.field1109 * 64; + var0.method2137(); + } + + class328.method5930(var0); + var0.isWalking = false; + if (var0.movementSequence != -1) { + var2 = KitDefinition.SequenceDefinition_get(var0.movementSequence); + if (var2 != null && var2.frameIds != null) { + ++var0.movementFrameCycle; + if (var0.movementFrame < var2.frameIds.length && var0.movementFrameCycle > var2.frameLengths[var0.movementFrame]) { + var0.movementFrameCycle = 1; + ++var0.movementFrame; + class134.method2716(var2, var0.movementFrame, var0.x, var0.y); + } + + if (var0.movementFrame >= var2.frameIds.length) { + var0.movementFrameCycle = 0; + var0.movementFrame = 0; + class134.method2716(var2, var0.movementFrame, var0.x, var0.y); + } + } else { + var0.movementSequence = -1; + } + } + + if (var0.spotAnimation != -1 && Client.cycle >= var0.field1105) { + if (var0.spotAnimationFrame < 0) { + var0.spotAnimationFrame = 0; + } + + var11 = class21.SpotAnimationDefinition_get(var0.spotAnimation).sequence; + if (var11 != -1) { + SequenceDefinition var12 = KitDefinition.SequenceDefinition_get(var11); + if (var12 != null && var12.frameIds != null) { + ++var0.spotAnimationFrameCycle; + if (var0.spotAnimationFrame < var12.frameIds.length && var0.spotAnimationFrameCycle > var12.frameLengths[var0.spotAnimationFrame]) { + var0.spotAnimationFrameCycle = 1; + ++var0.spotAnimationFrame; + class134.method2716(var12, var0.spotAnimationFrame, var0.x, var0.y); + } + + if (var0.spotAnimationFrame >= var12.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var12.frameIds.length)) { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay <= 1) { + var2 = KitDefinition.SequenceDefinition_get(var0.sequence); + if (var2.field1959 == 1 && var0.field1129 > 0 && var0.field1145 <= Client.cycle && var0.field1165 < Client.cycle) { + var0.sequenceDelay = 1; + return; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var2 = KitDefinition.SequenceDefinition_get(var0.sequence); + if (var2 != null && var2.frameIds != null) { + ++var0.sequenceFrameCycle; + if (var0.sequenceFrame < var2.frameIds.length && var0.sequenceFrameCycle > var2.frameLengths[var0.sequenceFrame]) { + var0.sequenceFrameCycle = 1; + ++var0.sequenceFrame; + class134.method2716(var2, var0.sequenceFrame, var0.x, var0.y); + } + + if (var0.sequenceFrame >= var2.frameIds.length) { + var0.sequenceFrame -= var2.frameCount; + ++var0.field1142; + if (var0.field1142 >= var2.field1952) { + var0.sequence = -1; + } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var2.frameIds.length) { + class134.method2716(var2, var0.sequenceFrame, var0.x, var0.y); + } else { + var0.sequence = -1; + } + } + + var0.isWalking = var2.field1945; + } else { + var0.sequence = -1; + } + } + + if (var0.sequenceDelay > 0) { + --var0.sequenceDelay; + } - @ObfuscatedName("ku") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1055867616" - ) - static final void method2497() { - Client.field630 = Client.cycleCntr; - PlatformInfo.ClanChat_inClanChat = true; } } diff --git a/runescape-client/src/main/java/class117.java b/runescape-client/src/main/java/class117.java index f298fe9220..7a3a448372 100644 --- a/runescape-client/src/main/java/class117.java +++ b/runescape-client/src/main/java/class117.java @@ -1,70 +1,217 @@ -import java.awt.Component; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dy") +@ObfuscatedName("dr") public class class117 extends class116 { - @ObfuscatedName("ph") - @ObfuscatedSignature( - descriptor = "Lmb;" - ) - static class352 field1388; - @ObfuscatedName("te") - @ObfuscatedSignature( - descriptor = "Lkm;" - ) - @Export("grandExchangeEvents") - static GrandExchangeEvents grandExchangeEvents; - @ObfuscatedName("n") + @ObfuscatedName("p") + @Export("ByteArrayPool_arrays") + public static byte[][][] ByteArrayPool_arrays; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -952735657 + intValue = 408347163 ) - int field1390; - @ObfuscatedName("c") - boolean field1389; + int field1385; + @ObfuscatedName("q") + boolean field1383; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class117(class119 var1) { this.this$0 = var1; - this.field1390 = -1; + this.field1385 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1390 = var1.readUnsignedShort(); - this.field1389 = var1.readUnsignedByte() == 1; + void vmethod2767(Buffer var1) { + this.field1385 = var1.readUnsignedShort(); + this.field1383 = var1.readUnsignedByte() == 1; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2590(this.field1390, this.field1389); + void vmethod2766(ClanSettings var1) { + var1.method2595(this.field1385, this.field1383); } - @ObfuscatedName("n") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;I)V", - garbageValue = "1371116054" + descriptor = "(Ljt;IIIB)V", + garbageValue = "85" ) - static void method2501(Component var0) { - var0.addMouseListener(MouseHandler.MouseHandler_instance); - var0.addMouseMotionListener(MouseHandler.MouseHandler_instance); - var0.addFocusListener(MouseHandler.MouseHandler_instance); + @Export("Widget_setKeyRate") + static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { + if (var0.field3147 == null) { + throw new RuntimeException(); + } else { + var0.field3147[var1] = var2; + var0.field3066[var1] = var3; + } + } + + @ObfuscatedName("gw") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "2104571649" + ) + static final int method2519() { + if (WorldMapDecorationType.clientPreferences.roofsHidden) { + return VertexNormal.Client_plane; + } else { + int var0 = 3; + if (WorldMapIcon_1.cameraPitch < 310) { + int var1; + int var2; + if (Client.oculusOrbState == 1) { + var1 = class132.oculusOrbFocalPointX >> 7; + var2 = LoginScreenAnimation.oculusOrbFocalPointY >> 7; + } else { + var1 = class67.localPlayer.x >> 7; + var2 = class67.localPlayer.y >> 7; + } + + int var3 = Canvas.cameraX >> 7; + int var4 = VarpDefinition.cameraZ >> 7; + if (var3 < 0 || var4 < 0 || var3 >= 104 || var4 >= 104) { + return VertexNormal.Client_plane; + } + + if (var1 < 0 || var2 < 0 || var1 >= 104 || var2 >= 104) { + return VertexNormal.Client_plane; + } + + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][var3][var4] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + + int var5; + if (var1 > var3) { + var5 = var1 - var3; + } else { + var5 = var3 - var1; + } + + int var6; + if (var2 > var4) { + var6 = var2 - var4; + } else { + var6 = var4 - var2; + } + + int var7; + int var8; + if (var5 > var6) { + var7 = var6 * 65536 / var5; + var8 = 32768; + + while (var3 != var1) { + if (var3 < var1) { + ++var3; + } else if (var3 > var1) { + --var3; + } + + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][var3][var4] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + + var8 += var7; + if (var8 >= 65536) { + var8 -= 65536; + if (var4 < var2) { + ++var4; + } else if (var4 > var2) { + --var4; + } + + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][var3][var4] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + } + } + } else if (var6 > 0) { + var7 = var5 * 65536 / var6; + var8 = 32768; + + while (var4 != var2) { + if (var4 < var2) { + ++var4; + } else if (var4 > var2) { + --var4; + } + + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][var3][var4] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + + var8 += var7; + if (var8 >= 65536) { + var8 -= 65536; + if (var3 < var1) { + ++var3; + } else if (var3 > var1) { + --var3; + } + + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][var3][var4] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + } + } + } + } + + if (class67.localPlayer.x >= 0 && class67.localPlayer.y >= 0 && class67.localPlayer.x < 13312 && class67.localPlayer.y < 13312) { + if ((Tiles.Tiles_renderFlags[VertexNormal.Client_plane][class67.localPlayer.x >> 7][class67.localPlayer.y >> 7] & 4) != 0) { + var0 = VertexNormal.Client_plane; + } + + return var0; + } else { + return VertexNormal.Client_plane; + } + } + } + + @ObfuscatedName("gq") + @ObfuscatedSignature( + descriptor = "(Lci;I)Z", + garbageValue = "-1848205282" + ) + static boolean method2516(Player var0) { + if (Client.drawPlayerNames == 0) { + return false; + } else if (class67.localPlayer == var0) { + return class317.method5800(); + } else { + boolean var1 = KitDefinition.method2954(); + boolean var2; + if (!var1) { + var2 = (Client.drawPlayerNames & 1) != 0; + var1 = var2 && var0.isFriend(); + } + + var2 = var1; + if (!var1) { + boolean var3 = (Client.drawPlayerNames & 2) != 0; + var2 = var3 && var0.isFriendsChatMember(); + } + + return var2; + } } } diff --git a/runescape-client/src/main/java/class119.java b/runescape-client/src/main/java/class119.java index b2f4934266..8832533332 100644 --- a/runescape-client/src/main/java/class119.java +++ b/runescape-client/src/main/java/class119.java @@ -3,40 +3,51 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dc") +@ObfuscatedName("dg") public class class119 { - @ObfuscatedName("n") + @ObfuscatedName("tp") @ObfuscatedGetter( - longValue = 7139269644262684297L + longValue = 1593022172438021303L ) - long field1403; - @ObfuscatedName("c") + static long field1395; + @ObfuscatedName("if") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("mapDotSprites") + static SpritePixels[] mapDotSprites; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 949020309 + longValue = -4273243190506141755L + ) + long field1396; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 49116901 ) int field1399; - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) - IterableNodeDeque field1400; + IterableNodeDeque field1397; @ObfuscatedSignature( descriptor = "(Lot;)V" ) public class119(Buffer var1) { this.field1399 = -1; - this.field1400 = new IterableNodeDeque(); - this.method2504(var1); + this.field1397 = new IterableNodeDeque(); + this.method2521(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1866610837" + garbageValue = "54600340" ) - void method2504(Buffer var1) { - this.field1403 = var1.readLong(); + void method2521(Buffer var1) { + this.field1396 = var1.readLong(); this.field1399 = var1.readInt(); for (int var2 = var1.readUnsignedByte(); var2 != 0; var2 = var1.readUnsignedByte()) { @@ -77,182 +88,46 @@ public class class119 { var3 = new class135(this); } - ((class116)var3).vmethod2711(var1); - this.field1400.addFirst((Node)var3); + ((class116)var3).vmethod2767(var1); + this.field1397.addFirst((Node)var3); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "-783636342" + descriptor = "(Ldk;I)V", + garbageValue = "1587577632" ) - public void method2509(ClanSettings var1) { - if (this.field1403 == var1.field1450 && this.field1399 == var1.field1451) { - for (class116 var2 = (class116)this.field1400.last(); var2 != null; var2 = (class116)this.field1400.previous()) { - var2.vmethod2712(var1); + public void method2522(ClanSettings var1) { + if (var1.field1446 == this.field1396 && this.field1399 == var1.field1447) { + for (class116 var2 = (class116)this.field1397.last(); var2 != null; var2 = (class116)this.field1397.previous()) { + var2.vmethod2766(var1); } - ++var1.field1451; + ++var1.field1447; } else { throw new RuntimeException(""); } } - @ObfuscatedName("c") + @ObfuscatedName("ip") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2084228473" + descriptor = "(IB)Ljava/lang/String;", + garbageValue = "63" ) - static void method2511() { - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field3676 == 0) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); - } + @Export("formatItemStacks") + static final String formatItemStacks(int var0) { + String var1 = Integer.toString(var0); - ArchiveDiskActionHandler.field3676 = 600; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-31" - ) - static int method2510(int var0, int var1) { - long var2 = (long)((var0 << 16) + var1); - return Coord.NetCache_currentResponse != null && Coord.NetCache_currentResponse.key == var2 ? class138.NetCache_responseArchiveBuffer.offset * 99 / (class138.NetCache_responseArchiveBuffer.array.length - Coord.NetCache_currentResponse.padding) + 1 : 0; - } - - @ObfuscatedName("hg") - @ObfuscatedSignature( - descriptor = "(IIIIIIII)V", - garbageValue = "-668892222" - ) - @Export("addPendingSpawnToScene") - static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) { - if (Client.isLowDetail && var0 != class391.Client_plane) { - return; - } - - long var7 = 0L; - boolean var9 = true; - boolean var10 = false; - boolean var11 = false; - if (var1 == 0) { - var7 = CollisionMap.scene.getBoundaryObjectTag(var0, var2, var3); - } - - if (var1 == 1) { - var7 = CollisionMap.scene.getWallDecorationTag(var0, var2, var3); - } - - if (var1 == 2) { - var7 = CollisionMap.scene.getGameObjectTag(var0, var2, var3); - } - - if (var1 == 3) { - var7 = CollisionMap.scene.getFloorDecorationTag(var0, var2, var3); - } - - int var12; - if (0L != var7) { - var12 = CollisionMap.scene.getObjectFlags(var0, var2, var3, var7); - int var14 = HealthBarDefinition.Entity_unpackID(var7); - int var15 = var12 & 31; - int var16 = var12 >> 6 & 3; - ObjectComposition var13; - if (var1 == 0) { - CollisionMap.scene.removeBoundaryObject(var0, var2, var3); - var13 = HitSplatDefinition.getObjectDefinition(var14); - if (var13.interactType != 0) { - Client.collisionMaps[var0].method3325(var2, var3, var15, var16, var13.boolean1); - } - } - - if (var1 == 1) { - CollisionMap.scene.removeWallDecoration(var0, var2, var3); - } - - if (var1 == 2) { - CollisionMap.scene.removeGameObject(var0, var2, var3); - var13 = HitSplatDefinition.getObjectDefinition(var14); - if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { - return; - } - - if (var13.interactType != 0) { - Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); - } - } - - if (var1 == 3) { - CollisionMap.scene.removeFloorDecoration(var0, var2, var3); - var13 = HitSplatDefinition.getObjectDefinition(var14); - if (var13.interactType == 1) { - Client.collisionMaps[var0].method3321(var2, var3); - } - } - } - - if (var4 >= 0) { - var12 = var0; - if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { - var12 = var0 + 1; - } - - class18.method279(var0, var12, var2, var3, var4, var5, var6, CollisionMap.scene, Client.collisionMaps[var0]); - } + for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { + var1 = var1.substring(0, var2) + "," + var1.substring(var2); } - } - - @ObfuscatedName("jq") - @ObfuscatedSignature( - descriptor = "(Ljd;I)Z", - garbageValue = "1040294130" - ) - static final boolean method2508(Widget var0) { - int var1 = var0.contentType; - if (var1 == 205) { - Client.logoutTimer = 250; - return true; + if (var1.length() > 9) { + return " " + FloorUnderlayDefinition.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; } else { - int var2; - int var3; - if (var1 >= 300 && var1 <= 313) { - var2 = (var1 - 300) / 2; - var3 = var1 & 1; - Client.playerAppearance.changeAppearance(var2, var3 == 1); - } - - if (var1 >= 314 && var1 <= 323) { - var2 = (var1 - 314) / 2; - var3 = var1 & 1; - Client.playerAppearance.method4901(var2, var3 == 1); - } - - if (var1 == 324) { - Client.playerAppearance.changeSex(false); - } - - if (var1 == 325) { - Client.playerAppearance.changeSex(true); - } - - if (var1 == 326) { - PacketBufferNode var4 = FriendSystem.getPacketBufferNode(ClientPacket.field2677, Client.packetWriter.isaacCipher); - Client.playerAppearance.write(var4.packetBuffer); - Client.packetWriter.addNode(var4); - return true; - } else { - return false; - } + return var1.length() > 6 ? " " + FloorUnderlayDefinition.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + FloorUnderlayDefinition.colorStartTag(16776960) + var1 + ""; } } } diff --git a/runescape-client/src/main/java/class12.java b/runescape-client/src/main/java/class12.java index d2e77912fe..d6426f0d53 100644 --- a/runescape-client/src/main/java/class12.java +++ b/runescape-client/src/main/java/class12.java @@ -1,27 +1,32 @@ -import java.awt.Desktop; -import java.awt.Desktop.Action; +import java.awt.Component; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.net.URI; import java.security.cert.Certificate; -import java.util.Date; import javax.net.ssl.HandshakeCompletedListener; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; import org.bouncycastle.crypto.tls.TlsClientProtocol; -@ObfuscatedName("v") +@ObfuscatedName("g") class class12 extends SSLSocket { - @ObfuscatedName("n") - Certificate[] field60; + @ObfuscatedName("k") + @Export("Interpreter_intLocals") + static int[] Interpreter_intLocals; + @ObfuscatedName("eg") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive15") + static Archive archive15; + @ObfuscatedName("l") + Certificate[] field65; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lh;" + descriptor = "Lc;" ) final class15 this$0; // $FF: synthetic field @@ -30,7 +35,7 @@ class class12 extends SSLSocket { final String val$host; @ObfuscatedSignature( - descriptor = "(Lh;Lorg/bouncycastle/crypto/tls/TlsClientProtocol;Ljava/lang/String;)V" + descriptor = "(Lc;Lorg/bouncycastle/crypto/tls/TlsClientProtocol;Ljava/lang/String;)V" ) class12(class15 var1, TlsClientProtocol var2, String var3) { this.this$0 = var1; @@ -38,26 +43,14 @@ class class12 extends SSLSocket { this.val$host = var3; } - public InputStream getInputStream() throws IOException { - return this.val$tlsClientProtocol.getInputStream(); - } - - public OutputStream getOutputStream() throws IOException { - return this.val$tlsClientProtocol.getOutputStream(); - } - - public synchronized void close() throws IOException { - this.val$tlsClientProtocol.close(); - } - public void addHandshakeCompletedListener(HandshakeCompletedListener var1) { } - public boolean getEnableSessionCreation() { - return false; + public String[] getEnabledCipherSuites() { + return null; } - public String[] getEnabledCipherSuites() { + public String[] getEnabledProtocols() { return null; } @@ -69,460 +62,156 @@ class class12 extends SSLSocket { return null; } - public boolean getUseClientMode() { - return false; - } - - public boolean getWantClientAuth() { - return false; + public void setEnableSessionCreation(boolean var1) { } public void removeHandshakeCompletedListener(HandshakeCompletedListener var1) { } - public void setEnableSessionCreation(boolean var1) { - } - - public void setEnabledCipherSuites(String[] var1) { + public String[] getSupportedCipherSuites() { + return null; } public void setEnabledProtocols(String[] var1) { } + public void setNeedClientAuth(boolean var1) { + } + public void setUseClientMode(boolean var1) { } public void setWantClientAuth(boolean var1) { } - public void setNeedClientAuth(boolean var1) { + public boolean getWantClientAuth() { + return false; + } + + public synchronized void close() throws IOException { + this.val$tlsClientProtocol.close(); + } + + public boolean getUseClientMode() { + return false; + } + + public boolean getEnableSessionCreation() { + return false; + } + + public InputStream getInputStream() throws IOException { + return this.val$tlsClientProtocol.getInputStream(); + } + + public void setEnabledCipherSuites(String[] var1) { } public boolean getNeedClientAuth() { return false; } - public String[] getSupportedCipherSuites() { - return null; - } - public void startHandshake() throws IOException { this.val$tlsClientProtocol.connect(new class13(this)); } - public String[] getEnabledProtocols() { - return null; + public OutputStream getOutputStream() throws IOException { + return this.val$tlsClientProtocol.getOutputStream(); } - @ObfuscatedName("n") - public static String method172(long var0) { - Calendar.Calendar_calendar.setTime(new Date(var0)); - int var2 = Calendar.Calendar_calendar.get(7); - int var3 = Calendar.Calendar_calendar.get(5); - int var4 = Calendar.Calendar_calendar.get(2); - int var5 = Calendar.Calendar_calendar.get(1); - int var6 = Calendar.Calendar_calendar.get(11); - int var7 = Calendar.Calendar_calendar.get(12); - int var8 = Calendar.Calendar_calendar.get(13); - return Calendar.DAYS_OF_THE_WEEK[var2 - 1] + ", " + var3 / 10 + var3 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var4] + "-" + var5 + " " + var6 / 10 + var6 % 10 + ":" + var7 / 10 + var7 % 10 + ":" + var8 / 10 + var8 % 10 + " GMT"; - } - - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZLjava/lang/String;ZB)V", - garbageValue = "27" + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "1286824379" ) - static void method129(String var0, boolean var1, String var2, boolean var3) { - if (var1) { - if (!var3 && Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { - try { - Desktop.getDesktop().browse(new URI(var0)); - return; - } catch (Exception var5) { - } - } + static void method157(Component var0) { + var0.setFocusTraversalKeysEnabled(false); + var0.addKeyListener(KeyHandler.KeyHandler_instance); + var0.addFocusListener(KeyHandler.KeyHandler_instance); + } - if (class29.field172.startsWith("win") && !var3) { - BufferedNetSocket.method6116(var0, 0, "openjs"); - return; - } + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(Lav;I)V", + garbageValue = "721847828" + ) + @Export("PcmStream_disable") + static final void PcmStream_disable(PcmStream var0) { + var0.active = false; + if (var0.sound != null) { + var0.sound.position = 0; + } - if (class29.field172.startsWith("mac")) { - BufferedNetSocket.method6116(var0, 1, var2); - return; - } - - BufferedNetSocket.method6116(var0, 2, "openjs"); - } else { - BufferedNetSocket.method6116(var0, 3, "openjs"); + for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { + PcmStream_disable(var1); } } - @ObfuscatedName("ay") + @ObfuscatedName("bn") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "82" + descriptor = "([BI)[B", + garbageValue = "496885039" ) - static int method173(int var0, Script var1, boolean var2) { - int var3; - if (var0 == 6600) { - var3 = class391.Client_plane; - int var15 = (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX; - int var8 = (class129.localPlayer.y >> 7) + class320.baseY; - NetSocket.getWorldMap().method6361(var3, var15, var8, true); - return 1; + @Export("decompressBytes") + static final byte[] decompressBytes(byte[] var0) { + Buffer var1 = new Buffer(var0); + int var2 = var1.readUnsignedByte(); + int var3 = var1.readInt(); + if (var3 < 0 || AbstractArchive.field3706 != 0 && var3 > AbstractArchive.field3706) { + throw new RuntimeException(); + } else if (var2 == 0) { + byte[] var6 = new byte[var3]; + var1.readBytes(var6, 0, var3); + return var6; } else { - WorldMapArea var9; - if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - String var16 = ""; - var9 = NetSocket.getWorldMap().getMapArea(var3); - if (var9 != null) { - var16 = var9.getExternalName(); - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - NetSocket.getWorldMap().setCurrentMapAreaId(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getZoomLevel(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - NetSocket.getWorldMap().setZoomPercentage(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().isCacheLoaded() ? 1 : 0; - return 1; - } else { - Coord var14; - if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - NetSocket.getWorldMap().setWorldMapPositionTarget(var14.x, var14.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - NetSocket.getWorldMap().setWorldMapPositionTargetInstant(var14.x, var14.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - NetSocket.getWorldMap().jumpToSourceCoord(var14.plane, var14.x, var14.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - NetSocket.getWorldMap().jumpToSourceCoordInstant(var14.plane, var14.x, var14.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getDisplayX(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getDisplayY(); - return 1; + int var4 = var1.readInt(); + if (var4 >= 0 && (AbstractArchive.field3706 == 0 || var4 <= AbstractArchive.field3706)) { + byte[] var5 = new byte[var4]; + if (var2 == 1) { + BZip2Decompressor.BZip2Decompressor_decompress(var5, var4, var0, var3, 9); } else { - WorldMapArea var11; - if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var11 = NetSocket.getWorldMap().getMapArea(var3); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getOrigin().packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var11 = NetSocket.getWorldMap().getMapArea(var3); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (var11.getRegionHighX() - var11.getRegionLowX() + 1) * 64; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (var11.getRegionHighY() - var11.getRegionLowY() + 1) * 64; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var11 = NetSocket.getWorldMap().getMapArea(var3); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getRegionLowX() * 64; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getRegionLowY() * 64; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getRegionHighX() * 64 + 64 - 1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getRegionHighY() * 64 + 64 - 1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var11 = NetSocket.getWorldMap().getMapArea(var3); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getZoom(); - } - - return 1; - } else if (var0 == 6615) { - var14 = NetSocket.getWorldMap().getDisplayCoord(); - if (var14 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var14.x; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var14.y; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().currentMapAreaId(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - var11 = NetSocket.getWorldMap().getCurrentMapArea(); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - int[] var12 = var11.position(var14.plane, var14.x, var14.y); - if (var12 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var12[0]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var12[1]; - } - - return 1; - } - } else { - Coord var5; - if (var0 == 6618) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - var11 = NetSocket.getWorldMap().getCurrentMapArea(); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - var5 = var11.coord(var14.x, var14.y); - if (var5 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.packed(); - } - - return 1; - } - } else { - Coord var10; - if (var0 == 6619) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var10 = new Coord(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - class15.method214(var3, var10, false); - return 1; - } else if (var0 == 6620) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var10 = new Coord(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - class15.method214(var3, var10, true); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var10 = new Coord(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - var9 = NetSocket.getWorldMap().getMapArea(var3); - if (var9 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var9.containsCoord(var10.plane, var10.x, var10.y) ? 1 : 0; - return 1; - } - } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getDisplayWith(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getDisplayHeight(); - return 1; - } else if (var0 == 6623) { - var14 = new Coord(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - var11 = NetSocket.getWorldMap().mapAreaAtCoord(var14.plane, var14.x, var14.y); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var11.getId(); - } - - return 1; - } else if (var0 == 6624) { - NetSocket.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6625) { - NetSocket.getWorldMap().resetMaxFlashCount(); - return 1; - } else if (var0 == 6626) { - NetSocket.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6627) { - NetSocket.getWorldMap().resetCyclesPerFlash(); - return 1; - } else { - boolean var13; - if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { - var13 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - NetSocket.getWorldMap().setPerpetualFlash(var13); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - NetSocket.getWorldMap().flashElement(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - NetSocket.getWorldMap().flashCategory(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { - NetSocket.getWorldMap().stopCurrentFlashes(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { - var13 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - NetSocket.getWorldMap().setElementsDisabled(var13); - return 1; - } else { - boolean var7; - if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] == 1; - NetSocket.getWorldMap().disableElement(var3, var7); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] == 1; - NetSocket.getWorldMap().setCategoryDisabled(var3, var7); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().getElementsDisabled() ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().isElementDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = NetSocket.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == 6638) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var10 = new Coord(Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - var5 = NetSocket.getWorldMap().method6405(var3, var10); - if (var5 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.packed(); - } - - return 1; - } else { - AbstractWorldMapIcon var6; - if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { - var6 = NetSocket.getWorldMap().iconStart(); - if (var6 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var6.getElement(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var6.coord2.packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { - var6 = NetSocket.getWorldMap().iconNext(); - if (var6 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var6.getElement(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var6.coord2.packed(); - } - - return 1; - } else { - WorldMapElement var4; - if (var0 == ScriptOpcodes.MEC_TEXT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class54.WorldMapElement_get(var3); - if (var4.name == null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.name; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class54.WorldMapElement_get(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.textSize; - return 1; - } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class54.WorldMapElement_get(var3); - if (var4 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.category; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_SPRITE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class54.WorldMapElement_get(var3); - if (var4 == null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.sprite1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.worldMapEvent.mapElement; - return 1; - } else if (var0 == 6698) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.worldMapEvent.coord1.packed(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.worldMapEvent.coord2.packed(); - return 1; - } else { - return 2; - } - } - } - } - } - } - } + AbstractArchive.gzipDecompressor.decompress(var1, var5); } + + return var5; + } else { + throw new RuntimeException(); } } } - @ObfuscatedName("gs") + @ObfuscatedName("fv") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-76026334" + garbageValue = "-1791069108" ) @Export("getWindowedMode") static int getWindowedMode() { return Client.isResizable ? 2 : 1; } + + @ObfuscatedName("ko") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "839045264" + ) + @Export("Clan_joinChat") + static final void Clan_joinChat(String var0) { + if (!var0.equals("")) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2660, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + } + + @ObfuscatedName("lq") + @ObfuscatedSignature( + descriptor = "(S)Z", + garbageValue = "19204" + ) + static boolean method159() { + return WorldMapDecorationType.clientPreferences.field1209 >= Client.field524; + } } diff --git a/runescape-client/src/main/java/class120.java b/runescape-client/src/main/java/class120.java index aee5f82db5..bcc6496407 100644 --- a/runescape-client/src/main/java/class120.java +++ b/runescape-client/src/main/java/class120.java @@ -1,100 +1,98 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dm") +@ObfuscatedName("dv") public class class120 extends class116 { - @ObfuscatedName("el") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive18") - static Archive archive18; - @ObfuscatedName("ea") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive17") - static Archive archive17; - @ObfuscatedName("n") + @ObfuscatedName("so") @ObfuscatedGetter( - intValue = 571132071 + intValue = -346097947 + ) + static int field1408; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -2132840675 ) int field1409; - @ObfuscatedName("c") - byte field1408; + @ObfuscatedName("q") + byte field1407; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class120(class119 var1) { this.this$0 = var1; this.field1409 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { + void vmethod2767(Buffer var1) { this.field1409 = var1.readUnsignedShort(); - this.field1408 = var1.readByte(); + this.field1407 = var1.readByte(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2581(this.field1409, this.field1408); + void vmethod2766(ClanSettings var1) { + var1.method2619(this.field1409, this.field1407); } - @ObfuscatedName("c") + @ObfuscatedName("jl") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1710039893" + descriptor = "(I)V", + garbageValue = "1261296688" ) - public static int method2512(int var0) { - return class245.field2885[var0]; - } + static void method2530() { + for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { + int var1 = var0.group; + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var1)) { + boolean var2 = true; + Widget[] var3 = Widget.Widget_interfaceComponents[var1]; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "4" - ) - public static void method2516(int var0) { - if (var0 != -1) { - if (Widget.Widget_loadedInterfaces[var0]) { - Widget.Widget_archive.clearFilesGroup(var0); - if (class139.Widget_interfaceComponents[var0] != null) { - boolean var1 = true; - - for (int var2 = 0; var2 < class139.Widget_interfaceComponents[var0].length; ++var2) { - if (class139.Widget_interfaceComponents[var0][var2] != null) { - if (class139.Widget_interfaceComponents[var0][var2].type != 2) { - class139.Widget_interfaceComponents[var0][var2] = null; - } else { - var1 = false; - } - } + int var4; + for (var4 = 0; var4 < var3.length; ++var4) { + if (var3[var4] != null) { + var2 = var3[var4].isIf3; + break; } + } - if (var1) { - class139.Widget_interfaceComponents[var0] = null; + if (!var2) { + var4 = (int)var0.key; + Widget var5 = HealthBarUpdate.getWidget(var4); + if (var5 != null) { + class16.invalidateWidget(var5); } - - Widget.Widget_loadedInterfaces[var0] = false; } } } + + } + + @ObfuscatedName("ke") + @ObfuscatedSignature( + descriptor = "(Lot;II)V", + garbageValue = "-1468568304" + ) + static void method2533(Buffer var0, int var1) { + byte[] var2 = var0.array; + if (Client.randomDatData == null) { + Client.randomDatData = new byte[24]; + } + + class321.writeRandomDat(var2, var1, Client.randomDatData, 0, 24); + class351.method6285(var0, var1); } } diff --git a/runescape-client/src/main/java/class121.java b/runescape-client/src/main/java/class121.java index d9df23a676..0dc3d4f229 100644 --- a/runescape-client/src/main/java/class121.java +++ b/runescape-client/src/main/java/class121.java @@ -1,60 +1,152 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("dv") +@ObfuscatedName("di") public class class121 extends class116 { - @ObfuscatedName("n") + @ObfuscatedName("i") @ObfuscatedGetter( - intValue = 983909083 + intValue = -1714829299 ) - int field1417; - @ObfuscatedName("c") + static int field1412; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1160316359 - ) - int field1411; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1316430201 - ) - int field1410; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1321113621 + intValue = -501523109 ) int field1416; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -22670281 + ) + int field1413; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 826571971 + ) + int field1414; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1587777273 + ) + int field1415; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class121(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1417 = var1.readInt(); + void vmethod2767(Buffer var1) { this.field1416 = var1.readInt(); - this.field1411 = var1.readUnsignedByte(); - this.field1410 = var1.readUnsignedByte(); + this.field1415 = var1.readInt(); + this.field1413 = var1.readUnsignedByte(); + this.field1414 = var1.readUnsignedByte(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2569(this.field1417, this.field1416, this.field1411, this.field1410); + void vmethod2766(ClanSettings var1) { + var1.method2598(this.field1416, this.field1415, this.field1413, this.field1414); + } + + @ObfuscatedName("l") + public static final void method2542(long var0) { + if (var0 > 0L) { + if (0L == var0 % 10L) { + long var2 = var0 - 1L; + + try { + Thread.sleep(var2); + } catch (InterruptedException var8) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var7) { + } + } else { + try { + Thread.sleep(var0); + } catch (InterruptedException var6) { + } + } + + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "1097941230" + ) + static int method2541(int var0, Script var1, boolean var2) { + int var3 = -1; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = HealthBarUpdate.getWidget(var3); + } else { + var4 = var2 ? WorldMapDecoration.scriptDotWidget : class245.scriptActiveWidget; + } + + if (var0 == ScriptOpcodes.CC_SETPOSITION) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var4.rawX = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4.rawY = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var4.xAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var4.yAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + class16.invalidateWidget(var4); + class21.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSIZE) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var4.rawWidth = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4.rawHeight = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var4.widthAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var4.heightAlignment = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + class16.invalidateWidget(var4); + class21.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHIDE) { + boolean var5 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (var5 != var4.isHidden) { + var4.isHidden = var5; + class16.invalidateWidget(var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { + var4.noClickThrough = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { + var4.noScrollThrough = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else { + return 2; + } } } diff --git a/runescape-client/src/main/java/class122.java b/runescape-client/src/main/java/class122.java index 8bb9b62be1..f3db5b4b2d 100644 --- a/runescape-client/src/main/java/class122.java +++ b/runescape-client/src/main/java/class122.java @@ -1,180 +1,426 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("de") +@ObfuscatedName("dw") public class class122 extends class132 { - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lee;" - ) - @Export("clock") - protected static Clock clock; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 502607237 - ) - int field1422; - @ObfuscatedName("c") - byte field1419; @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1807607503 + intValue = -1596107061 ) - int field1420; - @ObfuscatedName("k") - String field1421; + static int field1426; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -308201513 + ) + int field1427; + @ObfuscatedName("q") + byte field1424; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -519402687 + ) + int field1423; + @ObfuscatedName("j") + String field1425; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lec;" + descriptor = "Lee;" ) final class133 this$0; @ObfuscatedSignature( - descriptor = "(Lec;)V" + descriptor = "(Lee;)V" ) class122(class133 var1) { this.this$0 = var1; - this.field1422 = -1; + this.field1427 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - void vmethod2703(Buffer var1) { - this.field1422 = var1.readUnsignedShort(); - this.field1419 = var1.readByte(); - this.field1420 = var1.readUnsignedShort(); + void vmethod2760(Buffer var1) { + this.field1427 = var1.readUnsignedShort(); + this.field1424 = var1.readByte(); + this.field1423 = var1.readUnsignedShort(); var1.readLong(); - this.field1421 = var1.readStringCp1252NullTerminated(); + this.field1425 = var1.readStringCp1252NullTerminated(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - void vmethod2702(ClanChannel var1) { - ClanChannelMember var2 = (ClanChannelMember)var1.members.get(this.field1422); - var2.rank = this.field1419; - var2.world = this.field1420; - var2.username = new Username(this.field1421); + void vmethod2759(ClanChannel var1) { + ClanChannelMember var2 = (ClanChannelMember)var1.members.get(this.field1427); + var2.rank = this.field1424; + var2.world = this.field1423; + var2.username = new Username(this.field1425); } - @ObfuscatedName("n") + @ObfuscatedName("ab") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lka;B)I", - garbageValue = "88" + descriptor = "(ILbe;ZI)I", + garbageValue = "1077786730" ) - @Export("compareStrings") - public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { - int var3 = var0.length(); - int var4 = var1.length(); - int var5 = 0; - int var6 = 0; - char var7 = 0; - char var8 = 0; - - while (var5 - var7 < var3 || var6 - var8 < var4) { - if (var5 - var7 >= var3) { - return -1; + static int method2549(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.FRIEND_COUNT) { + if (Message.friendSystem.field798 == 0) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -2; + } else if (Message.friendSystem.field798 == 1) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Message.friendSystem.friendsList.getSize(); } - if (var6 - var8 >= var4) { + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.FRIEND_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Message.friendSystem.method1650() && var3 >= 0 && var3 < Message.friendSystem.friendsList.getSize()) { + Friend var8 = (Friend)Message.friendSystem.friendsList.get(var3); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var8.getName(); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var8.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + return 1; - } + } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Message.friendSystem.method1650() && var3 >= 0 && var3 < Message.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((Buddy)Message.friendSystem.friendsList.get(var3)).world; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } - char var9; - if (var7 != 0) { - var9 = var7; - boolean var14 = false; + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Message.friendSystem.method1650() && var3 >= 0 && var3 < Message.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((Buddy)Message.friendSystem.friendsList.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; } else { - var9 = var0.charAt(var5++); - } + String var5; + if (var0 == ScriptOpcodes.FRIEND_SETRANK) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + int var6 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + class16.method207(var5, var6); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_ADD) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Message.friendSystem.addFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_DEL) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Message.friendSystem.removeFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_ADD) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Message.friendSystem.addIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_DEL) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + Message.friendSystem.removeIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_TEST) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var5 = class351.method6286(var5); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Message.friendSystem.isFriended(new Username(var5, WorldMapSectionType.loginType), false) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { + if (class264.friendsChat != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class264.friendsChat.name; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } - char var10; - if (var8 != 0) { - var10 = var8; - boolean var15 = false; - } else { - var10 = var1.charAt(var6++); - } + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { + if (class264.friendsChat != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class264.friendsChat.getSize(); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } - var7 = HitSplatDefinition.method3123(var9); - var8 = HitSplatDefinition.method3123(var10); - var9 = GrandExchangeOfferAgeComparator.standardizeChar(var9, var2); - var10 = GrandExchangeOfferAgeComparator.standardizeChar(var10, var2); - if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { - var9 = Character.toLowerCase(var9); - var10 = Character.toLowerCase(var10); - if (var9 != var10) { - return WorldMapScaleHandler.lowercaseChar(var9, var2) - WorldMapScaleHandler.lowercaseChar(var10, var2); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize()) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class264.friendsChat.get(var3).getUsername().getName(); + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((Buddy)class264.friendsChat.get(var3)).getWorld(); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = ((Buddy)class264.friendsChat.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class264.friendsChat != null ? class264.friendsChat.minKick : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + SoundSystem.clanKickUser(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class264.friendsChat != null ? class264.friendsChat.rank * 1806063027 * 653549947 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + class12.Clan_joinChat(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { + GrandExchangeOfferTotalQuantityComparator.Clan_leaveChat(); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { + if (!Message.friendSystem.method1650()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Message.friendSystem.ignoreList.getSize(); + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Message.friendSystem.method1650() && var3 >= 0 && var3 < Message.friendSystem.ignoreList.getSize()) { + Ignored var4 = (Ignored)Message.friendSystem.ignoreList.get(var3); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.getName(); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_TEST) { + var5 = Interpreter.Interpreter_stringStack[--class54.Interpreter_stringStackSize]; + var5 = class351.method6286(var5); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Message.friendSystem.isIgnored(new Username(var5, WorldMapSectionType.loginType)) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize() && class264.friendsChat.get(var3).getUsername().equals(class67.localPlayer.username)) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { + if (class264.friendsChat != null && class264.friendsChat.owner != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class264.friendsChat.owner; + } else { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize() && ((ClanMate)class264.friendsChat.get(var3)).isFriend()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { + if (var0 == 3628) { + Message.friendSystem.friendsList.removeComparator(); + return 1; + } else { + boolean var7; + if (var0 == 3629) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3630) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3631) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator3(var7)); + return 1; + } else if (var0 == 3632) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator4(var7)); + return 1; + } else if (var0 == 3633) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator5(var7)); + return 1; + } else if (var0 == 3634) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator6(var7)); + return 1; + } else if (var0 == 3635) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator7(var7)); + return 1; + } else if (var0 == 3636) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator8(var7)); + return 1; + } else if (var0 == 3637) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator9(var7)); + return 1; + } else if (var0 == 3638) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new UserComparator10(var7)); + return 1; + } else if (var0 == 3639) { + Message.friendSystem.friendsList.sort(); + return 1; + } else if (var0 == 3640) { + Message.friendSystem.ignoreList.removeComparator(); + return 1; + } else if (var0 == 3641) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3642) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3643) { + Message.friendSystem.ignoreList.sort(); + return 1; + } else if (var0 == 3644) { + if (class264.friendsChat != null) { + class264.friendsChat.removeComparator(); + } + + return 1; + } else if (var0 == 3645) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator1(var7)); + } + + return 1; + } else if (var0 == 3646) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator2(var7)); + } + + return 1; + } else if (var0 == 3647) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator3(var7)); + } + + return 1; + } else if (var0 == 3648) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator4(var7)); + } + + return 1; + } else if (var0 == 3649) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator5(var7)); + } + + return 1; + } else if (var0 == 3650) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator6(var7)); + } + + return 1; + } else if (var0 == 3651) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator7(var7)); + } + + return 1; + } else if (var0 == 3652) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator8(var7)); + } + + return 1; + } else if (var0 == 3653) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator9(var7)); + } + + return 1; + } else if (var0 == 3654) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new UserComparator10(var7)); + } + + return 1; + } else if (var0 == 3655) { + if (class264.friendsChat != null) { + class264.friendsChat.sort(); + } + + return 1; + } else if (var0 == 3656) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + Message.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); + return 1; + } else if (var0 == 3657) { + var7 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class264.friendsChat != null) { + class264.friendsChat.addComparator(new BuddyRankComparator(var7)); + } + + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (class264.friendsChat != null && var3 < class264.friendsChat.getSize() && ((ClanMate)class264.friendsChat.get(var3)).isIgnored()) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; } } } - - int var16 = Math.min(var3, var4); - - char var12; - int var17; - for (var17 = 0; var17 < var16; ++var17) { - if (var2 == Language.Language_FR) { - var5 = var3 - 1 - var17; - var6 = var4 - 1 - var17; - } else { - var6 = var17; - var5 = var17; - } - - char var11 = var0.charAt(var5); - var12 = var1.charAt(var6); - if (var11 != var12 && Character.toUpperCase(var11) != Character.toUpperCase(var12)) { - var11 = Character.toLowerCase(var11); - var12 = Character.toLowerCase(var12); - if (var12 != var11) { - return WorldMapScaleHandler.lowercaseChar(var11, var2) - WorldMapScaleHandler.lowercaseChar(var12, var2); - } - } - } - - var17 = var3 - var4; - if (var17 != 0) { - return var17; - } else { - for (int var18 = 0; var18 < var16; ++var18) { - var12 = var0.charAt(var18); - char var13 = var1.charAt(var18); - if (var12 != var13) { - return WorldMapScaleHandler.lowercaseChar(var12, var2) - WorldMapScaleHandler.lowercaseChar(var13, var2); - } - } - - return 0; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IB)Leg;", - garbageValue = "-15" - ) - @Export("KitDefinition_get") - public static KitDefinition KitDefinition_get(int var0) { - KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); - var1 = new KitDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - KitDefinition.KitDefinition_cached.put(var1, (long)var0); - return var1; - } } } diff --git a/runescape-client/src/main/java/class123.java b/runescape-client/src/main/java/class123.java index 0373ed677f..e98fd6fe50 100644 --- a/runescape-client/src/main/java/class123.java +++ b/runescape-client/src/main/java/class123.java @@ -1,104 +1,54 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dz") +@ObfuscatedName("dn") public class class123 extends class116 { - @ObfuscatedName("n") - boolean field1424; - @ObfuscatedName("c") - byte field1425; - @ObfuscatedName("m") - byte field1426; - @ObfuscatedName("k") + @ObfuscatedName("l") + boolean field1433; + @ObfuscatedName("q") byte field1429; - @ObfuscatedName("o") + @ObfuscatedName("f") + byte field1432; + @ObfuscatedName("j") + byte field1431; + @ObfuscatedName("m") byte field1428; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class123(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1424 = var1.readUnsignedByte() == 1; - this.field1425 = var1.readByte(); - this.field1426 = var1.readByte(); + void vmethod2767(Buffer var1) { + this.field1433 = var1.readUnsignedByte() == 1; this.field1429 = var1.readByte(); + this.field1432 = var1.readByte(); + this.field1431 = var1.readByte(); this.field1428 = var1.readByte(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.allowGuests = this.field1424; - var1.field1448 = this.field1425; - var1.field1456 = this.field1426; - var1.field1457 = this.field1429; - var1.field1458 = this.field1428; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lot;Lnz;I)Lnz;", - garbageValue = "-1477647731" - ) - @Export("readStringIntParameters") - static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { - int var2 = var0.readUnsignedByte(); - int var3; - if (var1 == null) { - var3 = ItemContainer.method2041(var2); - var1 = new IterableNodeHashTable(var3); - } - - for (var3 = 0; var3 < var2; ++var3) { - boolean var4 = var0.readUnsignedByte() == 1; - int var5 = var0.readMedium(); - Object var6; - if (var4) { - var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); - } else { - var6 = new IntegerNode(var0.readInt()); - } - - var1.put((Node)var6, (long)var5); - } - - return var1; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)J", - garbageValue = "248614721" - ) - public static long method2536(int var0) { - return ViewportMouse.ViewportMouse_entityTags[var0]; - } - - @ObfuscatedName("lm") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "639109208" - ) - static void method2534() { - VarbitComposition.clientPreferences.field1192 = Client.field485; - DevicePcmPlayerProvider.savePreferences(); + void vmethod2766(ClanSettings var1) { + var1.allowGuests = this.field1433; + var1.field1450 = this.field1429; + var1.field1452 = this.field1432; + var1.field1459 = this.field1431; + var1.field1466 = this.field1428; } } diff --git a/runescape-client/src/main/java/class124.java b/runescape-client/src/main/java/class124.java index 74e0418fc7..ea2d94492d 100644 --- a/runescape-client/src/main/java/class124.java +++ b/runescape-client/src/main/java/class124.java @@ -3,34 +3,34 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dg") +@ObfuscatedName("dh") public class class124 extends class132 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -647163911 + intValue = -336591423 ) - int field1433; + int field1434; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lec;" + descriptor = "Lee;" ) final class133 this$0; @ObfuscatedSignature( - descriptor = "(Lec;)V" + descriptor = "(Lee;)V" ) class124(class133 var1) { this.this$0 = var1; - this.field1433 = -1; + this.field1434 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - void vmethod2703(Buffer var1) { - this.field1433 = var1.readUnsignedShort(); + void vmethod2760(Buffer var1) { + this.field1434 = var1.readUnsignedShort(); var1.readUnsignedByte(); if (var1.readUnsignedByte() != 255) { --var1.offset; @@ -39,93 +39,198 @@ public class class124 extends class132 { } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - void vmethod2702(ClanChannel var1) { - var1.removeMember(this.field1433); - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IB)Ljw;", - garbageValue = "-7" - ) - public static GameBuild method2543(int var0) { - GameBuild[] var1 = new GameBuild[]{GameBuild.WIP, GameBuild.BUILDLIVE, GameBuild.LIVE, GameBuild.RC}; - GameBuild[] var2 = var1; - - for (int var3 = 0; var3 < var2.length; ++var3) { - GameBuild var4 = var2[var3]; - if (var0 == var4.buildId) { - return var4; - } - } - - return null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lnz;ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "2005375598" - ) - static String method2544(IterableNodeHashTable var0, int var1, String var2) { - if (var0 == null) { - return var2; - } else { - ObjectNode var3 = (ObjectNode)var0.get((long)var1); - return var3 == null ? var2 : (String)var3.obj; - } + void vmethod2759(ClanChannel var1) { + var1.removeMember(this.field1434); } @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Lhd;", - garbageValue = "-2089806089" + descriptor = "(Lkl;Lkl;IZB)Lht;", + garbageValue = "40" ) - @Export("getFrames") - static Frames getFrames(int var0) { - Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); - if (var1 != null) { - return var1; - } else { - AbstractArchive var3 = SequenceDefinition.SequenceDefinition_animationsArchive; - AbstractArchive var4 = SequenceDefinition.SequenceDefinition_skeletonsArchive; - boolean var5 = true; - int[] var6 = var3.getGroupFileIds(var0); + public static Frames method2560(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { + boolean var4 = true; + int[] var5 = var0.getGroupFileIds(var2); - for (int var7 = 0; var7 < var6.length; ++var7) { - byte[] var8 = var3.getFile(var0, var6[var7]); - if (var8 == null) { - var5 = false; - } else { - int var9 = (var8[0] & 255) << 8 | var8[1] & 255; - byte[] var10 = var4.getFile(var9, 0); - if (var10 == null) { - var5 = false; - } - } - } - - Frames var2; - if (!var5) { - var2 = null; + for (int var6 = 0; var6 < var5.length; ++var6) { + byte[] var7 = var0.getFile(var2, var5[var6]); + if (var7 == null) { + var4 = false; } else { - try { - var2 = new Frames(var3, var4, var0, false); - } catch (Exception var12) { - var2 = null; + int var8 = (var7[0] & 255) << 8 | var7[1] & 255; + byte[] var9; + if (var3) { + var9 = var1.getFile(0, var8); + } else { + var9 = var1.getFile(var8, 0); + } + + if (var9 == null) { + var4 = false; } } + } - if (var2 != null) { - SequenceDefinition.SequenceDefinition_cachedFrames.put(var2, (long)var0); + if (!var4) { + return null; + } else { + try { + return new Frames(var0, var1, var2, var3); + } catch (Exception var11) { + return null; + } + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "287619330" + ) + static int method2564(int var0, Script var1, boolean var2) { + if (var0 < 1000) { + return FloorDecoration.method4104(var0, var1, var2); + } else if (var0 < 1100) { + return class121.method2541(var0, var1, var2); + } else if (var0 < 1200) { + return FontName.method6619(var0, var1, var2); + } else if (var0 < 1300) { + return class113.method2482(var0, var1, var2); + } else if (var0 < 1400) { + return Language.method5478(var0, var1, var2); + } else if (var0 < 1500) { + return PcmPlayer.method697(var0, var1, var2); + } else if (var0 < 1600) { + return MidiPcmStream.method4814(var0, var1, var2); + } else if (var0 < 1700) { + return Bounds.method6262(var0, var1, var2); + } else if (var0 < 1800) { + return LoginPacket.method4659(var0, var1, var2); + } else if (var0 < 1900) { + return UserComparator10.method2451(var0, var1, var2); + } else if (var0 < 2000) { + return WorldMapSprite.method3866(var0, var1, var2); + } else if (var0 < 2100) { + return class121.method2541(var0, var1, var2); + } else if (var0 < 2200) { + return FontName.method6619(var0, var1, var2); + } else if (var0 < 2300) { + return class113.method2482(var0, var1, var2); + } else if (var0 < 2400) { + return Language.method5478(var0, var1, var2); + } else if (var0 < 2500) { + return PcmPlayer.method697(var0, var1, var2); + } else if (var0 < 2600) { + return class19.method299(var0, var1, var2); + } else if (var0 < 2700) { + return ChatChannel.method1987(var0, var1, var2); + } else if (var0 < 2800) { + return class279.method5136(var0, var1, var2); + } else if (var0 < 2900) { + return NetFileRequest.method5215(var0, var1, var2); + } else if (var0 < 3000) { + return WorldMapSprite.method3866(var0, var1, var2); + } else if (var0 < 3200) { + return SoundCache.method780(var0, var1, var2); + } else if (var0 < 3300) { + return ScriptEvent.method2066(var0, var1, var2); + } else if (var0 < 3400) { + return ApproximateRouteStrategy.method1095(var0, var1, var2); + } else if (var0 < 3500) { + return class329.method5931(var0, var1, var2); + } else if (var0 < 3600) { + return Interpreter.method1868(var0, var1, var2); + } else if (var0 < 3700) { + return class122.method2549(var0, var1, var2); + } else if (var0 < 3800) { + return UserComparator3.method2436(var0, var1, var2); + } else if (var0 < 3900) { + return WorldMapSection0.method3826(var0, var1, var2); + } else if (var0 < 4000) { + return class262.method5063(var0, var1, var2); + } else if (var0 < 4100) { + return SecureRandomCallable.method2026(var0, var1, var2); + } else if (var0 < 4200) { + return WorldMapSection0.method3827(var0, var1, var2); + } else if (var0 < 4300) { + return UserComparator4.method2399(var0, var1, var2); + } else if (var0 < 5100) { + return LoginPacket.method4660(var0, var1, var2); + } else if (var0 < 5400) { + return AbstractWorldMapIcon.method3945(var0, var1, var2); + } else if (var0 < 5600) { + return PlayerType.method5153(var0, var1, var2); + } else if (var0 < 5700) { + return ParamComposition.method3129(var0, var1, var2); + } else if (var0 < 6300) { + return class264.method5071(var0, var1, var2); + } else if (var0 < 6600) { + return class176.method3442(var0, var1, var2); + } else if (var0 < 6700) { + return Renderable.method4394(var0, var1, var2); + } else if (var0 < 6800) { + return HealthBar.method2220(var0, var1, var2); + } else if (var0 < 6900) { + return WallDecoration.method4581(var0, var1, var2); + } else if (var0 < 7000) { + return class130.method2683(var0, var1, var2); + } else if (var0 < 7100) { + return ObjectSound.method1730(var0, var1, var2); + } else if (var0 < 7200) { + return class262.method5062(var0, var1, var2); + } else { + return var0 < 7300 ? ReflectionCheck.method1063(var0, var1, var2) : 2; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-1215104265" + ) + @Export("Messages_getHistorySize") + static int Messages_getHistorySize(int var0) { + ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); + return var1 == null ? 0 : var1.size(); + } + + @ObfuscatedName("gl") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "1119903328" + ) + @Export("worldToScreen") + static final void worldToScreen(int var0, int var1, int var2) { + if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { + int var3 = MidiPcmStream.getTileHeight(var0, var1, VertexNormal.Client_plane) - var2; + var0 -= Canvas.cameraX; + var3 -= class14.cameraY; + var1 -= VarpDefinition.cameraZ; + int var4 = Rasterizer3D.Rasterizer3D_sine[WorldMapIcon_1.cameraPitch]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[WorldMapIcon_1.cameraPitch]; + int var6 = Rasterizer3D.Rasterizer3D_sine[HealthBarUpdate.cameraYaw]; + int var7 = Rasterizer3D.Rasterizer3D_cosine[HealthBarUpdate.cameraYaw]; + int var8 = var6 * var1 + var0 * var7 >> 16; + var1 = var7 * var1 - var0 * var6 >> 16; + var0 = var8; + var8 = var5 * var3 - var4 * var1 >> 16; + var1 = var4 * var3 + var5 * var1 >> 16; + if (var1 >= 50) { + Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; + Client.viewportTempY = var8 * Client.viewportZoom / var1 + Client.viewportHeight / 2; + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; } - return var2; + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; } } } diff --git a/runescape-client/src/main/java/class125.java b/runescape-client/src/main/java/class125.java index 0fe8b120ee..a97c9d46cb 100644 --- a/runescape-client/src/main/java/class125.java +++ b/runescape-client/src/main/java/class125.java @@ -1,53 +1,50 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dt") +@ObfuscatedName("ds") public class class125 extends class116 { - @ObfuscatedName("pb") - @ObfuscatedSignature( - descriptor = "Lni;" - ) - @Export("HitSplatDefinition_cachedSprites") - static class386 HitSplatDefinition_cachedSprites; - @ObfuscatedName("ow") - @ObfuscatedGetter( - intValue = 478652981 - ) - @Export("widgetDragDuration") - static int widgetDragDuration; - @ObfuscatedName("n") - String field1436; + @ObfuscatedName("l") + String field1438; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class125(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1436 = var1.readStringCp1252NullTerminated(); + void vmethod2767(Buffer var1) { + this.field1438 = var1.readStringCp1252NullTerminated(); var1.readInt(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.name = this.field1436; + void vmethod2766(ClanSettings var1) { + var1.name = this.field1438; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(I)[Lob;", + garbageValue = "1776843311" + ) + @Export("FillMode_values") + public static FillMode[] FillMode_values() { + return new FillMode[]{FillMode.SOLID, FillMode.field4368, FillMode.field4366}; } } diff --git a/runescape-client/src/main/java/class126.java b/runescape-client/src/main/java/class126.java index e83b1f9733..c5d8fdd568 100644 --- a/runescape-client/src/main/java/class126.java +++ b/runescape-client/src/main/java/class126.java @@ -1,45 +1,110 @@ +import java.awt.Desktop; +import java.awt.Desktop.Action; +import java.net.URI; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("da") public class class126 extends class116 { - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 633150417 + @ObfuscatedName("rq") + @ObfuscatedSignature( + descriptor = "Laq;" ) - int field1442; - @ObfuscatedName("c") - String field1446; + @Export("pcmPlayer0") + static PcmPlayer pcmPlayer0; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -715291481 + ) + int field1440; + @ObfuscatedName("q") + String field1439; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class126(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1442 = var1.readInt(); - this.field1446 = var1.readStringCp1252NullTerminated(); + void vmethod2767(Buffer var1) { + this.field1440 = var1.readInt(); + this.field1439 = var1.readStringCp1252NullTerminated(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2571(this.field1442, this.field1446); + void vmethod2766(ClanSettings var1) { + var1.method2614(this.field1440, this.field1439); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II)Lff;", + garbageValue = "541263159" + ) + @Export("getParamDefinition") + public static ParamComposition getParamDefinition(int var0) { + ParamComposition var1 = (ParamComposition)ParamComposition.ParamDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = DevicePcmPlayerProvider.ParamDefinition_archive.takeFile(11, var0); + var1 = new ParamComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + ParamComposition.ParamDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZLjava/lang/String;ZB)V", + garbageValue = "-60" + ) + static void method2580(String var0, boolean var1, String var2, boolean var3) { + if (var1) { + if (!var3 && Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { + try { + Desktop.getDesktop().browse(new URI(var0)); + return; + } catch (Exception var5) { + } + } + + if (class29.field165.startsWith("win") && !var3) { + class139.method2763(var0, 0, "openjs"); + return; + } + + if (class29.field165.startsWith("mac")) { + class139.method2763(var0, 1, var2); + return; + } + + class139.method2763(var0, 2, "openjs"); + } else { + class139.method2763(var0, 3, "openjs"); + } + } } diff --git a/runescape-client/src/main/java/class128.java b/runescape-client/src/main/java/class128.java index 4fe077acc6..03cfe9f226 100644 --- a/runescape-client/src/main/java/class128.java +++ b/runescape-client/src/main/java/class128.java @@ -3,138 +3,107 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dw") +@ObfuscatedName("dz") public class class128 extends class132 { - @ObfuscatedName("fv") - @ObfuscatedGetter( - intValue = 107804773 - ) - static int field1477; - @ObfuscatedName("n") + @ObfuscatedName("l") String field1474; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -231777571 + intValue = 1306318707 ) - int field1475; - @ObfuscatedName("m") - byte field1476; + int field1471; + @ObfuscatedName("f") + byte field1472; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lec;" + descriptor = "Lee;" ) final class133 this$0; @ObfuscatedSignature( - descriptor = "(Lec;)V" + descriptor = "(Lee;)V" ) class128(class133 var1) { this.this$0 = var1; this.field1474 = null; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - void vmethod2703(Buffer var1) { + void vmethod2760(Buffer var1) { if (var1.readUnsignedByte() != 255) { --var1.offset; var1.readLong(); } this.field1474 = var1.readStringCp1252NullTerminatedOrNull(); - this.field1475 = var1.readUnsignedShort(); - this.field1476 = var1.readByte(); + this.field1471 = var1.readUnsignedShort(); + this.field1472 = var1.readByte(); var1.readLong(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - void vmethod2702(ClanChannel var1) { + void vmethod2759(ClanChannel var1) { ClanChannelMember var2 = new ClanChannelMember(); var2.username = new Username(this.field1474); - var2.world = this.field1475; - var2.rank = this.field1476; + var2.world = this.field1471; + var2.rank = this.field1472; var1.addMember(var2); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;B)V", - garbageValue = "7" + descriptor = "([Lku;IB)Lku;", + garbageValue = "13" ) - public static void method2632(AbstractArchive var0) { - VarbitComposition.VarbitDefinition_archive = var0; - } + @Export("findEnumerated") + public static MouseWheel findEnumerated(MouseWheel[] var0, int var1) { + MouseWheel[] var2 = var0; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "([BIII)Ljava/lang/String;", - garbageValue = "1309972992" - ) - @Export("decodeStringCp1252") - public static String decodeStringCp1252(byte[] var0, int var1, int var2) { - char[] var3 = new char[var2]; - int var4 = 0; - - for (int var5 = 0; var5 < var2; ++var5) { - int var6 = var0[var5 + var1] & 255; - if (var6 != 0) { - if (var6 >= 128 && var6 < 160) { - char var7 = class316.cp1252AsciiExtension[var6 - 128]; - if (var7 == 0) { - var7 = '?'; - } - - var6 = var7; - } - - var3[var4++] = (char)var6; + for (int var3 = 0; var3 < var2.length; ++var3) { + MouseWheel var4 = var2[var3]; + if (var1 == var4.rsOrdinal()) { + return var4; } } - return new String(var3, 0, var4); + return null; } - @ObfuscatedName("ia") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljd;III)V", - garbageValue = "774918140" + descriptor = "(Lkl;Lkl;I)V", + garbageValue = "414172214" ) - @Export("alignWidgetPosition") - static void alignWidgetPosition(Widget var0, int var1, int var2) { - if (var0.xAlignment == 0) { - var0.x = var0.rawX; - } else if (var0.xAlignment == 1) { - var0.x = var0.rawX + (var1 - var0.width) / 2; - } else if (var0.xAlignment == 2) { - var0.x = var1 - var0.width - var0.rawX; - } else if (var0.xAlignment == 3) { - var0.x = var0.rawX * var1 >> 14; - } else if (var0.xAlignment == 4) { - var0.x = (var0.rawX * var1 >> 14) + (var1 - var0.width) / 2; - } else { - var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); - } + public static void method2662(AbstractArchive var0, AbstractArchive var1) { + GrandExchangeOfferAgeComparator.NpcDefinition_archive = var0; + NPCComposition.NpcDefinition_modelArchive = var1; + } - if (var0.yAlignment == 0) { - var0.y = var0.rawY; - } else if (var0.yAlignment == 1) { - var0.y = (var2 - var0.height) / 2 + var0.rawY; - } else if (var0.yAlignment == 2) { - var0.y = var2 - var0.height - var0.rawY; - } else if (var0.yAlignment == 3) { - var0.y = var2 * var0.rawY >> 14; - } else if (var0.yAlignment == 4) { - var0.y = (var2 - var0.height) / 2 + (var2 * var0.rawY >> 14); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-236760725" + ) + static final int method2663(int var0, int var1) { + if (var0 == -1) { + return 12345678; } else { - var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); - } + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + return (var0 & 65408) + var1; + } } } diff --git a/runescape-client/src/main/java/class129.java b/runescape-client/src/main/java/class129.java index 1a4f1da655..5b58c9693f 100644 --- a/runescape-client/src/main/java/class129.java +++ b/runescape-client/src/main/java/class129.java @@ -3,72 +3,316 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dq") +@ObfuscatedName("de") public class class129 extends class132 { - @ObfuscatedName("gi") - @ObfuscatedSignature( - descriptor = "Llu;" - ) - @Export("fontPlain12") - static Font fontPlain12; - @ObfuscatedName("lz") - @ObfuscatedSignature( - descriptor = "Lco;" - ) - @Export("localPlayer") - static Player localPlayer; - @ObfuscatedName("n") + @ObfuscatedName("hi") + @Export("regions") + static int[] regions; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1235110077 + intValue = 1525021319 ) - int field1482; - @ObfuscatedName("c") - byte field1480; - @ObfuscatedName("m") + int field1480; + @ObfuscatedName("q") + byte field1476; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1931704741 + intValue = -1440007301 ) int field1481; - @ObfuscatedName("k") - String field1483; + @ObfuscatedName("j") + String field1478; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lec;" + descriptor = "Lee;" ) final class133 this$0; @ObfuscatedSignature( - descriptor = "(Lec;)V" + descriptor = "(Lee;)V" ) class129(class133 var1) { this.this$0 = var1; - this.field1482 = -1; + this.field1480 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - void vmethod2703(Buffer var1) { + void vmethod2760(Buffer var1) { var1.readUnsignedByte(); - this.field1482 = var1.readUnsignedShort(); - this.field1480 = var1.readByte(); + this.field1480 = var1.readUnsignedShort(); + this.field1476 = var1.readByte(); this.field1481 = var1.readUnsignedShort(); var1.readLong(); - this.field1483 = var1.readStringCp1252NullTerminated(); + this.field1478 = var1.readStringCp1252NullTerminated(); var1.readUnsignedByte(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - void vmethod2702(ClanChannel var1) { - ClanChannelMember var2 = (ClanChannelMember)var1.members.get(this.field1482); - var2.rank = this.field1480; + void vmethod2759(ClanChannel var1) { + ClanChannelMember var2 = (ClanChannelMember)var1.members.get(this.field1480); + var2.rank = this.field1476; var2.world = this.field1481; - var2.username = new Username(this.field1483); + var2.username = new Username(this.field1478); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIILfw;Lfy;I)Z", + garbageValue = "-1980971747" + ) + public static final boolean method2673(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) { + int var5 = var0; + int var6 = var1; + byte var7 = 64; + byte var8 = 64; + int var9 = var0 - var7; + int var10 = var1 - var8; + class174.directions[var7][var8] = 99; + class174.distances[var7][var8] = 0; + byte var11 = 0; + int var12 = 0; + class174.bufferX[var11] = var0; + int var20 = var11 + 1; + class174.bufferY[var11] = var1; + int[][] var13 = var4.flags; + + while (true) { + label305: + while (true) { + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + do { + do { + do { + label282: + do { + if (var20 == var12) { + class318.field3870 = var5; + class174.field1994 = var6; + return false; + } + + var5 = class174.bufferX[var12]; + var6 = class174.bufferY[var12]; + var12 = var12 + 1 & 4095; + var18 = var5 - var9; + var19 = var6 - var10; + var14 = var5 - var4.xInset; + var15 = var6 - var4.yInset; + if (var3.hasArrived(var2, var5, var6, var4)) { + class318.field3870 = var5; + class174.field1994 = var6; + return true; + } + + var16 = class174.distances[var18][var19] + 1; + if (var18 > 0 && class174.directions[var18 - 1][var19] == 0 && (var13[var14 - 1][var15] & 19136782) == 0 && (var13[var14 - 1][var15 + var2 - 1] & 19136824) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class174.bufferX[var20] = var5 - 1; + class174.bufferY[var20] = var6; + var20 = var20 + 1 & 4095; + class174.directions[var18 - 1][var19] = 2; + class174.distances[var18 - 1][var19] = var16; + break; + } + + if ((var13[var14 - 1][var17 + var15] & 19136830) != 0) { + break; + } + + ++var17; + } + } + + if (var18 < 128 - var2 && class174.directions[var18 + 1][var19] == 0 && (var13[var14 + var2][var15] & 19136899) == 0 && (var13[var14 + var2][var15 + var2 - 1] & 19136992) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class174.bufferX[var20] = var5 + 1; + class174.bufferY[var20] = var6; + var20 = var20 + 1 & 4095; + class174.directions[var18 + 1][var19] = 8; + class174.distances[var18 + 1][var19] = var16; + break; + } + + if ((var13[var14 + var2][var17 + var15] & 19136995) != 0) { + break; + } + + ++var17; + } + } + + if (var19 > 0 && class174.directions[var18][var19 - 1] == 0 && (var13[var14][var15 - 1] & 19136782) == 0 && (var13[var14 + var2 - 1][var15 - 1] & 19136899) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class174.bufferX[var20] = var5; + class174.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class174.directions[var18][var19 - 1] = 1; + class174.distances[var18][var19 - 1] = var16; + break; + } + + if ((var13[var17 + var14][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var19 < 128 - var2 && class174.directions[var18][var19 + 1] == 0 && (var13[var14][var15 + var2] & 19136824) == 0 && (var13[var14 + var2 - 1][var15 + var2] & 19136992) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class174.bufferX[var20] = var5; + class174.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class174.directions[var18][var19 + 1] = 4; + class174.distances[var18][var19 + 1] = var16; + break; + } + + if ((var13[var14 + var17][var15 + var2] & 19137016) != 0) { + break; + } + + ++var17; + } + } + + if (var18 > 0 && var19 > 0 && class174.directions[var18 - 1][var19 - 1] == 0 && (var13[var14 - 1][var15 - 1] & 19136782) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2) { + class174.bufferX[var20] = var5 - 1; + class174.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class174.directions[var18 - 1][var19 - 1] = 3; + class174.distances[var18 - 1][var19 - 1] = var16; + break; + } + + if ((var13[var14 - 1][var17 + (var15 - 1)] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var18 < 128 - var2 && var19 > 0 && class174.directions[var18 + 1][var19 - 1] == 0 && (var13[var14 + var2][var15 - 1] & 19136899) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2) { + class174.bufferX[var20] = var5 + 1; + class174.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class174.directions[var18 + 1][var19 - 1] = 9; + class174.distances[var18 + 1][var19 - 1] = var16; + break; + } + + if ((var13[var14 + var2][var17 + (var15 - 1)] & 19136995) != 0 || (var13[var17 + var14][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var18 > 0 && var19 < 128 - var2 && class174.directions[var18 - 1][var19 + 1] == 0 && (var13[var14 - 1][var15 + var2] & 19136824) == 0) { + for (var17 = 1; var17 < var2; ++var17) { + if ((var13[var14 - 1][var17 + var15] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 + var2] & 19137016) != 0) { + continue label282; + } + } + + class174.bufferX[var20] = var5 - 1; + class174.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class174.directions[var18 - 1][var19 + 1] = 6; + class174.distances[var18 - 1][var19 + 1] = var16; + } + } while(var18 >= 128 - var2); + } while(var19 >= 128 - var2); + } while(class174.directions[var18 + 1][var19 + 1] != 0); + } while((var13[var14 + var2][var15 + var2] & 19136992) != 0); + + for (var17 = 1; var17 < var2; ++var17) { + if ((var13[var14 + var17][var15 + var2] & 19137016) != 0 || (var13[var14 + var2][var17 + var15] & 19136995) != 0) { + continue label305; + } + } + + class174.bufferX[var20] = var5 + 1; + class174.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class174.directions[var18 + 1][var19 + 1] = 12; + class174.distances[var18 + 1][var19 + 1] = var16; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)Lpa;", + garbageValue = "2085861748" + ) + public static PrivateChatMode method2671(int var0) { + PrivateChatMode[] var1 = Skeleton.method4196(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + PrivateChatMode var3 = var1[var2]; + if (var0 == var3.field4414) { + return var3; + } + } + + return null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)Ljava/lang/String;", + garbageValue = "32" + ) + public static String method2670(CharSequence var0) { + return StructComposition.method3152('*', var0.length()); + } + + @ObfuscatedName("jv") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "942143670" + ) + @Export("updateSoundEffectVolume") + static final void updateSoundEffectVolume(int var0) { + var0 = Math.min(Math.max(var0, 0), 127); + WorldMapDecorationType.clientPreferences.soundEffectsVolume = var0; + ScriptFrame.savePreferences(); } } diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index 174a216615..dfd630b154 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -8,28 +8,30 @@ import net.runelite.mapping.ObfuscatedSignature; import org.bouncycastle.crypto.tls.DefaultTlsClient; import org.bouncycastle.crypto.tls.TlsAuthentication; -@ObfuscatedName("f") +@ObfuscatedName("v") class class13 extends DefaultTlsClient { - @ObfuscatedName("hx") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "[Loc;" + descriptor = "Lkl;" ) - @Export("mapMarkerSprites") - static SpritePixels[] mapMarkerSprites; - @ObfuscatedName("hv") + @Export("SequenceDefinition_animationsArchive") + public static AbstractArchive SequenceDefinition_animationsArchive; + @ObfuscatedName("h") + @Export("formattedOperatingSystemName") + public static String formattedOperatingSystemName; + @ObfuscatedName("az") @ObfuscatedSignature( - descriptor = "[Loc;" + descriptor = "Lme;" ) - @Export("crossSprites") - static SpritePixels[] crossSprites; + static Bounds field76; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lv;" + descriptor = "Lg;" ) final class12 this$1; @ObfuscatedSignature( - descriptor = "(Lv;)V" + descriptor = "(Lg;)V" ) class13(class12 var1) { this.this$1 = var1; @@ -57,65 +59,24 @@ class class13 extends DefaultTlsClient { return new class11(this); } - @ObfuscatedName("o") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "([BIILhz;[Lfk;I)V", - garbageValue = "-1888436323" + descriptor = "(IB)Leo;", + garbageValue = "-93" ) - static final void method180(byte[] var0, int var1, int var2, Scene var3, CollisionMap[] var4) { - Buffer var5 = new Buffer(var0); - int var6 = -1; - - while (true) { - int var7 = var5.method7009(); - if (var7 == 0) { - return; - } - - var6 += var7; - int var8 = 0; - - while (true) { - int var9 = var5.readUShortSmart(); - if (var9 == 0) { - break; - } - - var8 += var9 - 1; - int var10 = var8 & 63; - int var11 = var8 >> 6 & 63; - int var12 = var8 >> 12; - int var13 = var5.readUnsignedByte(); - int var14 = var13 >> 2; - int var15 = var13 & 3; - int var16 = var11 + var1; - int var17 = var10 + var2; - if (var16 > 0 && var17 > 0 && var16 < 103 && var17 < 103) { - int var18 = var12; - if ((Tiles.Tiles_renderFlags[1][var16][var17] & 2) == 2) { - var18 = var12 - 1; - } - - CollisionMap var19 = null; - if (var18 >= 0) { - var19 = var4[var18]; - } - - class140.method2715(var12, var16, var17, var6, var15, var14, var3, var19); - } - } - } + @Export("WorldMapElement_get") + public static WorldMapElement WorldMapElement_get(int var0) { + return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); } - @ObfuscatedName("jv") + @ObfuscatedName("eq") @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "-10" + descriptor = "(Lky;Ljava/lang/String;I)V", + garbageValue = "1840812088" ) - @Export("runIntfCloseListeners") - static final void runIntfCloseListeners(int var0, int var1) { - if (class317.loadInterface(var0)) { - Skeleton.runComponentCloseListeners(class139.Widget_interfaceComponents[var0], var1); - } + static void method167(Archive var0, String var1) { + ArchiveLoader var2 = new ArchiveLoader(var0, var1); + Client.archiveLoaders.add(var2); + Client.field521 += var2.groupCount; } } diff --git a/runescape-client/src/main/java/class130.java b/runescape-client/src/main/java/class130.java index e79e9a647d..eb454b6836 100644 --- a/runescape-client/src/main/java/class130.java +++ b/runescape-client/src/main/java/class130.java @@ -1,53 +1,226 @@ -import java.awt.Image; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eo") +@ObfuscatedName("et") public class class130 extends class116 { - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -985111079 + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Lgt;" ) - @Export("pcmSampleLength") - public static int pcmSampleLength; - @ObfuscatedName("av") - static Image field1489; - @ObfuscatedName("n") + @Export("worldMapEvent") + static WorldMapEvent worldMapEvent; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1903391419 + intValue = 49834049 ) - int field1491; + int field1482; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class130(class119 var1) { this.this$0 = var1; - this.field1491 = -1; + this.field1482 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1491 = var1.readUnsignedShort(); + void vmethod2767(Buffer var1) { + this.field1482 = var1.readUnsignedShort(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2589(this.field1491); + void vmethod2766(ClanSettings var1) { + var1.method2592(this.field1482); + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "99" + ) + public static void method2677(int var0) { + MouseHandler.MouseHandler_idleCycles = var0; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "([BIIB)Z", + garbageValue = "1" + ) + static final boolean method2682(byte[] var0, int var1, int var2) { + boolean var3 = true; + Buffer var4 = new Buffer(var0); + int var5 = -1; + + label69: + while (true) { + int var6 = var4.method7037(); + if (var6 == 0) { + return var3; + } + + var5 += var6; + int var7 = 0; + boolean var8 = false; + + while (true) { + int var9; + while (!var8) { + var9 = var4.readUShortSmart(); + if (var9 == 0) { + continue label69; + } + + var7 += var9 - 1; + int var10 = var7 & 63; + int var11 = var7 >> 6 & 63; + int var12 = var4.readUnsignedByte() >> 2; + int var13 = var11 + var1; + int var14 = var10 + var2; + if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) { + ObjectComposition var15 = class245.getObjectDefinition(var5); + if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { + if (!var15.needsModelFiles()) { + ++Client.field545; + var3 = false; + } + + var8 = true; + } + } + } + + var9 = var4.readUShortSmart(); + if (var9 == 0) { + break; + } + + var4.readUnsignedByte(); + } + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-683138531" + ) + static int method2683(int var0, Script var1, boolean var2) { + if (var0 == 6900) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 6950) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("gu") + @ObfuscatedSignature( + descriptor = "(IIIIZI)V", + garbageValue = "19136899" + ) + @Export("setViewportShape") + static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { + if (var2 < 1) { + var2 = 1; + } + + if (var3 < 1) { + var3 = 1; + } + + int var5 = var3 - 334; + int var6; + if (var5 < 0) { + var6 = Client.field744; + } else if (var5 >= 100) { + var6 = Client.field747; + } else { + var6 = (Client.field747 - Client.field744) * var5 / 100 + Client.field744; + } + + int var7 = var3 * var6 * 512 / (var2 * 334); + int var8; + int var9; + short var17; + if (var7 < Client.field750) { + var17 = Client.field750; + var6 = var17 * var2 * 334 / (var3 * 512); + if (var6 > Client.field749) { + var6 = Client.field749; + var8 = var3 * var6 * 512 / (var17 * 334); + var9 = (var2 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); + } + + var0 += var9; + var2 -= var9 * 2; + } + } else if (var7 > Client.field501) { + var17 = Client.field501; + var6 = var17 * var2 * 334 / (var3 * 512); + if (var6 < Client.field748) { + var6 = Client.field748; + var8 = var17 * var2 * 334 / (var6 * 512); + var9 = (var3 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); + } + + var1 += var9; + var3 -= var9 * 2; + } + } + + Client.viewportZoom = var3 * var6 / 334; + if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { + int[] var16 = new int[9]; + + for (var9 = 0; var9 < var16.length; ++var9) { + int var10 = var9 * 32 + 15 + 128; + int var11 = NetCache.method5335(var10); + int var12 = Rasterizer3D.Rasterizer3D_sine[var10]; + int var14 = var3 - 334; + if (var14 < 0) { + var14 = 0; + } else if (var14 > 100) { + var14 = 100; + } + + int var15 = (Client.zoomWidth - Client.zoomHeight) * var14 / 100 + Client.zoomHeight; + int var13 = var11 * var15 / 256; + var16[var9] = var13 * var12 >> 16; + } + + Scene.Scene_buildVisiblityMap(var16, 500, 800, var2 * 334 / var3, 334); + } + + Client.viewportOffsetX = var0; + Client.viewportOffsetY = var1; + Client.viewportWidth = var2; + Client.viewportHeight = var3; } } diff --git a/runescape-client/src/main/java/class131.java b/runescape-client/src/main/java/class131.java index 625eb13433..add0e308f5 100644 --- a/runescape-client/src/main/java/class131.java +++ b/runescape-client/src/main/java/class131.java @@ -1,154 +1,109 @@ +import java.awt.Component; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ep") +@ObfuscatedName("ev") public class class131 extends class116 { - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = 8166807138723971967L - ) - long field1494; - @ObfuscatedName("c") - String field1495; @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -192832123 + @Export("SpriteBuffer_yOffsets") + public static int[] SpriteBuffer_yOffsets; + @ObfuscatedName("en") + @ObfuscatedSignature( + descriptor = "Lmr;" ) - int field1493; + @Export("spriteIds") + static GraphicsDefaults spriteIds; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = -3900186400137069511L + ) + long field1486; + @ObfuscatedName("q") + String field1484; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 655775571 + ) + int field1487; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class131(class119 var1) { this.this$0 = var1; - this.field1494 = -1L; - this.field1495 = null; - this.field1493 = 0; + this.field1486 = -1L; + this.field1484 = null; + this.field1487 = 0; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { + void vmethod2767(Buffer var1) { if (var1.readUnsignedByte() != 255) { --var1.offset; - this.field1494 = var1.readLong(); + this.field1486 = var1.readLong(); } - this.field1495 = var1.readStringCp1252NullTerminatedOrNull(); - this.field1493 = var1.readUnsignedShort(); + this.field1484 = var1.readStringCp1252NullTerminatedOrNull(); + this.field1487 = var1.readUnsignedShort(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2559(this.field1494, this.field1495, this.field1493); + void vmethod2766(ClanSettings var1) { + var1.method2646(this.field1486, this.field1484, this.field1487); } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(CB)C", - garbageValue = "-71" + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "387235799" ) - public static char method2647(char var0) { - switch(var0) { - case ' ': - case '-': - case '_': - case ' ': - return '_'; - case '#': - case '[': - case ']': - return var0; - case 'À': - case 'Á': - case 'Â': - case 'Ã': - case 'Ä': - case 'à': - case 'á': - case 'â': - case 'ã': - case 'ä': - return 'a'; - case 'Ç': - case 'ç': - return 'c'; - case 'È': - case 'É': - case 'Ê': - case 'Ë': - case 'è': - case 'é': - case 'ê': - case 'ë': - return 'e'; - case 'Í': - case 'Î': - case 'Ï': - case 'í': - case 'î': - case 'ï': - return 'i'; - case 'Ñ': - case 'ñ': - return 'n'; - case 'Ò': - case 'Ó': - case 'Ô': - case 'Õ': - case 'Ö': - case 'ò': - case 'ó': - case 'ô': - case 'õ': - case 'ö': - return 'o'; - case 'Ù': - case 'Ú': - case 'Û': - case 'Ü': - case 'ù': - case 'ú': - case 'û': - case 'ü': - return 'u'; - case 'ß': - return 'b'; - case 'ÿ': - case 'Ÿ': - return 'y'; - default: - return Character.toLowerCase(var0); + static void method2690(Component var0) { + var0.addMouseListener(MouseHandler.MouseHandler_instance); + var0.addMouseMotionListener(MouseHandler.MouseHandler_instance); + var0.addFocusListener(MouseHandler.MouseHandler_instance); + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Lkl;Ljava/lang/String;Ljava/lang/String;B)Loz;", + garbageValue = "-74" + ) + @Export("SpriteBuffer_getIndexedSpriteByName") + public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + IndexedSprite var5; + if (!VarbitComposition.method3102(var0, var3, var4)) { + var5 = null; + } else { + IndexedSprite var7 = new IndexedSprite(); + var7.width = class414.SpriteBuffer_spriteWidth; + var7.height = class408.SpriteBuffer_spriteHeight; + var7.xOffset = class135.SpriteBuffer_xOffsets[0]; + var7.yOffset = SpriteBuffer_yOffsets[0]; + var7.subWidth = class414.SpriteBuffer_spriteWidths[0]; + var7.subHeight = class16.SpriteBuffer_spriteHeights[0]; + var7.palette = class351.SpriteBuffer_spritePalette; + var7.pixels = class414.SpriteBuffer_pixels[0]; + StudioGame.method5130(); + var5 = var7; } - } - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1458369433" - ) - static void method2645() { - if (Login.Login_username == null || Login.Login_username.length() <= 0) { - if (VarbitComposition.clientPreferences.rememberedUsername != null) { - Login.Login_username = VarbitComposition.clientPreferences.rememberedUsername; - Client.Login_isUsernameRemembered = true; - } else { - Client.Login_isUsernameRemembered = false; - } - - } + return var5; } } diff --git a/runescape-client/src/main/java/class132.java b/runescape-client/src/main/java/class132.java index 71751d49f0..26cfaa3424 100644 --- a/runescape-client/src/main/java/class132.java +++ b/runescape-client/src/main/java/class132.java @@ -1,22 +1,149 @@ +import java.io.IOException; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ez") +@ObfuscatedName("es") public abstract class class132 extends Node { + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("titlebuttonSprite") + static IndexedSprite titlebuttonSprite; + @ObfuscatedName("jt") + @ObfuscatedGetter( + intValue = -1055383279 + ) + @Export("oculusOrbFocalPointX") + static int oculusOrbFocalPointX; + class132() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - abstract void vmethod2703(Buffer var1); + abstract void vmethod2760(Buffer var1); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - abstract void vmethod2702(ClanChannel var1); + abstract void vmethod2759(ClanChannel var1); + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lmk;ZI)V", + garbageValue = "1491727456" + ) + public static void method2698(AbstractSocket var0, boolean var1) { + if (NetCache.NetCache_socket != null) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var8) { + } + + NetCache.NetCache_socket = null; + } + + NetCache.NetCache_socket = var0; + Buffer var2; + if (NetCache.NetCache_socket != null) { + try { + var2 = new Buffer(4); + var2.writeByte(var1 ? 2 : 3); + var2.writeMedium(0); + NetCache.NetCache_socket.write(var2.array, 0, 4); + } catch (IOException var7) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var6) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + NetCache.NetCache_responseHeaderBuffer.offset = 0; + ClanChannel.NetCache_currentResponse = null; + StudioGame.NetCache_responseArchiveBuffer = null; + NetCache.field3726 = 0; + + while (true) { + NetFileRequest var9 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); + if (var9 == null) { + while (true) { + var9 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); + if (var9 == null) { + if (NetCache.field3724 != 0) { + try { + var2 = new Buffer(4); + var2.writeByte(4); + var2.writeByte(NetCache.field3724); + var2.writeShort(0); + NetCache.NetCache_socket.write(var2.array, 0, 4); + } catch (IOException var5) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var4) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + NetCache.NetCache_loadTime = 0; + NetCache.field3715 = UserComparator4.method2406(); + return; + } + + NetCache.NetCache_pendingWritesQueue.addLast(var9); + NetCache.NetCache_pendingWrites.put(var9, var9.key); + ++NetCache.NetCache_pendingWritesCount; + --NetCache.NetCache_pendingResponsesCount; + } + } + + NetCache.NetCache_pendingPriorityWrites.put(var9, var9.key); + ++NetCache.NetCache_pendingPriorityWritesCount; + --NetCache.NetCache_pendingPriorityResponsesCount; + } + } + + @ObfuscatedName("ii") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "0" + ) + static void method2699() { + for (int var0 = 0; var0 < Client.menuOptionsCount; ++var0) { + int var2 = Client.menuOpcodes[var0]; + boolean var1 = var2 == 57 || var2 == 58 || var2 == 1007 || var2 == 25 || var2 == 30; + if (var1) { + if (var0 < Client.menuOptionsCount - 1) { + for (int var3 = var0; var3 < Client.menuOptionsCount - 1; ++var3) { + Client.menuActions[var3] = Client.menuActions[var3 + 1]; + Client.menuTargets[var3] = Client.menuTargets[var3 + 1]; + Client.menuOpcodes[var3] = Client.menuOpcodes[var3 + 1]; + Client.menuIdentifiers[var3] = Client.menuIdentifiers[var3 + 1]; + Client.menuArguments1[var3] = Client.menuArguments1[var3 + 1]; + Client.menuArguments2[var3] = Client.menuArguments2[var3 + 1]; + Client.menuShiftClick[var3] = Client.menuShiftClick[var3 + 1]; + } + } + + --var0; + --Client.menuOptionsCount; + } + } + + Widget.method4997(UserComparator7.menuWidth / 2 + LoginScreenAnimation.menuX, class392.menuY); + } } diff --git a/runescape-client/src/main/java/class133.java b/runescape-client/src/main/java/class133.java index 40ca321a75..b57e429b3a 100644 --- a/runescape-client/src/main/java/class133.java +++ b/runescape-client/src/main/java/class133.java @@ -1,42 +1,43 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ec") +@ObfuscatedName("ee") public class class133 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - longValue = 3705068716980878955L + longValue = -7010502631349948943L ) - long field1501; - @ObfuscatedName("c") + long field1499; + @ObfuscatedName("q") @ObfuscatedGetter( - longValue = 4198128011964420903L + longValue = -5422378692858093787L ) - long field1500; - @ObfuscatedName("m") + long field1494; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) - IterableNodeDeque field1499; + IterableNodeDeque field1493; @ObfuscatedSignature( descriptor = "(Lot;)V" ) public class133(Buffer var1) { - this.field1500 = -1L; - this.field1499 = new IterableNodeDeque(); - this.method2660(var1); + this.field1494 = -1L; + this.field1493 = new IterableNodeDeque(); + this.method2704(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-793618033" + garbageValue = "-1667540197" ) - void method2660(Buffer var1) { - this.field1501 = var1.readLong(); - this.field1500 = var1.readLong(); + void method2704(Buffer var1) { + this.field1499 = var1.readLong(); + this.field1494 = var1.readLong(); for (int var2 = var1.readUnsignedByte(); var2 != 0; var2 = var1.readUnsignedByte()) { Object var3; @@ -56,36 +57,92 @@ public class class133 { var3 = new class129(this); } - ((class132)var3).vmethod2703(var1); - this.field1499.addFirst((Node)var3); + ((class132)var3).vmethod2760(var1); + this.field1493.addFirst((Node)var3); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "120" + descriptor = "(Leb;I)V", + garbageValue = "-2050945846" ) - public void method2655(ClanChannel var1) { - if (this.field1501 == var1.key && var1.field1516 == this.field1500) { - for (class132 var2 = (class132)this.field1499.last(); var2 != null; var2 = (class132)this.field1499.previous()) { - var2.vmethod2702(var1); + public void method2701(ClanChannel var1) { + if (var1.key == this.field1499 && this.field1494 == var1.field1515) { + for (class132 var2 = (class132)this.field1493.last(); var2 != null; var2 = (class132)this.field1493.previous()) { + var2.vmethod2759(var1); } - ++var1.field1516; + ++var1.field1515; } else { throw new RuntimeException(""); } } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(ILmm;Lky;I)V", + garbageValue = "364111545" + ) + static void method2707(int var0, ArchiveDisk var1, Archive var2) { + ArchiveDiskAction var3 = new ArchiveDiskAction(); + var3.type = 1; + var3.key = (long)var0; + var3.archiveDisk = var1; + var3.archive = var2; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); + } + + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3671 == 0) { + Huffman.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + Huffman.ArchiveDiskActionHandler_thread.setDaemon(true); + Huffman.ArchiveDiskActionHandler_thread.start(); + Huffman.ArchiveDiskActionHandler_thread.setPriority(5); + } + + ArchiveDiskActionHandler.field3671 = 600; + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1000126094" + ) + static int method2706(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; + } else if (var1 == -1) { + return 0; + } else { + int var3 = 0; + + for (int var4 = 0; var4 < var2.quantities.length; ++var4) { + if (var2.ids[var4] == var1) { + var3 += var2.quantities[var4]; + } + } + + return var3; + } + } + + @ObfuscatedName("a") + static boolean method2702(long var0) { + return (int)(var0 >>> 16 & 1L) == 1; + } + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1225255244" + descriptor = "(CB)Z", + garbageValue = "82" ) - public static final void method2654() { - ViewportMouse.ViewportMouse_isInViewport = false; - ViewportMouse.ViewportMouse_entityCount = 0; + @Export("isCharAlphabetic") + public static boolean isCharAlphabetic(char var0) { + return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; } } diff --git a/runescape-client/src/main/java/class134.java b/runescape-client/src/main/java/class134.java index 5ab71ce088..6ad72e1596 100644 --- a/runescape-client/src/main/java/class134.java +++ b/runescape-client/src/main/java/class134.java @@ -1,163 +1,220 @@ +import java.io.File; +import java.io.RandomAccessFile; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ev") +@ObfuscatedName("ef") public class class134 extends class116 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 1400384309 + intValue = -505118103 ) - int field1504; - @ObfuscatedName("c") + int field1506; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 986864169 + intValue = 1790631941 ) - int field1505; + int field1503; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class134(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1504 = var1.readInt(); - this.field1505 = var1.readInt(); + void vmethod2767(Buffer var1) { + this.field1506 = var1.readInt(); + this.field1503 = var1.readInt(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2568(this.field1504, this.field1505); + void vmethod2766(ClanSettings var1) { + var1.method2597(this.field1506, this.field1503); } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "([BIIIIIII[Lfk;I)V", - garbageValue = "1098650008" - ) - static final void method2665(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { - int var10; - for (int var9 = 0; var9 < 8; ++var9) { - for (var10 = 0; var10 < 8; ++var10) { - if (var9 + var2 > 0 && var9 + var2 < 103 && var3 + var10 > 0 && var3 + var10 < 103) { - int[] var10000 = var8[var1].flags[var9 + var2]; - var10000[var10 + var3] &= -16777217; - } - } - } - - Buffer var21 = new Buffer(var0); - - for (var10 = 0; var10 < 4; ++var10) { - for (int var11 = 0; var11 < 64; ++var11) { - for (int var12 = 0; var12 < 64; ++var12) { - if (var10 == var4 && var11 >= var5 && var11 < var5 + 8 && var12 >= var6 && var12 < var6 + 8) { - int var15 = var2 + MilliClock.method2795(var11 & 7, var12 & 7, var7); - int var18 = var11 & 7; - int var19 = var12 & 7; - int var20 = var7 & 3; - int var17; - if (var20 == 0) { - var17 = var19; - } else if (var20 == 1) { - var17 = 7 - var18; - } else if (var20 == 2) { - var17 = 7 - var19; - } else { - var17 = var18; - } - - StructComposition.loadTerrain(var21, var1, var15, var3 + var17, 0, 0, var7); - } else { - StructComposition.loadTerrain(var21, 0, -1, -1, 0, 0, 0); - } - } - } - } - - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - descriptor = "([BI)[B", - garbageValue = "-2109357205" - ) - @Export("decompressBytes") - static final byte[] decompressBytes(byte[] var0) { - Buffer var1 = new Buffer(var0); - int var2 = var1.readUnsignedByte(); - int var3 = var1.readInt(); - if (var3 < 0 || AbstractArchive.field3717 != 0 && var3 > AbstractArchive.field3717) { - throw new RuntimeException(); - } else if (var2 == 0) { - byte[] var6 = new byte[var3]; - var1.readBytes(var6, 0, var3); - return var6; - } else { - int var4 = var1.readInt(); - if (var4 >= 0 && (AbstractArchive.field3717 == 0 || var4 <= AbstractArchive.field3717)) { - byte[] var5 = new byte[var4]; - if (var2 == 1) { - BZip2Decompressor.BZip2Decompressor_decompress(var5, var4, var0, var3, 9); - } else { - AbstractArchive.gzipDecompressor.decompress(var1, var5); - } - - return var5; + @ObfuscatedName("l") + public static final int method2708(double var0, double var2, double var4) { + double var6 = var4; + double var8 = var4; + double var10 = var4; + if (0.0D != var2) { + double var12; + if (var4 < 0.5D) { + var12 = (1.0D + var2) * var4; } else { - throw new RuntimeException(); + var12 = var4 + var2 - var4 * var2; + } + + double var14 = var4 * 2.0D - var12; + double var16 = 0.3333333333333333D + var0; + if (var16 > 1.0D) { + --var16; + } + + double var20 = var0 - 0.3333333333333333D; + if (var20 < 0.0D) { + ++var20; + } + + if (var16 * 6.0D < 1.0D) { + var6 = var16 * 6.0D * (var12 - var14) + var14; + } else if (var16 * 2.0D < 1.0D) { + var6 = var12; + } else if (3.0D * var16 < 2.0D) { + var6 = var14 + (var12 - var14) * (0.6666666666666666D - var16) * 6.0D; + } else { + var6 = var14; + } + + if (6.0D * var0 < 1.0D) { + var8 = var0 * (var12 - var14) * 6.0D + var14; + } else if (var0 * 2.0D < 1.0D) { + var8 = var12; + } else if (var0 * 3.0D < 2.0D) { + var8 = (var12 - var14) * (0.6666666666666666D - var0) * 6.0D + var14; + } else { + var8 = var14; + } + + if (var20 * 6.0D < 1.0D) { + var10 = var14 + var20 * (var12 - var14) * 6.0D; + } else if (var20 * 2.0D < 1.0D) { + var10 = var12; + } else if (3.0D * var20 < 2.0D) { + var10 = 6.0D * (var12 - var14) * (0.6666666666666666D - var20) + var14; + } else { + var10 = var14; + } + } + + int var22 = (int)(var6 * 256.0D); + int var13 = (int)(256.0D * var8); + int var23 = (int)(var10 * 256.0D); + int var15 = var23 + (var13 << 8) + (var22 << 16); + return var15; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;S)Ljava/io/File;", + garbageValue = "-12819" + ) + @Export("getFile") + static File getFile(String var0) { + if (!FileSystem.FileSystem_hasPermissions) { + throw new RuntimeException(""); + } else { + File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); + if (var1 != null) { + return var1; + } else { + File var2 = new File(FileSystem.FileSystem_cacheDir, var0); + RandomAccessFile var3 = null; + + try { + File var4 = new File(var2.getParent()); + if (!var4.exists()) { + throw new RuntimeException(""); + } else { + var3 = new RandomAccessFile(var2, "rw"); + int var5 = var3.read(); + var3.seek(0L); + var3.write(var5); + var3.seek(0L); + var3.close(); + FileSystem.FileSystem_cacheFiles.put(var0, var2); + return var2; + } + } catch (Exception var8) { + try { + if (var3 != null) { + var3.close(); + var3 = null; + } + } catch (Exception var7) { + } + + throw new RuntimeException(); + } } } } - @ObfuscatedName("hc") + @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "(ZLoq;I)V", - garbageValue = "637231009" + descriptor = "(Ljt;I[B[BI)V", + garbageValue = "676487330" ) - @Export("updateNpcs") - static final void updateNpcs(boolean var0, PacketBuffer var1) { - Client.field495 = 0; - Client.field560 = 0; - GameObject.method4496(); - Huffman.method5011(var0, var1); - AttackOption.method2255(var1); + @Export("Widget_setKey") + static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { + if (var0.field3115 == null) { + if (var2 == null) { + return; + } - int var2; - for (var2 = 0; var2 < Client.field495; ++var2) { - int var3 = Client.field610[var2]; - if (Client.npcs[var3].npcCycle != Client.cycle) { - Client.npcs[var3].definition = null; - Client.npcs[var3] = null; + var0.field3115 = new byte[11][]; + var0.field3123 = new byte[11][]; + var0.field3147 = new int[11]; + var0.field3066 = new int[11]; + } + + var0.field3115[var1] = var2; + if (var2 != null) { + var0.field3121 = true; + } else { + var0.field3121 = false; + + for (int var4 = 0; var4 < var0.field3115.length; ++var4) { + if (var0.field3115[var4] != null) { + var0.field3121 = true; + break; + } } } - if (var1.offset != Client.packetWriter.serverPacketLength) { - throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); - } else { - for (var2 = 0; var2 < Client.npcCount; ++var2) { - if (Client.npcs[Client.npcIndices[var2]] == null) { - throw new RuntimeException(var2 + "," + Client.npcCount); + var0.field3123[var1] = var3; + } + + @ObfuscatedName("fh") + @ObfuscatedSignature( + descriptor = "(Lfe;IIII)V", + garbageValue = "1522146885" + ) + static void method2716(SequenceDefinition var0, int var1, int var2, int var3) { + if (Client.soundEffectCount < 50 && WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume != 0) { + if (var0.soundEffects != null && var1 < var0.soundEffects.length) { + int var4 = var0.soundEffects[var1]; + if (var4 != 0) { + int var5 = var4 >> 8; + int var6 = var4 >> 4 & 7; + int var7 = var4 & 15; + Client.soundEffectIds[Client.soundEffectCount] = var5; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; + Client.soundEffects[Client.soundEffectCount] = null; + int var8 = (var2 - 64) / 128; + int var9 = (var3 - 64) / 128; + Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); + ++Client.soundEffectCount; } } - } } } diff --git a/runescape-client/src/main/java/class135.java b/runescape-client/src/main/java/class135.java index df38a9337c..a135b2ca52 100644 --- a/runescape-client/src/main/java/class135.java +++ b/runescape-client/src/main/java/class135.java @@ -1,73 +1,76 @@ +import java.awt.image.BufferedImage; +import java.awt.image.PixelGrabber; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import javax.imageio.ImageIO; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ex") +@ObfuscatedName("eu") public class class135 extends class116 { - @ObfuscatedName("pv") - @ObfuscatedSignature( - descriptor = "Lew;" - ) - @Export("mouseWheel") - static class144 mouseWheel; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Liw;" - ) - @Export("midiPcmStream") - public static MidiPcmStream midiPcmStream; - @ObfuscatedName("ex") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive7") - static Archive archive7; - @ObfuscatedName("n") + @ObfuscatedName("j") + @Export("SpriteBuffer_xOffsets") + public static int[] SpriteBuffer_xOffsets; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 86371795 + intValue = -1442996561 ) int field1508; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class135(class119 var1) { this.this$0 = var1; this.field1508 = -1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { + void vmethod2767(Buffer var1) { this.field1508 = var1.readUnsignedShort(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2565(this.field1508); + void vmethod2766(ClanSettings var1) { + var1.method2594(this.field1508); } - @ObfuscatedName("lr") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "217" + descriptor = "([BS)Lon;", + garbageValue = "1536" ) - static void method2672(int var0) { - if (var0 != Client.loginState) { - Client.loginState = var0; + @Export("convertJpgToSprite") + public static final SpritePixels convertJpgToSprite(byte[] var0) { + BufferedImage var1 = null; + + try { + var1 = ImageIO.read(new ByteArrayInputStream(var0)); + int var2 = var1.getWidth(); + int var3 = var1.getHeight(); + int[] var4 = new int[var2 * var3]; + PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); + var5.grabPixels(); + return new SpritePixels(var4, var2, var3); + } catch (IOException var7) { + } catch (InterruptedException var8) { } + + return new SpritePixels(0, 0); } } diff --git a/runescape-client/src/main/java/class137.java b/runescape-client/src/main/java/class137.java index 257e4ee710..a184030026 100644 --- a/runescape-client/src/main/java/class137.java +++ b/runescape-client/src/main/java/class137.java @@ -1,9 +1,20 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("em") +@ObfuscatedName("ez") public class class137 { - @ObfuscatedName("b") - @Export("formattedOperatingSystemName") - public static String formattedOperatingSystemName; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 808161859 + ) + @Export("musicTrackFileId") + public static int musicTrackFileId; + @ObfuscatedName("my") + @ObfuscatedSignature( + descriptor = "Lbb;" + ) + @Export("tempMenuAction") + static MenuAction tempMenuAction; } diff --git a/runescape-client/src/main/java/class138.java b/runescape-client/src/main/java/class138.java index 67b67fae9d..fbb1b5385b 100644 --- a/runescape-client/src/main/java/class138.java +++ b/runescape-client/src/main/java/class138.java @@ -3,111 +3,231 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eq") +@ObfuscatedName("er") public class class138 extends class116 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lot;" - ) - @Export("NetCache_responseArchiveBuffer") - public static Buffer NetCache_responseArchiveBuffer; - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lgp;" - ) - @Export("worldMapEvent") - static WorldMapEvent worldMapEvent; - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - longValue = 7884417844558389601L + longValue = -4891272861278655519L ) - long field1524; - @ObfuscatedName("c") - String field1525; + long field1531; + @ObfuscatedName("q") + String field1530; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class138(class119 var1) { this.this$0 = var1; - this.field1524 = -1L; - this.field1525 = null; + this.field1531 = -1L; + this.field1530 = null; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { + void vmethod2767(Buffer var1) { if (var1.readUnsignedByte() != 255) { --var1.offset; - this.field1524 = var1.readLong(); + this.field1531 = var1.readLong(); } - this.field1525 = var1.readStringCp1252NullTerminatedOrNull(); + this.field1530 = var1.readStringCp1252NullTerminatedOrNull(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2562(this.field1524, this.field1525); + void vmethod2766(ClanSettings var1) { + var1.method2637(this.field1531, this.field1530); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-148933675" + descriptor = "(III)Z", + garbageValue = "-2103757057" ) - static int method2696(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 0) { - var1 = 0; - } else if (var1 > 127) { - var1 = 127; - } + public static boolean method2756(int var0, int var1) { + return (var0 >> var1 + 1 & 1) != 0; + } - var1 = 127 - var1; - return var1; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(IZIZI)V", + garbageValue = "1334798040" + ) + @Export("sortWorldList") + static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { + if (class386.World_worlds != null) { + class184.doWorldSorting(0, class386.World_worlds.length - 1, var0, var1, var2, var3); } + } - @ObfuscatedName("m") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "615702826" + descriptor = "(S)V", + garbageValue = "30429" ) - @Export("Widget_unpackTargetMask") - public static int Widget_unpackTargetMask(int var0) { - return var0 >> 11 & 63; + public static void method2754() { + KitDefinition.KitDefinition_cached.clear(); } - @ObfuscatedName("jj") + @ObfuscatedName("gc") @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "3" + descriptor = "(IIIIII)V", + garbageValue = "776366170" ) - @Export("getTapToDrop") - static boolean getTapToDrop() { - return Client.tapToDrop; + @Export("drawObject") + static final void drawObject(int var0, int var1, int var2, int var3, int var4) { + long var5 = PlayerComposition.scene.getBoundaryObjectTag(var0, var1, var2); + int var7; + int var8; + int var9; + int var10; + int var12; + int var13; + if (0L != var5) { + var7 = PlayerComposition.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = var3; + if (class7.method60(var5)) { + var10 = var4; + } + + int[] var11 = class11.sceneMinimapSprite.pixels; + var12 = var1 * 4 + (103 - var2) * 2048 + 24624; + var13 = InterfaceParent.Entity_unpackID(var5); + ObjectComposition var14 = class245.getObjectDefinition(var13); + if (var14.mapSceneId != -1) { + IndexedSprite var15 = GrandExchangeOfferTotalQuantityComparator.mapSceneSprites[var14.mapSceneId]; + if (var15 != null) { + int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; + int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; + var15.drawAt(var1 * 4 + var16 + 48, (104 - var2 - var14.sizeY) * 4 + var17 + 48); + } + } else { + if (var9 == 0 || var9 == 2) { + if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 1) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + + if (var9 == 3) { + if (var8 == 0) { + var11[var12] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + } + } + + if (var9 == 2) { + if (var8 == 3) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + } + } + + var5 = PlayerComposition.scene.getGameObjectTag(var0, var1, var2); + if (0L != var5) { + var7 = PlayerComposition.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = InterfaceParent.Entity_unpackID(var5); + ObjectComposition var24 = class245.getObjectDefinition(var10); + int var19; + if (var24.mapSceneId != -1) { + IndexedSprite var20 = GrandExchangeOfferTotalQuantityComparator.mapSceneSprites[var24.mapSceneId]; + if (var20 != null) { + var13 = (var24.sizeX * 4 - var20.subWidth) / 2; + var19 = (var24.sizeY * 4 - var20.subHeight) / 2; + var20.drawAt(var13 + var1 * 4 + 48, (104 - var2 - var24.sizeY) * 4 + var19 + 48); + } + } else if (var9 == 9) { + var12 = 15658734; + if (class7.method60(var5)) { + var12 = 15597568; + } + + int[] var18 = class11.sceneMinimapSprite.pixels; + var19 = var1 * 4 + (103 - var2) * 2048 + 24624; + if (var8 != 0 && var8 != 2) { + var18[var19] = var12; + var18[var19 + 1 + 512] = var12; + var18[var19 + 1024 + 2] = var12; + var18[var19 + 1536 + 3] = var12; + } else { + var18[var19 + 1536] = var12; + var18[var19 + 1 + 1024] = var12; + var18[var19 + 512 + 2] = var12; + var18[var19 + 3] = var12; + } + } + } + + var5 = PlayerComposition.scene.getFloorDecorationTag(var0, var1, var2); + if (var5 != 0L) { + var7 = InterfaceParent.Entity_unpackID(var5); + ObjectComposition var21 = class245.getObjectDefinition(var7); + if (var21.mapSceneId != -1) { + IndexedSprite var22 = GrandExchangeOfferTotalQuantityComparator.mapSceneSprites[var21.mapSceneId]; + if (var22 != null) { + var10 = (var21.sizeX * 4 - var22.subWidth) / 2; + int var23 = (var21.sizeY * 4 - var22.subHeight) / 2; + var22.drawAt(var10 + var1 * 4 + 48, var23 + (104 - var2 - var21.sizeY) * 4 + 48); + } + } + } + } } diff --git a/runescape-client/src/main/java/class139.java b/runescape-client/src/main/java/class139.java index 30fb9cc94f..48cc073830 100644 --- a/runescape-client/src/main/java/class139.java +++ b/runescape-client/src/main/java/class139.java @@ -1,323 +1,121 @@ -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; -import net.runelite.mapping.Export; +import java.applet.Applet; +import java.net.URL; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -import net.runelite.rs.ScriptOpcodes; +import netscape.javascript.JSObject; -@ObfuscatedName("eh") +@ObfuscatedName("ea") public class class139 extends class132 { - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "[[Ljd;" + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1632895923 ) - @Export("Widget_interfaceComponents") - public static Widget[][] Widget_interfaceComponents; - @ObfuscatedName("n") - String field1531; - @ObfuscatedName("c") - byte field1530; - @ObfuscatedName("m") - byte field1535; + static int field1537; + @ObfuscatedName("l") + String field1536; + @ObfuscatedName("q") + byte field1533; + @ObfuscatedName("f") + byte field1534; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lec;" + descriptor = "Lee;" ) final class133 this$0; @ObfuscatedSignature( - descriptor = "(Lec;)V" + descriptor = "(Lee;)V" ) class139(class133 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "3602154" + descriptor = "(Lot;B)V", + garbageValue = "35" ) - void vmethod2703(Buffer var1) { - this.field1531 = var1.readStringCp1252NullTerminatedOrNull(); - if (this.field1531 != null) { + void vmethod2760(Buffer var1) { + this.field1536 = var1.readStringCp1252NullTerminatedOrNull(); + if (this.field1536 != null) { var1.readUnsignedByte(); - this.field1530 = var1.readByte(); - this.field1535 = var1.readByte(); + this.field1533 = var1.readByte(); + this.field1534 = var1.readByte(); } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Leb;B)V", - garbageValue = "66" + descriptor = "(Leb;I)V", + garbageValue = "1634989707" ) - void vmethod2702(ClanChannel var1) { - var1.name = this.field1531; - if (this.field1531 != null) { - var1.field1518 = this.field1530; - var1.field1513 = this.field1535; + void vmethod2759(ClanChannel var1) { + var1.name = this.field1536; + if (this.field1536 != null) { + var1.field1517 = this.field1533; + var1.field1512 = this.field1534; } } - @ObfuscatedName("n") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Lcl;I)V", - garbageValue = "924136685" + descriptor = "(Ljava/lang/String;ILjava/lang/String;I)Z", + garbageValue = "-1485295086" ) - @Export("runScriptEvent") - public static void runScriptEvent(ScriptEvent var0) { - Skeleton.runScript(var0, 500000, 475000); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Loq;I)V", - garbageValue = "181174358" - ) - @Export("performReflectionCheck") - public static void performReflectionCheck(PacketBuffer var0) { - ReflectionCheck var1 = (ReflectionCheck)class54.reflectionChecks.last(); - if (var1 != null) { - int var2 = var0.offset; - var0.writeInt(var1.id); - - for (int var3 = 0; var3 < var1.size; ++var3) { - if (var1.creationErrors[var3] != 0) { - var0.writeByte(var1.creationErrors[var3]); + static boolean method2763(String var0, int var1, String var2) { + if (var1 == 0) { + try { + if (!class29.field165.startsWith("win")) { + throw new Exception(); + } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { + throw new Exception(); } else { - try { - int var4 = var1.operations[var3]; - Field var5; - int var6; - if (var4 == 0) { - var5 = var1.fields[var3]; - var6 = Reflection.getInt(var5, (Object)null); - var0.writeByte(0); - var0.writeInt(var6); - } else if (var4 == 1) { - var5 = var1.fields[var3]; - Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); - var0.writeByte(0); - } else if (var4 == 2) { - var5 = var1.fields[var3]; - var6 = var5.getModifiers(); - var0.writeByte(0); - var0.writeInt(var6); + String var11 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + + for (int var4 = 0; var4 < var0.length(); ++var4) { + if (var11.indexOf(var0.charAt(var4)) == -1) { + throw new Exception(); } - - Method var25; - if (var4 != 3) { - if (var4 == 4) { - var25 = var1.methods[var3]; - var6 = var25.getModifiers(); - var0.writeByte(0); - var0.writeInt(var6); - } - } else { - var25 = var1.methods[var3]; - byte[][] var10 = var1.arguments[var3]; - Object[] var7 = new Object[var10.length]; - - for (int var8 = 0; var8 < var10.length; ++var8) { - ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); - var7[var8] = var9.readObject(); - } - - Object var11 = Reflection.invoke(var25, (Object)null, var7); - if (var11 == null) { - var0.writeByte(0); - } else if (var11 instanceof Number) { - var0.writeByte(1); - var0.writeLong(((Number)var11).longValue()); - } else if (var11 instanceof String) { - var0.writeByte(2); - var0.writeStringCp1252NullTerminated((String)var11); - } else { - var0.writeByte(4); - } - } - } catch (ClassNotFoundException var13) { - var0.writeByte(-10); - } catch (InvalidClassException var14) { - var0.writeByte(-11); - } catch (StreamCorruptedException var15) { - var0.writeByte(-12); - } catch (OptionalDataException var16) { - var0.writeByte(-13); - } catch (IllegalAccessException var17) { - var0.writeByte(-14); - } catch (IllegalArgumentException var18) { - var0.writeByte(-15); - } catch (InvocationTargetException var19) { - var0.writeByte(-16); - } catch (SecurityException var20) { - var0.writeByte(-17); - } catch (IOException var21) { - var0.writeByte(-18); - } catch (NullPointerException var22) { - var0.writeByte(-19); - } catch (Exception var23) { - var0.writeByte(-20); - } catch (Throwable var24) { - var0.writeByte(-21); } + + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); + return true; } + } catch (Throwable var5) { + return false; + } + } else if (var1 == 1) { + try { + Object var10 = class27.method406(class29.field168, var2, new Object[]{(new URL(class29.field168.getCodeBase(), var0)).toString()}); + return var10 != null; + } catch (Throwable var6) { + return false; + } + } else if (var1 == 2) { + try { + class29.field168.getAppletContext().showDocument(new URL(class29.field168.getCodeBase(), var0), "_blank"); + return true; + } catch (Exception var7) { + return false; + } + } else if (var1 == 3) { + try { + Applet var3 = class29.field168; + JSObject.getWindow(var3).call("loggedout", (Object[])null); + } catch (Throwable var9) { } - var0.writeCrc(var2); - var1.remove(); - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1928008426" - ) - static int method2708(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CLIENTCLOCK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.cycle; - return 1; + try { + class29.field168.getAppletContext().showDocument(new URL(class29.field168.getCodeBase(), var0), "_top"); + return true; + } catch (Exception var8) { + return false; + } } else { - int var3; - int var4; - if (var0 == ScriptOpcodes.INV_GETOBJ) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = PacketWriter.method2358(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_GETNUM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class10.ItemContainer_getCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_TOTAL) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class280.method5081(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_SIZE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = GrandExchangeOffer.getInvDefinition(var3).size; - return 1; - } else if (var0 == ScriptOpcodes.STAT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_BASE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.levels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_XP) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.experience[var3]; - return 1; - } else { - int var5; - if (var0 == ScriptOpcodes.COORD) { - var3 = class391.Client_plane; - var4 = (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX; - var5 = (class129.localPlayer.y >> 7) + class320.baseY; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); - return 1; - } else if (var0 == ScriptOpcodes.COORDX) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.COORDZ) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 >> 28; - return 1; - } else if (var0 == ScriptOpcodes.COORDY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = PacketWriter.method2358(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class10.ItemContainer_getCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class280.method5081(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { - if (Client.staffModLevel >= 2) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.staffModLevel; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.REBOOTTIMER) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.rebootTimer; - return 1; - } else if (var0 == ScriptOpcodes.MAP_WORLD) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.worldId; - return 1; - } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.runEnergy; - return 1; - } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.weight; - return 1; - } else if (var0 == ScriptOpcodes.PLAYERMOD) { - if (Client.playerMod) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDFLAGS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.worldProperties; - return 1; - } else if (var0 == ScriptOpcodes.MOVECOORD) { - class240.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - int var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - var3 += var4 << 14; - var3 += var5 << 28; - var3 += var6; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3; - return 1; - } else if (var0 == 3326) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.field494; - return 1; - } else if (var0 == 3327) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.field675; - return 1; - } else { - return 2; - } - } + throw new IllegalArgumentException(); } } } diff --git a/runescape-client/src/main/java/class14.java b/runescape-client/src/main/java/class14.java index 01200b3dc7..4d62bd0ec0 100644 --- a/runescape-client/src/main/java/class14.java +++ b/runescape-client/src/main/java/class14.java @@ -2,168 +2,259 @@ import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("s") public class class14 { - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - static IndexedSprite field69; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1162986903 - ) - final int field71; - @ObfuscatedName("c") - final String field67; - @ObfuscatedName("m") - final ThreadFactory field68; @ObfuscatedName("k") - final ThreadPoolExecutor field70; + @Export("Tiles_shapes") + static byte[][][] Tiles_shapes; + @ObfuscatedName("ig") + @ObfuscatedGetter( + intValue = -2083803303 + ) + @Export("cameraY") + static int cameraY; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1296080331 + ) + final int field82; + @ObfuscatedName("q") + final String field79; + @ObfuscatedName("f") + final ThreadFactory field84; + @ObfuscatedName("j") + final ThreadPoolExecutor field81; public class14(String var1, int var2, int var3) { - this.field67 = var1; - this.field71 = var2; - this.field68 = new class16(this); - this.field70 = this.method182(var3); + this.field79 = var1; + this.field82 = var2; + this.field84 = new class16(this); + this.field81 = this.method169(var3); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(II)Ljava/util/concurrent/ThreadPoolExecutor;", - garbageValue = "6276176" + garbageValue = "1584843166" ) - final ThreadPoolExecutor method182(int var1) { - return new ThreadPoolExecutor(var1, var1, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(this.field71), this.field68); + final ThreadPoolExecutor method169(int var1) { + return new ThreadPoolExecutor(var1, var1, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(this.field82), this.field84); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ll;I)Lx;", - garbageValue = "1026683688" + descriptor = "(Ly;I)Lz;", + garbageValue = "91554656" ) - public class19 method186(class10 var1) { - if (this.field70.getQueue().remainingCapacity() <= 0) { - System.err.println("REST thread pool queue is empty\r\nThread pool size " + this.field70.getCorePoolSize() + " Queue capacity " + this.field71); + public class19 method178(class10 var1) { + if (this.field81.getQueue().remainingCapacity() <= 0) { + System.err.println("REST thread pool queue is empty\r\nThread pool size " + this.field81.getCorePoolSize() + " Queue capacity " + this.field82); return new class19("Queue full"); } else { - class19 var2 = new class19(this.field70.submit(new class20(this, var1))); + class19 var2 = new class19(this.field81.submit(new class20(this, var1))); return var2; } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "-1134604933" + garbageValue = "-1427379154" ) - public final void method191() { + public final void method172() { try { - this.field70.shutdown(); + this.field81.shutdown(); } catch (Exception var2) { System.err.println("Error shutting down RestRequestService\r\n" + var2); } } - @ObfuscatedName("o") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1662089462" + descriptor = "(IZI)Ljava/lang/String;", + garbageValue = "-1312384098" ) - static int method185(int var0, Script var1, boolean var2) { - int var3 = -1; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = class87.getWidget(var3); + @Export("intToString") + public static String intToString(int var0, boolean var1) { + if (var1 && var0 >= 0) { + int var3 = var0; + String var2; + if (var1 && var0 >= 0) { + int var4 = 2; + + for (int var5 = var0 / 10; var5 != 0; ++var4) { + var5 /= 10; + } + + char[] var6 = new char[var4]; + var6[0] = '+'; + + for (int var7 = var4 - 1; var7 > 0; --var7) { + int var8 = var3; + var3 /= 10; + int var9 = var8 - var3 * 10; + if (var9 >= 10) { + var6[var7] = (char)(var9 + 87); + } else { + var6[var7] = (char)(var9 + 48); + } + } + + var2 = new String(var6); + } else { + var2 = Integer.toString(var0, 10); + } + + return var2; } else { - var4 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - } - - if (var0 == ScriptOpcodes.CC_SETPOSITION) { - class240.Interpreter_intStackSize -= 4; - var4.rawX = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4.rawY = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var4.xAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var4.yAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - Actor.invalidateWidget(var4); - ArchiveDiskActionHandler.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSIZE) { - class240.Interpreter_intStackSize -= 4; - var4.rawWidth = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4.rawHeight = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - var4.widthAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var4.heightAlignment = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - Actor.invalidateWidget(var4); - ArchiveDiskActionHandler.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - VerticalAlignment.revalidateWidgetScroll(class139.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHIDE) { - boolean var5 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (var5 != var4.isHidden) { - var4.isHidden = var5; - Actor.invalidateWidget(var4); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { - var4.noClickThrough = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { - var4.noScrollThrough = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else { - return 2; + return Integer.toString(var0); } } - @ObfuscatedName("b") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1305341703" + descriptor = "(I)V", + garbageValue = "-2085487227" ) - static int method190(int var0, Script var1, boolean var2) { - Widget var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.Widget_unpackTargetMask(Decimator.getWidgetFlags(var3)); - return 1; - } else if (var0 != ScriptOpcodes.IF_GETOP) { - if (var0 == ScriptOpcodes.IF_GETOPBASE) { - if (var3.dataText == null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + static void method175() { + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lhl;IIIB)Z", + garbageValue = "-89" + ) + static final boolean method179(Model var0, int var1, int var2, int var3) { + if (!GameEngine.method510()) { + return false; + } else { + HealthBarUpdate.method2158(); + int var4 = var0.xMid + var1; + int var5 = var2 + var0.yMid; + int var6 = var3 + var0.zMid; + int var7 = var0.xMidOffset; + int var8 = var0.yMidOffset; + int var9 = var0.zMidOffset; + int var10 = class122.field1426 - var4; + int var11 = ViewportMouse.field2585 - var5; + int var12 = DirectByteArrayCopier.field3212 - var6; + if (Math.abs(var10) > var7 + Interpreter.field829) { + return false; + } else if (Math.abs(var11) > var8 + ViewportMouse.field2580) { + return false; + } else if (Math.abs(var12) > var9 + class19.field98) { + return false; + } else if (Math.abs(var12 * ViewportMouse.field2579 - var11 * class121.field1412) > var8 * class19.field98 + var9 * ViewportMouse.field2580) { + return false; + } else if (Math.abs(var10 * class121.field1412 - var12 * MilliClock.field1588) > var7 * class19.field98 + var9 * Interpreter.field829) { + return false; + } else { + return Math.abs(var11 * MilliClock.field1588 - var10 * ViewportMouse.field2579) <= var7 * ViewportMouse.field2580 + var8 * Interpreter.field829; + } + } + } + + @ObfuscatedName("ht") + @ObfuscatedSignature( + descriptor = "(ZLoy;I)V", + garbageValue = "2078480474" + ) + @Export("updateNpcs") + static final void updateNpcs(boolean var0, PacketBuffer var1) { + Client.field611 = 0; + Client.field713 = 0; + PacketBuffer var2 = Client.packetWriter.packetBuffer; + var2.importIndex(); + int var3 = var2.readBits(8); + int var4; + if (var3 < Client.npcCount) { + for (var4 = var3; var4 < Client.npcCount; ++var4) { + Client.field612[++Client.field611 - 1] = Client.npcIndices[var4]; + } + } + + if (var3 > Client.npcCount) { + throw new RuntimeException(""); + } else { + Client.npcCount = 0; + + for (var4 = 0; var4 < var3; ++var4) { + int var5 = Client.npcIndices[var4]; + NPC var6 = Client.npcs[var5]; + int var7 = var2.readBits(1); + if (var7 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var6.npcCycle = Client.cycle; } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; + int var8 = var2.readBits(2); + if (var8 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var6.npcCycle = Client.cycle; + Client.field535[++Client.field713 - 1] = var5; + } else { + int var9; + int var10; + if (var8 == 1) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var6.npcCycle = Client.cycle; + var9 = var2.readBits(3); + var6.method2223(var9, (byte)1); + var10 = var2.readBits(1); + if (var10 == 1) { + Client.field535[++Client.field713 - 1] = var5; + } + } else if (var8 == 2) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var6.npcCycle = Client.cycle; + var9 = var2.readBits(3); + var6.method2223(var9, (byte)2); + var10 = var2.readBits(3); + var6.method2223(var10, (byte)2); + int var11 = var2.readBits(1); + if (var11 == 1) { + Client.field535[++Client.field713 - 1] = var5; + } + } else if (var8 == 3) { + Client.field612[++Client.field611 - 1] = var5; + } + } + } + } + + MidiPcmStream.method4806(var0, var1); + class318.method5839(var1); + + int var12; + for (var12 = 0; var12 < Client.field611; ++var12) { + var3 = Client.field612[var12]; + if (Client.npcs[var3].npcCycle != Client.cycle) { + Client.npcs[var3].definition = null; + Client.npcs[var3] = null; + } + } + + if (var1.offset != Client.packetWriter.serverPacketLength) { + throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); + } else { + for (var12 = 0; var12 < Client.npcCount; ++var12) { + if (Client.npcs[Client.npcIndices[var12]] == null) { + throw new RuntimeException(var12 + "," + Client.npcCount); + } } - return 1; - } else { - return 2; } - } else { - int var4 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - --var4; - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; } } } diff --git a/runescape-client/src/main/java/class140.java b/runescape-client/src/main/java/class140.java index 3d3d0da322..12b824a9b7 100644 --- a/runescape-client/src/main/java/class140.java +++ b/runescape-client/src/main/java/class140.java @@ -2,422 +2,56 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eu") +@ObfuscatedName("ej") public class class140 extends class116 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 197240731 + intValue = 745806175 ) - int field1537; - @ObfuscatedName("c") + int field1542; + @ObfuscatedName("q") @ObfuscatedGetter( - longValue = -8760562289327704163L + longValue = 5393161811926100225L ) - long field1536; + long field1539; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ldc;" + descriptor = "Ldg;" ) final class119 this$0; @ObfuscatedSignature( - descriptor = "(Ldc;)V" + descriptor = "(Ldg;)V" ) class140(class119 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;I)V", - garbageValue = "-1413895325" + garbageValue = "-912681401" ) - void vmethod2711(Buffer var1) { - this.field1537 = var1.readInt(); - this.field1536 = var1.readLong(); + void vmethod2767(Buffer var1) { + this.field1542 = var1.readInt(); + this.field1539 = var1.readLong(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "697483856" + descriptor = "(Ldk;I)V", + garbageValue = "-1225074726" ) - void vmethod2712(ClanSettings var1) { - var1.method2570(this.field1537, this.field1536); + void vmethod2766(ClanSettings var1) { + var1.method2599(this.field1542, this.field1539); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;Lkk;B)V", - garbageValue = "19" + descriptor = "(IIS)I", + garbageValue = "28594" ) - public static void method2710(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - HitSplatDefinition.HitSplatDefinition_archive = var0; - HitSplatDefinition.field1797 = var1; - class245.HitSplatDefinition_fontsArchive = var2; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IIIIIILhz;Lfk;B)V", - garbageValue = "8" - ) - static final void method2715(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { - if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { - if (var0 < Tiles.Tiles_minPlane) { - Tiles.Tiles_minPlane = var0; - } - - ObjectComposition var8 = HitSplatDefinition.getObjectDefinition(var3); - int var9; - int var10; - if (var4 != 1 && var4 != 3) { - var9 = var8.sizeX; - var10 = var8.sizeY; - } else { - var9 = var8.sizeY; - var10 = var8.sizeX; - } - - int var11; - int var12; - if (var9 + var1 <= 104) { - var11 = (var9 >> 1) + var1; - var12 = (var9 + 1 >> 1) + var1; - } else { - var11 = var1; - var12 = var1 + 1; - } - - int var13; - int var14; - if (var10 + var2 <= 104) { - var13 = (var10 >> 1) + var2; - var14 = var2 + (var10 + 1 >> 1); - } else { - var13 = var2; - var14 = var2 + 1; - } - - int[][] var15 = Tiles.Tiles_heights[var0]; - int var16 = var15[var12][var14] + var15[var11][var14] + var15[var12][var13] + var15[var11][var13] >> 2; - int var17 = (var1 << 7) + (var9 << 6); - int var18 = (var2 << 7) + (var10 << 6); - long var19 = ClanSettings.calculateTag(var1, var2, 2, var8.int1 == 0, var3); - int var21 = var5 + (var4 << 6); - if (var8.int3 == 1) { - var21 += 256; - } - - if (var8.hasSound()) { - class7.method63(var0, var1, var2, var8, var4); - } - - Object var29; - if (var5 == 22) { - if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(22, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newFloorDecoration(var0, var1, var2, var16, (Renderable)var29, var19, var21); - if (var8.interactType == 1 && var7 != null) { - var7.setBlockedByFloorDec(var1, var2); - } - - } - } else { - int var28; - if (var5 != 10 && var5 != 11) { - int[] var10000; - if (var5 >= 12) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.method4291(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21); - if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 2340; - } - - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } else if (var5 == 0) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(0, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field980[var4], 0, var19, var21); - if (var4 == 0) { - if (var8.clipped) { - FloorUnderlayDefinition.field1769[var0][var1][var2] = 50; - FloorUnderlayDefinition.field1769[var0][var1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 585; - } - } else if (var4 == 1) { - if (var8.clipped) { - FloorUnderlayDefinition.field1769[var0][var1][var2 + 1] = 50; - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = class113.field1367[var0][var1]; - var10000[1 + var2] |= 1170; - } - } else if (var4 == 2) { - if (var8.clipped) { - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2] = 50; - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = class113.field1367[var0][var1 + 1]; - var10000[var2] |= 585; - } - } else if (var4 == 3) { - if (var8.clipped) { - FloorUnderlayDefinition.field1769[var0][var1][var2] = 50; - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2] = 50; - } - - if (var8.modelClipped) { - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 1170; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3320(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method4219(var0, var1, var2, var8.int2); - } - - } else if (var5 == 1) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(1, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field982[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - FloorUnderlayDefinition.field1769[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - FloorUnderlayDefinition.field1769[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3320(var1, var2, var5, var4, var8.boolean1); - } - - } else { - int var22; - if (var5 == 2) { - var22 = var4 + 1 & 3; - Object var24; - Object var30; - if (var8.animationId == -1 && var8.transforms == null) { - var30 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); - var24 = var8.getEntity(2, var22, var15, var17, var16, var18); - } else { - var30 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - var24 = new DynamicObject(var3, 2, var22, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var30, (Renderable)var24, Tiles.field980[var4], Tiles.field980[var22], var19, var21); - if (var8.modelClipped) { - if (var4 == 0) { - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 585; - var10000 = class113.field1367[var0][var1]; - var10000[1 + var2] |= 1170; - } else if (var4 == 1) { - var10000 = class113.field1367[var0][var1]; - var10000[var2 + 1] |= 1170; - var10000 = class113.field1367[var0][var1 + 1]; - var10000[var2] |= 585; - } else if (var4 == 2) { - var10000 = class113.field1367[var0][var1 + 1]; - var10000[var2] |= 585; - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 1170; - } else if (var4 == 3) { - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 1170; - var10000 = class113.field1367[var0][var1]; - var10000[var2] |= 585; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3320(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method4219(var0, var1, var2, var8.int2); - } - - } else if (var5 == 3) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(3, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field982[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - FloorUnderlayDefinition.field1769[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - FloorUnderlayDefinition.field1769[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - FloorUnderlayDefinition.field1769[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3320(var1, var2, var5, var4, var8.boolean1); - } - - } else if (var5 == 9) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.method4291(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21); - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method4219(var0, var1, var2, var8.int2); - } - - } else if (var5 == 4) { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field980[var4], 0, 0, 0, var19, var21); - } else { - long var23; - Object var25; - if (var5 == 5) { - var22 = 16; - var23 = var6.getBoundaryObjectTag(var0, var1, var2); - if (0L != var23) { - var22 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var23)).int2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var25 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, Tiles.field980[var4], 0, var22 * Tiles.field972[var4], var22 * Tiles.field984[var4], var19, var21); - } else if (var5 == 6) { - var22 = 8; - var23 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var23 != 0L) { - var22 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var23)).int2 / 2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); - } else { - var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, 256, var4, var22 * Tiles.field985[var4], var22 * Tiles.field973[var4], var19, var21); - } else if (var5 == 7) { - var28 = var4 + 2 & 3; - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(4, var28 + 4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 4, var28 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, 256, var28, 0, 0, var19, var21); - } else if (var5 == 8) { - var22 = 8; - var23 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var23 != 0L) { - var22 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var23)).int2 / 2; - } - - int var27 = var4 + 2 & 3; - Object var26; - if (var8.animationId == -1 && var8.transforms == null) { - var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); - var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); - } else { - var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)var26, 256, var4, var22 * Tiles.field985[var4], var22 * Tiles.field973[var4], var19, var21); - } - } - } - } else { - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(10, var4, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); - } - - if (var29 != null && var6.method4291(var0, var1, var2, var16, var9, var10, (Renderable)var29, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { - var28 = 15; - if (var29 instanceof Model) { - var28 = ((Model)var29).method4404() / 4; - if (var28 > 30) { - var28 = 30; - } - } - - for (int var31 = 0; var31 <= var9; ++var31) { - for (int var32 = 0; var32 <= var10; ++var32) { - if (var28 > FloorUnderlayDefinition.field1769[var0][var31 + var1][var32 + var2]) { - FloorUnderlayDefinition.field1769[var0][var31 + var1][var32 + var2] = (byte)var28; - } - } - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } - } - } + public static int method2770(int var0, int var1) { + return (int)Math.round(Math.atan2((double)var0, (double)var1) * 2607.5945876176133D) & 16383; } } diff --git a/runescape-client/src/main/java/class144.java b/runescape-client/src/main/java/class144.java index 0e14ac4b68..bb95386ef8 100644 --- a/runescape-client/src/main/java/class144.java +++ b/runescape-client/src/main/java/class144.java @@ -2,12 +2,12 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ew") +@ObfuscatedName("ec") public interface class144 { - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "105190927" + garbageValue = "459838731" ) @Export("useRotation") int useRotation(); diff --git a/runescape-client/src/main/java/class15.java b/runescape-client/src/main/java/class15.java index 56c983dcf1..fac8c0e9f1 100644 --- a/runescape-client/src/main/java/class15.java +++ b/runescape-client/src/main/java/class15.java @@ -7,22 +7,15 @@ import java.security.SecureRandom; import java.security.Security; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import org.bouncycastle.crypto.tls.TlsClientProtocol; import org.bouncycastle.jce.provider.BouncyCastleProvider; -@ObfuscatedName("h") +@ObfuscatedName("c") public class class15 extends SSLSocketFactory { - @ObfuscatedName("hj") - @ObfuscatedSignature( - descriptor = "Loc;" - ) - @Export("redHintArrowSprite") - static SpritePixels redHintArrowSprite; - @ObfuscatedName("n") - SecureRandom field77; + @ObfuscatedName("l") + SecureRandom field86; static { if (Security.getProvider("BC") == null) { @@ -32,15 +25,15 @@ public class class15 extends SSLSocketFactory { } class15() { - this.field77 = new SecureRandom(); + this.field86 = new SecureRandom(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lorg/bouncycastle/crypto/tls/TlsClientProtocol;B)Ljavax/net/ssl/SSLSocket;", - garbageValue = "0" + descriptor = "(Ljava/lang/String;Lorg/bouncycastle/crypto/tls/TlsClientProtocol;I)Ljavax/net/ssl/SSLSocket;", + garbageValue = "-1206486278" ) - SSLSocket method195(String var1, TlsClientProtocol var2) { + SSLSocket method201(String var1, TlsClientProtocol var2) { return new class12(this, var2, var1); } @@ -53,14 +46,18 @@ public class class15 extends SSLSocketFactory { var1.connect(new InetSocketAddress(var2, var3)); } - TlsClientProtocol var5 = new TlsClientProtocol(var1.getInputStream(), var1.getOutputStream(), this.field77); - return this.method195(var2, var5); + TlsClientProtocol var5 = new TlsClientProtocol(var1.getInputStream(), var1.getOutputStream(), this.field86); + return this.method201(var2, var5); } public String[] getDefaultCipherSuites() { return null; } + public String[] getSupportedCipherSuites() { + return null; + } + public Socket createSocket(String var1, int var2) throws IOException, UnknownHostException { return null; } @@ -76,42 +73,4 @@ public class class15 extends SSLSocketFactory { public Socket createSocket(InetAddress var1, int var2) throws IOException { return null; } - - public String[] getSupportedCipherSuites() { - return null; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;Lkk;B)V", - garbageValue = "51" - ) - public static void method210(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - SequenceDefinition.SequenceDefinition_archive = var0; - SequenceDefinition.SequenceDefinition_animationsArchive = var1; - SequenceDefinition.SequenceDefinition_skeletonsArchive = var2; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "2090726924" - ) - public static int method192(int var0) { - return var0 >> 17 & 7; - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "(ILiy;ZI)V", - garbageValue = "-500490039" - ) - static void method214(int var0, Coord var1, boolean var2) { - WorldMapArea var3 = NetSocket.getWorldMap().getMapArea(var0); - int var4 = class129.localPlayer.plane; - int var5 = (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX; - int var6 = (class129.localPlayer.y >> 7) + class320.baseY; - Coord var7 = new Coord(var4, var5, var6); - NetSocket.getWorldMap().method6367(var3, var7, var1, var2); - } } diff --git a/runescape-client/src/main/java/class150.java b/runescape-client/src/main/java/class150.java index 29ad37172e..68e742ed2e 100644 --- a/runescape-client/src/main/java/class150.java +++ b/runescape-client/src/main/java/class150.java @@ -1,182 +1,71 @@ -import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("es") +@ObfuscatedName("ed") public class class150 { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1233262383 + @ObfuscatedName("ev") + @ObfuscatedSignature( + descriptor = "Lky;" ) - static int field1601; - @ObfuscatedName("m") - public short[] field1600; - @ObfuscatedName("k") - public short[] field1599; + @Export("archive3") + static Archive archive3; + @ObfuscatedName("f") + public short[] field1606; + @ObfuscatedName("j") + public short[] field1607; public class150(int var1) { - ItemComposition var2 = class65.ItemDefinition_get(var1); - if (var2.method3216()) { - this.field1600 = new short[var2.recolorTo.length]; - System.arraycopy(var2.recolorTo, 0, this.field1600, 0, this.field1600.length); + ItemComposition var2 = class87.ItemDefinition_get(var1); + if (var2.method3297()) { + this.field1606 = new short[var2.recolorTo.length]; + System.arraycopy(var2.recolorTo, 0, this.field1606, 0, this.field1606.length); } - if (var2.method3179()) { - this.field1599 = new short[var2.retextureTo.length]; - System.arraycopy(var2.retextureTo, 0, this.field1599, 0, this.field1599.length); + if (var2.method3272()) { + this.field1607 = new short[var2.retextureTo.length]; + System.arraycopy(var2.retextureTo, 0, this.field1607, 0, this.field1607.length); } } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IILfw;Lfk;I)Z", - garbageValue = "-1283265746" + descriptor = "(I[BLmm;I)V", + garbageValue = "-2027548425" ) - static final boolean method2806(int var0, int var1, RouteStrategy var2, CollisionMap var3) { - int var4 = var0; - int var5 = var1; - byte var6 = 64; - byte var7 = 64; - int var8 = var0 - var6; - int var9 = var1 - var7; - class174.directions[var6][var7] = 99; - class174.distances[var6][var7] = 0; - byte var10 = 0; - int var11 = 0; - class174.bufferX[var10] = var0; - byte var10001 = var10; - int var18 = var10 + 1; - class174.bufferY[var10001] = var1; - int[][] var12 = var3.flags; - - while (var18 != var11) { - var4 = class174.bufferX[var11]; - var5 = class174.bufferY[var11]; - var11 = var11 + 1 & 4095; - int var16 = var4 - var8; - int var17 = var5 - var9; - int var13 = var4 - var3.xInset; - int var14 = var5 - var3.yInset; - if (var2.hasArrived(2, var4, var5, var3)) { - field1601 = var4; - class174.field1991 = var5; - return true; - } - - int var15 = class174.distances[var16][var17] + 1; - if (var16 > 0 && class174.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17] = 2; - class174.distances[var16 - 1][var17] = var15; - } - - if (var16 < 126 && class174.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17] = 8; - class174.distances[var16 + 1][var17] = var15; - } - - if (var17 > 0 && class174.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { - class174.bufferX[var18] = var4; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16][var17 - 1] = 1; - class174.distances[var16][var17 - 1] = var15; - } - - if (var17 < 126 && class174.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { - class174.bufferX[var18] = var4; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16][var17 + 1] = 4; - class174.distances[var16][var17 + 1] = var15; - } - - if (var16 > 0 && var17 > 0 && class174.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17 - 1] = 3; - class174.distances[var16 - 1][var17 - 1] = var15; - } - - if (var16 < 126 && var17 > 0 && class174.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17 - 1] = 9; - class174.distances[var16 + 1][var17 - 1] = var15; - } - - if (var16 > 0 && var17 < 126 && class174.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { - class174.bufferX[var18] = var4 - 1; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 - 1][var17 + 1] = 6; - class174.distances[var16 - 1][var17 + 1] = var15; - } - - if (var16 < 126 && var17 < 126 && class174.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { - class174.bufferX[var18] = var4 + 1; - class174.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class174.directions[var16 + 1][var17 + 1] = 12; - class174.distances[var16 + 1][var17 + 1] = var15; - } + static void method2873(int var0, byte[] var1, ArchiveDisk var2) { + ArchiveDiskAction var3 = new ArchiveDiskAction(); + var3.type = 0; + var3.key = (long)var0; + var3.data = var1; + var3.archiveDisk = var2; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); } - field1601 = var4; - class174.field1991 = var5; - return false; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3671 == 0) { + Huffman.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + Huffman.ArchiveDiskActionHandler_thread.setDaemon(true); + Huffman.ArchiveDiskActionHandler_thread.start(); + Huffman.ArchiveDiskActionHandler_thread.setPriority(5); + } + + ArchiveDiskActionHandler.field3671 = 600; + } } - @ObfuscatedName("iy") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(Ljd;IIIIIIB)V", - garbageValue = "23" + descriptor = "(III)V", + garbageValue = "893646599" ) - static final void method2805(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (Client.field555) { - Client.alternativeScrollbarWidth = 32; - } else { - Client.alternativeScrollbarWidth = 0; + static void method2874(int var0, int var1) { + long var2 = (long)((var0 << 16) + var1); + NetFileRequest var4 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var2); + if (var4 != null) { + NetCache.NetCache_pendingWritesQueue.addLast(var4); } - - Client.field555 = false; - int var7; - if (MouseHandler.MouseHandler_currentButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { - if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { - var0.scrollY -= 4; - Actor.invalidateWidget(var0); - } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { - var0.scrollY += 4; - Actor.invalidateWidget(var0); - } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { - var7 = var3 * (var3 - 32) / var4; - if (var7 < 8) { - var7 = 8; - } - - int var8 = var6 - var2 - 16 - var7 / 2; - int var9 = var3 - 32 - var7; - var0.scrollY = var8 * (var4 - var3) / var9; - Actor.invalidateWidget(var0); - Client.field555 = true; - } - } - - if (Client.mouseWheelRotation != 0) { - var7 = var0.width; - if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { - var0.scrollY += Client.mouseWheelRotation * 45; - Actor.invalidateWidget(var0); - } - } - } } diff --git a/runescape-client/src/main/java/class157.java b/runescape-client/src/main/java/class157.java index 2b1827ee05..afb2378596 100644 --- a/runescape-client/src/main/java/class157.java +++ b/runescape-client/src/main/java/class157.java @@ -2,184 +2,106 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fo") +@ObfuscatedName("fi") public class class157 { - @ObfuscatedName("aa") + @ObfuscatedName("a") + @Export("Widget_loadedInterfaces") + public static boolean[] Widget_loadedInterfaces; + + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lap;I)V", - garbageValue = "-781993603" + descriptor = "(Lkl;B)V", + garbageValue = "-40" ) - @Export("PcmStream_disable") - static final void PcmStream_disable(PcmStream var0) { - var0.active = false; - if (var0.sound != null) { - var0.sound.position = 0; - } - - for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { - PcmStream_disable(var1); - } - + public static void method2982(AbstractArchive var0) { + ParamComposition.StructDefinition_archive = var0; } - @ObfuscatedName("gd") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lcf;I)V", - garbageValue = "1730571171" + descriptor = "(Lot;Ljava/lang/String;I)I", + garbageValue = "2143395471" ) - static final void method2918(Actor var0) { - var0.movementSequence = var0.idleSequence; - if (var0.pathLength == 0) { - var0.field1151 = 0; - } else { - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - SequenceDefinition var1 = class17.SequenceDefinition_get(var0.sequence); - if (var0.field1152 > 0 && var1.field1959 == 0) { - ++var0.field1151; - return; - } - - if (var0.field1152 <= 0 && var1.field1960 == 0) { - ++var0.field1151; - return; - } - } - - int var10 = var0.x; - int var2 = var0.y; - int var3 = var0.field1137 * 64 + var0.pathX[var0.pathLength - 1] * 128; - int var4 = var0.field1137 * 64 + var0.pathY[var0.pathLength - 1] * 128; - if (var10 < var3) { - if (var2 < var4) { - var0.orientation = 1280; - } else if (var2 > var4) { - var0.orientation = 1792; - } else { - var0.orientation = 1536; - } - } else if (var10 > var3) { - if (var2 < var4) { - var0.orientation = 768; - } else if (var2 > var4) { - var0.orientation = 256; - } else { - var0.orientation = 512; - } - } else if (var2 < var4) { - var0.orientation = 1024; - } else if (var2 > var4) { - var0.orientation = 0; - } - - byte var5 = var0.pathTraversed[var0.pathLength - 1]; - if (var3 - var10 <= 256 && var3 - var10 >= -256 && var4 - var2 <= 256 && var4 - var2 >= -256) { - int var6 = var0.orientation - var0.rotation & 2047; - if (var6 > 1024) { - var6 -= 2048; - } - - int var7 = var0.walkBackSequence; - if (var6 >= -256 && var6 <= 256) { - var7 = var0.walkSequence; - } else if (var6 >= 256 && var6 < 768) { - var7 = var0.walkRightSequence; - } else if (var6 >= -768 && var6 <= -256) { - var7 = var0.walkLeftSequence; - } - - if (var7 == -1) { - var7 = var0.walkSequence; - } - - var0.movementSequence = var7; - int var8 = 4; - boolean var9 = true; - if (var0 instanceof NPC) { - var9 = ((NPC)var0).definition.isClickable; - } - - if (var9) { - if (var0.rotation != var0.orientation && var0.targetIndex == -1 && var0.field1146 != 0) { - var8 = 2; - } - - if (var0.pathLength > 2) { - var8 = 6; - } - - if (var0.pathLength > 3) { - var8 = 8; - } - - if (var0.field1151 > 0 && var0.pathLength > 1) { - var8 = 8; - --var0.field1151; - } - } else { - if (var0.pathLength > 1) { - var8 = 6; - } - - if (var0.pathLength > 2) { - var8 = 8; - } - - if (var0.field1151 > 0 && var0.pathLength > 1) { - var8 = 8; - --var0.field1151; - } - } - - if (var5 == 2) { - var8 <<= 1; - } - - if (var8 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) { - var0.movementSequence = var0.runSequence; - } - - if (var10 != var3 || var4 != var2) { - if (var10 < var3) { - var0.x += var8; - if (var0.x > var3) { - var0.x = var3; - } - } else if (var10 > var3) { - var0.x -= var8; - if (var0.x < var3) { - var0.x = var3; - } - } - - if (var2 < var4) { - var0.y += var8; - if (var0.y > var4) { - var0.y = var4; - } - } else if (var2 > var4) { - var0.y -= var8; - if (var0.y < var4) { - var0.y = var4; - } - } - } - - if (var3 == var0.x && var4 == var0.y) { - --var0.pathLength; - if (var0.field1152 > 0) { - --var0.field1152; - } - } + public static int method2985(Buffer var0, String var1) { + int var2 = var0.offset; + int var4 = var1.length(); + byte[] var5 = new byte[var4]; + for (int var6 = 0; var6 < var4; ++var6) { + char var7 = var1.charAt(var6); + if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { + var5[var6] = (byte)var7; + } else if (var7 == 8364) { + var5[var6] = -128; + } else if (var7 == 8218) { + var5[var6] = -126; + } else if (var7 == 402) { + var5[var6] = -125; + } else if (var7 == 8222) { + var5[var6] = -124; + } else if (var7 == 8230) { + var5[var6] = -123; + } else if (var7 == 8224) { + var5[var6] = -122; + } else if (var7 == 8225) { + var5[var6] = -121; + } else if (var7 == 710) { + var5[var6] = -120; + } else if (var7 == 8240) { + var5[var6] = -119; + } else if (var7 == 352) { + var5[var6] = -118; + } else if (var7 == 8249) { + var5[var6] = -117; + } else if (var7 == 338) { + var5[var6] = -116; + } else if (var7 == 381) { + var5[var6] = -114; + } else if (var7 == 8216) { + var5[var6] = -111; + } else if (var7 == 8217) { + var5[var6] = -110; + } else if (var7 == 8220) { + var5[var6] = -109; + } else if (var7 == 8221) { + var5[var6] = -108; + } else if (var7 == 8226) { + var5[var6] = -107; + } else if (var7 == 8211) { + var5[var6] = -106; + } else if (var7 == 8212) { + var5[var6] = -105; + } else if (var7 == 732) { + var5[var6] = -104; + } else if (var7 == 8482) { + var5[var6] = -103; + } else if (var7 == 353) { + var5[var6] = -102; + } else if (var7 == 8250) { + var5[var6] = -101; + } else if (var7 == 339) { + var5[var6] = -100; + } else if (var7 == 382) { + var5[var6] = -98; + } else if (var7 == 376) { + var5[var6] = -97; } else { - var0.x = var3; - var0.y = var4; - --var0.pathLength; - if (var0.field1152 > 0) { - --var0.field1152; - } - + var5[var6] = 63; } } + + var0.writeSmartByteShort(var5.length); + var0.offset += class264.huffman.compress(var5, 0, var5.length, var0.array, var0.offset); + return var0.offset - var2; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(IIIIB)I", + garbageValue = "-14" + ) + static final int method2986(int var0, int var1, int var2, int var3) { + int var4 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var2 * 1024 / var3] >> 1; + return ((65536 - var4) * var0 >> 16) + (var4 * var1 >> 16); } } diff --git a/runescape-client/src/main/java/class16.java b/runescape-client/src/main/java/class16.java index 2ca179edcb..5f4f5b7345 100644 --- a/runescape-client/src/main/java/class16.java +++ b/runescape-client/src/main/java/class16.java @@ -4,27 +4,21 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("d") +@ObfuscatedName("b") public class class16 implements ThreadFactory { - @ObfuscatedName("us") + @ObfuscatedName("t") + @Export("SpriteBuffer_spriteHeights") + public static int[] SpriteBuffer_spriteHeights; + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "Lkp;" + descriptor = "[Loz;" ) - public static class300 field82; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lju;" - ) - static StudioGame field83; - @ObfuscatedName("ff") - static String field84; - @ObfuscatedName("he") - @Export("regionMapArchives") - static byte[][] regionMapArchives; - @ObfuscatedName("n") - final ThreadGroup field86; - @ObfuscatedName("c") - final AtomicInteger field81; + @Export("title_muteSprite") + static IndexedSprite[] title_muteSprite; + @ObfuscatedName("l") + final ThreadGroup field87; + @ObfuscatedName("q") + final AtomicInteger field88; // $FF: synthetic field @ObfuscatedSignature( descriptor = "Ls;" @@ -36,66 +30,131 @@ public class class16 implements ThreadFactory { ) class16(class14 var1) { this.this$0 = var1; - this.field81 = new AtomicInteger(1); + this.field88 = new AtomicInteger(1); SecurityManager var2 = System.getSecurityManager(); - this.field86 = var2 != null ? var2.getThreadGroup() : Thread.currentThread().getThreadGroup(); + this.field87 = var2 != null ? var2.getThreadGroup() : Thread.currentThread().getThreadGroup(); } public Thread newThread(Runnable var1) { - Thread var2 = new Thread(this.field86, var1, this.this$0.field67 + "-rest-request-" + this.field81.getAndIncrement(), 0L); + Thread var2 = new Thread(this.field87, var1, this.this$0.field79 + "-rest-request-" + this.field88.getAndIncrement(), 0L); var2.setDaemon(true); var2.setPriority(5); return var2; } - @ObfuscatedName("m") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-4" + descriptor = "(Ljava/lang/CharSequence;II[BII)I", + garbageValue = "690140927" ) - public static void method218(int var0) { - class247.musicPlayerStatus = 1; - class247.musicTrackArchive = null; - class247.musicTrackGroupId = -1; - GrandExchangeOfferOwnWorldComparator.musicTrackFileId = -1; - class196.musicTrackVolume = 0; - class20.musicTrackBoolean = false; - class130.pcmSampleLength = var0; + @Export("encodeStringCp1252") + public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { + int var5 = var2 - var1; + + for (int var6 = 0; var6 < var5; ++var6) { + char var7 = var0.charAt(var6 + var1); + if ((var7 <= 0 || var7 >= 128) && (var7 < 160 || var7 > 255)) { + if (var7 == 8364) { + var3[var6 + var4] = -128; + } else if (var7 == 8218) { + var3[var6 + var4] = -126; + } else if (var7 == 402) { + var3[var6 + var4] = -125; + } else if (var7 == 8222) { + var3[var6 + var4] = -124; + } else if (var7 == 8230) { + var3[var6 + var4] = -123; + } else if (var7 == 8224) { + var3[var6 + var4] = -122; + } else if (var7 == 8225) { + var3[var6 + var4] = -121; + } else if (var7 == 710) { + var3[var6 + var4] = -120; + } else if (var7 == 8240) { + var3[var6 + var4] = -119; + } else if (var7 == 352) { + var3[var6 + var4] = -118; + } else if (var7 == 8249) { + var3[var6 + var4] = -117; + } else if (var7 == 338) { + var3[var6 + var4] = -116; + } else if (var7 == 381) { + var3[var6 + var4] = -114; + } else if (var7 == 8216) { + var3[var6 + var4] = -111; + } else if (var7 == 8217) { + var3[var6 + var4] = -110; + } else if (var7 == 8220) { + var3[var6 + var4] = -109; + } else if (var7 == 8221) { + var3[var6 + var4] = -108; + } else if (var7 == 8226) { + var3[var6 + var4] = -107; + } else if (var7 == 8211) { + var3[var6 + var4] = -106; + } else if (var7 == 8212) { + var3[var6 + var4] = -105; + } else if (var7 == 732) { + var3[var6 + var4] = -104; + } else if (var7 == 8482) { + var3[var6 + var4] = -103; + } else if (var7 == 353) { + var3[var6 + var4] = -102; + } else if (var7 == 8250) { + var3[var6 + var4] = -101; + } else if (var7 == 339) { + var3[var6 + var4] = -100; + } else if (var7 == 382) { + var3[var6 + var4] = -98; + } else if (var7 == 376) { + var3[var6 + var4] = -97; + } else { + var3[var6 + var4] = 63; + } + } else { + var3[var6 + var4] = (byte)var7; + } + } + + return var5; } - @ObfuscatedName("fc") + @ObfuscatedName("w") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-601461056" + descriptor = "(II)Ljava/lang/String;", + garbageValue = "-1837132083" ) - @Export("logOut") - static final void logOut() { - Client.packetWriter.close(); - class114.method2481(); - CollisionMap.scene.clear(); + static final String method212(int var0) { + if (var0 < 100000) { + return "" + var0 + ""; + } else { + return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; + } + } - for (int var0 = 0; var0 < 4; ++var0) { - Client.collisionMaps[var0].clear(); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;II)V", + garbageValue = "677326358" + ) + static final void method207(String var0, int var1) { + PacketBufferNode var2 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2665, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(class113.stringCp1252NullTerminatedByteSize(var0) + 1); + var2.packetBuffer.writeStringCp1252NullTerminated(var0); + var2.packetBuffer.method7066(var1); + Client.packetWriter.addNode(var2); + } + + @ObfuscatedName("jp") + @ObfuscatedSignature( + descriptor = "(Ljt;I)V", + garbageValue = "1190749273" + ) + @Export("invalidateWidget") + static void invalidateWidget(Widget var0) { + if (var0.cycle == Client.field699) { + Client.field710[var0.rootIndex] = true; } - System.gc(); - method218(2); - Client.currentTrackGroupId = -1; - Client.field728 = false; - - for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var1.stream1 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var1.stream1); - var1.stream1 = null; - } - - if (var1.stream2 != null) { - MusicPatchPcmStream.pcmStreamMixer.removeSubStream(var1.stream2); - var1.stream2 = null; - } - } - - ObjectSound.objectSounds.clear(); - HealthBarUpdate.updateGameState(10); } } diff --git a/runescape-client/src/main/java/class17.java b/runescape-client/src/main/java/class17.java index 1686ffe8eb..1e7e8f121a 100644 --- a/runescape-client/src/main/java/class17.java +++ b/runescape-client/src/main/java/class17.java @@ -1,47 +1,58 @@ -import java.awt.image.BufferedImage; -import java.awt.image.PixelGrabber; -import java.io.ByteArrayInputStream; -import java.io.IOException; import java.security.Principal; import java.security.cert.Certificate; -import java.util.Iterator; -import javax.imageio.ImageIO; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSessionContext; import javax.security.cert.X509Certificate; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("q") +@ObfuscatedName("x") class class17 implements SSLSession { + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("HitSplatDefinition_fontsArchive") + public static AbstractArchive HitSplatDefinition_fontsArchive; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 821791441 + ) + @Export("ItemDefinition_fileCount") + public static int ItemDefinition_fileCount; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Lv;" + descriptor = "Lg;" ) final class12 this$1; @ObfuscatedSignature( - descriptor = "(Lv;)V" + descriptor = "(Lg;)V" ) class17(class12 var1) { this.this$1 = var1; } - public String getCipherSuite() { + public String getProtocol() { throw new UnsupportedOperationException(); } + public int getApplicationBufferSize() { + return 0; + } + + public int getPeerPort() { + return 0; + } + public long getCreationTime() { throw new UnsupportedOperationException(); } - public byte[] getId() { - throw new UnsupportedOperationException(); - } - - public long getLastAccessedTime() { + public String getCipherSuite() { throw new UnsupportedOperationException(); } @@ -58,18 +69,10 @@ class class17 implements SSLSession { } public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException { - return this.this$1.field60; + return this.this$1.field65; } - public String getProtocol() { - throw new UnsupportedOperationException(); - } - - public Principal getPeerPrincipal() throws SSLPeerUnverifiedException { - return null; - } - - public String getPeerHost() { + public boolean isValid() { throw new UnsupportedOperationException(); } @@ -77,835 +80,123 @@ class class17 implements SSLSession { throw new UnsupportedOperationException(); } - public Object getValue(String var1) { - throw new UnsupportedOperationException(); - } - public void invalidate() { throw new UnsupportedOperationException(); } - public X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException { - return null; - } - - public void removeValue(String var1) { - throw new UnsupportedOperationException(); - } - - public int getApplicationBufferSize() { - return 0; - } - - public String[] getValueNames() { - throw new UnsupportedOperationException(); - } - public void putValue(String var1, Object var2) { throw new UnsupportedOperationException(); } - public int getPeerPort() { - return 0; - } - - public boolean isValid() { + public void removeValue(String var1) { throw new UnsupportedOperationException(); } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BI)Loc;", - garbageValue = "-1337987270" - ) - @Export("convertJpgToSprite") - public static final SpritePixels convertJpgToSprite(byte[] var0) { - BufferedImage var1 = null; - - try { - var1 = ImageIO.read(new ByteArrayInputStream(var0)); - int var2 = var1.getWidth(); - int var3 = var1.getHeight(); - int[] var4 = new int[var3 * var2]; - PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); - var5.grabPixels(); - return new SpritePixels(var4, var2, var3); - } catch (IOException var7) { - } catch (InterruptedException var8) { - } - - return new SpritePixels(0, 0); + public Object getValue(String var1) { + throw new UnsupportedOperationException(); } - @ObfuscatedName("c") + public byte[] getId() { + throw new UnsupportedOperationException(); + } + + public long getLastAccessedTime() { + throw new UnsupportedOperationException(); + } + + public String[] getValueNames() { + throw new UnsupportedOperationException(); + } + + public X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException { + return null; + } + + public String getPeerHost() { + throw new UnsupportedOperationException(); + } + + public Principal getPeerPrincipal() throws SSLPeerUnverifiedException { + return null; + } + + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IB)Lfa;", + descriptor = "(B)V", garbageValue = "124" ) - @Export("SequenceDefinition_get") - public static SequenceDefinition SequenceDefinition_get(int var0) { - SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; + static void method226() { + WorldMapRegion.WorldMapRegion_cachedSprites.clear(); + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(CB)C", + garbageValue = "-50" + ) + static char method244(char var0) { + if (var0 == 198) { + return 'E'; + } else if (var0 == 230) { + return 'e'; + } else if (var0 == 223) { + return 's'; + } else if (var0 == 338) { + return 'E'; } else { - byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); - var1 = new SequenceDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); - return var1; + return (char)(var0 == 339 ? 'e' : '\u0000'); } } - @ObfuscatedName("z") + @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "529247526" + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "1864336620" ) - static void method275() { - Iterator var0 = Messages.Messages_hashTable.iterator(); - - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); - var1.clearIsFromFriend(); - } - + @Export("setLoginResponseString") + static void setLoginResponseString(String var0, String var1, String var2) { + Login.Login_response1 = var0; + Login.Login_response2 = var1; + Login.Login_response3 = var2; } - @ObfuscatedName("fj") + @ObfuscatedName("jb") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-617440406" + descriptor = "(IB)V", + garbageValue = "78" ) - static final void method231() { - int var0 = class114.field1372 * 128 + 64; - int var1 = ScriptFrame.field447 * 128 + 64; - int var2 = GraphicsObject.getTileHeight(var0, var1, class391.Client_plane) - KeyHandler.field123; - if (WorldMapSection2.cameraX < var0) { - WorldMapSection2.cameraX = (var0 - WorldMapSection2.cameraX) * class112.field1361 / 1000 + WorldMapSection2.cameraX + class176.field2001; - if (WorldMapSection2.cameraX > var0) { - WorldMapSection2.cameraX = var0; - } - } - - if (WorldMapSection2.cameraX > var0) { - WorldMapSection2.cameraX -= class112.field1361 * (WorldMapSection2.cameraX - var0) / 1000 + class176.field2001; - if (WorldMapSection2.cameraX < var0) { - WorldMapSection2.cameraX = var0; - } - } - - if (SpotAnimationDefinition.cameraY < var2) { - SpotAnimationDefinition.cameraY = (var2 - SpotAnimationDefinition.cameraY) * class112.field1361 / 1000 + SpotAnimationDefinition.cameraY + class176.field2001; - if (SpotAnimationDefinition.cameraY > var2) { - SpotAnimationDefinition.cameraY = var2; - } - } - - if (SpotAnimationDefinition.cameraY > var2) { - SpotAnimationDefinition.cameraY -= class112.field1361 * (SpotAnimationDefinition.cameraY - var2) / 1000 + class176.field2001; - if (SpotAnimationDefinition.cameraY < var2) { - SpotAnimationDefinition.cameraY = var2; - } - } - - if (DevicePcmPlayerProvider.cameraZ < var1) { - DevicePcmPlayerProvider.cameraZ = (var1 - DevicePcmPlayerProvider.cameraZ) * class112.field1361 / 1000 + DevicePcmPlayerProvider.cameraZ + class176.field2001; - if (DevicePcmPlayerProvider.cameraZ > var1) { - DevicePcmPlayerProvider.cameraZ = var1; - } - } - - if (DevicePcmPlayerProvider.cameraZ > var1) { - DevicePcmPlayerProvider.cameraZ -= class112.field1361 * (DevicePcmPlayerProvider.cameraZ - var1) / 1000 + class176.field2001; - if (DevicePcmPlayerProvider.cameraZ < var1) { - DevicePcmPlayerProvider.cameraZ = var1; - } - } - - var0 = class114.field1376 * 128 + 64; - var1 = class229.field2624 * 128 + 64; - var2 = GraphicsObject.getTileHeight(var0, var1, class391.Client_plane) - class28.field170; - int var3 = var0 - WorldMapSection2.cameraX; - int var4 = var2 - SpotAnimationDefinition.cameraY; - int var5 = var1 - DevicePcmPlayerProvider.cameraZ; - int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3)); - int var7 = (int)(Math.atan2((double)var4, (double)var6) * 325.949D) & 2047; - int var8 = (int)(Math.atan2((double)var3, (double)var5) * -325.949D) & 2047; - if (var7 < 128) { - var7 = 128; - } - - if (var7 > 383) { - var7 = 383; - } - - if (ApproximateRouteStrategy.cameraPitch < var7) { - ApproximateRouteStrategy.cameraPitch = (var7 - ApproximateRouteStrategy.cameraPitch) * Projectile.field923 / 1000 + ApproximateRouteStrategy.cameraPitch + IgnoreList.field3918; - if (ApproximateRouteStrategy.cameraPitch > var7) { - ApproximateRouteStrategy.cameraPitch = var7; - } - } - - if (ApproximateRouteStrategy.cameraPitch > var7) { - ApproximateRouteStrategy.cameraPitch -= Projectile.field923 * (ApproximateRouteStrategy.cameraPitch - var7) / 1000 + IgnoreList.field3918; - if (ApproximateRouteStrategy.cameraPitch < var7) { - ApproximateRouteStrategy.cameraPitch = var7; - } - } - - int var9 = var8 - Fonts.cameraYaw; - if (var9 > 1024) { - var9 -= 2048; - } - - if (var9 < -1024) { - var9 += 2048; - } - - if (var9 > 0) { - Fonts.cameraYaw = Fonts.cameraYaw + IgnoreList.field3918 + var9 * Projectile.field923 / 1000; - Fonts.cameraYaw &= 2047; - } - - if (var9 < 0) { - Fonts.cameraYaw -= IgnoreList.field3918 + -var9 * Projectile.field923 / 1000; - Fonts.cameraYaw &= 2047; - } - - int var10 = var8 - Fonts.cameraYaw; - if (var10 > 1024) { - var10 -= 2048; - } - - if (var10 < -1024) { - var10 += 2048; - } - - if (var10 < 0 && var9 > 0 || var10 > 0 && var9 < 0) { - Fonts.cameraYaw = var8; - } - - } - - @ObfuscatedName("gh") - @ObfuscatedSignature( - descriptor = "(Lcf;IIIIII)V", - garbageValue = "-2103530178" - ) - @Export("drawActor2d") - static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { - if (var0 != null && var0.isVisible()) { - if (var0 instanceof NPC) { - NPCComposition var6 = ((NPC)var0).definition; - if (var6.transforms != null) { - var6 = var6.transform(); - } - - if (var6 == null) { - return; - } - } - - int var75 = Players.Players_count; - int[] var7 = Players.Players_indices; - byte var8 = 0; - if (var1 < var75 && var0.playerCycle == Client.cycle && Ignored.method6063((Player)var0)) { - Player var9 = (Player)var0; - if (var1 < var75) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - AbstractFont var10 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); - byte var11 = 9; - var10.drawCentered(var9.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var11, 16777215, 0); - var8 = 18; - } - } - - int var76 = -2; - int var15; - int var22; - int var23; - if (!var0.healthBars.method5517()) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - - for (HealthBar var87 = (HealthBar)var0.healthBars.last(); var87 != null; var87 = (HealthBar)var0.healthBars.previous()) { - HealthBarUpdate var79 = var87.get(Client.cycle); - if (var79 == null) { - if (var87.isEmpty()) { - var87.remove(); - } - } else { - HealthBarDefinition var80 = var87.definition; - SpritePixels var13 = var80.getBackSprite(); - SpritePixels var81 = var80.getFrontSprite(); - int var82 = 0; - if (var13 != null && var81 != null) { - if (var80.widthPadding * 2 < var81.subWidth) { - var82 = var80.widthPadding; - } - - var15 = var81.subWidth - var82 * 2; - } else { - var15 = var80.width; - } - - int var17 = 255; - boolean var83 = true; - int var84 = Client.cycle - var79.cycle; - int var85 = var15 * var79.health2 / var80.width; - int var86; - int var93; - if (var79.cycleOffset > var84) { - var86 = var80.field1675 == 0 ? 0 : var80.field1675 * (var84 / var80.field1675); - var22 = var15 * var79.health / var80.width; - var93 = var86 * (var85 - var22) / var79.cycleOffset + var22; - } else { - var93 = var85; - var86 = var79.cycleOffset + var80.int5 - var84; - if (var80.int3 >= 0) { - var17 = (var86 << 8) / (var80.int5 - var80.int3); - } - } - - if (var79.health2 > 0 && var93 < 1) { - var93 = 1; - } - - if (var13 != null && var81 != null) { - if (var93 == var15) { - var93 += var82 * 2; - } else { - var93 += var82; - } - - var86 = var13.subHeight; - var76 += var86; - var22 = var2 + Client.viewportTempX - (var15 >> 1); - var23 = var3 + Client.viewportTempY - var76; - var22 -= var82; - if (var17 >= 0 && var17 < 255) { - var13.drawTransAt(var22, var23, var17); - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var22 + var93, var86 + var23); - var81.drawTransAt(var22, var23, var17); - } else { - var13.drawTransBgAt(var22, var23); - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var86 + var23); - var81.drawTransBgAt(var22, var23); - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); - var76 += 2; - } else { - var76 += 5; - if (Client.viewportTempX > -1) { - var86 = var2 + Client.viewportTempX - (var15 >> 1); - var22 = var3 + Client.viewportTempY - var76; - Rasterizer2D.Rasterizer2D_fillRectangle(var86, var22, var93, 5, 65280); - Rasterizer2D.Rasterizer2D_fillRectangle(var86 + var93, var22, var15 - var93, 5, 16711680); - } - - var76 += 2; - } - } - } - } - - if (var76 == -2) { - var76 += 7; - } - - var76 += var8; - if (var1 < var75) { - Player var88 = (Player)var0; - if (var88.isHidden) { - return; - } - - if (var88.headIconPk != -1 || var88.headIconPrayer != -1) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - if (var88.headIconPk != -1) { - var76 += 25; - MusicPatch.headIconPkSprites[var88.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - - if (var88.headIconPrayer != -1) { - var76 += 25; - GraphicsObject.headIconPrayerSprites[var88.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - } - } - - if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - var76 += class7.headIconHintSprites[1].subHeight; - class7.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - } - } else { - NPCComposition var89 = ((NPC)var0).definition; - if (var89.transforms != null) { - var89 = var89.transform(); - } - - if (var89.headIconPrayer >= 0 && var89.headIconPrayer < GraphicsObject.headIconPrayerSprites.length) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - GraphicsObject.headIconPrayerSprites[var89.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); - } - } - - if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { - HorizontalAlignment.method2947(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - class7.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); - } - } - } - - if (var0.overheadText != null && (var1 >= var75 || !var0.field1108 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { - HorizontalAlignment.method2947(var0, var0.defaultHeight); - if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { - Client.overheadTextXOffsets[Client.overheadTextCount] = class11.fontBold12.stringWidth(var0.overheadText) / 2; - Client.overheadTextAscents[Client.overheadTextCount] = class11.fontBold12.ascent; - Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; - Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; - Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; - Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; - Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; - Client.overheadText[Client.overheadTextCount] = var0.overheadText; - ++Client.overheadTextCount; - } - } - - for (int var77 = 0; var77 < 4; ++var77) { - int var90 = var0.hitSplatCycles[var77]; - int var12 = var0.hitSplatTypes[var77]; - HitSplatDefinition var91 = null; - int var14 = 0; - if (var12 >= 0) { - if (var90 <= Client.cycle) { - continue; - } - - var91 = PendingSpawn.method2120(var0.hitSplatTypes[var77]); - var14 = var91.field1804; - if (var91 != null && var91.transforms != null) { - var91 = var91.transform(); - if (var91 == null) { - var0.hitSplatCycles[var77] = -1; - continue; - } - } - } else if (var90 < 0) { - continue; - } - - var15 = var0.hitSplatTypes2[var77]; - HitSplatDefinition var16 = null; - if (var15 >= 0) { - var16 = PendingSpawn.method2120(var15); - if (var16 != null && var16.transforms != null) { - var16 = var16.transform(); - } - } - - if (var90 - var14 <= Client.cycle) { - if (var91 == null) { - var0.hitSplatCycles[var77] = -1; - } else { - HorizontalAlignment.method2947(var0, var0.defaultHeight / 2); - if (Client.viewportTempX > -1) { - if (var77 == 1) { - Client.viewportTempY -= 20; - } - - if (var77 == 2) { - Client.viewportTempX -= 15; - Client.viewportTempY -= 10; - } - - if (var77 == 3) { - Client.viewportTempX += 15; - Client.viewportTempY -= 10; - } - - SpritePixels var18 = null; - SpritePixels var19 = null; - SpritePixels var20 = null; - SpritePixels var21 = null; - var22 = 0; - var23 = 0; - int var24 = 0; - int var25 = 0; - int var26 = 0; - int var27 = 0; - int var28 = 0; - int var29 = 0; - SpritePixels var30 = null; - SpritePixels var31 = null; - SpritePixels var32 = null; - SpritePixels var33 = null; - int var34 = 0; - int var35 = 0; - int var36 = 0; - int var37 = 0; - int var38 = 0; - int var39 = 0; - int var40 = 0; - int var41 = 0; - int var42 = 0; - var18 = var91.method3091(); - int var43; - if (var18 != null) { - var22 = var18.subWidth; - var43 = var18.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var26 = var18.xOffset; - } - - var19 = var91.method3121(); - if (var19 != null) { - var23 = var19.subWidth; - var43 = var19.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var27 = var19.xOffset; - } - - var20 = var91.method3122(); - if (var20 != null) { - var24 = var20.subWidth; - var43 = var20.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var28 = var20.xOffset; - } - - var21 = var91.method3107(); - if (var21 != null) { - var25 = var21.subWidth; - var43 = var21.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var29 = var21.xOffset; - } - - if (var16 != null) { - var30 = var16.method3091(); - if (var30 != null) { - var34 = var30.subWidth; - var43 = var30.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var38 = var30.xOffset; - } - - var31 = var16.method3121(); - if (var31 != null) { - var35 = var31.subWidth; - var43 = var31.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var39 = var31.xOffset; - } - - var32 = var16.method3122(); - if (var32 != null) { - var36 = var32.subWidth; - var43 = var32.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var40 = var32.xOffset; - } - - var33 = var16.method3107(); - if (var33 != null) { - var37 = var33.subWidth; - var43 = var33.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var41 = var33.xOffset; - } - } - - Font var78 = var91.getFont(); - if (var78 == null) { - var78 = class87.fontPlain11; - } - - Font var44; - if (var16 != null) { - var44 = var16.getFont(); - if (var44 == null) { - var44 = class87.fontPlain11; - } - } else { - var44 = class87.fontPlain11; - } - - String var45 = null; - String var46 = null; - boolean var47 = false; - int var48 = 0; - var45 = var91.getString(var0.hitSplatValues[var77]); - int var92 = var78.stringWidth(var45); - if (var16 != null) { - var46 = var16.getString(var0.hitSplatValues2[var77]); - var48 = var44.stringWidth(var46); - } - - int var49 = 0; - int var50 = 0; - if (var23 > 0) { - if (var20 == null && var21 == null) { - var49 = 1; - } else { - var49 = var92 / var23 + 1; - } - } - - if (var16 != null && var35 > 0) { - if (var32 == null && var33 == null) { - var50 = 1; - } else { - var50 = var48 / var35 + 1; - } - } - - int var51 = 0; - int var52 = var51; - if (var22 > 0) { - var51 += var22; - } - - var51 += 2; - int var53 = var51; - if (var24 > 0) { - var51 += var24; - } - - int var54 = var51; - int var55 = var51; - int var56; - if (var23 > 0) { - var56 = var23 * var49; - var51 += var56; - var55 += (var56 - var92) / 2; - } else { - var51 += var92; - } - - var56 = var51; - if (var25 > 0) { - var51 += var25; - } - - int var57 = 0; - int var58 = 0; - int var59 = 0; - int var60 = 0; - int var61 = 0; - int var62; - if (var16 != null) { - var51 += 2; - var57 = var51; - if (var34 > 0) { - var51 += var34; - } - - var51 += 2; - var58 = var51; - if (var36 > 0) { - var51 += var36; - } - - var59 = var51; - var61 = var51; - if (var35 > 0) { - var62 = var50 * var35; - var51 += var62; - var61 += (var62 - var48) / 2; - } else { - var51 += var48; - } - - var60 = var51; - if (var37 > 0) { - var51 += var37; - } - } - - var62 = var0.hitSplatCycles[var77] - Client.cycle; - int var63 = var91.field1809 - var62 * var91.field1809 / var91.field1804; - int var64 = var62 * var91.field1810 / var91.field1804 + -var91.field1810; - int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1)); - int var66 = var3 + Client.viewportTempY - 12 + var64; - int var67 = var66; - int var68 = var42 + var66; - int var69 = var66 + var91.field1817 + 15; - int var70 = var69 - var78.maxAscent; - int var71 = var69 + var78.maxDescent; - if (var70 < var66) { - var67 = var70; - } - - if (var71 > var68) { - var68 = var71; - } - - int var72 = 0; - int var73; - int var74; - if (var16 != null) { - var72 = var66 + var16.field1817 + 15; - var73 = var72 - var44.maxAscent; - var74 = var72 + var44.maxDescent; - if (var73 < var67) { - ; - } - - if (var74 > var68) { - ; - } - } - - var73 = 255; - if (var91.field1811 >= 0) { - var73 = (var62 << 8) / (var91.field1804 - var91.field1811); - } - - if (var73 >= 0 && var73 < 255) { - if (var18 != null) { - var18.drawTransAt(var65 + var52 - var26, var66, var73); - } - - if (var20 != null) { - var20.drawTransAt(var65 + var53 - var28, var66, var73); - } - - if (var19 != null) { - for (var74 = 0; var74 < var49; ++var74) { - var19.drawTransAt(var23 * var74 + (var54 + var65 - var27), var66, var73); - } - } - - if (var21 != null) { - var21.drawTransAt(var65 + var56 - var29, var66, var73); - } - - var78.drawAlpha(var45, var65 + var55, var69, var91.textColor, 0, var73); - if (var16 != null) { - if (var30 != null) { - var30.drawTransAt(var57 + var65 - var38, var66, var73); - } - - if (var32 != null) { - var32.drawTransAt(var65 + var58 - var40, var66, var73); - } - - if (var31 != null) { - for (var74 = 0; var74 < var50; ++var74) { - var31.drawTransAt(var74 * var35 + (var65 + var59 - var39), var66, var73); - } - } - - if (var33 != null) { - var33.drawTransAt(var65 + var60 - var41, var66, var73); - } - - var44.drawAlpha(var46, var61 + var65, var72, var16.textColor, 0, var73); - } - } else { - if (var18 != null) { - var18.drawTransBgAt(var65 + var52 - var26, var66); - } - - if (var20 != null) { - var20.drawTransBgAt(var53 + var65 - var28, var66); - } - - if (var19 != null) { - for (var74 = 0; var74 < var49; ++var74) { - var19.drawTransBgAt(var74 * var23 + (var65 + var54 - var27), var66); - } - } - - if (var21 != null) { - var21.drawTransBgAt(var65 + var56 - var29, var66); - } - - var78.draw(var45, var55 + var65, var69, var91.textColor | -16777216, 0); - if (var16 != null) { - if (var30 != null) { - var30.drawTransBgAt(var65 + var57 - var38, var66); - } - - if (var32 != null) { - var32.drawTransBgAt(var65 + var58 - var40, var66); - } - - if (var31 != null) { - for (var74 = 0; var74 < var50; ++var74) { - var31.drawTransBgAt(var35 * var74 + (var59 + var65 - var39), var66); - } - } - - if (var33 != null) { - var33.drawTransBgAt(var65 + var60 - var41, var66); - } - - var44.draw(var46, var61 + var65, var72, var16.textColor | -16777216, 0); - } - } - } - } + @Export("Widget_resetModelFrames") + static final void Widget_resetModelFrames(int var0) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3 != null) { + var3.modelFrame = 0; + var3.modelFrameCycle = 0; } } } } - @ObfuscatedName("jc") + @ObfuscatedName("lt") @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-756178951" + descriptor = "(B)V", + garbageValue = "-43" ) - @Export("setTapToDrop") - static void setTapToDrop(boolean var0) { - Client.tapToDrop = var0; - } + static void method266() { + if (Widget.field3165 != null) { + Client.field763 = Client.cycle; + Widget.field3165.method5434(); + + for (int var0 = 0; var0 < Client.players.length; ++var0) { + if (Client.players[var0] != null) { + Widget.field3165.method5433((Client.players[var0].x >> 7) + WorldMapSectionType.baseX, (Client.players[var0].y >> 7) + PlayerComposition.baseY); + } + } + } - @ObfuscatedName("ju") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1959469866" - ) - @Export("updateSoundEffectVolume") - static final void updateSoundEffectVolume(int var0) { - var0 = Math.min(Math.max(var0, 0), 127); - VarbitComposition.clientPreferences.soundEffectsVolume = var0; - DevicePcmPlayerProvider.savePreferences(); } } diff --git a/runescape-client/src/main/java/class174.java b/runescape-client/src/main/java/class174.java index 5c3f67ebb0..13ea62c7eb 100644 --- a/runescape-client/src/main/java/class174.java +++ b/runescape-client/src/main/java/class174.java @@ -1,27 +1,28 @@ +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fp") +@ObfuscatedName("ft") public class class174 { - @ObfuscatedName("m") + @ObfuscatedName("f") @Export("directions") - static int[][] directions; - @ObfuscatedName("k") + public static int[][] directions; + @ObfuscatedName("j") @Export("distances") - static int[][] distances; - @ObfuscatedName("g") + public static int[][] distances; + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = 978490773 + intValue = 1698208835 ) - static int field1991; + public static int field1994; @ObfuscatedName("a") @Export("bufferX") - static int[] bufferX; - @ObfuscatedName("u") + public static int[] bufferX; + @ObfuscatedName("e") @Export("bufferY") - static int[] bufferY; + public static int[] bufferY; static { directions = new int[128][128]; @@ -30,37 +31,59 @@ public class class174 { bufferY = new int[4096]; } - @ObfuscatedName("u") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)[Loc;", - garbageValue = "-1552339754" + descriptor = "(I)Z", + garbageValue = "-44700481" ) - public static SpritePixels[] method3364() { - SpritePixels[] var0 = new SpritePixels[class413.SpriteBuffer_spriteCount]; + @Export("loadWorlds") + static boolean loadWorlds() { + try { + if (class4.World_request == null) { + class4.World_request = WorldMapSection0.urlRequester.request(new URL(Messages.field1273)); + } else if (class4.World_request.isDone()) { + byte[] var0 = class4.World_request.getResponse(); + Buffer var1 = new Buffer(var0); + var1.readInt(); + World.World_count = var1.readUnsignedShort(); + class386.World_worlds = new World[World.World_count]; - for (int var1 = 0; var1 < class413.SpriteBuffer_spriteCount; ++var1) { - SpritePixels var2 = var0[var1] = new SpritePixels(); - var2.width = class413.SpriteBuffer_spriteWidth; - var2.height = class413.SpriteBuffer_spriteHeight; - var2.xOffset = class413.SpriteBuffer_xOffsets[var1]; - var2.yOffset = class413.SpriteBuffer_yOffsets[var1]; - var2.subWidth = InvDefinition.SpriteBuffer_spriteWidths[var1]; - var2.subHeight = class413.SpriteBuffer_spriteHeights[var1]; - int var3 = var2.subHeight * var2.subWidth; - byte[] var4 = class283.SpriteBuffer_pixels[var1]; - var2.pixels = new int[var3]; + World var3; + for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { + var3 = class386.World_worlds[var2] = new World(); + var3.id = var1.readUnsignedShort(); + var3.properties = var1.readInt(); + var3.host = var1.readStringCp1252NullTerminated(); + var3.activity = var1.readStringCp1252NullTerminated(); + var3.location = var1.readUnsignedByte(); + var3.population = var1.readShort(); + } - for (int var5 = 0; var5 < var3; ++var5) { - var2.pixels[var5] = ItemContainer.SpriteBuffer_spritePalette[var4[var5] & 255]; + class274.sortWorlds(class386.World_worlds, 0, class386.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + class4.World_request = null; + return true; } + } catch (Exception var4) { + var4.printStackTrace(); + class4.World_request = null; } - class413.SpriteBuffer_xOffsets = null; - class413.SpriteBuffer_yOffsets = null; - InvDefinition.SpriteBuffer_spriteWidths = null; - class413.SpriteBuffer_spriteHeights = null; - ItemContainer.SpriteBuffer_spritePalette = null; - class283.SpriteBuffer_pixels = null; - return var0; + return false; + } + + @ObfuscatedName("hl") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1701952628" + ) + @Export("addCancelMenuEntry") + static void addCancelMenuEntry() { + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + Client.menuActions[0] = "Cancel"; + Client.menuTargets[0] = ""; + Client.menuOpcodes[0] = 1006; + Client.menuShiftClick[0] = false; + Client.menuOptionsCount = 1; } } diff --git a/runescape-client/src/main/java/class176.java b/runescape-client/src/main/java/class176.java index 0bd50524b0..85975aa593 100644 --- a/runescape-client/src/main/java/class176.java +++ b/runescape-client/src/main/java/class176.java @@ -1,51 +1,217 @@ -import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fj") +@ObfuscatedName("fu") public class class176 { - @ObfuscatedName("sx") - @ObfuscatedGetter( - intValue = 2139302523 - ) - static int field2001; - - @ObfuscatedName("x") + @ObfuscatedName("eb") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "4" + descriptor = "Lky;" ) - static int method3377(int var0, Script var1, boolean var2) { - Widget var5; - if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { - var5 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.itemId; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { - var5 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var5.itemId != -1) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var5.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } + @Export("archive8") + static Archive archive8; - return 1; - } else if (var0 == ScriptOpcodes.IF_HASSUB) { - int var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3); - if (var4 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTOP) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.rootInterface; + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-400532882" + ) + static int method3442(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class174.loadWorlds() ? 1 : 0; return 1; } else { - return 2; + World var9; + if (var0 == ScriptOpcodes.WORLDLIST_START) { + var9 = Canvas.worldListStart(); + if (var9 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.id; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.properties; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var9.activity; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.location; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.population; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var9.host; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { + var9 = AttackOption.getNextWorldListWorld(); + if (var9 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.id; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.properties; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var9.activity; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.location; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var9.population; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var9.host; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else { + int var3; + World var7; + int var8; + if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var7 = null; + + for (var8 = 0; var8 < World.World_count; ++var8) { + if (var3 == class386.World_worlds[var8].id) { + var7 = class386.World_worlds[var8]; + break; + } + } + + if (var7 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.id; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.properties; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.activity; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.location; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.population; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.host; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + boolean var10 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] == 1; + var8 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + boolean var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3] == 1; + class138.sortWorldList(var3, var10, var8, var6); + return 1; + } else if (var0 != 6511) { + if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { + Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + return 1; + } else { + int var4; + ParamComposition var5; + if (var0 == ScriptOpcodes.NC_PARAM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class126.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class112.getNpcDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class112.getNpcDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.LC_PARAM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class126.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class245.getObjectDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class245.getObjectDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_PARAM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class126.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class87.ItemDefinition_get(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class87.ItemDefinition_get(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + var5 = class126.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = class65.StructDefinition_getStructDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class65.StructDefinition_getStructDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.ON_MOBILE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLIENTTYPE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.clientType & 3; + return 1; + } else if (var0 == 6520) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { + return 1; + } else if (var0 == 6522) { + --class54.Interpreter_stringStackSize; + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 6523) { + --class54.Interpreter_stringStackSize; + --AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_BATTERYLEVEL) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_BATTERYCHARGING) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_WIFIAVAILABLE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == 6527) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.field681; + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + if (var3 >= 0 && var3 < World.World_count) { + var7 = class386.World_worlds[var3]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.id; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.properties; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.activity; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.location; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.population; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.host; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } } } } diff --git a/runescape-client/src/main/java/class18.java b/runescape-client/src/main/java/class18.java index fcdf215358..5e02547b0d 100644 --- a/runescape-client/src/main/java/class18.java +++ b/runescape-client/src/main/java/class18.java @@ -1,304 +1,69 @@ import java.util.Comparator; import java.util.Map.Entry; -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("j") +@ObfuscatedName("p") class class18 implements Comparator { - @ObfuscatedName("qp") - @ObfuscatedSignature( - descriptor = "Lpx;" - ) - @Export("privateChatMode") - static PrivateChatMode privateChatMode; // $FF: synthetic field @ObfuscatedSignature( - descriptor = "Ll;" + descriptor = "Ly;" ) final class10 this$0; @ObfuscatedSignature( - descriptor = "(Ll;)V" + descriptor = "(Ly;)V" ) class18(class10 var1) { this.this$0 = var1; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/util/Map$Entry;Ljava/util/Map$Entry;I)I", - garbageValue = "90026876" + garbageValue = "1973366143" ) - int method284(Entry var1, Entry var2) { + int method276(Entry var1, Entry var2) { return ((Float)var2.getValue()).compareTo((Float)var1.getValue()); } + public int compare(Object var1, Object var2) { + return this.method276((Entry)var1, (Entry)var2); + } + public boolean equals(Object var1) { return super.equals(var1); } - public int compare(Object var1, Object var2) { - return this.method284((Entry)var1, (Entry)var2); + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IS)Z", + garbageValue = "-8553" + ) + public static boolean method271(int var0) { + return (var0 & 1) != 0; } - @ObfuscatedName("d") + @ObfuscatedName("s") @ObfuscatedSignature( - descriptor = "(IIIIIIILhz;Lfk;I)V", - garbageValue = "-440274231" + descriptor = "(I)V", + garbageValue = "-1094271448" ) - static final void method279(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { - ObjectComposition var9 = HitSplatDefinition.getObjectDefinition(var4); - int var10; - int var11; - if (var5 != 1 && var5 != 3) { - var10 = var9.sizeX; - var11 = var9.sizeY; - } else { - var10 = var9.sizeY; - var11 = var9.sizeX; - } - - int var12; - int var13; - if (var10 + var2 <= 104) { - var12 = (var10 >> 1) + var2; - var13 = var2 + (var10 + 1 >> 1); - } else { - var12 = var2; - var13 = var2 + 1; - } - - int var14; - int var15; - if (var3 + var11 <= 104) { - var14 = var3 + (var11 >> 1); - var15 = var3 + (var11 + 1 >> 1); - } else { - var14 = var3; - var15 = var3 + 1; - } - - int[][] var16 = Tiles.Tiles_heights[var1]; - int var17 = var16[var13][var15] + var16[var12][var15] + var16[var12][var14] + var16[var13][var14] >> 2; - int var18 = (var2 << 7) + (var10 << 6); - int var19 = (var3 << 7) + (var11 << 6); - long var20 = ClanSettings.calculateTag(var2, var3, 2, var9.int1 == 0, var4); - int var22 = (var5 << 6) + var6; - if (var9.int3 == 1) { - var22 += 256; - } - - Object var30; - if (var6 == 22) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(22, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newFloorDecoration(var0, var2, var3, var17, (Renderable)var30, var20, var22); - if (var9.interactType == 1) { - var8.setBlockedByFloorDec(var2, var3); - } - - } else if (var6 != 10 && var6 != 11) { - if (var6 >= 12) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.method4291(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); - if (var9.interactType != 0) { - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 0) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(0, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field980[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3320(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 1) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(1, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field982[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3320(var2, var3, var6, var5, var9.boolean1); - } - - } else { - int var23; - if (var6 == 2) { - var23 = var5 + 1 & 3; - Object var25; - Object var31; - if (var9.animationId == -1 && var9.transforms == null) { - var31 = var9.getModel(2, var5 + 4, var16, var18, var17, var19); - var25 = var9.getModel(2, var23, var16, var18, var17, var19); - } else { - var31 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - var25 = new DynamicObject(var4, 2, var23, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var31, (Renderable)var25, Tiles.field980[var5], Tiles.field980[var23], var20, var22); - if (var9.interactType != 0) { - var8.method3320(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 3) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(3, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field982[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3320(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 9) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.method4291(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); - if (var9.interactType != 0) { - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 4) { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field980[var5], 0, 0, 0, var20, var22); - } else { - long var24; - Object var26; - if (var6 == 5) { - var23 = 16; - var24 = var7.getBoundaryObjectTag(var0, var2, var3); - if (var24 != 0L) { - var23 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var24)).int2; - } - - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, Tiles.field980[var5], 0, var23 * Tiles.field972[var5], var23 * Tiles.field984[var5], var20, var22); - } else if (var6 == 6) { - var23 = 8; - var24 = var7.getBoundaryObjectTag(var0, var2, var3); - if (var24 != 0L) { - var23 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var24)).int2 / 2; - } - - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, 256, var5, var23 * Tiles.field985[var5], var23 * Tiles.field973[var5], var20, var22); - } else if (var6 == 7) { - int var29 = var5 + 2 & 3; - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(4, var29 + 4, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 4, var29 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, 256, var29, 0, 0, var20, var22); - } else if (var6 == 8) { - var23 = 8; - var24 = var7.getBoundaryObjectTag(var0, var2, var3); - if (0L != var24) { - var23 = HitSplatDefinition.getObjectDefinition(HealthBarDefinition.Entity_unpackID(var24)).int2 / 2; - } - - int var28 = var5 + 2 & 3; - Object var27; - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); - var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)var27, 256, var5, var23 * Tiles.field985[var5], var23 * Tiles.field973[var5], var20, var22); - } - } - } - } else { - if (var9.animationId == -1 && var9.transforms == null) { - var30 = var9.getModel(10, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null); - } - - if (var30 != null) { - var7.method4291(var0, var2, var3, var17, var10, var11, (Renderable)var30, var6 == 11 ? 256 : 0, var20, var22); - } - - if (var9.interactType != 0) { - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } + static final void method282() { + Object var10000 = null; + String var0 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; + GraphicsDefaults.addGameMessage(30, "", var0); } - @ObfuscatedName("jp") + @ObfuscatedName("gb") @ObfuscatedSignature( - descriptor = "(IIIIIIII)V", - garbageValue = "821439705" + descriptor = "(I)V", + garbageValue = "-1318932458" ) - @Export("updateRootInterface") - static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (class317.loadInterface(var0)) { - FriendLoginUpdate.updateInterface(class139.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); + static void method280() { + if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { + class21.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); } - } - @ObfuscatedName("jn") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "377699280" - ) - @Export("Widget_resetModelFrames") - static final void Widget_resetModelFrames(int var0) { - if (class317.loadInterface(var0)) { - Widget[] var1 = class139.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3 != null) { - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - } - } - - } } } diff --git a/runescape-client/src/main/java/class184.java b/runescape-client/src/main/java/class184.java index 0d0bcac771..c803034226 100644 --- a/runescape-client/src/main/java/class184.java +++ b/runescape-client/src/main/java/class184.java @@ -1,659 +1,217 @@ -import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gt") +@ObfuscatedName("gu") public class class184 implements WorldMapSection { @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - @Export("Widget_spritesArchive") - public static AbstractArchive Widget_spritesArchive; - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - @Export("worldSelectLeftSprite") - static IndexedSprite worldSelectLeftSprite; - @ObfuscatedName("ce") - @ObfuscatedSignature( - descriptor = "Lcu;" - ) - @Export("mouseRecorder") - static MouseRecorder mouseRecorder; - @ObfuscatedName("n") @ObfuscatedGetter( - intValue = 1787653751 + intValue = 1718096021 ) - int field2093; - @ObfuscatedName("c") + int field2090; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = -488133759 - ) - int field2085; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1976143363 - ) - int field2095; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -2143369535 - ) - int field2087; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -353178983 - ) - int field2094; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 768564603 - ) - int field2089; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1740450095 - ) - int field2084; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -2133705891 + intValue = 1348333705 ) int field2091; - @ObfuscatedName("u") + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = -1064129903 + intValue = -5504601 ) int field2092; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 820070789 + ) + int field2093; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1959067269 + ) + int field2098; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 770443607 + ) + int field2095; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -154578139 + ) + int field2096; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1435895249 + ) + int field2097; @ObfuscatedName("e") @ObfuscatedGetter( - intValue = 1523705091 + intValue = 1827923729 ) - int field2088; + int field2100; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1128738871 + ) + int field2099; class184() { } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lfr;I)V", - garbageValue = "1411488256" + garbageValue = "2018229058" ) @Export("expandBounds") public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field2094) { - var1.regionLowX = this.field2094; + if (var1.regionLowX > this.field2098) { + var1.regionLowX = this.field2098; } - if (var1.regionHighX < this.field2094) { - var1.regionHighX = this.field2094; + if (var1.regionHighX < this.field2098) { + var1.regionHighX = this.field2098; } - if (var1.regionLowY > this.field2089) { - var1.regionLowY = this.field2089; + if (var1.regionLowY > this.field2095) { + var1.regionLowY = this.field2095; } - if (var1.regionHighY < this.field2089) { - var1.regionHighY = this.field2089; + if (var1.regionHighY < this.field2095) { + var1.regionHighY = this.field2095; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIII)Z", - garbageValue = "899981978" + garbageValue = "-964071790" ) @Export("containsCoord") public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.field2093 && var1 < this.field2085 + this.field2093) { - return var2 >= (this.field2095 << 6) + (this.field2084 << 3) && var2 <= (this.field2095 << 6) + (this.field2084 << 3) + 7 && var3 >= (this.field2087 << 6) + (this.field2091 << 3) && var3 <= (this.field2087 << 6) + (this.field2091 << 3) + 7; + if (var1 >= this.field2090 && var1 < this.field2090 + this.field2091) { + return var2 >= (this.field2092 << 6) + (this.field2096 << 3) && var2 <= (this.field2092 << 6) + (this.field2096 << 3) + 7 && var3 >= (this.field2093 << 6) + (this.field2097 << 3) && var3 <= (this.field2093 << 6) + (this.field2097 << 3) + 7; } else { return false; } } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(III)Z", - garbageValue = "-1579388425" + garbageValue = "381612084" ) @Export("containsPosition") public boolean containsPosition(int var1, int var2) { - return var1 >= (this.field2094 << 6) + (this.field2092 << 3) && var1 <= (this.field2094 << 6) + (this.field2092 << 3) + 7 && var2 >= (this.field2089 << 6) + (this.field2088 << 3) && var2 <= (this.field2089 << 6) + (this.field2088 << 3) + 7; + return var1 >= (this.field2098 << 6) + (this.field2100 << 3) && var1 <= (this.field2098 << 6) + (this.field2100 << 3) + 7 && var2 >= (this.field2095 << 6) + (this.field2099 << 3) && var2 <= (this.field2095 << 6) + (this.field2099 << 3) + 7; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "-1605422008" + descriptor = "(IIIB)[I", + garbageValue = "88" ) @Export("getBorderTileLengths") public int[] getBorderTileLengths(int var1, int var2, int var3) { if (!this.containsCoord(var1, var2, var3)) { return null; } else { - int[] var4 = new int[]{var2 + (this.field2094 * 64 - this.field2095 * 64) + (this.field2092 * 8 - this.field2084 * 8), var3 + (this.field2089 * 64 - this.field2087 * 64) + (this.field2088 * 8 - this.field2091 * 8)}; + int[] var4 = new int[]{var2 + (this.field2098 * 64 - this.field2092 * 64) + (this.field2100 * 8 - this.field2096 * 8), var3 + (this.field2095 * 64 - this.field2093 * 64) + (this.field2099 * 8 - this.field2097 * 8)}; return var4; } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(III)Liy;", - garbageValue = "1389329989" + descriptor = "(III)Lic;", + garbageValue = "2033247854" ) @Export("coord") public Coord coord(int var1, int var2) { if (!this.containsPosition(var1, var2)) { return null; } else { - int var3 = this.field2095 * 64 - this.field2094 * 64 + (this.field2084 * 8 - this.field2092 * 8) + var1; - int var4 = var2 + (this.field2087 * 64 - this.field2089 * 64) + (this.field2091 * 8 - this.field2088 * 8); - return new Coord(this.field2093, var3, var4); + int var3 = this.field2092 * 64 - this.field2098 * 64 + (this.field2096 * 8 - this.field2100 * 8) + var1; + int var4 = var2 + (this.field2093 * 64 - this.field2095 * 64) + (this.field2097 * 8 - this.field2099 * 8); + return new Coord(this.field2090, var3, var4); } } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-2069607106" + descriptor = "(Lot;B)V", + garbageValue = "4" ) @Export("read") public void read(Buffer var1) { - this.field2093 = var1.readUnsignedByte(); - this.field2085 = var1.readUnsignedByte(); - this.field2095 = var1.readUnsignedShort(); - this.field2084 = var1.readUnsignedByte(); - this.field2087 = var1.readUnsignedShort(); + this.field2090 = var1.readUnsignedByte(); this.field2091 = var1.readUnsignedByte(); - this.field2094 = var1.readUnsignedShort(); - this.field2092 = var1.readUnsignedByte(); - this.field2089 = var1.readUnsignedShort(); - this.field2088 = var1.readUnsignedByte(); - this.method3711(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1438305611" - ) - void method3711() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;ZII)V", - garbageValue = "-1532489295" - ) - static void method3725(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { - if (Login.clearLoginScreen) { - if (var3 == 4) { - Message.method1113(4); - } - - } else { - if (var3 == 0) { - MenuAction.method1876(var2); - } else { - Message.method1113(var3); - } - - Rasterizer2D.Rasterizer2D_clear(); - byte[] var4 = var0.takeFileByNames("title.jpg", ""); - class318.leftTitleSprite = class17.convertJpgToSprite(var4); - Login.rightTitleSprite = class318.leftTitleSprite.mirrorHorizontally(); - int var5 = Client.worldProperties; - if ((var5 & 536870912) != 0) { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); - } else if ((var5 & 1073741824) != 0) { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", ""); - } else { - class394.logoSprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); - } - - Login.titleboxSprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); - Login.titlebuttonSprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); - UserComparator8.field1312 = class196.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton_large", ""); - class14.field69 = class196.SpriteBuffer_getIndexedSpriteByName(var1, "play_now_text", ""); - class196.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton_wide42,1", ""); - Login.runesSprite = PacketBuffer.method6764(var1, "runes", ""); - class92.title_muteSprite = PacketBuffer.method6764(var1, "title_mute", ""); - ModelData0.options_buttons_0Sprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); - class21.field107 = class196.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); - Client.options_buttons_2Sprite = class196.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); - PlayerComposition.field3019 = class196.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); - class1.field3 = ModelData0.options_buttons_0Sprite.subWidth; - class280.field3323 = ModelData0.options_buttons_0Sprite.subHeight; - Login.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); - if (var2) { - Login.Login_username = ""; - Login.Login_password = ""; - } - - class274.field3274 = 0; - AbstractWorldMapIcon.otp = ""; - Login.field893 = true; - Login.worldSelectOpen = false; - if (!VarbitComposition.clientPreferences.titleMusicDisabled) { - Archive var6 = class276.archive6; - int var7 = var6.getGroupId("scape main"); - int var8 = var6.getFileId(var7, ""); - class247.musicPlayerStatus = 1; - class247.musicTrackArchive = var6; - class247.musicTrackGroupId = var7; - GrandExchangeOfferOwnWorldComparator.musicTrackFileId = var8; - class196.musicTrackVolume = 255; - class20.musicTrackBoolean = false; - class130.pcmSampleLength = 2; - } else { - class16.method218(2); - } - - if (NetCache.NetCache_socket != null) { - try { - Buffer var12 = new Buffer(4); - var12.writeByte(3); - var12.writeMedium(0); - NetCache.NetCache_socket.write(var12.array, 0, 4); - } catch (IOException var11) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var10) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - Login.clearLoginScreen = true; - Login.xPadding = (InvDefinition.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - class11.loginBoxCenter = Login.loginBoxX + 180; - class318.leftTitleSprite.drawAt(Login.xPadding, 0); - Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); - } + this.field2092 = var1.readUnsignedShort(); + this.field2096 = var1.readUnsignedByte(); + this.field2093 = var1.readUnsignedShort(); + this.field2097 = var1.readUnsignedByte(); + this.field2098 = var1.readUnsignedShort(); + this.field2100 = var1.readUnsignedByte(); + this.field2095 = var1.readUnsignedShort(); + this.field2099 = var1.readUnsignedByte(); + this.method3765(); } @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "761456408" + descriptor = "(B)V", + garbageValue = "1" ) - static int method3721(int var0, Script var1, boolean var2) { - String var7; - if (var0 == ScriptOpcodes.MES) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - SecureRandomCallable.addGameMessage(0, "", var7); - return 1; - } else if (var0 == ScriptOpcodes.ANIM) { - class240.Interpreter_intStackSize -= 2; - PacketWriter.performPlayerAnimation(class129.localPlayer, Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]); - return 1; - } else if (var0 == ScriptOpcodes.IF_CLOSE) { - if (!Interpreter.field827) { - Interpreter.field829 = true; - } + void method3765() { + } - return 1; - } else { - int var16; - if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var16 = 0; - if (Timer.isNumber(var7)) { - var16 = GrandExchangeOfferAgeComparator.method5303(var7); - } + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(IIIZIZB)V", + garbageValue = "1" + ) + @Export("doWorldSorting") + static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { + if (var0 < var1) { + int var6 = (var0 + var1) / 2; + int var7 = var0; + World var8 = class386.World_worlds[var6]; + class386.World_worlds[var6] = class386.World_worlds[var1]; + class386.World_worlds[var1] = var8; - PacketBufferNode var14 = FriendSystem.getPacketBufferNode(ClientPacket.field2665, Client.packetWriter.isaacCipher); - var14.packetBuffer.writeInt(var16); - Client.packetWriter.addNode(var14); - return 1; - } else { - PacketBufferNode var12; - if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2725, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeByte(var7.length() + 1); - var12.packetBuffer.writeStringCp1252NullTerminated(var7); - Client.packetWriter.addNode(var12); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2673, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeByte(var7.length() + 1); - var12.packetBuffer.writeStringCp1252NullTerminated(var7); - Client.packetWriter.addNode(var12); - return 1; - } else { - String var4; - int var10; - if (var0 == ScriptOpcodes.OPPLAYER) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class328.method5845(var10, var4); - return 1; - } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { - class240.Interpreter_intStackSize -= 3; - var10 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var16 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - int var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - Widget var15 = class87.getWidget(var9); - Canvas.clickWidget(var15, var10, var16); - return 1; - } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { - class240.Interpreter_intStackSize -= 2; - var10 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var16 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Widget var13 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - Canvas.clickWidget(var13, var10, var16); - return 1; - } else if (var0 == ScriptOpcodes.MOUSECAM) { - Script.mouseCam = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = VarbitComposition.clientPreferences.roofsHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { - VarbitComposition.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - DevicePcmPlayerProvider.savePreferences(); - return 1; - } else if (var0 == ScriptOpcodes.OPENURL) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - boolean var8 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Interpreter.openURL(var7, var8, false); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var12 = FriendSystem.getPacketBufferNode(ClientPacket.field2703, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeShort(var10); - Client.packetWriter.addNode(var12); - return 1; - } else if (var0 == ScriptOpcodes.BUG_REPORT) { - var10 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStackSize -= 2; - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - String var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (var4.length() > 500) { - return 1; - } else if (var5.length() > 500) { - return 1; - } else { - PacketBufferNode var6 = FriendSystem.getPacketBufferNode(ClientPacket.field2711, Client.packetWriter.isaacCipher); - var6.packetBuffer.writeShort(1 + BufferedSink.stringCp1252NullTerminatedByteSize(var4) + BufferedSink.stringCp1252NullTerminatedByteSize(var5)); - var6.packetBuffer.writeStringCp1252NullTerminated(var4); - var6.packetBuffer.writeStringCp1252NullTerminated(var5); - var6.packetBuffer.writeByte(var10); - Client.packetWriter.addNode(var6); - return 1; - } - } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { - Client.shiftClickDrop = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { - Client.showMouseOverText = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.RENDERSELF) { - Client.renderSelf = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == 3120) { - if (Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 1; - } else { - Client.drawPlayerNames &= -2; - } - - return 1; - } else if (var0 == 3121) { - if (Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 2; - } else { - Client.drawPlayerNames &= -3; - } - - return 1; - } else if (var0 == 3122) { - if (Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 4; - } else { - Client.drawPlayerNames &= -5; - } - - return 1; - } else if (var0 == 3123) { - if (Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 8; - } else { - Client.drawPlayerNames &= -9; - } - - return 1; - } else if (var0 == 3124) { - Client.drawPlayerNames = 0; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { - Client.showMouseCross = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { - Client.showLoadingMessages = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETTAPTODROP) { - class17.setTapToDrop(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1); - return 1; - } else if (var0 == ScriptOpcodes.GETTAPTODROP) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class138.getTapToDrop() ? 1 : 0; - return 1; - } else if (var0 == 3129) { - class240.Interpreter_intStackSize -= 2; - Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - return 1; - } else if (var0 == 3130) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3131) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = InvDefinition.canvasWidth; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = GameEngine.canvasHeight; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3136) { - Client.field650 = 3; - Client.field543 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3137) { - Client.field650 = 2; - Client.field543 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3138) { - Client.field650 = 0; - return 1; - } else if (var0 == 3139) { - Client.field650 = 1; - return 1; - } else if (var0 == 3140) { - Client.field650 = 3; - Client.field543 = var2 ? PacketWriter.scriptDotWidget.id * 296163183 * 1986537359 : class9.scriptActiveWidget.id * 296163183 * 1986537359; - return 1; - } else { - boolean var11; - if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { - var11 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - VarbitComposition.clientPreferences.hideUsername = var11; - DevicePcmPlayerProvider.savePreferences(); - return 1; - } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = VarbitComposition.clientPreferences.hideUsername ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { - var11 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - Client.Login_isUsernameRemembered = var11; - if (!var11) { - VarbitComposition.clientPreferences.rememberedUsername = ""; - DevicePcmPlayerProvider.savePreferences(); - } - - return 1; - } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SHOW_IOS_REVIEW) { - return 1; - } else if (var0 == 3146) { - var11 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (var11 == VarbitComposition.clientPreferences.titleMusicDisabled) { - VarbitComposition.clientPreferences.titleMusicDisabled = !var11; - DevicePcmPlayerProvider.savePreferences(); - } - - return 1; - } else if (var0 == 3147) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = VarbitComposition.clientPreferences.titleMusicDisabled ? 0 : 1; - return 1; - } else if (var0 == 3148) { - return 1; - } else if (var0 == 3149) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3150) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3151) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3152) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3153) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; - return 1; - } else if (var0 == 3154) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = UserComparator7.method2409(); - return 1; - } else if (var0 == 3155) { - --Interpreter.Interpreter_stringStackSize; - return 1; - } else if (var0 == 3156) { - return 1; - } else if (var0 == 3157) { - class240.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3158) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3159) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3160) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3161) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3162) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3163) { - --Interpreter.Interpreter_stringStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3164) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 == 3165) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3166) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3167) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3168) { - class240.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 == 3169) { - return 1; - } else if (var0 == 3170) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3171) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3172) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 3173) { - --class240.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3174) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 == 3175) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3176) { - return 1; - } else if (var0 == 3177) { - return 1; - } else if (var0 == 3178) { - --Interpreter.Interpreter_stringStackSize; - return 1; - } else if (var0 == 3179) { - return 1; - } else if (var0 == 3180) { - --Interpreter.Interpreter_stringStackSize; - return 1; - } else if (var0 == 3181) { - var10 = 100 - Math.min(Math.max(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize], 0), 100); - Varps.method4858((double)(0.5F + (float)var10 / 200.0F)); - return 1; - } else if (var0 == 3182) { - float var3 = ((float)VarbitComposition.clientPreferences.field1193 - 0.5F) * 200.0F; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 100 - Math.round(var3); - return 1; - } else if (var0 != 3183 && var0 != 3184) { - return 2; - } else { - --class240.Interpreter_intStackSize; - return 1; - } - } + for (int var9 = var0; var9 < var1; ++var9) { + if (Decimator.method1024(class386.World_worlds[var9], var8, var2, var3, var4, var5) <= 0) { + World var10 = class386.World_worlds[var9]; + class386.World_worlds[var9] = class386.World_worlds[var7]; + class386.World_worlds[var7++] = var10; } } + + class386.World_worlds[var1] = class386.World_worlds[var7]; + class386.World_worlds[var7] = var8; + doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); + doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); } + + } + + @ObfuscatedName("fk") + @ObfuscatedSignature( + descriptor = "(IIIS)V", + garbageValue = "-3304" + ) + @Export("queueSoundEffect") + static void queueSoundEffect(int var0, int var1, int var2) { + if (WorldMapDecorationType.clientPreferences.soundEffectsVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var0; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = 0; + ++Client.soundEffectCount; + } + } } diff --git a/runescape-client/src/main/java/class185.java b/runescape-client/src/main/java/class185.java index 1b5c0c72d8..082ea0379e 100644 --- a/runescape-client/src/main/java/class185.java +++ b/runescape-client/src/main/java/class185.java @@ -2,32 +2,20 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gs") +@ObfuscatedName("gh") public class class185 { - @ObfuscatedName("ik") - @ObfuscatedSignature( - descriptor = "(IIIIIB)V", - garbageValue = "-66" - ) - @Export("drawScrollBar") - static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { - ArchiveLoader.scrollBarSprites[0].drawAt(var0, var1); - ArchiveLoader.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field551); - int var5 = var3 * (var3 - 32) / var4; - if (var5 < 8) { - var5 = 8; - } + @ObfuscatedName("i") + public static short[][] field2101; + @ObfuscatedName("ak") + @Export("fontHelvetica13") + static java.awt.Font fontHelvetica13; - int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field552); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field600); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field600); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field600); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field600); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field603); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field603); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field603); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field603); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-58" + ) + public static int method3784(int var0) { + return class361.field4056[var0 & 16383]; } } diff --git a/runescape-client/src/main/java/class19.java b/runescape-client/src/main/java/class19.java index aacd4b603f..e447d5604d 100644 --- a/runescape-client/src/main/java/class19.java +++ b/runescape-client/src/main/java/class19.java @@ -1,86 +1,166 @@ import java.util.concurrent.Future; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("x") +@ObfuscatedName("z") public class class19 { - @ObfuscatedName("n") - Future field96; - @ObfuscatedName("c") - String field92; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1814549023 + ) + static int field98; + @ObfuscatedName("dn") + @ObfuscatedSignature( + descriptor = "Lep;" + ) + @Export("js5SocketTask") + static Task js5SocketTask; + @ObfuscatedName("l") + Future field101; + @ObfuscatedName("q") + String field99; class19(Future var1) { - this.field96 = var1; + this.field101 = var1; } class19(String var1) { - this.method303(var1); + this.method283(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "0" + descriptor = "(Ljava/lang/String;S)V", + garbageValue = "-12672" ) - void method303(String var1) { + void method283(String var1) { if (var1 == null) { var1 = ""; } - this.field92 = var1; - if (this.field96 != null) { - this.field96.cancel(true); - this.field96 = null; + this.field99 = var1; + if (this.field101 != null) { + this.field101.cancel(true); + this.field101 = null; } } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)Ljava/lang/String;", - garbageValue = "1087159010" + garbageValue = "1388329625" ) - public final String method291() { - return this.field92; + public final String method295() { + return this.field99; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-2125398132" + ) + public boolean method285() { + return this.field99 != null || this.field101 == null; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-93162153" + ) + public final boolean method286() { + return this.method285() ? true : this.field101.isDone(); } @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(S)Z", - garbageValue = "-19820" + descriptor = "(S)Lo;", + garbageValue = "255" ) - public boolean method292() { - return this.field92 != null || this.field96 == null; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "233238474" - ) - public final boolean method306() { - return this.method292() ? true : this.field96.isDone(); - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)Lt;", - garbageValue = "934125014" - ) - public final class21 method294() { - if (this.method292()) { - return new class21(this.field92); - } else if (!this.method306()) { + public final class21 method287() { + if (this.method285()) { + return new class21(this.field99); + } else if (!this.method286()) { return null; } else { try { - return (class21)this.field96.get(); + return (class21)this.field101.get(); } catch (Exception var3) { String var2 = "Error retrieving REST request reply"; System.err.println(var2 + "\r\n" + var3); - this.method303(var2); + this.method283(var2); return new class21(var2); } } } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-556332656" + ) + @Export("changeWorldSelectSorting") + static void changeWorldSelectSorting(int var0, int var1) { + int[] var2 = new int[4]; + int[] var3 = new int[4]; + var2[0] = var0; + var3[0] = var1; + int var4 = 1; + + for (int var5 = 0; var5 < 4; ++var5) { + if (World.World_sortOption1[var5] != var0) { + var2[var4] = World.World_sortOption1[var5]; + var3[var4] = World.World_sortOption2[var5]; + ++var4; + } + } + + World.World_sortOption1 = var2; + World.World_sortOption2 = var3; + class274.sortWorlds(class386.World_worlds, 0, class386.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(B)[Ljd;", + garbageValue = "-2" + ) + @Export("PlayerType_values") + public static PlayerType[] PlayerType_values() { + return new PlayerType[]{PlayerType.PlayerType_ultimateIronman, PlayerType.field3657, PlayerType.field3654, PlayerType.PlayerType_ironman, PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_hardcoreIronman, PlayerType.field3658, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_normal}; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "2070378051" + ) + static int method299(int var0, Script var1, boolean var2) { + Widget var3 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETX) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETY) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHIDE) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETLAYER) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/class194.java b/runescape-client/src/main/java/class194.java index 1ddf9cbbd5..65c7de15a0 100644 --- a/runescape-client/src/main/java/class194.java +++ b/runescape-client/src/main/java/class194.java @@ -3,31 +3,150 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gq") +@ObfuscatedName("gr") public class class194 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lgq;" + descriptor = "Lgr;" ) - static final class194 field2173; - @ObfuscatedName("c") + static final class194 field2189; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lgq;" + descriptor = "Lgr;" ) - static final class194 field2169; - @ObfuscatedName("m") + static final class194 field2184; + @ObfuscatedName("jf") @ObfuscatedGetter( - intValue = 1295743339 + intValue = -2080703643 + ) + static int field2186; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -814877491 ) @Export("value") final int value; static { - field2173 = new class194(0); - field2169 = new class194(1); + field2189 = new class194(0); + field2184 = new class194(1); } class194(int var1) { this.value = var1; } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "28" + ) + static void method3875(int var0, int var1, int var2, int var3) { + for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { + int var5 = 0; + if (var1 > var4.field807) { + var5 += var1 - var4.field807; + } else if (var1 < var4.x) { + var5 += var4.x - var1; + } + + if (var2 > var4.field803) { + var5 += var2 - var4.field803; + } else if (var2 < var4.y) { + var5 += var4.y - var2; + } + + if (var5 - 64 <= var4.field804 && WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume != 0 && var0 == var4.plane) { + var5 -= 64; + if (var5 < 0) { + var5 = 0; + } + + int var6 = (var4.field804 - var5) * WorldMapDecorationType.clientPreferences.areaSoundEffectsVolume / var4.field804; + if (var4.stream1 == null) { + if (var4.soundEffectId >= 0) { + SoundEffect var7 = SoundEffect.readSoundEffect(class260.archive4, var4.soundEffectId, 0); + if (var7 != null) { + RawSound var8 = var7.toRawSound().resample(RouteStrategy.decimator); + RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); + var9.setNumLoops(-1); + ApproximateRouteStrategy.pcmStreamMixer.addSubStream(var9); + var4.stream1 = var9; + } + } + } else { + var4.stream1.method891(var6); + } + + if (var4.stream2 == null) { + if (var4.soundEffectIds != null && (var4.field811 -= var3) <= 0) { + int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); + SoundEffect var12 = SoundEffect.readSoundEffect(class260.archive4, var4.soundEffectIds[var11], 0); + if (var12 != null) { + RawSound var13 = var12.toRawSound().resample(RouteStrategy.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); + var10.setNumLoops(0); + ApproximateRouteStrategy.pcmStreamMixer.addSubStream(var10); + var4.stream2 = var10; + var4.field811 = var4.field808 + (int)(Math.random() * (double)(var4.field809 - var4.field808)); + } + } + } else { + var4.stream2.method891(var6); + if (!var4.stream2.hasNext()) { + var4.stream2 = null; + } + } + } else { + if (var4.stream1 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var4.stream1); + var4.stream1 = null; + } + + if (var4.stream2 != null) { + ApproximateRouteStrategy.pcmStreamMixer.removeSubStream(var4.stream2); + var4.stream2 = null; + } + } + } + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-709809423" + ) + @Export("iLog") + public static int iLog(int var0) { + int var1 = 0; + if (var0 < 0 || var0 >= 65536) { + var0 >>>= 16; + var1 += 16; + } + + if (var0 >= 256) { + var0 >>>= 8; + var1 += 8; + } + + if (var0 >= 16) { + var0 >>>= 4; + var1 += 4; + } + + if (var0 >= 4) { + var0 >>>= 2; + var1 += 2; + } + + if (var0 >= 1) { + var0 >>>= 1; + ++var1; + } + + return var0 + var1; + } } diff --git a/runescape-client/src/main/java/class196.java b/runescape-client/src/main/java/class196.java index 4c1bae5bc6..cd7482dcbc 100644 --- a/runescape-client/src/main/java/class196.java +++ b/runescape-client/src/main/java/class196.java @@ -1,39 +1,73 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gv") +@ObfuscatedName("gq") public class class196 { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1476626857 - ) - @Export("musicTrackVolume") - public static int musicTrackVolume; - - @ObfuscatedName("o") + @ObfuscatedName("gy") @ObfuscatedSignature( - descriptor = "(Lkk;Ljava/lang/String;Ljava/lang/String;I)Loi;", - garbageValue = "-224990659" + descriptor = "Lnd;" ) - @Export("SpriteBuffer_getIndexedSpriteByName") - public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - return class279.method5080(var0, var3, var4); + @Export("WorldMapElement_fonts") + static Fonts WorldMapElement_fonts; + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;ZI)[B", + garbageValue = "-333035229" + ) + public static byte[] method3888(Object var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0 instanceof byte[]) { + byte[] var3 = (byte[])((byte[])var0); + return var1 ? method3889(var3) : var3; + } else if (var0 instanceof AbstractByteArrayCopier) { + AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; + return var2.get(); + } else { + throw new IllegalArgumentException(); + } } - @ObfuscatedName("fa") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "79555324" + descriptor = "(IIII)Lbe;", + garbageValue = "-162700802" ) - static void method3819(int var0, int var1) { - if (VarbitComposition.clientPreferences.musicVolume != 0 && var0 != -1) { - Decimator.method1051(class318.archive11, var0, 0, VarbitComposition.clientPreferences.musicVolume, false); - Client.field728 = true; + @Export("getWorldMapScript") + static Script getWorldMapScript(int var0, int var1, int var2) { + int var3 = FaceNormal.method4396(var1, var0); + Script var4 = Tiles.method2023(var3, var0); + if (var4 != null) { + return var4; + } else { + int var5 = (-3 - var2 << 8) + var0; + var4 = Tiles.method2023(var5, var0); + return var4 != null ? var4 : null; } + } + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "([BB)[B", + garbageValue = "-74" + ) + public static byte[] method3889(byte[] var0) { + int var1 = var0.length; + byte[] var2 = new byte[var1]; + System.arraycopy(var0, 0, var2, 0, var1); + return var2; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-11" + ) + static final void method3881() { + Object var10000 = null; + String var0 = "Your friend list is full. Max of 200 for free users, and 400 for members"; + GraphicsDefaults.addGameMessage(30, "", var0); } } diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index 385f85dbe0..87f9b0617f 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("m") +@ObfuscatedName("f") public interface class2 { } diff --git a/runescape-client/src/main/java/class20.java b/runescape-client/src/main/java/class20.java index 305d8167e4..4847bb25e4 100644 --- a/runescape-client/src/main/java/class20.java +++ b/runescape-client/src/main/java/class20.java @@ -1,25 +1,22 @@ import java.io.IOException; import java.util.concurrent.Callable; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("b") +@ObfuscatedName("h") public class class20 implements Callable { - @ObfuscatedName("tf") - @ObfuscatedSignature( - descriptor = "Lbj;" + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = -1667881213 ) - @Export("friendSystem") - public static FriendSystem friendSystem; + static int field103; @ObfuscatedName("l") - @Export("musicTrackBoolean") - public static boolean musicTrackBoolean; - @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "Ll;" + descriptor = "Ly;" ) - final class10 field98; + final class10 field104; // $FF: synthetic field @ObfuscatedSignature( descriptor = "Ls;" @@ -27,41 +24,76 @@ public class class20 implements Callable { final class14 this$0; @ObfuscatedSignature( - descriptor = "(Ls;Ll;)V" + descriptor = "(Ls;Ly;)V" ) class20(class14 var1, class10 var2) { this.this$0 = var1; - this.field98 = var2; + this.field104 = var2; } public Object call() throws Exception { try { - while (this.field98.method97()) { - PlayerType.method5099(10L); + while (this.field104.method94()) { + class121.method2542(10L); } } catch (IOException var2) { return new class21("Error servicing REST query: " + var2.getMessage()); } - return this.field98.method111(); + return this.field104.method98(); } - @ObfuscatedName("u") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "317393662" + descriptor = "(IIII)I", + garbageValue = "846387799" ) - public static void method314() { - WorldMapElement.WorldMapElement_cachedSprites.clear(); + static final int method303(int var0, int var1, int var2) { + int var3 = var0 / var2; + int var4 = var0 & var2 - 1; + int var5 = var1 / var2; + int var6 = var1 & var2 - 1; + int var7 = Clock.method2867(var3, var5); + int var8 = Clock.method2867(var3 + 1, var5); + int var9 = Clock.method2867(var3, var5 + 1); + int var10 = Clock.method2867(var3 + 1, var5 + 1); + int var11 = class157.method2986(var7, var8, var4, var2); + int var12 = class157.method2986(var9, var10, var4, var2); + return class157.method2986(var11, var12, var6, var2); } - @ObfuscatedName("y") + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "996219685" + ) + @Export("Login_promptCredentials") + static void Login_promptCredentials(boolean var0) { + Login.Login_response1 = ""; + Login.Login_response2 = "Enter your username/email & password."; + Login.Login_response3 = ""; + class112.method2474(2); + if (var0) { + Login.Login_password = ""; + } + + Login.method1930(); + class14.method175(); + } + + @ObfuscatedName("fi") @ObfuscatedSignature( descriptor = "(I)V", - garbageValue = "1673294569" + garbageValue = "935368725" ) - public static void method310() { - SequenceDefinition.SequenceDefinition_cached.clear(); - SequenceDefinition.SequenceDefinition_cachedFrames.clear(); + static final void method302() { + if (Client.logoutTimer > 0) { + AttackOption.logOut(); + } else { + Client.timer.method5904(); + UserList.updateGameState(40); + PendingSpawn.field1101 = Client.packetWriter.getSocket(); + Client.packetWriter.removeSocket(); + } } } diff --git a/runescape-client/src/main/java/class21.java b/runescape-client/src/main/java/class21.java index 8a0bf66062..b143403c46 100644 --- a/runescape-client/src/main/java/class21.java +++ b/runescape-client/src/main/java/class21.java @@ -3,36 +3,50 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("t") +@ObfuscatedName("o") public class class21 { - @ObfuscatedName("f") + @ObfuscatedName("ai") + @Export("client") @ObfuscatedSignature( - descriptor = "Loi;" + descriptor = "Lclient;" ) - static IndexedSprite field107; - @ObfuscatedName("n") + static Client client; + @ObfuscatedName("hw") + @ObfuscatedSignature( + descriptor = "Lon;" + ) + @Export("redHintArrowSprite") + static SpritePixels redHintArrowSprite; + @ObfuscatedName("hf") + @ObfuscatedSignature( + descriptor = "[Lon;" + ) + @Export("headIconPkSprites") + static SpritePixels[] headIconPkSprites; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1947507319 + intValue = -290366261 ) - final int field105; - @ObfuscatedName("c") - final String field109; + final int field112; + @ObfuscatedName("q") + final String field107; class21(String var1) { - this.field105 = 400; - this.field109 = ""; + this.field112 = 400; + this.field107 = ""; } class21(HttpURLConnection var1) throws IOException { - this.field105 = var1.getResponseCode(); + this.field112 = var1.getResponseCode(); var1.getResponseMessage(); var1.getHeaderFields(); StringBuilder var2 = new StringBuilder(); - InputStream var3 = this.field105 >= 300 ? var1.getErrorStream() : var1.getInputStream(); + InputStream var3 = this.field112 >= 300 ? var1.getErrorStream() : var1.getInputStream(); if (var3 != null) { InputStreamReader var4 = new InputStreamReader(var3); BufferedReader var5 = new BufferedReader(var4); @@ -45,35 +59,87 @@ public class class21 { var3.close(); } - this.field109 = var2.toString(); + this.field107 = var2.toString(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "45126595" + garbageValue = "-1111587783" ) public int method317() { - return this.field105; + return this.field112; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(I)Ljava/lang/String;", - garbageValue = "-1396906157" + garbageValue = "637043556" ) - public String method316() { - return this.field109; + public String method312() { + return this.field107; } - @ObfuscatedName("ef") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Lkx;Ljava/lang/String;I)V", - garbageValue = "1344267675" + descriptor = "(II)Lfh;", + garbageValue = "-2146545092" ) - static void method323(Archive var0, String var1) { - ArchiveLoader var2 = new ArchiveLoader(var0, var1); - Client.archiveLoaders.add(var2); - Client.field763 += var2.groupCount; + @Export("SpotAnimationDefinition_get") + public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { + SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); + var1 = new SpotAnimationDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("gj") + @ObfuscatedSignature( + descriptor = "(Lci;ZB)V", + garbageValue = "-27" + ) + @Export("addPlayerToScene") + static void addPlayerToScene(Player var0, boolean var1) { + if (var0 != null && var0.isVisible() && !var0.isHidden) { + var0.isUnanimated = false; + if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.idleSequence == var0.movementSequence) { + var0.isUnanimated = true; + } + + int var2 = var0.x >> 7; + int var3 = var0.y >> 7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + long var4 = class247.calculateTag(0, 0, 0, false, var0.index); + if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { + var0.isUnanimated = false; + var0.tileHeight = MidiPcmStream.getTileHeight(var0.x, var0.y, VertexNormal.Client_plane); + var0.playerCycle = Client.cycle; + PlayerComposition.scene.addNullableObject(VertexNormal.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.minX, var0.minY, var0.maxX, var0.maxY); + } else { + if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { + if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { + return; + } + + Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; + } + + var0.tileHeight = MidiPcmStream.getTileHeight(var0.x, var0.y, VertexNormal.Client_plane); + var0.playerCycle = Client.cycle; + PlayerComposition.scene.drawEntity(VertexNormal.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); + } + } + } + } } diff --git a/runescape-client/src/main/java/class228.java b/runescape-client/src/main/java/class228.java index d9b42f6911..29acfc8923 100644 --- a/runescape-client/src/main/java/class228.java +++ b/runescape-client/src/main/java/class228.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("hf") +@ObfuscatedName("hc") public interface class228 extends class230 { } diff --git a/runescape-client/src/main/java/class229.java b/runescape-client/src/main/java/class229.java index e633d382d9..4b479d721b 100644 --- a/runescape-client/src/main/java/class229.java +++ b/runescape-client/src/main/java/class229.java @@ -2,32 +2,23 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ho") +@ObfuscatedName("hf") public abstract class class229 implements class231 { - @ObfuscatedName("so") + @ObfuscatedName("dk") @ObfuscatedGetter( - intValue = 601316141 + longValue = -3046607098526418011L ) - static int field2624; - @ObfuscatedName("n") + static long field2643; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 305376963 + intValue = 1504963209 ) - protected int field2625; + protected int field2645; @ObfuscatedSignature( - descriptor = "(Lju;Lka;I)V" + descriptor = "(Ljz;Lkn;I)V" ) protected class229(StudioGame var1, Language var2, int var3) { - this.field2625 = var3; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "1720011828" - ) - public static int method4497(int var0) { - return class360.field4033[var0 & 16383]; + this.field2645 = var3; } } diff --git a/runescape-client/src/main/java/class230.java b/runescape-client/src/main/java/class230.java index af603cb9fc..9ef1f1887e 100644 --- a/runescape-client/src/main/java/class230.java +++ b/runescape-client/src/main/java/class230.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("hu") +@ObfuscatedName("he") public interface class230 { } diff --git a/runescape-client/src/main/java/class231.java b/runescape-client/src/main/java/class231.java index 4fc5f43922..d66968d9e7 100644 --- a/runescape-client/src/main/java/class231.java +++ b/runescape-client/src/main/java/class231.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ha") +@ObfuscatedName("hh") public interface class231 extends Iterable { } diff --git a/runescape-client/src/main/java/class232.java b/runescape-client/src/main/java/class232.java index 4bcde108ac..0426706cbc 100644 --- a/runescape-client/src/main/java/class232.java +++ b/runescape-client/src/main/java/class232.java @@ -1,7 +1,7 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("hx") +@ObfuscatedName("hv") public interface class232 { - @ObfuscatedName("n") - void method4499(Object var1); + @ObfuscatedName("l") + void method4582(Object var1); } diff --git a/runescape-client/src/main/java/class238.java b/runescape-client/src/main/java/class238.java index 20c3192ce1..a85e7f00d4 100644 --- a/runescape-client/src/main/java/class238.java +++ b/runescape-client/src/main/java/class238.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ig") +@ObfuscatedName("iy") public interface class238 { } diff --git a/runescape-client/src/main/java/class240.java b/runescape-client/src/main/java/class240.java index 80b247f334..e7d31ffd18 100644 --- a/runescape-client/src/main/java/class240.java +++ b/runescape-client/src/main/java/class240.java @@ -1,78 +1,70 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ip") +@ObfuscatedName("id") public class class240 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2755; - @ObfuscatedName("c") + public static final class240 field2767; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2749; + public static final class240 field2768; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lid;" + ) + public static final class240 field2769; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lid;" + ) + public static final class240 field2770; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2751; + public static final class240 field2775; @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2752; - @ObfuscatedName("o") + public static final class240 field2772; + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2753; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lip;" - ) - public static final class240 field2760; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lip;" - ) - public static final class240 field2750; + public static final class240 field2773; @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2756; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lip;" - ) - public static final class240 field2757; + public static final class240 field2774; @ObfuscatedName("e") @ObfuscatedSignature( - descriptor = "Lip;" + descriptor = "Lid;" ) - public static final class240 field2758; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 593938417 + public static final class240 field2776; + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lid;" ) - @Export("Interpreter_intStackSize") - static int Interpreter_intStackSize; + public static final class240 field2771; static { - field2755 = new class240(5); - field2749 = new class240(2); - field2751 = new class240(3); - field2752 = new class240(5); - field2753 = new class240(14); - field2760 = new class240(6); - field2750 = new class240(4); - field2756 = new class240(4); - field2757 = new class240(7); - field2758 = new class240(15); + field2767 = new class240(5); + field2768 = new class240(4); + field2769 = new class240(2); + field2770 = new class240(6); + field2775 = new class240(15); + field2772 = new class240(3); + field2773 = new class240(14); + field2774 = new class240(5); + field2776 = new class240(7); + field2771 = new class240(4); } @ObfuscatedSignature( diff --git a/runescape-client/src/main/java/class244.java b/runescape-client/src/main/java/class244.java index 9d65b90c35..66b3552b69 100644 --- a/runescape-client/src/main/java/class244.java +++ b/runescape-client/src/main/java/class244.java @@ -1,9 +1,80 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ih") +@ObfuscatedName("iu") public class class244 { - @ObfuscatedName("hq") - @Export("xteaKeys") - static int[][] xteaKeys; + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "Lov;" + ) + @Export("rasterProvider") + public static AbstractRasterProvider rasterProvider; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)I", + garbageValue = "2061618856" + ) + public static int method4662(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 <= 127) { + ++var2; + } else if (var4 <= 2047) { + var2 += 2; + } else { + var2 += 3; + } + } + + return var2; + } + + @ObfuscatedName("jy") + @ObfuscatedSignature( + descriptor = "(Ljt;B)Z", + garbageValue = "-116" + ) + static final boolean method4661(Widget var0) { + int var1 = var0.contentType; + if (var1 == 205) { + Client.logoutTimer = 250; + return true; + } else { + int var2; + int var3; + if (var1 >= 300 && var1 <= 313) { + var2 = (var1 - 300) / 2; + var3 = var1 & 1; + Client.playerAppearance.changeAppearance(var2, var3 == 1); + } + + if (var1 >= 314 && var1 <= 323) { + var2 = (var1 - 314) / 2; + var3 = var1 & 1; + Client.playerAppearance.method4953(var2, var3 == 1); + } + + if (var1 == 324) { + Client.playerAppearance.changeSex(false); + } + + if (var1 == 325) { + Client.playerAppearance.changeSex(true); + } + + if (var1 == 326) { + PacketBufferNode var4 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2675, Client.packetWriter.isaacCipher); + Client.playerAppearance.write(var4.packetBuffer); + Client.packetWriter.addNode(var4); + return true; + } else { + return false; + } + } + } } diff --git a/runescape-client/src/main/java/class245.java b/runescape-client/src/main/java/class245.java index 604324e566..b951a6eaa0 100644 --- a/runescape-client/src/main/java/class245.java +++ b/runescape-client/src/main/java/class245.java @@ -2,43 +2,69 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("if") +@ObfuscatedName("ir") public class class245 { - @ObfuscatedName("n") - static int[] field2885; - @ObfuscatedName("m") + @ObfuscatedName("l") + static int[] field2899; + @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Ljt;" ) - @Export("HitSplatDefinition_fontsArchive") - static AbstractArchive HitSplatDefinition_fontsArchive; + @Export("scriptActiveWidget") + static Widget scriptActiveWidget; static { new Object(); - field2885 = new int[33]; - field2885[0] = 0; + field2899 = new int[33]; + field2899[0] = 0; int var0 = 2; for (int var1 = 1; var1 < 33; ++var1) { - field2885[var1] = var0 - 1; + field2899[var1] = var0 - 1; var0 += var0; } } - @ObfuscatedName("fl") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1083617881" + descriptor = "(II)Lfo;", + garbageValue = "-1547455637" ) - static final void method4590() { - if (Client.logoutTimer > 0) { - class16.logOut(); + @Export("getObjectDefinition") + public static ObjectComposition getObjectDefinition(int var0) { + ObjectComposition var1 = (ObjectComposition)ObjectComposition.ObjectDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; } else { - Client.timer.method5822(); - HealthBarUpdate.updateGameState(40); - NetCache.field3738 = Client.packetWriter.getSocket(); - Client.packetWriter.removeSocket(); + byte[] var2 = ObjectComposition.ObjectDefinition_archive.takeFile(6, var0); + var1 = new ObjectComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + if (var1.isSolid) { + var1.interactType = 0; + var1.boolean1 = false; + } + + ObjectComposition.ObjectDefinition_cached.put(var1, (long)var0); + return var1; } } + + @ObfuscatedName("kl") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2146798091" + ) + static final void method4681() { + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.method2127(); + } + + } } diff --git a/runescape-client/src/main/java/class247.java b/runescape-client/src/main/java/class247.java index 3380105bcf..b63c7f6e61 100644 --- a/runescape-client/src/main/java/class247.java +++ b/runescape-client/src/main/java/class247.java @@ -2,197 +2,76 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("is") +@ObfuscatedName("io") public class class247 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("musicPatchesArchive") public static AbstractArchive musicPatchesArchive; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lkk;" + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 3354000453036338827L ) - @Export("musicSamplesArchive") - public static AbstractArchive musicSamplesArchive; - @ObfuscatedName("m") + static long field2919; + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lkl;" ) @Export("soundEffectsArchive") public static AbstractArchive soundEffectsArchive; - @ObfuscatedName("o") + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("midiPcmStream") + public static MidiPcmStream midiPcmStream; + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 1496881371 + intValue = 707697237 ) @Export("musicPlayerStatus") public static int musicPlayerStatus; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -413440179 + ) + @Export("musicTrackVolume") + public static int musicTrackVolume; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1828900963 + ) + @Export("pcmSampleLength") + public static int pcmSampleLength; + @ObfuscatedName("y") + @Export("musicTrackBoolean") + public static boolean musicTrackBoolean; @ObfuscatedName("g") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lat;" ) - @Export("musicTrackArchive") - public static AbstractArchive musicTrackArchive; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -130563317 - ) - @Export("musicTrackGroupId") - public static int musicTrackGroupId; + @Export("soundCache") + public static SoundCache soundCache; static { musicPlayerStatus = 0; } - @ObfuscatedName("n") + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-90" + descriptor = "(IIIZIB)J", + garbageValue = "121" ) - @Export("getVarbit") - public static int getVarbit(int var0) { - VarbitComposition var1 = WorldMapIcon_0.method3741(var0); - int var2 = var1.baseVar; - int var3 = var1.startBit; - int var4 = var1.endBit; - int var5 = Varps.Varps_masks[var4 - var3]; - return Varps.Varps_main[var2] >> var3 & var5; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-78" - ) - static int method4617(int var0, Script var1, boolean var2) { - int var4; - int var9; - if (var0 == ScriptOpcodes.CC_CREATE) { - class240.Interpreter_intStackSize -= 3; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - int var11 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - if (var4 == 0) { - throw new RuntimeException(); - } else { - Widget var6 = class87.getWidget(var9); - if (var6.children == null) { - var6.children = new Widget[var11 + 1]; - } - - if (var6.children.length <= var11) { - Widget[] var7 = new Widget[var11 + 1]; - - for (int var8 = 0; var8 < var6.children.length; ++var8) { - var7[var8] = var6.children[var8]; - } - - var6.children = var7; - } - - if (var11 > 0 && var6.children[var11 - 1] == null) { - throw new RuntimeException("" + (var11 - 1)); - } else { - Widget var12 = new Widget(); - var12.type = var4; - var12.parentId = var12.id = var6.id; - var12.childIndex = var11; - var12.isIf3 = true; - var6.children[var11] = var12; - if (var2) { - PacketWriter.scriptDotWidget = var12; - } else { - class9.scriptActiveWidget = var12; - } - - Actor.invalidateWidget(var6); - return 1; - } - } - } else { - Widget var3; - if (var0 == ScriptOpcodes.CC_DELETE) { - var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - Widget var10 = class87.getWidget(var3.id); - var10.children[var3.childIndex] = null; - Actor.invalidateWidget(var10); - return 1; - } else if (var0 == ScriptOpcodes.CC_DELETEALL) { - var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - var3.children = null; - Actor.invalidateWidget(var3); - return 1; - } else if (var0 == 103) { - class240.Interpreter_intStackSize -= 3; - return 1; - } else if (var0 == 104) { - --class240.Interpreter_intStackSize; - return 1; - } else if (var0 != ScriptOpcodes.CC_FIND) { - if (var0 == ScriptOpcodes.IF_FIND) { - var3 = class87.getWidget(Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]); - if (var3 != null) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - if (var2) { - PacketWriter.scriptDotWidget = var3; - } else { - class9.scriptActiveWidget = var3; - } - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == 202) { - Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] = 0; - return 1; - } else if (var0 == 203) { - Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize + 1] = 0; - return 1; - } else { - return 2; - } - } else { - class240.Interpreter_intStackSize -= 2; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - Widget var5 = ParamComposition.getWidgetChild(var9, var4); - if (var5 != null && var4 != -1) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 1; - if (var2) { - PacketWriter.scriptDotWidget = var5; - } else { - class9.scriptActiveWidget = var5; - } - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } - - @ObfuscatedName("fu") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "93" - ) - @Export("forceDisconnect") - static final void forceDisconnect(int var0) { - class16.logOut(); - switch(var0) { - case 1: - Message.method1113(24); - PlatformInfo.setLoginResponseString("", "You were disconnected from the server.", ""); - break; - case 2: - Message.method1113(24); - PlatformInfo.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); + @Export("calculateTag") + public static long calculateTag(int var0, int var1, int var2, boolean var3, int var4) { + long var5 = (long)((var0 & 127) << 0 | (var1 & 127) << 7 | (var2 & 3) << 14) | ((long)var4 & 4294967295L) << 17; + if (var3) { + var5 |= 65536L; } + return var5; } } diff --git a/runescape-client/src/main/java/class258.java b/runescape-client/src/main/java/class258.java index 9df47f05ef..a24110d8fd 100644 --- a/runescape-client/src/main/java/class258.java +++ b/runescape-client/src/main/java/class258.java @@ -2,31 +2,27 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ik") +@ObfuscatedName("ia") public class class258 { - @ObfuscatedName("e") + @ObfuscatedName("he") @ObfuscatedSignature( - descriptor = "Lam;" + descriptor = "(I)V", + garbageValue = "542029233" ) - @Export("soundSystem") - static SoundSystem soundSystem; + @Export("Widget_runOnTargetLeave") + static void Widget_runOnTargetLeave() { + if (Client.isSpellSelected) { + Widget var0 = ViewportMouse.getWidgetChild(ModelData0.selectedSpellWidget, Client.selectedSpellChildIndex); + if (var0 != null && var0.onTargetLeave != null) { + ScriptEvent var1 = new ScriptEvent(); + var1.widget = var0; + var1.args = var0.onTargetLeave; + ViewportMouse.runScriptEvent(var1); + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lkk;IIB)Loc;", - garbageValue = "15" - ) - @Export("SpriteBuffer_getSprite") - public static SpritePixels SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { - return !VertexNormal.method4477(var0, var1, var2) ? null : AbstractSocket.method6108(); - } - - @ObfuscatedName("hj") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "73" - ) - static final boolean method4892() { - return Client.isMenuOpen; + Client.field647 = -1; + Client.isSpellSelected = false; + class16.invalidateWidget(var0); + } } } diff --git a/runescape-client/src/main/java/class260.java b/runescape-client/src/main/java/class260.java index 3785e97f93..209410160f 100644 --- a/runescape-client/src/main/java/class260.java +++ b/runescape-client/src/main/java/class260.java @@ -1,98 +1,28 @@ -import java.lang.management.GarbageCollectorMXBean; -import java.lang.management.ManagementFactory; -import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("js") +@ObfuscatedName("je") public class class260 { - @ObfuscatedName("n") - public static final short[] field3030; - @ObfuscatedName("c") - public static final short[][] field3024; - @ObfuscatedName("m") - public static final short[] field3026; - @ObfuscatedName("k") - public static final short[][] field3027; - @ObfuscatedName("y") + @ObfuscatedName("l") + public static final short[] field3034; + @ObfuscatedName("q") + public static final short[][] field3030; + @ObfuscatedName("f") + public static final short[] field3033; + @ObfuscatedName("j") + public static final short[][] field3031; + @ObfuscatedName("es") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Lky;" ) - @Export("Widget_fontsArchive") - public static AbstractArchive Widget_fontsArchive; - @ObfuscatedName("ep") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive3") - static Archive archive3; + @Export("archive4") + static Archive archive4; static { - field3030 = new short[]{6798, 8741, 25238, 4626, 4550}; - field3024 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; - field3026 = new short[]{-10304, 9104, -1, -1, -1}; - field3027 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([Lkj;II)Lkj;", - garbageValue = "-1313750666" - ) - @Export("findEnumerated") - public static MouseWheel findEnumerated(MouseWheel[] var0, int var1) { - MouseWheel[] var2 = var0; - - for (int var3 = 0; var3 < var2.length; ++var3) { - MouseWheel var4 = var2[var3]; - if (var1 == var4.rsOrdinal()) { - return var4; - } - } - - return null; - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "464673727" - ) - @Export("getGcDuration") - protected static int getGcDuration() { - int var0 = 0; - if (class4.garbageCollector == null || !class4.garbageCollector.isValid()) { - try { - Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); - - while (var1.hasNext()) { - GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); - if (var2.isValid()) { - class4.garbageCollector = var2; - GameEngine.garbageCollectorLastCheckTimeMs = -1L; - GameEngine.garbageCollectorLastCollectionTime = -1L; - } - } - } catch (Throwable var11) { - } - } - - if (class4.garbageCollector != null) { - long var9 = Occluder.method4335(); - long var3 = class4.garbageCollector.getCollectionTime(); - if (-1L != GameEngine.garbageCollectorLastCollectionTime) { - long var5 = var3 - GameEngine.garbageCollectorLastCollectionTime; - long var7 = var9 - GameEngine.garbageCollectorLastCheckTimeMs; - if (var7 != 0L) { - var0 = (int)(var5 * 100L / var7); - } - } - - GameEngine.garbageCollectorLastCollectionTime = var3; - GameEngine.garbageCollectorLastCheckTimeMs = var9; - } - - return var0; + field3034 = new short[]{6798, 8741, 25238, 4626, 4550}; + field3030 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; + field3033 = new short[]{-10304, 9104, -1, -1, -1}; + field3031 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; } } diff --git a/runescape-client/src/main/java/class262.java b/runescape-client/src/main/java/class262.java index 5e222f226e..e62dbd6e8f 100644 --- a/runescape-client/src/main/java/class262.java +++ b/runescape-client/src/main/java/class262.java @@ -1,62 +1,206 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jh") +@ObfuscatedName("jf") public class class262 { - @ObfuscatedName("g") + @ObfuscatedName("gp") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "Llt;" ) - @Export("ItemDefinition_archive") - static AbstractArchive ItemDefinition_archive; - @ObfuscatedName("gv") - @ObfuscatedSignature( - descriptor = "Lca;" - ) - @Export("urlRequester") - static UrlRequester urlRequester; - @ObfuscatedName("hi") - @Export("regionMapArchiveIds") - static int[] regionMapArchiveIds; + @Export("fontPlain12") + static Font fontPlain12; - @ObfuscatedName("c") + @ObfuscatedName("ak") @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-92" + descriptor = "(ILbe;ZB)I", + garbageValue = "49" ) - public static int method5001(int var0) { - return class360.field4035[var0 & 16383]; - } + static int method5063(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; + return 1; + } else { + int var13; + if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var13 == 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var13 == 2 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var13 == 5 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var13 == 1 ? 1 : 0; + return 1; + } else { + boolean var12; + if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { + var12 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class6.grandExchangeEvents != null) { + class6.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var12); + } - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)I", - garbageValue = "-163228645" - ) - public static int method5002(String var0) { - return var0.length() + 2; - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { + var12 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class6.grandExchangeEvents != null) { + class6.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var12); + } - @ObfuscatedName("kc") - @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "-1091946178" - ) - static void method4999(Buffer var0, int var1) { - byte[] var2 = var0.array; - if (Client.randomDatData == null) { - Client.randomDatData = new byte[24]; - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var12 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + boolean var11 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1] == 1; + if (class6.grandExchangeEvents != null) { + Client.GrandExchangeEvents_worldComparator.filterWorlds = var11; + class6.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var12); + } - class321.writeRandomDat(var2, var1, Client.randomDatData, 0, 24); - if (JagexCache.JagexCache_randomDat != null) { - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); - } catch (Exception var4) { + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { + var12 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class6.grandExchangeEvents != null) { + class6.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var12); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { + var12 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize] == 1; + if (class6.grandExchangeEvents != null) { + class6.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var12); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class6.grandExchangeEvents == null ? 0 : class6.grandExchangeEvents.events.size(); + return 1; + } else { + GrandExchangeEvent var4; + if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.world; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.getOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var4.getPreviousOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + long var5 = UserComparator4.method2406() - class119.field1395 - var4.age; + int var7 = (int)(var5 / 3600000L); + int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); + int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); + String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var10; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)class6.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.id; + return 1; + } else { + return 2; + } + } } } + } + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "-79" + ) + static int method5062(int var0, Script var1, boolean var2) { + if (var0 == 7100) { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 7101) { + class54.Interpreter_stringStackSize += 2; + return 1; + } else if (var0 != 7102 && var0 != 7103 && var0 != 7104 && var0 != 7105 && var0 != 7109) { + if (var0 == 7106) { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 7107) { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } else if (var0 == 7108) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class268.method5103() ? 1 : 0; + return 1; + } else if (var0 == 7110) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 7120) { + --AbstractByteArrayCopier.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 7121) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == 7122) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + return 2; + } + } else { + ++AbstractByteArrayCopier.Interpreter_intStackSize; + return 1; + } } } diff --git a/runescape-client/src/main/java/class264.java b/runescape-client/src/main/java/class264.java index d6d5185598..fc53850bbc 100644 --- a/runescape-client/src/main/java/class264.java +++ b/runescape-client/src/main/java/class264.java @@ -1,13 +1,128 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jj") +@ObfuscatedName("jo") public class class264 { - @ObfuscatedName("n") + @ObfuscatedName("qe") @ObfuscatedSignature( - descriptor = "Ljc;" + descriptor = "Llz;" + ) + @Export("friendsChat") + static FriendsChat friendsChat; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Ljn;" ) @Export("huffman") - static Huffman huffman; + public static Huffman huffman; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lkl;Lkl;Lkl;Lig;I)Z", + garbageValue = "455170296" + ) + public static boolean method5077(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) { + class247.musicPatchesArchive = var0; + GrandExchangeOfferWorldComparator.musicSamplesArchive = var1; + class247.soundEffectsArchive = var2; + class247.midiPcmStream = var3; + return true; + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-1155481157" + ) + static int method5071(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Client.field744 = (short)Friend.method6004(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]); + if (Client.field744 <= 0) { + Client.field744 = 256; + } + + Client.field747 = (short)Friend.method6004(Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]); + if (Client.field747 <= 0) { + Client.field747 = 256; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + Client.zoomHeight = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Client.zoomHeight <= 0) { + Client.zoomHeight = 256; + } + + Client.zoomWidth = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (Client.zoomWidth <= 0) { + Client.zoomWidth = 320; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + Client.field748 = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + if (Client.field748 <= 0) { + Client.field748 = 1; + } + + Client.field749 = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + if (Client.field749 <= 0) { + Client.field749 = 32767; + } else if (Client.field749 < Client.field748) { + Client.field749 = Client.field748; + } + + Client.field750 = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + if (Client.field750 <= 0) { + Client.field750 = 1; + } + + Client.field501 = (short)Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + if (Client.field501 <= 0) { + Client.field501 = 32767; + } else if (Client.field501 < Client.field750) { + Client.field501 = Client.field750; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { + if (Client.viewportWidget != null) { + class130.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.viewportWidth; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.viewportHeight; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.zoomHeight; + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.zoomWidth; + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class300.method5458(Client.field744); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = class300.method5458(Client.field747); + return 1; + } else if (var0 == 6220) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6221) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6222) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Huffman.canvasWidth; + return 1; + } else if (var0 == 6223) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = MouseRecorder.canvasHeight; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/class268.java b/runescape-client/src/main/java/class268.java index 3ce77158f0..4d2df752ac 100644 --- a/runescape-client/src/main/java/class268.java +++ b/runescape-client/src/main/java/class268.java @@ -1,7 +1,52 @@ import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jv") +@ObfuscatedName("ja") public class class268 { - @ObfuscatedName("v") - static boolean field3217; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1895350617" + ) + static void method5104() { + KeyHandler.field145 = new int[2000]; + int var0 = 0; + int var1 = 240; + + int var3; + for (byte var2 = 12; var0 < 16; var1 -= var2) { + var3 = class134.method2708((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)((float)var0 * 0.425F / 16.0F + 0.075F)); + KeyHandler.field145[var0] = var3; + ++var0; + } + + var1 = 48; + + for (int var5 = var1 / 6; var0 < KeyHandler.field145.length; var1 -= var5) { + var3 = var0 * 2; + + for (int var4 = class134.method2708((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var3 && var0 < KeyHandler.field145.length; ++var0) { + KeyHandler.field145[var0] = var4; + } + } + + } + + @ObfuscatedName("ha") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-53" + ) + static final boolean method5103() { + return Client.isMenuOpen; + } + + @ObfuscatedName("jg") + static final void method5105(double var0) { + Rasterizer3D.Rasterizer3D_setBrightness(var0); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(var0); + ItemComposition.ItemDefinition_cachedSprites.clear(); + WorldMapDecorationType.clientPreferences.brightness = var0; + ScriptFrame.savePreferences(); + } } diff --git a/runescape-client/src/main/java/class269.java b/runescape-client/src/main/java/class269.java index 6042f23132..3a6253afad 100644 --- a/runescape-client/src/main/java/class269.java +++ b/runescape-client/src/main/java/class269.java @@ -3,51 +3,51 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jb") +@ObfuscatedName("jp") public enum class269 implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljb;" + descriptor = "Ljp;" ) - field3224(0), - @ObfuscatedName("c") + field3217(0), + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljb;" + descriptor = "Ljp;" ) - field3221(1), + field3220(1), + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Ljp;" + ) + field3216(2), + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Ljp;" + ) + field3219(3), @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Ljb;" + descriptor = "Ljp;" ) - field3222(2), - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Ljb;" - ) - field3226(3), - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Ljb;" - ) - field3220(4); + field3224(4); - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedGetter( - intValue = -181144539 + intValue = 659223025 ) - final int field3225; + final int field3218; class269(int var3) { - this.field3225 = var3; + this.field3218 = var3; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field3225; + return this.field3218; } } diff --git a/runescape-client/src/main/java/class27.java b/runescape-client/src/main/java/class27.java index 9778563bc1..7a478907d0 100644 --- a/runescape-client/src/main/java/class27.java +++ b/runescape-client/src/main/java/class27.java @@ -5,21 +5,21 @@ import netscape.javascript.JSObject; @ObfuscatedName("ad") public class class27 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/applet/Applet;Ljava/lang/String;I)V", - garbageValue = "-536254708" + garbageValue = "1346370498" ) - public static void method397(Applet var0, String var1) throws Throwable { + public static void method405(Applet var0, String var1) throws Throwable { JSObject.getWindow(var0).eval(var1); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/applet/Applet;Ljava/lang/String;B)Ljava/lang/Object;", - garbageValue = "38" + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;[Ljava/lang/Object;I)Ljava/lang/Object;", + garbageValue = "2078687871" ) - public static Object method398(Applet var0, String var1) throws Throwable { - return JSObject.getWindow(var0).call(var1, (Object[])null); + public static Object method406(Applet var0, String var1, Object[] var2) throws Throwable { + return JSObject.getWindow(var0).call(var1, var2); } } diff --git a/runescape-client/src/main/java/class272.java b/runescape-client/src/main/java/class272.java new file mode 100644 index 0000000000..486caf8526 --- /dev/null +++ b/runescape-client/src/main/java/class272.java @@ -0,0 +1,9 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("jq") +public class class272 { + @ObfuscatedName("r") + @Export("userHomeDirectory") + static String userHomeDirectory; +} diff --git a/runescape-client/src/main/java/class273.java b/runescape-client/src/main/java/class273.java deleted file mode 100644 index 72862a3a80..0000000000 --- a/runescape-client/src/main/java/class273.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jt") -public class class273 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lao;" - ) - @Export("soundCache") - static SoundCache soundCache; -} diff --git a/runescape-client/src/main/java/class274.java b/runescape-client/src/main/java/class274.java index 51302c72c0..972c321b1f 100644 --- a/runescape-client/src/main/java/class274.java +++ b/runescape-client/src/main/java/class274.java @@ -1,150 +1,117 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jn") +@ObfuscatedName("ju") public final class class274 { - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 2076517525 - ) - static int field3274; - - @ObfuscatedName("u") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1507695704" + descriptor = "([Lbc;II[I[II)V", + garbageValue = "726094210" ) - static final void method5065(String var0) { - SecureRandomCallable.addGameMessage(30, "", var0); - } + @Export("sortWorlds") + static void sortWorlds(World[] var0, int var1, int var2, int[] var3, int[] var4) { + if (var1 < var2) { + int var5 = var1 - 1; + int var6 = var2 + 1; + int var7 = (var2 + var1) / 2; + World var8 = var0[var7]; + var0[var7] = var0[var1]; + var0[var1] = var8; - @ObfuscatedName("hs") - @ObfuscatedSignature( - descriptor = "(ZLoq;I)V", - garbageValue = "388487038" - ) - @Export("loadRegions") - static final void loadRegions(boolean var0, PacketBuffer var1) { - Client.isInInstance = var0; - int var2; - int var4; - int var5; - int var6; - int var7; - int var8; - if (!Client.isInInstance) { - var2 = var1.readUnsignedShort(); - int var3 = var1.readUnsignedShort(); - var4 = var1.readUnsignedShort(); - class244.xteaKeys = new int[var4][4]; + while (var5 < var6) { + boolean var9 = true; - for (var5 = 0; var5 < var4; ++var5) { - for (var6 = 0; var6 < 4; ++var6) { - class244.xteaKeys[var5][var6] = var1.readInt(); - } - } + int var10; + int var11; + int var12; + do { + --var6; - class87.regions = new int[var4]; - class262.regionMapArchiveIds = new int[var4]; - UserComparator6.regionLandArchiveIds = new int[var4]; - WorldMapData_0.regionLandArchives = new byte[var4][]; - class16.regionMapArchives = new byte[var4][]; - boolean var16 = false; - if (Client.field538) { - if ((var3 / 8 == 48 || var3 / 8 == 49) && var2 / 8 == 48) { - var16 = true; - } + for (var10 = 0; var10 < 4; ++var10) { + if (var3[var10] == 2) { + var11 = var0[var6].index; + var12 = var8.index; + } else if (var3[var10] == 1) { + var11 = var0[var6].population; + var12 = var8.population; + if (var11 == -1 && var4[var10] == 1) { + var11 = 2001; + } - if (var3 / 8 == 48 && var2 / 8 == 148) { - var16 = true; - } - } - - var4 = 0; - - for (var6 = (var3 - 6) / 8; var6 <= (var3 + 6) / 8; ++var6) { - for (var7 = (var2 - 6) / 8; var7 <= (var2 + 6) / 8; ++var7) { - var8 = var7 + (var6 << 8); - if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { - class87.regions[var4] = var8; - class262.regionMapArchiveIds[var4] = ObjectComposition.archive5.getGroupId("m" + var6 + "_" + var7); - UserComparator6.regionLandArchiveIds[var4] = ObjectComposition.archive5.getGroupId("l" + var6 + "_" + var7); - ++var4; - } - } - } - - TaskHandler.method2739(var3, var2, true); - } else { - var2 = var1.method6855(); - boolean var15 = var1.readUnsignedByte() == 1; - var4 = var1.readUnsignedShort(); - var5 = var1.readUnsignedShort(); - var1.importIndex(); - - int var9; - for (var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - for (var8 = 0; var8 < 13; ++var8) { - var9 = var1.readBits(1); - if (var9 == 1) { - Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); + if (var12 == -1 && var4[var10] == 1) { + var12 = 2001; + } + } else if (var3[var10] == 3) { + var11 = var0[var6].isMembersOnly() ? 1 : 0; + var12 = var8.isMembersOnly() ? 1 : 0; } else { - Client.instanceChunkTemplates[var6][var7][var8] = -1; + var11 = var0[var6].id; + var12 = var8.id; + } + + if (var11 != var12) { + if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) { + var9 = false; + } + break; + } + + if (var10 == 3) { + var9 = false; } } - } - } + } while(var9); - var1.exportIndex(); - class244.xteaKeys = new int[var5][4]; + var9 = true; - for (var6 = 0; var6 < var5; ++var6) { - for (var7 = 0; var7 < 4; ++var7) { - class244.xteaKeys[var6][var7] = var1.readInt(); - } - } + do { + ++var5; - class87.regions = new int[var5]; - class262.regionMapArchiveIds = new int[var5]; - UserComparator6.regionLandArchiveIds = new int[var5]; - WorldMapData_0.regionLandArchives = new byte[var5][]; - class16.regionMapArchives = new byte[var5][]; - var5 = 0; - - for (var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - for (var8 = 0; var8 < 13; ++var8) { - var9 = Client.instanceChunkTemplates[var6][var7][var8]; - if (var9 != -1) { - int var10 = var9 >> 14 & 1023; - int var11 = var9 >> 3 & 2047; - int var12 = (var10 / 8 << 8) + var11 / 8; - - int var13; - for (var13 = 0; var13 < var5; ++var13) { - if (class87.regions[var13] == var12) { - var12 = -1; - break; - } + for (var10 = 0; var10 < 4; ++var10) { + if (var3[var10] == 2) { + var11 = var0[var5].index; + var12 = var8.index; + } else if (var3[var10] == 1) { + var11 = var0[var5].population; + var12 = var8.population; + if (var11 == -1 && var4[var10] == 1) { + var11 = 2001; } - if (var12 != -1) { - class87.regions[var5] = var12; - var13 = var12 >> 8 & 255; - int var14 = var12 & 255; - class262.regionMapArchiveIds[var5] = ObjectComposition.archive5.getGroupId("m" + var13 + "_" + var14); - UserComparator6.regionLandArchiveIds[var5] = ObjectComposition.archive5.getGroupId("l" + var13 + "_" + var14); - ++var5; + if (var12 == -1 && var4[var10] == 1) { + var12 = 2001; } + } else if (var3[var10] == 3) { + var11 = var0[var5].isMembersOnly() ? 1 : 0; + var12 = var8.isMembersOnly() ? 1 : 0; + } else { + var11 = var0[var5].id; + var12 = var8.id; + } + + if (var12 != var11) { + if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) { + var9 = false; + } + break; + } + + if (var10 == 3) { + var9 = false; } } + } while(var9); + + if (var5 < var6) { + World var13 = var0[var5]; + var0[var5] = var0[var6]; + var0[var6] = var13; } } - TaskHandler.method2739(var4, var2, !var15); + sortWorlds(var0, var1, var6, var3, var4); + sortWorlds(var0, var6 + 1, var2, var3, var4); } } diff --git a/runescape-client/src/main/java/class275.java b/runescape-client/src/main/java/class275.java index 7bbffa1b37..822b7dbe0c 100644 --- a/runescape-client/src/main/java/class275.java +++ b/runescape-client/src/main/java/class275.java @@ -1,216 +1,193 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("je") +@ObfuscatedName("jv") public class class275 { - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - static IndexedSprite field3281; - static { Math.sqrt(8192.0D); } - @ObfuscatedName("g") - public static int method5066(long var0) { - return (int)(var0 >>> 7 & 127L); + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(IIIB)I", + garbageValue = "-1" + ) + static int method5120(int var0, int var1, int var2) { + if (var2 > 179) { + var1 /= 2; + } + + if (var2 > 192) { + var1 /= 2; + } + + if (var2 > 217) { + var1 /= 2; + } + + if (var2 > 243) { + var1 /= 2; + } + + int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; + return var3; } - @ObfuscatedName("fb") + @ObfuscatedName("ik") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1975228173" + descriptor = "(Lfg;IIII)V", + garbageValue = "67788539" ) - static final void method5067() { - int var0; - int var1; - int var2; - int var3; - int var4; - int var5; - if (Client.oculusOrbState == 0) { - var0 = class129.localPlayer.x; - var1 = class129.localPlayer.y; - if (WorldMapID.oculusOrbFocalPointX - var0 < -500 || WorldMapID.oculusOrbFocalPointX - var0 > 500 || WorldMapRectangle.oculusOrbFocalPointY - var1 < -500 || WorldMapRectangle.oculusOrbFocalPointY - var1 > 500) { - WorldMapID.oculusOrbFocalPointX = var0; - WorldMapRectangle.oculusOrbFocalPointY = var1; + @Export("addNpcToMenu") + static final void addNpcToMenu(NPCComposition var0, int var1, int var2, int var3) { + if (Client.menuOptionsCount < 400) { + if (var0.transforms != null) { + var0 = var0.transform(); } - if (var0 != WorldMapID.oculusOrbFocalPointX) { - WorldMapID.oculusOrbFocalPointX += (var0 - WorldMapID.oculusOrbFocalPointX) / 16; - } + if (var0 != null) { + if (var0.isInteractable) { + if (!var0.isFollower || Client.followerIndex == var1) { + String var4 = var0.name; + int var7; + int var8; + if (var0.combatLevel != 0) { + var7 = var0.combatLevel; + var8 = class67.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = FloorUnderlayDefinition.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = FloorUnderlayDefinition.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = FloorUnderlayDefinition.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = FloorUnderlayDefinition.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = FloorUnderlayDefinition.colorStartTag(65280); + } else if (var9 > 6) { + var6 = FloorUnderlayDefinition.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = FloorUnderlayDefinition.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = FloorUnderlayDefinition.colorStartTag(12648192); + } else { + var6 = FloorUnderlayDefinition.colorStartTag(16776960); + } - if (var1 != WorldMapRectangle.oculusOrbFocalPointY) { - WorldMapRectangle.oculusOrbFocalPointY += (var1 - WorldMapRectangle.oculusOrbFocalPointY) / 16; - } - - var2 = WorldMapID.oculusOrbFocalPointX >> 7; - var3 = WorldMapRectangle.oculusOrbFocalPointY >> 7; - var4 = GraphicsObject.getTileHeight(WorldMapID.oculusOrbFocalPointX, WorldMapRectangle.oculusOrbFocalPointY, class391.Client_plane); - var5 = 0; - int var6; - if (var2 > 3 && var3 > 3 && var2 < 100 && var3 < 100) { - for (var6 = var2 - 4; var6 <= var2 + 4; ++var6) { - for (int var7 = var3 - 4; var7 <= var3 + 4; ++var7) { - int var8 = class391.Client_plane; - if (var8 < 3 && (Tiles.Tiles_renderFlags[1][var6][var7] & 2) == 2) { - ++var8; + var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; } - int var9 = var4 - Tiles.Tiles_heights[var8][var6][var7]; - if (var9 > var5) { - var5 = var9; + if (var0.isFollower && Client.followerOpsLowPriority) { + GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(16776960) + var4, 1003, var1, var2, var3); } + + if (Client.isItemSelected == 1) { + GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16776960) + var4, 7, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((ObjectComposition.selectedSpellFlags & 2) == 2) { + GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16776960) + var4, 8, var1, var2, var3); + } + } else { + int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; + String[] var11 = var0.actions; + if (var11 != null) { + for (var7 = 4; var7 >= 0; --var7) { + if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { + var8 = 0; + if (var7 == 0) { + var8 = var10 + 9; + } + + if (var7 == 1) { + var8 = var10 + 10; + } + + if (var7 == 2) { + var8 = var10 + 11; + } + + if (var7 == 3) { + var8 = var10 + 12; + } + + if (var7 == 4) { + var8 = var10 + 13; + } + + GameBuild.insertMenuItemNoShift(var11[var7], FloorUnderlayDefinition.colorStartTag(16776960) + var4, var8, var1, var2, var3); + } + } + } + + if (var11 != null) { + for (var7 = 4; var7 >= 0; --var7) { + if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { + short var12 = 0; + if (Client.npcAttackOption != AttackOption.AttackOption_hidden) { + if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > class67.localPlayer.combatLevel) { + var12 = 2000; + } + + var8 = 0; + if (var7 == 0) { + var8 = var12 + 9; + } + + if (var7 == 1) { + var8 = var12 + 10; + } + + if (var7 == 2) { + var8 = var12 + 11; + } + + if (var7 == 3) { + var8 = var12 + 12; + } + + if (var7 == 4) { + var8 = var12 + 13; + } + + GameBuild.insertMenuItemNoShift(var11[var7], FloorUnderlayDefinition.colorStartTag(16776960) + var4, var8, var1, var2, var3); + } + } + } + } + + if (!var0.isFollower || !Client.followerOpsLowPriority) { + GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + } + } + } } } + } + } - var6 = var5 * 192; - if (var6 > 98048) { - var6 = 98048; - } - - if (var6 < 32768) { - var6 = 32768; - } - - if (var6 > Client.field483) { - Client.field483 += (var6 - Client.field483) / 24; - } else if (var6 < Client.field483) { - Client.field483 += (var6 - Client.field483) / 80; - } - - ClanSettings.field1473 = GraphicsObject.getTileHeight(class129.localPlayer.x, class129.localPlayer.y, class391.Client_plane) - Client.camFollowHeight; - } else if (Client.oculusOrbState == 1) { - if (Client.field741 && class129.localPlayer != null) { - var0 = class129.localPlayer.pathX[0]; - var1 = class129.localPlayer.pathY[0]; - if (var0 >= 0 && var1 >= 0 && var0 < 104 && var1 < 104) { - WorldMapID.oculusOrbFocalPointX = class129.localPlayer.x; - var2 = GraphicsObject.getTileHeight(class129.localPlayer.x, class129.localPlayer.y, class391.Client_plane) - Client.camFollowHeight; - if (var2 < ClanSettings.field1473) { - ClanSettings.field1473 = var2; - } - - WorldMapRectangle.oculusOrbFocalPointY = class129.localPlayer.y; - Client.field741 = false; - } - } - - short var10 = -1; - if (KeyHandler.KeyHandler_pressedKeys[33]) { - var10 = 0; - } else if (KeyHandler.KeyHandler_pressedKeys[49]) { - var10 = 1024; - } - - if (KeyHandler.KeyHandler_pressedKeys[48]) { - if (var10 == 0) { - var10 = 1792; - } else if (var10 == 1024) { - var10 = 1280; - } else { - var10 = 1536; - } - } else if (KeyHandler.KeyHandler_pressedKeys[50]) { - if (var10 == 0) { - var10 = 256; - } else if (var10 == 1024) { - var10 = 768; - } else { - var10 = 512; - } - } - - byte var11 = 0; - if (KeyHandler.KeyHandler_pressedKeys[35]) { - var11 = -1; - } else if (KeyHandler.KeyHandler_pressedKeys[51]) { - var11 = 1; - } - - var2 = 0; - if (var10 >= 0 || var11 != 0) { - var2 = KeyHandler.KeyHandler_pressedKeys[81] ? Client.oculusOrbSlowedSpeed * 972759825 * -87413263 : Client.oculusOrbNormalSpeed * 2061027769 * -51221367; - var2 *= 16; - Client.field566 = var10; - Client.field567 = var11; - } - - if (Client.field565 < var2) { - Client.field565 += var2 / 8; - if (Client.field565 > var2) { - Client.field565 = var2; - } - } else if (Client.field565 > var2) { - Client.field565 = Client.field565 * 9 / 10; - } - - if (Client.field565 > 0) { - var3 = Client.field565 / 16; - if (Client.field566 >= 0) { - var0 = Client.field566 - Fonts.cameraYaw & 2047; - var4 = Rasterizer3D.Rasterizer3D_sine[var0]; - var5 = Rasterizer3D.Rasterizer3D_cosine[var0]; - WorldMapID.oculusOrbFocalPointX += var4 * var3 / 65536; - WorldMapRectangle.oculusOrbFocalPointY += var3 * var5 / 65536; - } - - if (Client.field567 != 0) { - ClanSettings.field1473 += var3 * Client.field567; - if (ClanSettings.field1473 > 0) { - ClanSettings.field1473 = 0; - } - } - } else { - Client.field566 = -1; - Client.field567 = -1; - } - - if (KeyHandler.KeyHandler_pressedKeys[13]) { - class295.method5306(); + @ObfuscatedName("kx") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-1085415659" + ) + static final void method5121(int var0, int var1) { + ClanChannel var2 = var0 >= 0 ? Client.currentClanChannels[var0] : GrandExchangeOfferNameComparator.guestClanChannel; + if (var2 != null && var1 >= 0 && var1 < var2.method2729()) { + ClanChannelMember var3 = (ClanChannelMember)var2.members.get(var1); + if (var3.rank == -1) { + String var4 = var3.username.getName(); + PacketWriter var5 = Client.packetWriter; + PacketBufferNode var6 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2694, var5.isaacCipher); + var6.packetBuffer.writeByte(3 + class113.stringCp1252NullTerminatedByteSize(var4)); + var6.packetBuffer.writeByte(var0); + var6.packetBuffer.writeShort(var1); + var6.packetBuffer.writeStringCp1252NullTerminated(var4); + var5.addNode(var6); } } - - if (MouseHandler.MouseHandler_currentButton == 4 && Script.mouseCam) { - var0 = MouseHandler.MouseHandler_y - Client.mouseCamClickedY; - Client.camAngleDX = var0 * 2; - Client.mouseCamClickedY = var0 != -1 && var0 != 1 ? (MouseHandler.MouseHandler_y + Client.mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y * 1256288259 * -447169877; - var1 = Client.mouseCamClickedX - MouseHandler.MouseHandler_x; - Client.camAngleDY = var1 * 2; - Client.mouseCamClickedX = var1 != -1 && var1 != 1 ? (MouseHandler.MouseHandler_x + Client.mouseCamClickedX) / 2 : MouseHandler.MouseHandler_x * -849531271 * -1434592311; - } else { - if (KeyHandler.KeyHandler_pressedKeys[96]) { - Client.camAngleDY += (-24 - Client.camAngleDY) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[97]) { - Client.camAngleDY += (24 - Client.camAngleDY) / 2; - } else { - Client.camAngleDY /= 2; - } - - if (KeyHandler.KeyHandler_pressedKeys[98]) { - Client.camAngleDX += (12 - Client.camAngleDX) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[99]) { - Client.camAngleDX += (-12 - Client.camAngleDX) / 2; - } else { - Client.camAngleDX /= 2; - } - - Client.mouseCamClickedY = MouseHandler.MouseHandler_y; - Client.mouseCamClickedX = MouseHandler.MouseHandler_x; - } - - Client.camAngleY = Client.camAngleDY / 2 + Client.camAngleY & 2047; - Client.camAngleX += Client.camAngleDX / 2; - if (Client.camAngleX < 128) { - Client.camAngleX = 128; - } - - if (Client.camAngleX > 383) { - Client.camAngleX = 383; - } - } } diff --git a/runescape-client/src/main/java/class276.java b/runescape-client/src/main/java/class276.java index 01cc3b802c..0ebb4efd94 100644 --- a/runescape-client/src/main/java/class276.java +++ b/runescape-client/src/main/java/class276.java @@ -1,49 +1,47 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jy") +@ObfuscatedName("jh") public class class276 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljy;" + descriptor = "Ljh;" ) static final class276 field3288; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljy;" + descriptor = "Ljh;" ) - static final class276 field3284; - @ObfuscatedName("o") + static final class276 field3289; + @ObfuscatedName("f") @ObfuscatedGetter( - intValue = 1122226659 + intValue = 508241625 ) - public static int field3287; - @ObfuscatedName("ev") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive6") - static Archive archive6; - @ObfuscatedName("m") + final int field3287; + @ObfuscatedName("j") @ObfuscatedGetter( - intValue = -1759841683 + intValue = -259156431 ) - final int field3285; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1740989175 - ) - final int field3286; + final int field3290; static { field3288 = new class276(51, 27, 800, 0, 16, 16); - field3284 = new class276(25, 28, 800, 656, 40, 40); + field3289 = new class276(25, 28, 800, 656, 40, 40); } class276(int var1, int var2, int var3, int var4, int var5, int var6) { - this.field3285 = var5; - this.field3286 = var6; + this.field3287 = var5; + this.field3290 = var6; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2081287191" + ) + public static void method5122() { + SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); + SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); } } diff --git a/runescape-client/src/main/java/class279.java b/runescape-client/src/main/java/class279.java index a5af9a6ee5..9f3f53cc9f 100644 --- a/runescape-client/src/main/java/class279.java +++ b/runescape-client/src/main/java/class279.java @@ -1,19 +1,82 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ji") +@ObfuscatedName("jw") public class class279 { - @ObfuscatedName("ft") - @Export("worldHost") - static String worldHost; - - @ObfuscatedName("n") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(Lkk;III)Loi;", - garbageValue = "-1377827748" + descriptor = "([BI)V", + garbageValue = "-176182481" ) - static IndexedSprite method5080(AbstractArchive var0, int var1, int var2) { - return !VertexNormal.method4477(var0, var1, var2) ? null : WorldMapAreaData.method3896(); + @Export("ByteArrayPool_release") + public static synchronized void ByteArrayPool_release(byte[] var0) { + if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < ByteArrayPool.field3891) { + ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; + } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < ByteArrayPool.field3892) { + ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; + } else if (var0.length == 10000 && ByteArrayPool.ByteArrayPool_largeCount < ByteArrayPool.field3899) { + ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; + } else if (var0.length == 30000 && ByteArrayPool.field3890 < ByteArrayPool.field3897) { + ByteArrayPool.field3898[++ByteArrayPool.field3890 - 1] = var0; + } else { + if (class117.ByteArrayPool_arrays != null) { + for (int var1 = 0; var1 < GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes.length; ++var1) { + if (var0.length == GrandExchangeOfferUnitPriceComparator.ByteArrayPool_alternativeSizes[var1] && Message.ByteArrayPool_altSizeArrayCounts[var1] < class117.ByteArrayPool_arrays[var1].length) { + class117.ByteArrayPool_arrays[var1][Message.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; + return; + } + } + } + + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)I", + garbageValue = "1917653548" + ) + public static int method5134(CharSequence var0) { + return Language.method5477(var0, 10, true); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(ILbe;ZI)I", + garbageValue = "-1269647448" + ) + static int method5136(int var0, Script var1, boolean var2) { + Widget var5; + if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { + var5 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.itemId; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { + var5 = HealthBarUpdate.getWidget(Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]); + if (var5.itemId != -1) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var5.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.IF_HASSUB) { + int var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3); + if (var4 != null) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTOP) { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = Client.rootInterface; + return 1; + } else { + return 2; + } } } diff --git a/runescape-client/src/main/java/class28.java b/runescape-client/src/main/java/class28.java index 2ccbea32a0..0fcf865e38 100644 --- a/runescape-client/src/main/java/class28.java +++ b/runescape-client/src/main/java/class28.java @@ -1,401 +1,30 @@ import javax.imageio.ImageIO; import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("al") +@ObfuscatedName("as") public class class28 { - @ObfuscatedName("sb") - @ObfuscatedGetter( - intValue = -2075417739 - ) - static int field170; - @ObfuscatedName("u") - static int[][] field169; - @ObfuscatedName("l") - public static short[] field167; - @ObfuscatedName("ey") + @ObfuscatedName("ew") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "Lky;" ) - @Export("archive20") - static Archive archive20; + @Export("archive14") + static Archive archive14; + @ObfuscatedName("hb") + @Export("regionLandArchives") + static byte[][] regionLandArchives; static { ImageIO.setUseCache(false); } - @ObfuscatedName("n") + @ObfuscatedName("aw") @ObfuscatedSignature( - descriptor = "(Lkk;Lkk;I)I", - garbageValue = "535006753" + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "-487974188" ) - static int method408(AbstractArchive var0, AbstractArchive var1) { - int var2 = 0; - String[] var3 = Login.field869; - - int var4; - String var5; - for (var4 = 0; var4 < var3.length; ++var4) { - var5 = var3[var4]; - if (var0.tryLoadFileByNames(var5, "")) { - ++var2; - } - } - - var3 = Login.field892; - - for (var4 = 0; var4 < var3.length; ++var4) { - var5 = var3[var4]; - if (var1.tryLoadFileByNames(var5, "")) { - ++var2; - } - } - - return var2; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1137494946" - ) - public static boolean method402(int var0) { - return (var0 >> 20 & 1) != 0; - } - - @ObfuscatedName("l") - static final void method401(long var0) { - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var0; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "([BB)V", - garbageValue = "-85" - ) - @Export("SpriteBuffer_decode") - public static void SpriteBuffer_decode(byte[] var0) { - Buffer var1 = new Buffer(var0); - var1.offset = var0.length - 2; - class413.SpriteBuffer_spriteCount = var1.readUnsignedShort(); - class413.SpriteBuffer_xOffsets = new int[class413.SpriteBuffer_spriteCount]; - class413.SpriteBuffer_yOffsets = new int[class413.SpriteBuffer_spriteCount]; - InvDefinition.SpriteBuffer_spriteWidths = new int[class413.SpriteBuffer_spriteCount]; - class413.SpriteBuffer_spriteHeights = new int[class413.SpriteBuffer_spriteCount]; - class283.SpriteBuffer_pixels = new byte[class413.SpriteBuffer_spriteCount][]; - var1.offset = var0.length - 7 - class413.SpriteBuffer_spriteCount * 8; - class413.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); - class413.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); - int var2 = (var1.readUnsignedByte() & 255) + 1; - - int var3; - for (var3 = 0; var3 < class413.SpriteBuffer_spriteCount; ++var3) { - class413.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class413.SpriteBuffer_spriteCount; ++var3) { - class413.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class413.SpriteBuffer_spriteCount; ++var3) { - InvDefinition.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class413.SpriteBuffer_spriteCount; ++var3) { - class413.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); - } - - var1.offset = var0.length - 7 - class413.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; - ItemContainer.SpriteBuffer_spritePalette = new int[var2]; - - for (var3 = 1; var3 < var2; ++var3) { - ItemContainer.SpriteBuffer_spritePalette[var3] = var1.readMedium(); - if (ItemContainer.SpriteBuffer_spritePalette[var3] == 0) { - ItemContainer.SpriteBuffer_spritePalette[var3] = 1; - } - } - - var1.offset = 0; - - for (var3 = 0; var3 < class413.SpriteBuffer_spriteCount; ++var3) { - int var4 = InvDefinition.SpriteBuffer_spriteWidths[var3]; - int var5 = class413.SpriteBuffer_spriteHeights[var3]; - int var6 = var4 * var5; - byte[] var7 = new byte[var6]; - class283.SpriteBuffer_pixels[var3] = var7; - int var8 = var1.readUnsignedByte(); - int var9; - if (var8 == 0) { - for (var9 = 0; var9 < var6; ++var9) { - var7[var9] = var1.readByte(); - } - } else if (var8 == 1) { - for (var9 = 0; var9 < var4; ++var9) { - for (int var10 = 0; var10 < var5; ++var10) { - var7[var9 + var4 * var10] = var1.readByte(); - } - } - } - } - - } - - @ObfuscatedName("il") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1935126444" - ) - static final int method410() { - return Client.menuOptionsCount - 1; - } - - @ObfuscatedName("ie") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "972424034" - ) - @Export("addSceneMenuOptions") - static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { - if (Client.isItemSelected == 0 && !Client.isSpellSelected) { - ModelData0.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); - } - - long var4 = -1L; - long var6 = -1L; - int var8 = 0; - - while (true) { - int var10 = ViewportMouse.ViewportMouse_entityCount; - if (var8 >= var10) { - if (var4 != -1L) { - var8 = (int)(var4 >>> 0 & 127L); - var10 = class275.method5066(var4); - Player var11 = Client.players[Client.combatTargetPlayerIndex]; - ArchiveLoader.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var10); - } - - return; - } - - long var24 = class123.method2536(var8); - if (var24 != var6) { - label327: { - var6 = var24; - int var13 = class87.method2183(var8); - int var14 = WorldMapIcon_0.method3732(var8); - long var17 = ViewportMouse.ViewportMouse_entityTags[var8]; - int var16 = (int)(var17 >>> 14 & 3L); - int var26 = Tile.method4043(var8); - if (var16 == 2 && CollisionMap.scene.getObjectFlags(class391.Client_plane, var13, var14, var24) >= 0) { - ObjectComposition var18 = HitSplatDefinition.getObjectDefinition(var26); - if (var18.transforms != null) { - var18 = var18.transform(); - } - - if (var18 == null) { - break label327; - } - - if (Client.isItemSelected == 1) { - ModelData0.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class54.colorStartTag(65535) + var18.name, 1, var26, var13, var14); - } else if (Client.isSpellSelected) { - if ((ScriptFrame.selectedSpellFlags & 4) == 4) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class54.colorStartTag(65535) + var18.name, 2, var26, var13, var14); - } - } else { - String[] var19 = var18.actions; - if (var19 != null) { - for (int var20 = 4; var20 >= 0; --var20) { - if (var19[var20] != null) { - short var21 = 0; - if (var20 == 0) { - var21 = 3; - } - - if (var20 == 1) { - var21 = 4; - } - - if (var20 == 2) { - var21 = 5; - } - - if (var20 == 3) { - var21 = 6; - } - - if (var20 == 4) { - var21 = 1001; - } - - ModelData0.insertMenuItemNoShift(var19[var20], class54.colorStartTag(65535) + var18.name, var21, var26, var13, var14); - } - } - } - - ModelData0.insertMenuItemNoShift("Examine", class54.colorStartTag(65535) + var18.name, 1002, var18.id, var13, var14); - } - } - - Player var22; - int var27; - NPC var28; - int var35; - int[] var36; - if (var16 == 1) { - NPC var31 = Client.npcs[var26]; - if (var31 == null) { - break label327; - } - - if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { - for (var27 = 0; var27 < Client.npcCount; ++var27) { - var28 = Client.npcs[Client.npcIndices[var27]]; - if (var28 != null && var31 != var28 && var28.definition.size == 1 && var31.x == var28.x && var31.y == var28.y) { - ArchiveLoader.addNpcToMenu(var28.definition, Client.npcIndices[var27], var13, var14); - } - } - - var27 = Players.Players_count; - var36 = Players.Players_indices; - - for (var35 = 0; var35 < var27; ++var35) { - var22 = Client.players[var36[var35]]; - if (var22 != null && var31.x == var22.x && var22.y == var31.y) { - ArchiveLoader.addPlayerToMenu(var22, var36[var35], var13, var14); - } - } - } - - ArchiveLoader.addNpcToMenu(var31.definition, var26, var13, var14); - } - - if (var16 == 0) { - Player var32 = Client.players[var26]; - if (var32 == null) { - break label327; - } - - if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { - for (var27 = 0; var27 < Client.npcCount; ++var27) { - var28 = Client.npcs[Client.npcIndices[var27]]; - if (var28 != null && var28.definition.size == 1 && var28.x == var32.x && var32.y == var28.y) { - ArchiveLoader.addNpcToMenu(var28.definition, Client.npcIndices[var27], var13, var14); - } - } - - var27 = Players.Players_count; - var36 = Players.Players_indices; - - for (var35 = 0; var35 < var27; ++var35) { - var22 = Client.players[var36[var35]]; - if (var22 != null && var32 != var22 && var22.x == var32.x && var22.y == var32.y) { - ArchiveLoader.addPlayerToMenu(var22, var36[var35], var13, var14); - } - } - } - - if (var26 != Client.combatTargetPlayerIndex) { - ArchiveLoader.addPlayerToMenu(var32, var26, var13, var14); - } else { - var4 = var24; - } - } - - if (var16 == 3) { - NodeDeque var34 = Client.groundItems[class391.Client_plane][var13][var14]; - if (var34 != null) { - for (TileItem var33 = (TileItem)var34.first(); var33 != null; var33 = (TileItem)var34.next()) { - ItemComposition var37 = class65.ItemDefinition_get(var33.id); - if (Client.isItemSelected == 1) { - ModelData0.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class54.colorStartTag(16748608) + var37.name, 16, var33.id, var13, var14); - } else if (Client.isSpellSelected) { - if ((ScriptFrame.selectedSpellFlags & 1) == 1) { - ModelData0.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class54.colorStartTag(16748608) + var37.name, 17, var33.id, var13, var14); - } - } else { - String[] var29 = var37.groundActions; - - for (int var30 = 4; var30 >= 0; --var30) { - if (var29 != null && var29[var30] != null) { - byte var23 = 0; - if (var30 == 0) { - var23 = 18; - } - - if (var30 == 1) { - var23 = 19; - } - - if (var30 == 2) { - var23 = 20; - } - - if (var30 == 3) { - var23 = 21; - } - - if (var30 == 4) { - var23 = 22; - } - - ModelData0.insertMenuItemNoShift(var29[var30], class54.colorStartTag(16748608) + var37.name, var23, var33.id, var13, var14); - } else if (var30 == 2) { - ModelData0.insertMenuItemNoShift("Take", class54.colorStartTag(16748608) + var37.name, 20, var33.id, var13, var14); - } - } - - ModelData0.insertMenuItemNoShift("Examine", class54.colorStartTag(16748608) + var37.name, 1004, var33.id, var13, var14); - } - } - } - } - } - } - - ++var8; - } - } - - @ObfuscatedName("ib") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIB)V", - garbageValue = "61" - ) - @Export("drawWidgets") - static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (class317.loadInterface(var0)) { - PcmPlayer.field280 = null; - class396.drawInterface(class139.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); - if (PcmPlayer.field280 != null) { - class396.drawInterface(PcmPlayer.field280, -1412584499, var1, var2, var3, var4, TextureProvider.field2464, class29.field177, var7); - PcmPlayer.field280 = null; - } - - } else { - if (var7 != -1) { - Client.field697[var7] = true; - } else { - for (int var8 = 0; var8 < 100; ++var8) { - Client.field697[var8] = true; - } - } - - } - } - - @ObfuscatedName("ka") - @ObfuscatedSignature( - descriptor = "(Ljd;IB)Ljava/lang/String;", - garbageValue = "-37" - ) - static String method405(Widget var0, int var1) { - if (!Decimator.method1050(Decimator.getWidgetFlags(var0), var1) && var0.onOp == null) { - return null; - } else { - return var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null; - } + public static int method414(String var0) { + return var0.length() + 2; } } diff --git a/runescape-client/src/main/java/class280.java b/runescape-client/src/main/java/class280.java index 07bf6e1af4..42f53c2607 100644 --- a/runescape-client/src/main/java/class280.java +++ b/runescape-client/src/main/java/class280.java @@ -1,49 +1,84 @@ -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jk") +@ObfuscatedName("jj") public class class280 { - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -480816967 - ) - static int field3323; - - @ObfuscatedName("m") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "72" + descriptor = "(CI)C", + garbageValue = "2103763806" ) - static int method5081(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return 0; - } else if (var1 == -1) { - return 0; - } else { - int var3 = 0; - - for (int var4 = 0; var4 < var2.quantities.length; ++var4) { - if (var2.ids[var4] == var1) { - var3 += var2.quantities[var4]; - } - } - - return var3; + static char method5139(char var0) { + switch(var0) { + case ' ': + case '-': + case '_': + case ' ': + return '_'; + case '#': + case '[': + case ']': + return var0; + case 'À': + case 'Á': + case 'Â': + case 'Ã': + case 'Ä': + case 'à': + case 'á': + case 'â': + case 'ã': + case 'ä': + return 'a'; + case 'Ç': + case 'ç': + return 'c'; + case 'È': + case 'É': + case 'Ê': + case 'Ë': + case 'è': + case 'é': + case 'ê': + case 'ë': + return 'e'; + case 'Í': + case 'Î': + case 'Ï': + case 'í': + case 'î': + case 'ï': + return 'i'; + case 'Ñ': + case 'ñ': + return 'n'; + case 'Ò': + case 'Ó': + case 'Ô': + case 'Õ': + case 'Ö': + case 'ò': + case 'ó': + case 'ô': + case 'õ': + case 'ö': + return 'o'; + case 'Ù': + case 'Ú': + case 'Û': + case 'Ü': + case 'ù': + case 'ú': + case 'û': + case 'ü': + return 'u'; + case 'ß': + return 'b'; + case 'ÿ': + case 'Ÿ': + return 'y'; + default: + return Character.toLowerCase(var0); } } - - @ObfuscatedName("gj") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "36" - ) - static void method5087() { - PacketBufferNode var0 = FriendSystem.getPacketBufferNode(ClientPacket.field2664, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(class12.getWindowedMode()); - var0.packetBuffer.writeShort(InvDefinition.canvasWidth); - var0.packetBuffer.writeShort(GameEngine.canvasHeight); - Client.packetWriter.addNode(var0); - } } diff --git a/runescape-client/src/main/java/class281.java b/runescape-client/src/main/java/class281.java index ac3239bf28..c6c25b4ffd 100644 --- a/runescape-client/src/main/java/class281.java +++ b/runescape-client/src/main/java/class281.java @@ -1,32 +1,72 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jo") +@ObfuscatedName("js") public class class281 { - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lic;" + @ObfuscatedName("sd") + @ObfuscatedGetter( + intValue = -1543804789 ) - @Export("musicTrack") - static MusicTrack musicTrack; + static int field3324; + @ObfuscatedName("a") + static byte[][][] field3323; static { int var0 = 0; int var1 = 0; - class276[] var2 = new class276[]{class276.field3288, class276.field3284}; + class276[] var2 = new class276[]{class276.field3288, class276.field3289}; class276[] var3 = var2; for (int var4 = 0; var4 < var3.length; ++var4) { class276 var5 = var3[var4]; - if (var5.field3285 > var0) { - var0 = var5.field3285; + if (var5.field3287 > var0) { + var0 = var5.field3287; } - if (var5.field3286 > var1) { - var1 = var5.field3286; + if (var5.field3290 > var1) { + var1 = var5.field3290; } } } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/String;[SIIB)V", + garbageValue = "-97" + ) + @Export("sortItemsByName") + public static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { + if (var2 < var3) { + int var4 = (var3 + var2) / 2; + int var5 = var2; + String var6 = var0[var4]; + var0[var4] = var0[var3]; + var0[var3] = var6; + short var7 = var1[var4]; + var1[var4] = var1[var3]; + var1[var3] = var7; + + for (int var8 = var2; var8 < var3; ++var8) { + if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { + String var9 = var0[var8]; + var0[var8] = var0[var5]; + var0[var5] = var9; + short var10 = var1[var8]; + var1[var8] = var1[var5]; + var1[var5++] = var10; + } + } + + var0[var3] = var0[var5]; + var0[var5] = var6; + var1[var3] = var1[var5]; + var1[var5] = var7; + sortItemsByName(var0, var1, var2, var5 - 1); + sortItemsByName(var0, var1, var5 + 1, var3); + } + + } } diff --git a/runescape-client/src/main/java/class283.java b/runescape-client/src/main/java/class283.java index 2b3123196d..bc935936b8 100644 --- a/runescape-client/src/main/java/class283.java +++ b/runescape-client/src/main/java/class283.java @@ -2,81 +2,56 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jz") +@ObfuscatedName("jm") public enum class283 implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Ljz;" + descriptor = "Ljm;" ) - field3651(-1), - @ObfuscatedName("c") + field3649(-1), + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Ljz;" + descriptor = "Ljm;" ) - field3653(0), - @ObfuscatedName("m") + field3646(0), + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ljz;" + descriptor = "Ljm;" ) - field3650(1), - @ObfuscatedName("k") + field3647(1), + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Ljz;" + descriptor = "Ljm;" ) - field3652(2); + field3648(2); - @ObfuscatedName("u") - @Export("SpriteBuffer_pixels") - public static byte[][] SpriteBuffer_pixels; - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedGetter( - intValue = 69732641 + intValue = -1834380199 ) - final int field3654; + final int field3650; class283(int var3) { - this.field3654 = var3; + this.field3650 = var3; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field3654; + return this.field3650; } - @ObfuscatedName("v") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(ILbg;ZS)I", - garbageValue = "25842" + descriptor = "(II)I", + garbageValue = "-476402365" ) - static int method5093(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - if (var0 == ScriptOpcodes.CC_GETX) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETY) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHIDE) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETLAYER) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.parentId; - return 1; - } else { - return 2; - } + public static int method5141(int var0) { + return class361.field4054[var0 & 16383]; } } diff --git a/runescape-client/src/main/java/class29.java b/runescape-client/src/main/java/class29.java index 14018323a9..73ceb46fd8 100644 --- a/runescape-client/src/main/java/class29.java +++ b/runescape-client/src/main/java/class29.java @@ -1,163 +1,47 @@ import java.applet.Applet; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("aa") +@ObfuscatedName("ak") public class class29 { - @ObfuscatedName("n") - @Export("applet") - public static Applet applet; - @ObfuscatedName("c") - public static String field172; - @ObfuscatedName("ox") - @ObfuscatedGetter( - intValue = 1537440429 + @ObfuscatedName("l") + static Applet field168; + @ObfuscatedName("q") + static String field165; + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "Lji;" ) - static int field177; + static GameBuild field171; static { - applet = null; - field172 = ""; + field168 = null; + field165 = ""; } - @ObfuscatedName("e") + @ObfuscatedName("ju") @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "924328645" + descriptor = "(II)V", + garbageValue = "-1657881975" ) - @Export("isCharAlphabetic") - public static boolean isCharAlphabetic(char var0) { - return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IIS)I", - garbageValue = "18508" - ) - static final int method422(int var0, int var1) { - int var2 = Player.method2115(var0 - 1, var1 - 1) + Player.method2115(1 + var0, var1 - 1) + Player.method2115(var0 - 1, var1 + 1) + Player.method2115(1 + var0, var1 + 1); - int var3 = Player.method2115(var0 - 1, var1) + Player.method2115(1 + var0, var1) + Player.method2115(var0, var1 - 1) + Player.method2115(var0, 1 + var1); - int var4 = Player.method2115(var0, var1); - return var2 / 16 + var3 / 8 + var4 / 4; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "1751539696" - ) - static int method421(int var0, Script var1, boolean var2) { - int var3; - int var6; - int var9; - if (var0 == ScriptOpcodes.ENUM_STRING) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - EnumComposition var10 = KitDefinition.getEnum(var3); - if (var10.outputType != 's') { - } - - for (var6 = 0; var6 < var10.outputCount; ++var6) { - if (var9 == var10.keys[var6]) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.strVals[var6]; - var10 = null; - break; - } - } - - if (var10 != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.defaultStr; - } - - return 1; - } else if (var0 != ScriptOpcodes.ENUM) { - if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - EnumComposition var4 = KitDefinition.getEnum(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.size(); - return 1; + static final void method430(int var0) { + var0 = Math.min(Math.max(var0, 0), 255); + if (var0 != WorldMapDecorationType.clientPreferences.musicVolume) { + if (WorldMapDecorationType.clientPreferences.musicVolume == 0 && Client.currentTrackGroupId != -1) { + class67.method1886(Tiles.archive6, Client.currentTrackGroupId, 0, var0, false); + Client.field663 = false; + } else if (var0 == 0) { + class247.midiPcmStream.clear(); + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = null; + Client.field663 = false; } else { - return 2; + class4.method19(var0); } - } else { - class240.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - var9 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - int var5 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 2]; - var6 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 3]; - EnumComposition var7 = KitDefinition.getEnum(var5); - if (var3 == var7.inputType && var9 == var7.outputType) { - for (int var8 = 0; var8 < var7.outputCount; ++var8) { - if (var6 == var7.keys[var8]) { - if (var9 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.strVals[var8]; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.intVals[var8]; - } - var7 = null; - break; - } - } - - if (var7 != null) { - if (var9 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.defaultStr; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var7.defaultInt; - } - } - - return 1; - } else { - if (var9 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "null"; - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } + WorldMapDecorationType.clientPreferences.musicVolume = var0; + ScriptFrame.savePreferences(); } - } - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1590607779" - ) - static int method423(int var0, Script var1, boolean var2) { - if (var0 != 6700 && var0 != 6702 && var0 != 6704 && var0 != 6706 && var0 != 6708) { - if (var0 != 6701 && var0 != 6703 && var0 != 6705 && var0 != 6707 && var0 != 6709) { - if (var0 == 6750) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 != 6751 && var0 != 6752 && var0 != 6753) { - if (var0 == 6754) { - int var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - NPCComposition var4 = ScriptEvent.getNpcDefinition(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4 != null ? var4.name : ""; - return 1; - } else { - return 2; - } - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } - } else { - --class240.Interpreter_intStackSize; - return 1; - } - } else { - class240.Interpreter_intStackSize -= 2; - --Interpreter.Interpreter_stringStackSize; - return 1; - } } } diff --git a/runescape-client/src/main/java/class295.java b/runescape-client/src/main/java/class295.java index fb99be1fb4..ab530a9892 100644 --- a/runescape-client/src/main/java/class295.java +++ b/runescape-client/src/main/java/class295.java @@ -1,42 +1,29 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("kf") +@ObfuscatedName("ki") public class class295 { - @ObfuscatedName("s") + @ObfuscatedName("kn") @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-115" + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1052203633" ) - static int method5305(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PacketWriter.scriptDotWidget : class9.scriptActiveWidget; - if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.itemId; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { - if (var3.itemId != -1) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.itemQuantity; + static void method5382(String var0) { + ItemContainer.field1009 = var0; + + try { + String var1 = class21.client.getParameter(Integer.toString(18)); + String var2 = class21.client.getParameter(Integer.toString(13)); + String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; + if (var0.length() == 0) { + var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; + var3 = var3 + "; Expires=" + UserComparator3.method2438(UserComparator4.method2406() + 94608000000L) + "; Max-Age=" + 94608000L; } - return 1; - } else if (var0 == ScriptOpcodes.CC_GETID) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var3.childIndex; - return 1; - } else { - return 2; + class27.method405(class21.client, "document.cookie=\"" + var3 + "\""); + } catch (Throwable var4) { } - } - @ObfuscatedName("lu") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "78" - ) - static void method5306() { - Client.packetWriter.addNode(FriendSystem.getPacketBufferNode(ClientPacket.field2684, Client.packetWriter.isaacCipher)); - Client.oculusOrbState = 0; } } diff --git a/runescape-client/src/main/java/class3.java b/runescape-client/src/main/java/class3.java index f7837fe6d3..b4dd08985f 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -1,11 +1,11 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("k") +@ObfuscatedName("j") public interface class3 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;)Lot;" ) - Buffer vmethod17(Buffer var1); + Buffer vmethod15(Buffer var1); } diff --git a/runescape-client/src/main/java/class300.java b/runescape-client/src/main/java/class300.java index f4e38ae220..84b9c99ac1 100644 --- a/runescape-client/src/main/java/class300.java +++ b/runescape-client/src/main/java/class300.java @@ -4,110 +4,115 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kp") +@ObfuscatedName("kj") public class class300 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llu;" - ) - @Export("ItemDefinition_fontPlain11") - static Font ItemDefinition_fontPlain11; - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("spriteMap") final HashMap spriteMap; - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lmt;" + descriptor = "Lme;" ) @Export("bounds") Bounds bounds; + @ObfuscatedName("f") + int[] field3774; + @ObfuscatedName("j") + int[] field3775; @ObfuscatedName("m") - int[] field3777; - @ObfuscatedName("k") - int[] field3776; - @ObfuscatedName("o") @ObfuscatedGetter( - intValue = -1520901137 + intValue = 1668663383 ) - int field3778; + int field3776; public class300() { this.spriteMap = new HashMap(); this.bounds = new Bounds(0, 0); - this.field3777 = new int[2048]; - this.field3776 = new int[2048]; - this.field3778 = 0; - Varps.method4866(); + this.field3774 = new int[2048]; + this.field3775 = new int[2048]; + this.field3776 = 0; + class268.method5104(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(II)V", - garbageValue = "-1768594130" + garbageValue = "-2023948868" ) - void method5361(int var1) { + void method5453(int var1) { int var2 = var1 * 2 + 1; - double[] var3 = ClanSettings.method2587(0.0D, (double)((float)var1 / 3.0F), var1); - double var4 = var3[var1] * var3[var1]; - int[] var6 = new int[var2 * var2]; - boolean var7 = false; + double var4 = (double)((float)var1 / 3.0F); + int var6 = var1 * 2 + 1; + double[] var7 = new double[var6]; + int var8 = -var1; - for (int var8 = 0; var8 < var2; ++var8) { - for (int var9 = 0; var9 < var2; ++var9) { - int var10 = var6[var9 + var8 * var2] = (int)(256.0D * (var3[var8] * var3[var9] / var4)); - if (!var7 && var10 > 0) { - var7 = true; + for (int var9 = 0; var8 <= var1; ++var9) { + double var20 = WorldMapData_0.method3438((double)(var8 - 0) / var4) / var4; + var7[var9] = var20; + ++var8; + } + + double[] var14 = var7; + double var15 = var7[var1] * var7[var1]; + int[] var17 = new int[var2 * var2]; + boolean var10 = false; + + for (int var11 = 0; var11 < var2; ++var11) { + for (int var12 = 0; var12 < var2; ++var12) { + int var13 = var17[var12 + var2 * var11] = (int)(var14[var11] * var14[var12] / var15 * 256.0D); + if (!var10 && var13 > 0) { + var10 = true; } } } - SpritePixels var11 = new SpritePixels(var6, var2, var2); - this.spriteMap.put(var1, var11); + SpritePixels var18 = new SpritePixels(var17, var2, var2); + this.spriteMap.put(var1, var18); } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(II)Loc;", - garbageValue = "-1692973574" + descriptor = "(II)Lon;", + garbageValue = "-948726242" ) - SpritePixels method5363(int var1) { + SpritePixels method5432(int var1) { if (!this.spriteMap.containsKey(var1)) { - this.method5361(var1); + this.method5453(var1); } return (SpritePixels)this.spriteMap.get(var1); } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(III)V", - garbageValue = "1891643371" + garbageValue = "733249359" ) - public final void method5364(int var1, int var2) { - if (this.field3778 < this.field3777.length) { - this.field3777[this.field3778] = var1; - this.field3776[this.field3778] = var2; - ++this.field3778; + public final void method5433(int var1, int var2) { + if (this.field3776 < this.field3774.length) { + this.field3774[this.field3776] = var1; + this.field3775[this.field3776] = var2; + ++this.field3776; } } - @ObfuscatedName("o") + @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-14" + descriptor = "(I)V", + garbageValue = "2111491523" ) - public final void method5365() { - this.field3778 = 0; + public final void method5434() { + this.field3776 = 0; } - @ObfuscatedName("g") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(IILoc;FI)V", - garbageValue = "-2099873246" + descriptor = "(IILon;FI)V", + garbageValue = "-1572893124" ) - public final void method5366(int var1, int var2, SpritePixels var3, float var4) { + public final void method5456(int var1, int var2, SpritePixels var3, float var4) { int var5 = (int)(var4 * 18.0F); - SpritePixels var6 = this.method5363(var5); + SpritePixels var6 = this.method5432(var5); int var7 = var5 * 2 + 1; Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); Bounds var9 = new Bounds(0, 0); @@ -117,14 +122,14 @@ public class class300 { int var10; int var11; int var12; - for (var10 = 0; var10 < this.field3778; ++var10) { - var11 = this.field3777[var10]; - var12 = this.field3776[var10]; - int var13 = (int)((float)(var11 - var1) * var4) - var5; - int var14 = (int)((float)var3.subHeight - var4 * (float)(var12 - var2)) - var5; + for (var10 = 0; var10 < this.field3776; ++var10) { + var11 = this.field3774[var10]; + var12 = this.field3775[var10]; + int var13 = (int)(var4 * (float)(var11 - var1)) - var5; + int var14 = (int)((float)var3.subHeight - (float)(var12 - var2) * var4) - var5; this.bounds.setLow(var13, var14); - this.bounds.method6191(var8, var9); - this.method5382(var6, var3, var9); + this.bounds.method6253(var8, var9); + this.method5437(var6, var3, var9); } System.nanoTime(); @@ -138,11 +143,11 @@ public class class300 { if (var11 <= 0) { var3.pixels[var10] = -16777216; } else { - if (var11 > GrandExchangeOffer.field3769.length) { - var11 = GrandExchangeOffer.field3769.length; + if (var11 > KeyHandler.field145.length) { + var11 = KeyHandler.field145.length; } - var12 = GrandExchangeOffer.field3769[var11 - 1]; + var12 = KeyHandler.field145[var11 - 1]; var3.pixels[var10] = -16777216 | var12; } } @@ -151,12 +156,12 @@ public class class300 { System.nanoTime(); } - @ObfuscatedName("z") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(Loc;Loc;Lmt;I)V", - garbageValue = "1014119997" + descriptor = "(Lon;Lon;Lme;B)V", + garbageValue = "113" ) - void method5382(SpritePixels var1, SpritePixels var2, Bounds var3) { + void method5437(SpritePixels var1, SpritePixels var2, Bounds var3) { if (var3.highX != 0 && var3.highY != 0) { int var4 = 0; int var5 = 0; @@ -185,42 +190,48 @@ public class class300 { } } - @ObfuscatedName("n") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "([Ljava/lang/CharSequence;IIB)Ljava/lang/String;", - garbageValue = "73" + descriptor = "(IIILfo;IB)V", + garbageValue = "12" ) - public static String method5381(CharSequence[] var0, int var1, int var2) { - if (var2 == 0) { - return ""; - } else if (var2 == 1) { - CharSequence var10 = var0[var1]; - return var10 == null ? "null" : var10.toString(); - } else { - int var3 = var2 + var1; - int var4 = 0; - - for (int var5 = var1; var5 < var3; ++var5) { - CharSequence var9 = var0[var5]; - if (var9 == null) { - var4 += 4; - } else { - var4 += var9.length(); - } - } - - StringBuilder var8 = new StringBuilder(var4); - - for (int var6 = var1; var6 < var3; ++var6) { - CharSequence var7 = var0[var6]; - if (var7 == null) { - var8.append("null"); - } else { - var8.append(var7); - } - } - - return var8.toString(); + static void method5457(int var0, int var1, int var2, ObjectComposition var3, int var4) { + ObjectSound var5 = new ObjectSound(); + var5.plane = var0; + var5.x = var1 * 128; + var5.y = var2 * 128; + int var6 = var3.sizeX; + int var7 = var3.sizeY; + if (var4 == 1 || var4 == 3) { + var6 = var3.sizeY; + var7 = var3.sizeX; } + + var5.field807 = (var6 + var1) * 128; + var5.field803 = (var7 + var2) * 128; + var5.soundEffectId = var3.ambientSoundId; + var5.field804 = var3.int7 * 128; + var5.field808 = var3.int5; + var5.field809 = var3.int6; + var5.soundEffectIds = var3.soundEffectIds; + if (var3.transforms != null) { + var5.obj = var3; + var5.set(); + } + + ObjectSound.objectSounds.addFirst(var5); + if (var5.soundEffectIds != null) { + var5.field811 = var5.field808 + (int)(Math.random() * (double)(var5.field809 - var5.field808)); + } + + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-896124" + ) + static int method5458(int var0) { + return (int)((Math.log((double)var0) / Interpreter.field826 - 7.0D) * 256.0D); } } diff --git a/runescape-client/src/main/java/class301.java b/runescape-client/src/main/java/class301.java index d8cf377bcd..716e6bfb85 100644 --- a/runescape-client/src/main/java/class301.java +++ b/runescape-client/src/main/java/class301.java @@ -2,36 +2,40 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kr") +@ObfuscatedName("kh") public class class301 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkr;" + descriptor = "Lkh;" ) - static final class301 field3783; - @ObfuscatedName("c") + static final class301 field3780; + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkr;" - ) - static final class301 field3781; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lkr;" + descriptor = "Lkh;" ) static final class301 field3782; - @ObfuscatedName("md") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "Ljd;" + descriptor = "Lkh;" ) - @Export("mousedOverWidgetIf1") - static Widget mousedOverWidgetIf1; + static final class301 field3781; static { - field3783 = new class301(); - field3781 = new class301(); + field3780 = new class301(); field3782 = new class301(); + field3781 = new class301(); } class301() { } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(II)Lbo;", + garbageValue = "-230325466" + ) + @Export("Messages_getMessage") + static Message Messages_getMessage(int var0) { + return (Message)Messages.Messages_hashTable.get((long)var0); + } } diff --git a/runescape-client/src/main/java/class303.java b/runescape-client/src/main/java/class303.java index 938b9333d2..8c27d2ee05 100644 --- a/runescape-client/src/main/java/class303.java +++ b/runescape-client/src/main/java/class303.java @@ -1,7 +1,7 @@ import java.util.HashMap; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("kt") +@ObfuscatedName("kv") public class class303 { static { new HashMap(); diff --git a/runescape-client/src/main/java/class316.java b/runescape-client/src/main/java/class316.java index 0a37a3ca2c..1cd608862d 100644 --- a/runescape-client/src/main/java/class316.java +++ b/runescape-client/src/main/java/class316.java @@ -1,9 +1,9 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lj") +@ObfuscatedName("ly") public class class316 { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("cp1252AsciiExtension") public static final char[] cp1252AsciiExtension; diff --git a/runescape-client/src/main/java/class317.java b/runescape-client/src/main/java/class317.java index 70f742d336..541fdb2214 100644 --- a/runescape-client/src/main/java/class317.java +++ b/runescape-client/src/main/java/class317.java @@ -1,138 +1,99 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lb") +@ObfuscatedName("lc") public class class317 { - @ObfuscatedName("n") - static char[] field3857; - @ObfuscatedName("c") - static char[] field3854; - @ObfuscatedName("m") - static char[] field3856; - @ObfuscatedName("k") - static int[] field3855; + @ObfuscatedName("l") + static char[] field3869; @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Ldi;" - ) - static ClanSettings field3858; + static char[] field3865; + @ObfuscatedName("f") + static char[] field3866; + @ObfuscatedName("j") + static int[] field3867; static { - field3857 = new char[64]; + field3869 = new char[64]; int var0; for (var0 = 0; var0 < 26; ++var0) { - field3857[var0] = (char)(var0 + 65); + field3869[var0] = (char)(var0 + 65); } for (var0 = 26; var0 < 52; ++var0) { - field3857[var0] = (char)(var0 + 97 - 26); + field3869[var0] = (char)(var0 + 97 - 26); } for (var0 = 52; var0 < 62; ++var0) { - field3857[var0] = (char)(var0 + 48 - 52); + field3869[var0] = (char)(var0 + 48 - 52); } - field3857[62] = '+'; - field3857[63] = '/'; - field3854 = new char[64]; + field3869[62] = '+'; + field3869[63] = '/'; + field3865 = new char[64]; for (var0 = 0; var0 < 26; ++var0) { - field3854[var0] = (char)(var0 + 65); + field3865[var0] = (char)(var0 + 65); } for (var0 = 26; var0 < 52; ++var0) { - field3854[var0] = (char)(var0 + 97 - 26); + field3865[var0] = (char)(var0 + 97 - 26); } for (var0 = 52; var0 < 62; ++var0) { - field3854[var0] = (char)(var0 + 48 - 52); + field3865[var0] = (char)(var0 + 48 - 52); } - field3854[62] = '*'; - field3854[63] = '-'; - field3856 = new char[64]; + field3865[62] = '*'; + field3865[63] = '-'; + field3866 = new char[64]; for (var0 = 0; var0 < 26; ++var0) { - field3856[var0] = (char)(var0 + 65); + field3866[var0] = (char)(var0 + 65); } for (var0 = 26; var0 < 52; ++var0) { - field3856[var0] = (char)(var0 + 97 - 26); + field3866[var0] = (char)(var0 + 97 - 26); } for (var0 = 52; var0 < 62; ++var0) { - field3856[var0] = (char)(var0 + 48 - 52); + field3866[var0] = (char)(var0 + 48 - 52); } - field3856[62] = '-'; - field3856[63] = '_'; - field3855 = new int[128]; + field3866[62] = '-'; + field3866[63] = '_'; + field3867 = new int[128]; - for (var0 = 0; var0 < field3855.length; ++var0) { - field3855[var0] = -1; + for (var0 = 0; var0 < field3867.length; ++var0) { + field3867[var0] = -1; } for (var0 = 65; var0 <= 90; ++var0) { - field3855[var0] = var0 - 65; + field3867[var0] = var0 - 65; } for (var0 = 97; var0 <= 122; ++var0) { - field3855[var0] = var0 - 97 + 26; + field3867[var0] = var0 - 97 + 26; } for (var0 = 48; var0 <= 57; ++var0) { - field3855[var0] = var0 - 48 + 52; + field3867[var0] = var0 - 48 + 52; } - int[] var2 = field3855; - field3855[43] = 62; + int[] var2 = field3867; + field3867[43] = 62; var2[42] = 62; - int[] var1 = field3855; - field3855[47] = 63; + int[] var1 = field3867; + field3867[47] = 63; var1[45] = 63; } - @ObfuscatedName("m") + @ObfuscatedName("gm") @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-541825196" + descriptor = "(I)Z", + garbageValue = "1006601644" ) - @Export("loadInterface") - public static boolean loadInterface(int var0) { - if (Widget.Widget_loadedInterfaces[var0]) { - return true; - } else if (!Widget.Widget_archive.tryLoadGroup(var0)) { - return false; - } else { - int var1 = Widget.Widget_archive.getGroupFileCount(var0); - if (var1 == 0) { - Widget.Widget_loadedInterfaces[var0] = true; - return true; - } else { - if (class139.Widget_interfaceComponents[var0] == null) { - class139.Widget_interfaceComponents[var0] = new Widget[var1]; - } - - for (int var2 = 0; var2 < var1; ++var2) { - if (class139.Widget_interfaceComponents[var0][var2] == null) { - byte[] var3 = Widget.Widget_archive.takeFile(var0, var2); - if (var3 != null) { - class139.Widget_interfaceComponents[var0][var2] = new Widget(); - class139.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); - if (var3[0] == -1) { - class139.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); - } else { - class139.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); - } - } - } - } - - Widget.Widget_loadedInterfaces[var0] = true; - return true; - } - } + static boolean method5800() { + return (Client.drawPlayerNames & 8) != 0; } } diff --git a/runescape-client/src/main/java/class318.java b/runescape-client/src/main/java/class318.java index aa2ee42586..6f445c1216 100644 --- a/runescape-client/src/main/java/class318.java +++ b/runescape-client/src/main/java/class318.java @@ -1,19 +1,169 @@ -import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lp") +@ObfuscatedName("ll") public final class class318 { - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Loc;" + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 323329615 ) - @Export("leftTitleSprite") - static SpritePixels leftTitleSprite; - @ObfuscatedName("eh") + public static int field3870; + + @ObfuscatedName("hb") @ObfuscatedSignature( - descriptor = "Lkx;" + descriptor = "(Loy;I)V", + garbageValue = "-741339264" ) - @Export("archive11") - static Archive archive11; + static final void method5839(PacketBuffer var0) { + for (int var1 = 0; var1 < Client.field713; ++var1) { + int var2 = Client.field535[var1]; + NPC var3 = Client.npcs[var2]; + int var4 = var0.readUnsignedByte(); + if ((var4 & 16) != 0) { + var3.overheadText = var0.readStringCp1252NullTerminated(); + var3.overheadTextCyclesRemaining = 100; + } + + int var5; + if ((var4 & 2) != 0) { + var3.spotAnimation = var0.method7059(); + var5 = var0.method6944(); + var3.field1147 = var5 >> 16; + var3.field1105 = (var5 & 65535) + Client.cycle; + var3.spotAnimationFrame = 0; + var3.spotAnimationFrameCycle = 0; + if (var3.field1105 > Client.cycle) { + var3.spotAnimationFrame = -1; + } + + if (var3.spotAnimation == 65535) { + var3.spotAnimation = -1; + } + } + + int var6; + int var7; + if ((var4 & 4) != 0) { + var5 = var0.method6934(); + if (var5 == 65535) { + var5 = -1; + } + + var6 = var0.method6925(); + if (var5 == var3.sequence && var5 != -1) { + var7 = KitDefinition.SequenceDefinition_get(var5).field1961; + if (var7 == 1) { + var3.sequenceFrame = 0; + var3.sequenceFrameCycle = 0; + var3.sequenceDelay = var6; + var3.field1142 = 0; + } + + if (var7 == 2) { + var3.field1142 = 0; + } + } else if (var5 == -1 || var3.sequence == -1 || KitDefinition.SequenceDefinition_get(var5).field1955 >= KitDefinition.SequenceDefinition_get(var3.sequence).field1955) { + var3.sequence = var5; + var3.sequenceFrame = 0; + var3.sequenceFrameCycle = 0; + var3.sequenceDelay = var6; + var3.field1142 = 0; + var3.field1129 = var3.pathLength; + } + } + + int var8; + if ((var4 & 128) != 0) { + var5 = var0.readUnsignedByte(); + int var9; + int var10; + int var11; + if (var5 > 0) { + for (var6 = 0; var6 < var5; ++var6) { + var8 = -1; + var9 = -1; + var10 = -1; + var7 = var0.readUShortSmart(); + if (var7 == 32767) { + var7 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + var8 = var0.readUShortSmart(); + var10 = var0.readUShortSmart(); + } else if (var7 != 32766) { + var9 = var0.readUShortSmart(); + } else { + var7 = -1; + } + + var11 = var0.readUShortSmart(); + var3.addHitSplat(var7, var9, var8, var10, Client.cycle, var11); + } + } + + var6 = var0.readUnsignedByte(); + if (var6 > 0) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + if (var9 != 32767) { + var10 = var0.readUShortSmart(); + var11 = var0.readUnsignedByte(); + int var12 = var9 > 0 ? var0.method6926() : var11; + var3.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); + } else { + var3.removeHealthBar(var8); + } + } + } + } + + if ((var4 & 8) != 0) { + var3.definition = class112.getNpcDefinition(var0.method7059()); + var3.field1109 = var3.definition.size; + var3.field1146 = var3.definition.rotation; + var3.walkSequence = var3.definition.walkSequence; + var3.walkBackSequence = var3.definition.walkBackSequence; + var3.walkLeftSequence = var3.definition.walkLeftSequence; + var3.walkRightSequence = var3.definition.walkRightSequence; + var3.idleSequence = var3.definition.idleSequence; + var3.turnLeftSequence = var3.definition.turnLeftSequence; + var3.turnRightSequence = var3.definition.turnRightSequence; + } + + if ((var4 & 1) != 0) { + var5 = var0.method7059(); + var6 = var0.method6933(); + var7 = var3.x - (var5 - WorldMapSectionType.baseX - WorldMapSectionType.baseX) * 64; + var8 = var3.y - (var6 - PlayerComposition.baseY - PlayerComposition.baseY) * 64; + if (var7 != 0 || var8 != 0) { + var3.field1134 = (int)(Math.atan2((double)var7, (double)var8) * 325.949D) & 2047; + } + } + + if ((var4 & 32) != 0) { + var3.field1148 = var0.method6915(); + var3.field1126 = var0.method6915(); + var3.field1149 = var0.method6958(); + var3.field1125 = var0.method6958(); + var3.field1145 = var0.method6934() + Client.cycle; + var3.field1165 = var0.method6933() + Client.cycle; + var3.field1151 = var0.method7059(); + var3.pathLength = 1; + var3.field1129 = 0; + var3.field1148 += var3.pathX[0]; + var3.field1126 += var3.pathY[0]; + var3.field1149 += var3.pathX[0]; + var3.field1125 += var3.pathY[0]; + } + + if ((var4 & 64) != 0) { + var3.targetIndex = var0.method6934(); + if (var3.targetIndex == 65535) { + var3.targetIndex = -1; + } + } + } + + } } diff --git a/runescape-client/src/main/java/class319.java b/runescape-client/src/main/java/class319.java deleted file mode 100644 index aa78cbf176..0000000000 --- a/runescape-client/src/main/java/class319.java +++ /dev/null @@ -1,61 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lm") -public class class319 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Loq;I)V", - garbageValue = "-1161740481" - ) - @Export("updatePlayer") - static final void updatePlayer(PacketBuffer var0) { - var0.importIndex(); - int var1 = Client.localPlayerIndex; - Player var2 = class129.localPlayer = Client.players[var1] = new Player(); - var2.index = var1; - int var3 = var0.readBits(30); - byte var4 = (byte)(var3 >> 28); - int var5 = var3 >> 14 & 16383; - int var6 = var3 & 16383; - var2.pathX[0] = var5 - FloorOverlayDefinition.baseX; - var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); - var2.pathY[0] = var6 - class320.baseY; - var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); - class391.Client_plane = var2.plane = var4; - if (Players.field1246[var1] != null) { - var2.read(Players.field1246[var1]); - } - - Players.Players_count = 0; - Players.Players_indices[++Players.Players_count - 1] = var1; - Players.field1244[var1] = 0; - Players.Players_emptyIdxCount = 0; - - for (int var7 = 1; var7 < 2048; ++var7) { - if (var7 != var1) { - int var8 = var0.readBits(18); - int var9 = var8 >> 16; - int var10 = var8 >> 8 & 597; - int var11 = var8 & 597; - Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); - Players.Players_orientations[var7] = 0; - Players.Players_targetIndices[var7] = -1; - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; - Players.field1244[var7] = 0; - } - } - - var0.exportIndex(); - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1473526120" - ) - static final boolean method5768() { - return ViewportMouse.ViewportMouse_isInViewport; - } -} diff --git a/runescape-client/src/main/java/class320.java b/runescape-client/src/main/java/class320.java index 305754bc17..c37785d618 100644 --- a/runescape-client/src/main/java/class320.java +++ b/runescape-client/src/main/java/class320.java @@ -1,27 +1,27 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lr") +@ObfuscatedName("lx") public final class class320 { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("base37Table") - static final char[] base37Table; - @ObfuscatedName("c") - static long[] field3864; - @ObfuscatedName("gl") - @ObfuscatedGetter( - intValue = 57919547 + public static final char[] base37Table; + @ObfuscatedName("q") + static long[] field3875; + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "[Loz;" ) - @Export("baseY") - static int baseY; + @Export("worldSelectStars") + static IndexedSprite[] worldSelectStars; static { base37Table = new char[]{'_', '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'}; - field3864 = new long[12]; + field3875 = new long[12]; - for (int var0 = 0; var0 < field3864.length; ++var0) { - field3864[var0] = (long)Math.pow(37.0D, (double)var0); + for (int var0 = 0; var0 < field3875.length; ++var0) { + field3875[var0] = (long)Math.pow(37.0D, (double)var0); } } diff --git a/runescape-client/src/main/java/class321.java b/runescape-client/src/main/java/class321.java index 0f8766ac12..492fbbd6f8 100644 --- a/runescape-client/src/main/java/class321.java +++ b/runescape-client/src/main/java/class321.java @@ -1,9 +1,9 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ly") +@ObfuscatedName("lv") public class class321 { - @ObfuscatedName("n") + @ObfuscatedName("l") @Export("writeRandomDat") public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { if (var2 == var0) { @@ -51,7 +51,7 @@ public class class321 { } - @ObfuscatedName("e") + @ObfuscatedName("i") @Export("clearIntArray") public static void clearIntArray(int[] var0, int var1, int var2) { for (var2 = var2 + var1 - 7; var1 < var2; var0[var1++] = 0) { diff --git a/runescape-client/src/main/java/class322.java b/runescape-client/src/main/java/class322.java new file mode 100644 index 0000000000..e378c72535 --- /dev/null +++ b/runescape-client/src/main/java/class322.java @@ -0,0 +1,65 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("la") +public class class322 { + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 65308803 + ) + int field3878; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1163920539 + ) + int field3879; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1995398165 + ) + int field3880; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1378321945 + ) + int field3881; + + public String toString() { + int var2 = 10 - Integer.toString(this.field3878).length(); + int var3 = 10 - Integer.toString(this.field3880).length(); + int var4 = 10 - Integer.toString(this.field3879).length(); + String var5 = " ".substring(10 - var2); + String var6 = " ".substring(10 - var3); + String var7 = " ".substring(10 - var4); + return " Size: " + this.field3878 + var5 + "Created: " + this.field3879 + var7 + "Total used: " + this.field3880 + var6 + "Max-In-Use: " + this.field3881; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljt;IB)V", + garbageValue = "-7" + ) + @Export("Widget_setKeyIgnoreHeld") + static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { + if (var0.field3115 == null) { + throw new RuntimeException(); + } else { + if (var0.field3190 == null) { + var0.field3190 = new int[var0.field3115.length]; + } + + var0.field3190[var1] = Integer.MAX_VALUE; + } + } + + @ObfuscatedName("ka") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "0" + ) + static void method5894(int var0) { + Client.oculusOrbState = var0; + } +} diff --git a/runescape-client/src/main/java/class323.java b/runescape-client/src/main/java/class323.java deleted file mode 100644 index 41bcf5d66f..0000000000 --- a/runescape-client/src/main/java/class323.java +++ /dev/null @@ -1,53 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("li") -public class class323 { - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "Lka;" - ) - @Export("clientLanguage") - static Language clientLanguage; - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-336634380" - ) - static int method5819(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { - class240.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize]; - int var4 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1]; - if (!Client.isCameraLocked) { - Client.camAngleX = var3; - Client.camAngleY = var4; - } - - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.camAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.camAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - if (var3 < 0) { - var3 = 0; - } - - Client.camFollowHeight = var3; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.camFollowHeight; - return 1; - } else { - return 2; - } - } -} diff --git a/runescape-client/src/main/java/class325.java b/runescape-client/src/main/java/class325.java deleted file mode 100644 index 5ab23cfb14..0000000000 --- a/runescape-client/src/main/java/class325.java +++ /dev/null @@ -1,11 +0,0 @@ -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("lf") -public class class325 { - @ObfuscatedName("gx") - @ObfuscatedGetter( - intValue = -475017453 - ) - static int field3891; -} diff --git a/runescape-client/src/main/java/class326.java b/runescape-client/src/main/java/class326.java new file mode 100644 index 0000000000..57bad7cfdb --- /dev/null +++ b/runescape-client/src/main/java/class326.java @@ -0,0 +1,26 @@ +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lo") +public class class326 { + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-764707553" + ) + public static boolean method5928(int var0) { + return var0 >= WorldMapDecorationType.field3232.id && var0 <= WorldMapDecorationType.field3246.id; + } + + @ObfuscatedName("gh") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "692474677" + ) + static void method5929() { + if (Client.renderSelf) { + class21.addPlayerToScene(class67.localPlayer, false); + } + + } +} diff --git a/runescape-client/src/main/java/class327.java b/runescape-client/src/main/java/class327.java deleted file mode 100644 index 37c731bba2..0000000000 --- a/runescape-client/src/main/java/class327.java +++ /dev/null @@ -1,156 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lo") -public class class327 { - @ObfuscatedName("hz") - @ObfuscatedSignature( - descriptor = "(IIIIII)V", - garbageValue = "-1567207117" - ) - @Export("drawObject") - static final void drawObject(int var0, int var1, int var2, int var3, int var4) { - long var5 = CollisionMap.scene.getBoundaryObjectTag(var0, var1, var2); - int var7; - int var8; - int var9; - int var10; - int var12; - int var13; - if (0L != var5) { - var7 = CollisionMap.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = var3; - if (RouteStrategy.method3352(var5)) { - var10 = var4; - } - - int[] var11 = class113.sceneMinimapSprite.pixels; - var12 = var1 * 4 + (103 - var2) * 2048 + 24624; - var13 = HealthBarDefinition.Entity_unpackID(var5); - ObjectComposition var14 = HitSplatDefinition.getObjectDefinition(var13); - if (var14.mapSceneId != -1) { - IndexedSprite var15 = GameEngine.mapSceneSprites[var14.mapSceneId]; - if (var15 != null) { - int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; - int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; - var15.drawAt(var16 + var1 * 4 + 48, var17 + (104 - var2 - var14.sizeY) * 4 + 48); - } - } else { - if (var9 == 0 || var9 == 2) { - if (var8 == 0) { - var11[var12] = var10; - var11[var12 + 512] = var10; - var11[var12 + 1024] = var10; - var11[var12 + 1536] = var10; - } else if (var8 == 1) { - var11[var12] = var10; - var11[var12 + 1] = var10; - var11[var12 + 2] = var10; - var11[var12 + 3] = var10; - } else if (var8 == 2) { - var11[var12 + 3] = var10; - var11[var12 + 512 + 3] = var10; - var11[var12 + 1024 + 3] = var10; - var11[var12 + 1536 + 3] = var10; - } else if (var8 == 3) { - var11[var12 + 1536] = var10; - var11[var12 + 1536 + 1] = var10; - var11[var12 + 1536 + 2] = var10; - var11[var12 + 1536 + 3] = var10; - } - } - - if (var9 == 3) { - if (var8 == 0) { - var11[var12] = var10; - } else if (var8 == 1) { - var11[var12 + 3] = var10; - } else if (var8 == 2) { - var11[var12 + 1536 + 3] = var10; - } else if (var8 == 3) { - var11[var12 + 1536] = var10; - } - } - - if (var9 == 2) { - if (var8 == 3) { - var11[var12] = var10; - var11[var12 + 512] = var10; - var11[var12 + 1024] = var10; - var11[var12 + 1536] = var10; - } else if (var8 == 0) { - var11[var12] = var10; - var11[var12 + 1] = var10; - var11[var12 + 2] = var10; - var11[var12 + 3] = var10; - } else if (var8 == 1) { - var11[var12 + 3] = var10; - var11[var12 + 512 + 3] = var10; - var11[var12 + 1024 + 3] = var10; - var11[var12 + 1536 + 3] = var10; - } else if (var8 == 2) { - var11[var12 + 1536] = var10; - var11[var12 + 1536 + 1] = var10; - var11[var12 + 1536 + 2] = var10; - var11[var12 + 1536 + 3] = var10; - } - } - } - } - - var5 = CollisionMap.scene.getGameObjectTag(var0, var1, var2); - if (var5 != 0L) { - var7 = CollisionMap.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = HealthBarDefinition.Entity_unpackID(var5); - ObjectComposition var24 = HitSplatDefinition.getObjectDefinition(var10); - int var19; - if (var24.mapSceneId != -1) { - IndexedSprite var20 = GameEngine.mapSceneSprites[var24.mapSceneId]; - if (var20 != null) { - var13 = (var24.sizeX * 4 - var20.subWidth) / 2; - var19 = (var24.sizeY * 4 - var20.subHeight) / 2; - var20.drawAt(var13 + var1 * 4 + 48, (104 - var2 - var24.sizeY) * 4 + var19 + 48); - } - } else if (var9 == 9) { - var12 = 15658734; - if (RouteStrategy.method3352(var5)) { - var12 = 15597568; - } - - int[] var18 = class113.sceneMinimapSprite.pixels; - var19 = var1 * 4 + (103 - var2) * 2048 + 24624; - if (var8 != 0 && var8 != 2) { - var18[var19] = var12; - var18[var19 + 1 + 512] = var12; - var18[var19 + 1024 + 2] = var12; - var18[var19 + 1536 + 3] = var12; - } else { - var18[var19 + 1536] = var12; - var18[var19 + 1 + 1024] = var12; - var18[var19 + 512 + 2] = var12; - var18[var19 + 3] = var12; - } - } - } - - var5 = CollisionMap.scene.getFloorDecorationTag(var0, var1, var2); - if (var5 != 0L) { - var7 = HealthBarDefinition.Entity_unpackID(var5); - ObjectComposition var21 = HitSplatDefinition.getObjectDefinition(var7); - if (var21.mapSceneId != -1) { - IndexedSprite var22 = GameEngine.mapSceneSprites[var21.mapSceneId]; - if (var22 != null) { - var10 = (var21.sizeX * 4 - var22.subWidth) / 2; - int var23 = (var21.sizeY * 4 - var22.subHeight) / 2; - var22.drawAt(var10 + var1 * 4 + 48, var23 + (104 - var2 - var21.sizeY) * 4 + 48); - } - } - } - - } -} diff --git a/runescape-client/src/main/java/class328.java b/runescape-client/src/main/java/class328.java index cebaf0ea73..1555f478a4 100644 --- a/runescape-client/src/main/java/class328.java +++ b/runescape-client/src/main/java/class328.java @@ -1,56 +1,86 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lv") +@ObfuscatedName("lf") public class class328 { - @ObfuscatedName("bj") - static String field3915; - - @ObfuscatedName("io") + @ObfuscatedName("fj") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)V", - garbageValue = "-1519387336" + descriptor = "(Lcd;I)V", + garbageValue = "-1815544161" ) - static void method5845(int var0, String var1) { - int var2 = Players.Players_count; - int[] var3 = Players.Players_indices; - boolean var4 = false; - Username var5 = new Username(var1, SoundCache.loginType); - - for (int var6 = 0; var6 < var2; ++var6) { - Player var7 = Client.players[var3[var6]]; - if (var7 != null && var7 != class129.localPlayer && var7.username != null && var7.username.equals(var5)) { - PacketBufferNode var8; - if (var0 == 1) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2670, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6841(0); - var8.packetBuffer.method6851(var3[var6]); - Client.packetWriter.addNode(var8); - } else if (var0 == 4) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2715, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6851(var3[var6]); - var8.packetBuffer.method6819(0); - Client.packetWriter.addNode(var8); - } else if (var0 == 6) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2657, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3[var6]); - var8.packetBuffer.method6841(0); - Client.packetWriter.addNode(var8); - } else if (var0 == 7) { - var8 = FriendSystem.getPacketBufferNode(ClientPacket.field2676, Client.packetWriter.isaacCipher); - var8.packetBuffer.method6951(var3[var6]); - var8.packetBuffer.method6819(0); - Client.packetWriter.addNode(var8); + static final void method5930(Actor var0) { + if (var0.field1146 != 0) { + if (var0.targetIndex != -1) { + Object var1 = null; + if (var0.targetIndex < 32768) { + var1 = Client.npcs[var0.targetIndex]; + } else if (var0.targetIndex >= 32768) { + var1 = Client.players[var0.targetIndex - 32768]; } - var4 = true; - break; + if (var1 != null) { + int var2 = var0.x - ((Actor)var1).x; + int var3 = var0.y - ((Actor)var1).y; + if (var2 != 0 || var3 != 0) { + var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047; + } + } else if (var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } } - } - if (!var4) { - SecureRandomCallable.addGameMessage(4, "", "Unable to find " + var1); - } + if (var0.field1134 != -1 && (var0.pathLength == 0 || var0.field1164 > 0)) { + var0.orientation = var0.field1134; + var0.field1134 = -1; + } + int var4 = var0.orientation - var0.rotation & 2047; + if (var4 == 0 && var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + + if (var4 != 0) { + ++var0.field1158; + boolean var6; + if (var4 > 1024) { + var0.rotation -= var0.field1146; + var6 = true; + if (var4 < var0.field1146 || var4 > 2048 - var0.field1146) { + var0.rotation = var0.orientation; + var6 = false; + } + + if (var0.idleSequence == var0.movementSequence && (var0.field1158 > 25 || var6)) { + if (var0.turnLeftSequence != -1) { + var0.movementSequence = var0.turnLeftSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } else { + var0.rotation += var0.field1146; + var6 = true; + if (var4 < var0.field1146 || var4 > 2048 - var0.field1146) { + var0.rotation = var0.orientation; + var6 = false; + } + + if (var0.movementSequence == var0.idleSequence && (var0.field1158 > 25 || var6)) { + if (var0.turnRightSequence != -1) { + var0.movementSequence = var0.turnRightSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } + + var0.rotation &= 2047; + } else { + var0.field1158 = 0; + } + + } } } diff --git a/runescape-client/src/main/java/class329.java b/runescape-client/src/main/java/class329.java new file mode 100644 index 0000000000..1260f4d5fd --- /dev/null +++ b/runescape-client/src/main/java/class329.java @@ -0,0 +1,87 @@ +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("lk") +public class class329 { + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(ILbe;ZB)I", + garbageValue = "1" + ) + static int method5931(int var0, Script var1, boolean var2) { + int var3; + int var6; + int var9; + if (var0 == ScriptOpcodes.ENUM_STRING) { + AbstractByteArrayCopier.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + EnumComposition var10 = VarbitComposition.getEnum(var3); + if (var10.outputType != 's') { + } + + for (var6 = 0; var6 < var10.outputCount; ++var6) { + if (var9 == var10.keys[var6]) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var10.strVals[var6]; + var10 = null; + break; + } + } + + if (var10 != null) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var10.defaultStr; + } + + return 1; + } else if (var0 != ScriptOpcodes.ENUM) { + if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { + var3 = Interpreter.Interpreter_intStack[--AbstractByteArrayCopier.Interpreter_intStackSize]; + EnumComposition var4 = VarbitComposition.getEnum(var3); + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var4.size(); + return 1; + } else { + return 2; + } + } else { + AbstractByteArrayCopier.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[AbstractByteArrayCopier.Interpreter_intStackSize + 3]; + EnumComposition var7 = VarbitComposition.getEnum(var5); + if (var3 == var7.inputType && var9 == var7.outputType) { + for (int var8 = 0; var8 < var7.outputCount; ++var8) { + if (var6 == var7.keys[var8]) { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.strVals[var8]; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.intVals[var8]; + } + + var7 = null; + break; + } + } + + if (var7 != null) { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = var7.defaultStr; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = var7.defaultInt; + } + } + + return 1; + } else { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++class54.Interpreter_stringStackSize - 1] = "null"; + } else { + Interpreter.Interpreter_intStack[++AbstractByteArrayCopier.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } +} diff --git a/runescape-client/src/main/java/class351.java b/runescape-client/src/main/java/class351.java index 9af0480b1e..cc422511c1 100644 --- a/runescape-client/src/main/java/class351.java +++ b/runescape-client/src/main/java/class351.java @@ -1,67 +1,49 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mx") -public enum class351 implements MouseWheel { - @ObfuscatedName("n") +@ObfuscatedName("ma") +public class class351 { + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lmx;" + descriptor = "Lkl;" ) - field4021(2, 1), - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lmx;" - ) - field4017(1, 2), - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lmx;" - ) - field4018(0, 3), - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lmx;" - ) - field4019(3, 10); + @Export("VarpDefinition_archive") + public static AbstractArchive VarpDefinition_archive; + @ObfuscatedName("a") + @Export("SpriteBuffer_spritePalette") + public static int[] SpriteBuffer_spritePalette; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -177039405 + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Lot;IB)V", + garbageValue = "-49" ) - final int field4020; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 523466867 - ) - final int field4022; + public static void method6285(Buffer var0, int var1) { + if (JagexCache.JagexCache_randomDat != null) { + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); + } catch (Exception var3) { + } + } - class351(int var3, int var4) { - this.field4020 = var3; - this.field4022 = var4; } - @ObfuscatedName("c") + @ObfuscatedName("lh") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1665712539" + descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "1301102242" ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field4022; - } + static String method6286(String var0) { + PlayerType[] var1 = class19.PlayerType_values(); - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)[I", - garbageValue = "2078126266" - ) - public static int[] method6227() { - int[] var0 = new int[KeyHandler.field132]; - - for (int var1 = 0; var1 < KeyHandler.field132; ++var1) { - var0[var1] = KeyHandler.field139[var1]; + for (int var2 = 0; var2 < var1.length; ++var2) { + PlayerType var3 = var1[var2]; + if (var3.modIcon != -1 && var0.startsWith(ReflectionCheck.method1064(var3.modIcon))) { + var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); + break; + } } return var0; diff --git a/runescape-client/src/main/java/class352.java b/runescape-client/src/main/java/class352.java index 47f2f3723d..20924cd8ff 100644 --- a/runescape-client/src/main/java/class352.java +++ b/runescape-client/src/main/java/class352.java @@ -1,34 +1,54 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mb") -public class class352 implements class357 { - @ObfuscatedName("n") +@ObfuscatedName("md") +public enum class352 implements MouseWheel { + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lns;" + descriptor = "Lmd;" ) - public final class379 field4023; + field4039(0, 1), + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lmd;" + ) + field4035(2, 2), + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lmd;" + ) + field4036(1, 3), + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lmd;" + ) + field4037(3, 10); - @ObfuscatedSignature( - descriptor = "(Lnb;)V" + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 882654827 ) - class352(class380 var1) { - this.field4023 = var1; + final int field4038; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1768873207 + ) + final int field4034; + + class352(int var3, int var4) { + this.field4038 = var3; + this.field4034 = var4; } + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lme;)V" + descriptor = "(I)I", + garbageValue = "661199397" ) - public class352(class353 var1) { - this(new class380(var1)); - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-745432089" - ) - public int method6231(int var1) { - return this.field4023.vmethod6605(var1); + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field4034; } } diff --git a/runescape-client/src/main/java/class353.java b/runescape-client/src/main/java/class353.java index a3587b4491..349ad9cc2e 100644 --- a/runescape-client/src/main/java/class353.java +++ b/runescape-client/src/main/java/class353.java @@ -1,71 +1,34 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("me") -public abstract class class353 extends class229 implements class406 { +@ObfuscatedName("mt") +public class class353 implements class358 { + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lju;Lka;I)V" + descriptor = "Lnw;" ) - protected class353(StudioGame var1, Language var2, int var3) { - super(var1, var2, var3); + public final class380 field4042; + + @ObfuscatedSignature( + descriptor = "(Lnt;)V" + ) + class353(class381 var1) { + this.field4042 = var1; } - @ObfuscatedName("n") @ObfuscatedSignature( - descriptor = "(IB)Lmi;", - garbageValue = "0" + descriptor = "(Lmu;)V" ) - protected abstract class355 vmethod6676(int var1); - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-111" - ) - public int method6235() { - return super.field2625; + public class353(class354 var1) { + this(new class381(var1)); } - @ObfuscatedName("m") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/Object;", - garbageValue = "-469045059" + descriptor = "(II)I", + garbageValue = "-1690813919" ) - public Object vmethod7113(int var1) { - class355 var2 = this.vmethod6676(var1); - return var2 != null && var2.method6260() ? var2.method6258() : null; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(Lot;I)Log;", - garbageValue = "-1585853671" - ) - public class407 method6250(Buffer var1) { - int var2 = var1.readUnsignedShort(); - class355 var3 = this.vmethod6676(var2); - class407 var4 = new class407(var2); - Class var5 = var3.field4025.field4246; - if (var5 == Integer.class) { - var4.field4340 = var1.readInt(); - } else if (var5 == Long.class) { - var4.field4340 = var1.readLong(); - } else if (var5 == String.class) { - var4.field4340 = var1.readStringCp1252NullCircumfixed(); - } else { - if (!class402.class.isAssignableFrom(var5)) { - throw new IllegalStateException(); - } - - try { - class402 var6 = (class402)var5.newInstance(); - var6.method7078(var1); - var4.field4340 = var6; - } catch (InstantiationException var7) { - } catch (IllegalAccessException var8) { - } - } - - return var4; + public int method6291(int var1) { + return this.field4042.vmethod6668(var1); } } diff --git a/runescape-client/src/main/java/class354.java b/runescape-client/src/main/java/class354.java index ce7b068408..68a5a73a4d 100644 --- a/runescape-client/src/main/java/class354.java +++ b/runescape-client/src/main/java/class354.java @@ -1,26 +1,71 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mf") -public class class354 extends class355 { - public class354(int var1) { - super(var1); +@ObfuscatedName("mu") +public abstract class class354 extends class229 implements class407 { + @ObfuscatedSignature( + descriptor = "(Ljz;Lkn;I)V" + ) + protected class354(StudioGame var1, Language var2, int var3) { + super(var1, var2, var3); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(Lot;II)V", - garbageValue = "-1018722476" + descriptor = "(IB)Lmp;", + garbageValue = "110" ) - void vmethod6259(Buffer var1, int var2) { + protected abstract class356 vmethod6749(int var1); + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-112" + ) + public int method6296() { + return super.field2645; } - @ObfuscatedName("v") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-100" + descriptor = "(II)Ljava/lang/Object;", + garbageValue = "-1930407702" ) - static final void method6255() { - class274.method5065("Your ignore list is full. Max of 100 for free users, and 400 for members"); + public Object vmethod7174(int var1) { + class356 var2 = this.vmethod6749(var1); + return var2 != null && var2.method6320() ? var2.method6317() : null; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Lot;B)Loj;", + garbageValue = "21" + ) + public class408 method6309(Buffer var1) { + int var2 = var1.readUnsignedShort(); + class356 var3 = this.vmethod6749(var2); + class408 var4 = new class408(var2); + Class var5 = var3.field4044.field4265; + if (var5 == Integer.class) { + var4.field4353 = var1.readInt(); + } else if (var5 == Long.class) { + var4.field4353 = var1.readLong(); + } else if (var5 == String.class) { + var4.field4353 = var1.readStringCp1252NullCircumfixed(); + } else { + if (!class403.class.isAssignableFrom(var5)) { + throw new IllegalStateException(); + } + + try { + class403 var6 = (class403)var5.newInstance(); + var6.method7144(var1); + var4.field4353 = var6; + } catch (InstantiationException var7) { + } catch (IllegalAccessException var8) { + } + } + + return var4; } } diff --git a/runescape-client/src/main/java/class355.java b/runescape-client/src/main/java/class355.java index 1747aa0b52..ef2d50d6b0 100644 --- a/runescape-client/src/main/java/class355.java +++ b/runescape-client/src/main/java/class355.java @@ -1,97 +1,34 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mi") -public abstract class class355 implements class228 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Loa;" - ) - class391 field4025; - - class355(int var1) { +@ObfuscatedName("mh") +public class class355 extends class356 { + public class355(int var1) { + super(var1); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Lot;II)V", - garbageValue = "-1018722476" + garbageValue = "-1820829801" ) - abstract void vmethod6259(Buffer var1, int var2); - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Lot;I)V", - garbageValue = "-1944706150" - ) - public void method6257(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - class351[] var3 = new class351[]{class351.field4019, class351.field4021, class351.field4017, class351.field4018}; - class351 var4 = (class351)class260.findEnumerated(var3, var2); - if (var4 != null) { - switch(var4.field4020) { - case 1: - class283[] var7 = new class283[]{class283.field3653, class283.field3651, class283.field3652, class283.field3650}; - class260.findEnumerated(var7, var1.readUnsignedByte()); - break; - case 2: - int var5 = var1.readUnsignedByte(); - int var8 = class389.field4234[var5]; - class391 var6; - if (var8 == 1) { - var6 = class391.field4240; - } else if (var8 == 2) { - var6 = class391.field4238; - } else if (var8 == 3) { - var6 = class391.field4241; - } else { - var6 = null; - } - - this.field4025 = var6; - if (this.field4025 != null) { - break; - } - - throw new IllegalStateException("Unknown ScriptVarType ID in VarType.decode: " + var5); - case 3: - var1.readStringCp1252NullCircumfixed(); - break; - default: - throw new IllegalStateException("Unrecognised VarTypeEncodingKey - " + var4); - } - } else { - this.vmethod6259(var1, var2); - } - } + void vmethod6328(Buffer var1, int var2) { } - @ObfuscatedName("g") + @ObfuscatedName("gs") @ObfuscatedSignature( - descriptor = "(S)Z", - garbageValue = "21515" + descriptor = "(B)V", + garbageValue = "-86" ) - boolean method6260() { - return this.field4025 != null; - } + static void method6311() { + int var0 = Players.Players_count; + int[] var1 = Players.Players_indices; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/Object;", - garbageValue = "26" - ) - Object method6258() { - if (this.field4025 == class391.field4240) { - return 0; - } else if (this.field4025 == class391.field4241) { - return -1L; - } else { - return this.field4025 == class391.field4238 ? "" : null; + for (int var2 = 0; var2 < var0; ++var2) { + if (var1[var2] != Client.combatTargetPlayerIndex && var1[var2] != Client.localPlayerIndex) { + class21.addPlayerToScene(Client.players[var1[var2]], true); + } } + } } diff --git a/runescape-client/src/main/java/class356.java b/runescape-client/src/main/java/class356.java index 74867038fd..13845107a6 100644 --- a/runescape-client/src/main/java/class356.java +++ b/runescape-client/src/main/java/class356.java @@ -1,5 +1,102 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mk") -public interface class356 { +@ObfuscatedName("mp") +public abstract class class356 implements class228 { + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lod;" + ) + class392 field4044; + + class356(int var1) { + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lot;II)V", + garbageValue = "-1820829801" + ) + abstract void vmethod6328(Buffer var1, int var2); + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(Lot;I)V", + garbageValue = "1989919652" + ) + public void method6323(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + class352[] var3 = new class352[]{class352.field4036, class352.field4035, class352.field4039, class352.field4037}; + class352 var4 = (class352)class128.findEnumerated(var3, var2); + if (var4 != null) { + switch(var4.field4038) { + case 0: + int var5 = var1.readUnsignedByte(); + this.field4044 = class65.method1876(var5); + if (this.field4044 != null) { + break; + } + + throw new IllegalStateException("Unknown ScriptVarType ID in VarType.decode: " + var5); + case 1: + default: + throw new IllegalStateException("Unrecognised VarTypeEncodingKey - " + var4); + case 2: + class128.findEnumerated(PcmPlayer.method744(), var1.readUnsignedByte()); + break; + case 3: + var1.readStringCp1252NullCircumfixed(); + } + } else { + this.vmethod6328(var1, var2); + } + } + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(S)Z", + garbageValue = "-17949" + ) + boolean method6320() { + return this.field4044 != null; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/Object;", + garbageValue = "-766150747" + ) + Object method6317() { + if (this.field4044 == class392.field4266) { + return 0; + } else if (this.field4044 == class392.field4273) { + return -1L; + } else { + return this.field4044 == class392.field4264 ? "" : null; + } + } + + @ObfuscatedName("fg") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-560817970" + ) + @Export("playPcmPlayers") + static final void playPcmPlayers() { + if (class116.pcmPlayer1 != null) { + class116.pcmPlayer1.run(); + } + + if (class126.pcmPlayer0 != null) { + class126.pcmPlayer0.run(); + } + + } } diff --git a/runescape-client/src/main/java/class357.java b/runescape-client/src/main/java/class357.java index b2f046e0e4..d5edc93dc4 100644 --- a/runescape-client/src/main/java/class357.java +++ b/runescape-client/src/main/java/class357.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("my") -public interface class357 extends class356 { +public interface class357 { } diff --git a/runescape-client/src/main/java/class358.java b/runescape-client/src/main/java/class358.java index c642fab861..28d4410805 100644 --- a/runescape-client/src/main/java/class358.java +++ b/runescape-client/src/main/java/class358.java @@ -1,36 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("md") -public class class358 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lmd;" - ) - static final class358 field4027; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lmd;" - ) - static final class358 field4028; - @ObfuscatedName("m") - String field4029; - - static { - field4027 = new class358("application/json"); - field4028 = new class358("text/plain"); - } - - class358(String var1) { - this.field4029 = var1; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "120" - ) - public String method6273() { - return this.field4029; - } +@ObfuscatedName("mg") +public interface class358 extends class357 { } diff --git a/runescape-client/src/main/java/class359.java b/runescape-client/src/main/java/class359.java index cd11a66fbf..85d6dfb365 100644 --- a/runescape-client/src/main/java/class359.java +++ b/runescape-client/src/main/java/class359.java @@ -1,8 +1,36 @@ -import java.io.UnsupportedEncodingException; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ma") -public interface class359 { - @ObfuscatedName("n") - byte[] method6276(int var1) throws UnsupportedEncodingException; +@ObfuscatedName("mw") +public class class359 { + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lmw;" + ) + static final class359 field4047; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lmw;" + ) + static final class359 field4048; + @ObfuscatedName("f") + String field4046; + + static { + field4047 = new class359("application/json"); + field4048 = new class359("text/plain"); + } + + class359(String var1) { + this.field4046 = var1; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-1364457726" + ) + public String method6333() { + return this.field4046; + } } diff --git a/runescape-client/src/main/java/class360.java b/runescape-client/src/main/java/class360.java index 11b940adf0..735f35d228 100644 --- a/runescape-client/src/main/java/class360.java +++ b/runescape-client/src/main/java/class360.java @@ -1,21 +1,8 @@ +import java.io.UnsupportedEncodingException; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("mg") -public class class360 { - @ObfuscatedName("o") - static final int[] field4035; - @ObfuscatedName("g") - static final int[] field4033; - - static { - field4035 = new int[16384]; - field4033 = new int[16384]; - double var0 = 3.834951969714103E-4D; - - for (int var2 = 0; var2 < 16384; ++var2) { - field4035[var2] = (int)(16384.0D * Math.sin(var0 * (double)var2)); - field4033[var2] = (int)(16384.0D * Math.cos((double)var2 * var0)); - } - - } +@ObfuscatedName("ml") +public interface class360 { + @ObfuscatedName("l") + byte[] method6336(byte var1) throws UnsupportedEncodingException; } diff --git a/runescape-client/src/main/java/class361.java b/runescape-client/src/main/java/class361.java index 4cdd1cd707..517d80710b 100644 --- a/runescape-client/src/main/java/class361.java +++ b/runescape-client/src/main/java/class361.java @@ -1,62 +1,21 @@ import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mu") +@ObfuscatedName("mb") public class class361 { - @ObfuscatedName("e") - static final int[] field4041; - @ObfuscatedName("l") - static final int[] field4038; + @ObfuscatedName("m") + static final int[] field4056; + @ObfuscatedName("k") + static final int[] field4054; static { - field4041 = new int[2048]; - field4038 = new int[2048]; - double var0 = 0.0030679615757712823D; + field4056 = new int[16384]; + field4054 = new int[16384]; + double var0 = 3.834951969714103E-4D; - for (int var2 = 0; var2 < 2048; ++var2) { - field4041[var2] = (int)(65536.0D * Math.sin((double)var2 * var0)); - field4038[var2] = (int)(65536.0D * Math.cos((double)var2 * var0)); + for (int var2 = 0; var2 < 16384; ++var2) { + field4056[var2] = (int)(16384.0D * Math.sin((double)var2 * var0)); + field4054[var2] = (int)(16384.0D * Math.cos((double)var2 * var0)); } } - - @ObfuscatedName("fh") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "111" - ) - static final void method6283() { - int var0 = Players.Players_count; - int[] var1 = Players.Players_indices; - - for (int var2 = 0; var2 < var0; ++var2) { - Player var3 = Client.players[var1[var2]]; - if (var3 != null) { - SceneTilePaint.updateActorSequence(var3, 1); - } - } - - } - - @ObfuscatedName("kq") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-195653107" - ) - static final void method6282(int var0, int var1) { - ClanChannel var2 = var0 >= 0 ? Client.currentClanChannels[var0] : WorldMapSectionType.guestClanChannel; - if (var2 != null && var1 >= 0 && var1 < var2.method2677()) { - ClanChannelMember var3 = (ClanChannelMember)var2.members.get(var1); - if (var3.rank == -1) { - String var4 = var3.username.getName(); - PacketWriter var5 = Client.packetWriter; - PacketBufferNode var6 = FriendSystem.getPacketBufferNode(ClientPacket.field2723, var5.isaacCipher); - var6.packetBuffer.writeByte(3 + BufferedSink.stringCp1252NullTerminatedByteSize(var4)); - var6.packetBuffer.writeByte(var0); - var6.packetBuffer.writeShort(var1); - var6.packetBuffer.writeStringCp1252NullTerminated(var4); - var5.addNode(var6); - } - } - } } diff --git a/runescape-client/src/main/java/class362.java b/runescape-client/src/main/java/class362.java new file mode 100644 index 0000000000..e401d4b754 --- /dev/null +++ b/runescape-client/src/main/java/class362.java @@ -0,0 +1,21 @@ +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("mx") +public class class362 { + @ObfuscatedName("i") + static final int[] field4063; + @ObfuscatedName("y") + static final int[] field4059; + + static { + field4063 = new int[2048]; + field4059 = new int[2048]; + double var0 = 0.0030679615757712823D; + + for (int var2 = 0; var2 < 2048; ++var2) { + field4063[var2] = (int)(65536.0D * Math.sin(var0 * (double)var2)); + field4059[var2] = (int)(65536.0D * Math.cos((double)var2 * var0)); + } + + } +} diff --git a/runescape-client/src/main/java/class366.java b/runescape-client/src/main/java/class366.java deleted file mode 100644 index f345947b86..0000000000 --- a/runescape-client/src/main/java/class366.java +++ /dev/null @@ -1,11 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ne") -public class class366 extends Node { - @ObfuscatedName("n") - public long field4052; - - public class366(long var1) { - this.field4052 = var1; - } -} diff --git a/runescape-client/src/main/java/class367.java b/runescape-client/src/main/java/class367.java new file mode 100644 index 0000000000..d35bdebe55 --- /dev/null +++ b/runescape-client/src/main/java/class367.java @@ -0,0 +1,11 @@ +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ng") +public class class367 extends Node { + @ObfuscatedName("l") + public long field4072; + + public class367(long var1) { + this.field4072 = var1; + } +} diff --git a/runescape-client/src/main/java/class379.java b/runescape-client/src/main/java/class379.java deleted file mode 100644 index 179c5af8a9..0000000000 --- a/runescape-client/src/main/java/class379.java +++ /dev/null @@ -1,19 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ns") -public interface class379 extends Iterable { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-293464898" - ) - int vmethod6605(int var1); - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/Object;I)V", - garbageValue = "1068931055" - ) - void vmethod6606(int var1, Object var2); -} diff --git a/runescape-client/src/main/java/class380.java b/runescape-client/src/main/java/class380.java index f720c91ec7..27f64ae791 100644 --- a/runescape-client/src/main/java/class380.java +++ b/runescape-client/src/main/java/class380.java @@ -1,64 +1,19 @@ -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nb") -public class class380 implements class379 { - @ObfuscatedName("n") - Map field4196; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lof;" - ) - final class406 field4195; - - @ObfuscatedSignature( - descriptor = "(Lof;)V" - ) - public class380(class406 var1) { - this.field4195 = var1; - } - - @ObfuscatedName("n") +@ObfuscatedName("nw") +public interface class380 extends Iterable { + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(II)I", - garbageValue = "-293464898" + garbageValue = "974003866" ) - public int vmethod6605(int var1) { - if (this.field4196 != null) { - class407 var2 = (class407)this.field4196.get(var1); - if (var2 != null) { - return (Integer)var2.field4340; - } - } + int vmethod6668(int var1); - return (Integer)this.field4195.vmethod7113(var1); - } - - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(ILjava/lang/Object;I)V", - garbageValue = "1068931055" + garbageValue = "-1271528922" ) - public void vmethod6606(int var1, Object var2) { - if (this.field4196 == null) { - this.field4196 = new HashMap(); - this.field4196.put(var1, new class407(var1, var2)); - } else { - class407 var3 = (class407)this.field4196.get(var1); - if (var3 == null) { - this.field4196.put(var1, new class407(var1, var2)); - } else { - var3.field4340 = var2; - } - } - - } - - public Iterator iterator() { - return this.field4196 == null ? Collections.emptyList().iterator() : this.field4196.values().iterator(); - } + void vmethod6669(int var1, Object var2); } diff --git a/runescape-client/src/main/java/class381.java b/runescape-client/src/main/java/class381.java new file mode 100644 index 0000000000..779bad7d1c --- /dev/null +++ b/runescape-client/src/main/java/class381.java @@ -0,0 +1,70 @@ +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("nt") +public class class381 implements class380 { + @ObfuscatedName("fk") + @ObfuscatedGetter( + intValue = 185677137 + ) + static int field4217; + @ObfuscatedName("l") + Map field4216; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Loa;" + ) + final class407 field4215; + + @ObfuscatedSignature( + descriptor = "(Loa;)V" + ) + public class381(class407 var1) { + this.field4215 = var1; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "974003866" + ) + public int vmethod6668(int var1) { + if (this.field4216 != null) { + class408 var2 = (class408)this.field4216.get(var1); + if (var2 != null) { + return (Integer)var2.field4353; + } + } + + return (Integer)this.field4215.vmethod7174(var1); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/Object;I)V", + garbageValue = "-1271528922" + ) + public void vmethod6669(int var1, Object var2) { + if (this.field4216 == null) { + this.field4216 = new HashMap(); + this.field4216.put(var1, new class408(var1, var2)); + } else { + class408 var3 = (class408)this.field4216.get(var1); + if (var3 == null) { + this.field4216.put(var1, new class408(var1, var2)); + } else { + var3.field4353 = var2; + } + } + + } + + public Iterator iterator() { + return this.field4216 == null ? Collections.emptyList().iterator() : this.field4216.values().iterator(); + } +} diff --git a/runescape-client/src/main/java/class382.java b/runescape-client/src/main/java/class383.java similarity index 55% rename from runescape-client/src/main/java/class382.java rename to runescape-client/src/main/java/class383.java index 2c94974279..8bfd2581a0 100644 --- a/runescape-client/src/main/java/class382.java +++ b/runescape-client/src/main/java/class383.java @@ -1,14 +1,14 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("na") -public class class382 { - @ObfuscatedName("m") - public static final char[] field4209; - @ObfuscatedName("k") - public static final char[] field4208; +@ObfuscatedName("ns") +public class class383 { + @ObfuscatedName("f") + static final char[] field4231; + @ObfuscatedName("j") + static final char[] field4232; static { - field4209 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; - field4208 = new char[]{'[', ']', '#'}; + field4231 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; + field4232 = new char[]{'[', ']', '#'}; } } diff --git a/runescape-client/src/main/java/class385.java b/runescape-client/src/main/java/class385.java deleted file mode 100644 index 0d9cfcb9ee..0000000000 --- a/runescape-client/src/main/java/class385.java +++ /dev/null @@ -1,39 +0,0 @@ -import java.util.Iterator; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ng") -class class385 implements Iterator { - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1107915063 - ) - int field4228; - // $FF: synthetic field - @ObfuscatedSignature( - descriptor = "Lni;" - ) - final class386 this$0; - - @ObfuscatedSignature( - descriptor = "(Lni;)V" - ) - class385(class386 var1) { - this.this$0 = var1; - } - - public Object next() { - int var1 = ++this.field4228 - 1; - class354 var2 = (class354)this.this$0.field4230.get((long)var1); - return var2 != null ? var2 : this.this$0.method6673(var1); - } - - public boolean hasNext() { - return this.field4228 < this.this$0.method6235(); - } - - public void remove() { - throw new UnsupportedOperationException(); - } -} diff --git a/runescape-client/src/main/java/class386.java b/runescape-client/src/main/java/class386.java index b87abe0276..109d8430dc 100644 --- a/runescape-client/src/main/java/class386.java +++ b/runescape-client/src/main/java/class386.java @@ -1,80 +1,46 @@ import java.util.Iterator; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ni") -public class class386 extends class353 implements class231 { - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lkk;" - ) - final AbstractArchive field4229; +@ObfuscatedName("no") +class class386 implements Iterator { @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Lhv;" + descriptor = "[Lbc;" ) - final DemotingHashTable field4230; - @ObfuscatedName("k") + @Export("World_worlds") + static World[] World_worlds; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 77906417 + intValue = -1877062523 ) - final int field4231; + int field4251; + // $FF: synthetic field + @ObfuscatedSignature( + descriptor = "Lnc;" + ) + final class387 this$0; @ObfuscatedSignature( - descriptor = "(Lju;ILka;Lkk;)V" + descriptor = "(Lnc;)V" ) - public class386(StudioGame var1, int var2, Language var3, AbstractArchive var4) { - super(var1, var3, var4 != null ? var4.getGroupFileCount(var2) : 0); - this.field4230 = new DemotingHashTable(64); - this.field4229 = var4; - this.field4231 = var2; + class386(class387 var1) { + this.this$0 = var1; } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IB)Lmi;", - garbageValue = "0" - ) - protected class355 vmethod6676(int var1) { - synchronized(this.field4230) { - class354 var2 = (class354)this.field4230.get((long)var1); - if (var2 == null) { - var2 = this.method6673(var1); - this.field4230.method4520(var2, (long)var1); - } - - return var2; - } + public boolean hasNext() { + return this.field4251 < this.this$0.method6296(); } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Lmf;", - garbageValue = "-31879947" - ) - class354 method6673(int var1) { - byte[] var2 = this.field4229.takeFile(this.field4231, var1); - class354 var3 = new class354(var1); - if (var2 != null) { - var3.method6257(new Buffer(var2)); - } - - return var3; + public Object next() { + int var1 = ++this.field4251 - 1; + class355 var2 = (class355)this.this$0.field4253.get((long)var1); + return var2 != null ? var2 : this.this$0.method6757(var1); } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-2" - ) - public void method6674() { - synchronized(this.field4230) { - this.field4230.clear(); - } - } - - public Iterator iterator() { - return new class385(this); + public void remove() { + throw new UnsupportedOperationException(); } } diff --git a/runescape-client/src/main/java/class387.java b/runescape-client/src/main/java/class387.java index dae58182a9..c41c626335 100644 --- a/runescape-client/src/main/java/class387.java +++ b/runescape-client/src/main/java/class387.java @@ -1,19 +1,80 @@ +import java.util.Iterator; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nt") -public interface class387 { - @ObfuscatedName("n") +@ObfuscatedName("nc") +public class class387 extends class354 implements class231 { + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lot;I)V", - garbageValue = "-231265174" + descriptor = "Lkl;" ) - void vmethod6721(Object var1, Buffer var2); + final AbstractArchive field4254; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lhs;" + ) + final DemotingHashTable field4253; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -961082881 + ) + final int field4255; - @ObfuscatedName("c") @ObfuscatedSignature( - descriptor = "(Lot;I)Ljava/lang/Object;", - garbageValue = "103901566" + descriptor = "(Ljz;ILkn;Lkl;)V" ) - Object vmethod6724(Buffer var1); + public class387(StudioGame var1, int var2, Language var3, AbstractArchive var4) { + super(var1, var3, var4 != null ? var4.getGroupFileCount(var2) : 0); + this.field4253 = new DemotingHashTable(64); + this.field4254 = var4; + this.field4255 = var2; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IB)Lmp;", + garbageValue = "110" + ) + protected class356 vmethod6749(int var1) { + synchronized(this.field4253) { + class355 var2 = (class355)this.field4253.get((long)var1); + if (var2 == null) { + var2 = this.method6757(var1); + this.field4253.method4588(var2, (long)var1); + } + + return var2; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IB)Lmh;", + garbageValue = "4" + ) + class355 method6757(int var1) { + byte[] var2 = this.field4254.takeFile(this.field4255, var1); + class355 var3 = new class355(var1); + if (var2 != null) { + var3.method6323(new Buffer(var2)); + } + + return var3; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "94" + ) + public void method6750() { + synchronized(this.field4253) { + this.field4253.clear(); + } + } + + public Iterator iterator() { + return new class386(this); + } } diff --git a/runescape-client/src/main/java/class388.java b/runescape-client/src/main/java/class388.java index c7572319a8..9b3bd23c3b 100644 --- a/runescape-client/src/main/java/class388.java +++ b/runescape-client/src/main/java/class388.java @@ -1,32 +1,19 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ny") -final class class388 implements class387 { - @ObfuscatedName("n") +@ObfuscatedName("nb") +public interface class388 { + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/lang/Object;Lot;I)V", - garbageValue = "-231265174" + garbageValue = "804166773" ) - public void vmethod6721(Object var1, Buffer var2) { - this.method6695((Integer)var1, var2); - } + void vmethod6815(Object var1, Buffer var2); - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(Lot;I)Ljava/lang/Object;", - garbageValue = "103901566" + garbageValue = "1421946597" ) - public Object vmethod6724(Buffer var1) { - return var1.readInt(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Integer;Lot;B)V", - garbageValue = "-11" - ) - void method6695(Integer var1, Buffer var2) { - var2.writeInt(var1); - } + Object vmethod6822(Buffer var1); } diff --git a/runescape-client/src/main/java/class389.java b/runescape-client/src/main/java/class389.java index a8ba7407f3..6770cb254d 100644 --- a/runescape-client/src/main/java/class389.java +++ b/runescape-client/src/main/java/class389.java @@ -1,11 +1,32 @@ import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("nl") -public class class389 { - @ObfuscatedName("n") - public static final int[] field4234; +@ObfuscatedName("ne") +final class class389 implements class388 { + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lot;I)V", + garbageValue = "804166773" + ) + public void vmethod6815(Object var1, Buffer var2) { + this.method6770((Integer)var1, var2); + } - static { - field4234 = new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, -1, 1, -1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3}; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lot;I)Ljava/lang/Object;", + garbageValue = "1421946597" + ) + public Object vmethod6822(Buffer var1) { + return var1.readInt(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Integer;Lot;I)V", + garbageValue = "1391168197" + ) + void method6770(Integer var1, Buffer var2) { + var2.writeInt(var1); } } diff --git a/runescape-client/src/main/java/class390.java b/runescape-client/src/main/java/class390.java index 231926e25c..81e81b6f4e 100644 --- a/runescape-client/src/main/java/class390.java +++ b/runescape-client/src/main/java/class390.java @@ -1,32 +1,11 @@ import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oj") -final class class390 implements class387 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lot;I)V", - garbageValue = "-231265174" - ) - public void vmethod6721(Object var1, Buffer var2) { - this.method6701((Long)var1, var2); - } +@ObfuscatedName("ow") +public class class390 { + @ObfuscatedName("l") + static final int[] field4258; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lot;I)Ljava/lang/Object;", - garbageValue = "103901566" - ) - public Object vmethod6724(Buffer var1) { - return var1.readLong(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Long;Lot;I)V", - garbageValue = "-781779725" - ) - void method6701(Long var1, Buffer var2) { - var2.writeLong(var1); + static { + field4258 = new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, -1, 1, -1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3}; } } diff --git a/runescape-client/src/main/java/class391.java b/runescape-client/src/main/java/class391.java index 974c105239..23a4ab99b3 100644 --- a/runescape-client/src/main/java/class391.java +++ b/runescape-client/src/main/java/class391.java @@ -1,239 +1,42 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oa") -public class class391 implements MouseWheel { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Loa;" - ) - public static final class391 field4240; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Loa;" - ) - public static final class391 field4241; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Loa;" - ) - public static final class391 field4238; - @ObfuscatedName("ej") - @ObfuscatedSignature( - descriptor = "Lkx;" - ) - @Export("archive13") - static Archive archive13; - @ObfuscatedName("kz") - @ObfuscatedGetter( - intValue = -1479226469 - ) - @Export("Client_plane") - static int Client_plane; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1478463419 - ) - final int field4239; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -52855613 - ) - public final int field4237; - @ObfuscatedName("g") - public final Class field4246; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lnt;" - ) - final class387 field4242; - - static { - field4240 = new class391(2, 0, Integer.class, new class388()); - field4241 = new class391(0, 1, Long.class, new class390()); - field4238 = new class391(1, 2, String.class, new class392()); - } - - @ObfuscatedSignature( - descriptor = "(IILjava/lang/Class;Lnt;)V" - ) - class391(int var1, int var2, Class var3, class387 var4) { - this.field4239 = var1; - this.field4237 = var2; - this.field4246 = var3; - this.field4242 = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1665712539" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field4237; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "(Lot;I)Ljava/lang/Object;", - garbageValue = "925014679" - ) - public Object method6713(Buffer var1) { - return this.field4242.vmethod6724(var1); - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Class;B)Loa;", - garbageValue = "-80" - ) - public static class391 method6710(Class var0) { - class391[] var1 = new class391[]{field4240, field4238, field4241}; - class391[] var2 = var1; - - for (int var3 = 0; var3 < var2.length; ++var3) { - class391 var4 = var2[var3]; - if (var4.field4246 == var0) { - return var4; - } - } - - return null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-1580575077" - ) - public static boolean method6716(char var0) { - if (var0 >= ' ' && var0 < 127 || var0 > 127 && var0 < 160 || var0 > 160 && var0 <= 255) { - return true; - } else { - if (var0 != 0) { - char[] var1 = class316.cp1252AsciiExtension; - - for (int var2 = 0; var2 < var1.length; ++var2) { - char var3 = var1[var2]; - if (var0 == var3) { - return true; - } - } - } - - return false; - } - } - - @ObfuscatedName("m") +@ObfuscatedName("oi") +final class class391 implements class388 { + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(Ljava/lang/Object;Lot;I)V", - garbageValue = "-1683603264" + garbageValue = "804166773" ) - public static void method6711(Object var0, Buffer var1) { - Class var3 = var0.getClass(); - class391 var4 = method6710(var3); - if (var4 == null) { - throw new IllegalArgumentException(); - } else { - class387 var2 = var4.field4242; - var2.vmethod6721(var0, var1); - } + public void vmethod6815(Object var1, Buffer var2) { + this.method6788((Long)var1, var2); } - @ObfuscatedName("o") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;II[BII)I", - garbageValue = "1085881641" + descriptor = "(Lot;I)Ljava/lang/Object;", + garbageValue = "1421946597" ) - @Export("encodeStringCp1252") - public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { - int var5 = var2 - var1; - - for (int var6 = 0; var6 < var5; ++var6) { - char var7 = var0.charAt(var6 + var1); - if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { - var3[var6 + var4] = (byte)var7; - } else if (var7 == 8364) { - var3[var6 + var4] = -128; - } else if (var7 == 8218) { - var3[var6 + var4] = -126; - } else if (var7 == 402) { - var3[var6 + var4] = -125; - } else if (var7 == 8222) { - var3[var6 + var4] = -124; - } else if (var7 == 8230) { - var3[var6 + var4] = -123; - } else if (var7 == 8224) { - var3[var6 + var4] = -122; - } else if (var7 == 8225) { - var3[var6 + var4] = -121; - } else if (var7 == 710) { - var3[var6 + var4] = -120; - } else if (var7 == 8240) { - var3[var6 + var4] = -119; - } else if (var7 == 352) { - var3[var6 + var4] = -118; - } else if (var7 == 8249) { - var3[var6 + var4] = -117; - } else if (var7 == 338) { - var3[var6 + var4] = -116; - } else if (var7 == 381) { - var3[var6 + var4] = -114; - } else if (var7 == 8216) { - var3[var6 + var4] = -111; - } else if (var7 == 8217) { - var3[var6 + var4] = -110; - } else if (var7 == 8220) { - var3[var6 + var4] = -109; - } else if (var7 == 8221) { - var3[var6 + var4] = -108; - } else if (var7 == 8226) { - var3[var6 + var4] = -107; - } else if (var7 == 8211) { - var3[var6 + var4] = -106; - } else if (var7 == 8212) { - var3[var6 + var4] = -105; - } else if (var7 == 732) { - var3[var6 + var4] = -104; - } else if (var7 == 8482) { - var3[var6 + var4] = -103; - } else if (var7 == 353) { - var3[var6 + var4] = -102; - } else if (var7 == 8250) { - var3[var6 + var4] = -101; - } else if (var7 == 339) { - var3[var6 + var4] = -100; - } else if (var7 == 382) { - var3[var6 + var4] = -98; - } else if (var7 == 376) { - var3[var6 + var4] = -97; - } else { - var3[var6 + var4] = 63; - } - } - - return var5; + public Object vmethod6822(Buffer var1) { + return var1.readLong(); } - @ObfuscatedName("kx") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Ljd;IIIB)V", - garbageValue = "46" + descriptor = "(Ljava/lang/Long;Lot;I)V", + garbageValue = "-1125852058" ) - @Export("drawCompass") - static final void drawCompass(Widget var0, int var1, int var2, int var3) { - SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - if (Client.minimapState < 3) { - MouseHandler.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); - } + void method6788(Long var1, Buffer var2) { + var2.writeLong(var1); + } - } + @ObfuscatedName("ea") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "101" + ) + static final void method6795() { + Scene.Scene_isLowDetail = false; + Client.isLowDetail = false; } } diff --git a/runescape-client/src/main/java/class392.java b/runescape-client/src/main/java/class392.java index adb600ca42..1f820c9e0a 100644 --- a/runescape-client/src/main/java/class392.java +++ b/runescape-client/src/main/java/class392.java @@ -1,32 +1,159 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("oo") -final class class392 implements class387 { - @ObfuscatedName("n") +@ObfuscatedName("od") +public class class392 implements MouseWheel { + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lod;" + ) + public static final class392 field4266; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lod;" + ) + public static final class392 field4273; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lod;" + ) + public static final class392 field4264; + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "Ljz;" + ) + static StudioGame field4267; + @ObfuscatedName("mv") + @ObfuscatedGetter( + intValue = 2078867917 + ) + @Export("menuY") + static int menuY; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1376860317 + ) + final int field4263; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -490684947 + ) + public final int field4260; + @ObfuscatedName("k") + public final Class field4265; + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lnb;" + ) + final class388 field4261; + + static { + field4266 = new class392(1, 0, Integer.class, new class389()); + field4273 = new class392(2, 1, Long.class, new class391()); + field4264 = new class392(0, 2, String.class, new class393()); + } + + @ObfuscatedSignature( + descriptor = "(IILjava/lang/Class;Lnb;)V" + ) + class392(int var1, int var2, Class var3, class388 var4) { + this.field4263 = var1; + this.field4260 = var2; + this.field4265 = var3; + this.field4261 = var4; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "661199397" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field4260; + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(Lot;B)Ljava/lang/Object;", + garbageValue = "15" + ) + public Object method6800(Buffer var1) { + return this.field4261.vmethod6822(var1); + } + + @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(Ljava/lang/Object;Lot;I)V", - garbageValue = "-231265174" + garbageValue = "-20110377" ) - public void vmethod6721(Object var1, Buffer var2) { - this.method6722((String)var1, var2); + public static void method6797(Object var0, Buffer var1) { + class388 var2 = method6798(var0.getClass()); + var2.vmethod6815(var0, var1); } - @ObfuscatedName("c") + @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(Lot;I)Ljava/lang/Object;", - garbageValue = "103901566" + descriptor = "(Ljava/lang/Class;I)Lnb;", + garbageValue = "1660700582" ) - public Object vmethod6724(Buffer var1) { - return var1.readStringCp1252NullTerminated(); + static class388 method6798(Class var0) { + class392[] var2 = new class392[]{field4266, field4264, field4273}; + class392[] var3 = var2; + int var4 = 0; + + class392 var1; + while (true) { + if (var4 >= var3.length) { + var1 = null; + break; + } + + class392 var5 = var3[var4]; + if (var5.field4265 == var0) { + var1 = var5; + break; + } + + ++var4; + } + + if (var1 == null) { + throw new IllegalArgumentException(); + } else { + return var1.field4261; + } } - @ObfuscatedName("z") + @ObfuscatedName("fl") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lot;I)V", - garbageValue = "1729210108" + descriptor = "(IS)V", + garbageValue = "11165" ) - void method6722(String var1, Buffer var2) { - var2.writeStringCp1252NullTerminated(var1); + @Export("setWindowedMode") + static void setWindowedMode(int var0) { + Client.field708 = 0L; + if (var0 >= 2) { + Client.isResizable = true; + } else { + Client.isResizable = false; + } + + if (class12.getWindowedMode() == 1) { + class21.client.setMaxCanvasSize(765, 503); + } else { + class21.client.setMaxCanvasSize(7680, 2160); + } + + if (Client.gameState >= 25) { + PacketBufferNode var1 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2718, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class12.getWindowedMode()); + var1.packetBuffer.writeShort(Huffman.canvasWidth); + var1.packetBuffer.writeShort(MouseRecorder.canvasHeight); + Client.packetWriter.addNode(var1); + } + } } diff --git a/runescape-client/src/main/java/class393.java b/runescape-client/src/main/java/class393.java index ebb7ffcad7..d2709acb39 100644 --- a/runescape-client/src/main/java/class393.java +++ b/runescape-client/src/main/java/class393.java @@ -1,19 +1,32 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("on") -public final class class393 { - @ObfuscatedName("o") +@ObfuscatedName("os") +final class class393 implements class388 { + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "[Lbh;" + descriptor = "(Ljava/lang/Object;Lot;I)V", + garbageValue = "804166773" ) - @Export("World_worlds") - static World[] World_worlds; - @ObfuscatedName("z") + public void vmethod6815(Object var1, Buffer var2) { + this.method6814((String)var1, var2); + } + + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lkk;" + descriptor = "(Lot;I)Ljava/lang/Object;", + garbageValue = "1421946597" ) - @Export("ItemDefinition_modelArchive") - static AbstractArchive ItemDefinition_modelArchive; + public Object vmethod6822(Buffer var1) { + return var1.readStringCp1252NullTerminated(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Lot;I)V", + garbageValue = "1290124778" + ) + void method6814(String var1, Buffer var2) { + var2.writeStringCp1252NullTerminated(var1); + } } diff --git a/runescape-client/src/main/java/class394.java b/runescape-client/src/main/java/class394.java deleted file mode 100644 index 2cd48d3a64..0000000000 --- a/runescape-client/src/main/java/class394.java +++ /dev/null @@ -1,67 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("os") -public class class394 { - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Loi;" - ) - @Export("logoSprite") - static IndexedSprite logoSprite; - - @ObfuscatedName("hh") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1028780537" - ) - static final void method6737() { - int var0 = WorldMapRegion.menuX; - int var1 = ApproximateRouteStrategy.menuY; - int var2 = VarcInt.menuWidth; - int var3 = WorldMapLabelSize.menuHeight; - int var4 = 6116423; - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, var4); - Rasterizer2D.Rasterizer2D_fillRectangle(var0 + 1, var1 + 1, var2 - 2, 16, 0); - Rasterizer2D.Rasterizer2D_drawRectangle(var0 + 1, var1 + 18, var2 - 2, var3 - 19, 0); - class11.fontBold12.draw("Choose Option", var0 + 3, var1 + 14, var4, -1); - int var5 = MouseHandler.MouseHandler_x; - int var6 = MouseHandler.MouseHandler_y; - - int var7; - int var8; - int var9; - for (var7 = 0; var7 < Client.menuOptionsCount; ++var7) { - var8 = var1 + (Client.menuOptionsCount - 1 - var7) * 15 + 31; - var9 = 16777215; - if (var5 > var0 && var5 < var0 + var2 && var6 > var8 - 13 && var6 < var8 + 3) { - var9 = 16776960; - } - - Font var12 = class11.fontBold12; - String var13; - if (var7 < 0) { - var13 = ""; - } else if (Client.menuTargets[var7].length() > 0) { - var13 = Client.menuActions[var7] + " " + Client.menuTargets[var7]; - } else { - var13 = Client.menuActions[var7]; - } - - var12.draw(var13, var0 + 3, var8, var9, 0); - } - - var7 = WorldMapRegion.menuX; - var8 = ApproximateRouteStrategy.menuY; - var9 = VarcInt.menuWidth; - int var10 = WorldMapLabelSize.menuHeight; - - for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) { - if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var9 + var7 && Client.rootWidgetHeights[var11] + Client.rootWidgetYs[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) { - Client.field766[var11] = true; - } - } - - } -} diff --git a/runescape-client/src/main/java/class395.java b/runescape-client/src/main/java/class395.java index 63c8ded944..a78983cf53 100644 --- a/runescape-client/src/main/java/class395.java +++ b/runescape-client/src/main/java/class395.java @@ -1,140 +1,13 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ol") +@ObfuscatedName("op") public class class395 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Lka;IB)Lil;", - garbageValue = "-49" + descriptor = "Lkl;" ) - public static PacketBufferNode method6747(int var0, String var1, Language var2, int var3) { - PacketBufferNode var4 = FriendSystem.getPacketBufferNode(ClientPacket.field2654, Client.packetWriter.isaacCipher); - var4.packetBuffer.writeByte(0); - int var5 = var4.packetBuffer.offset; - var4.packetBuffer.writeByte(var0); - String var6 = var1.toLowerCase(); - byte var7 = 0; - if (var6.startsWith("yellow:")) { - var7 = 0; - var1 = var1.substring("yellow:".length()); - } else if (var6.startsWith("red:")) { - var7 = 1; - var1 = var1.substring("red:".length()); - } else if (var6.startsWith("green:")) { - var7 = 2; - var1 = var1.substring("green:".length()); - } else if (var6.startsWith("cyan:")) { - var7 = 3; - var1 = var1.substring("cyan:".length()); - } else if (var6.startsWith("purple:")) { - var7 = 4; - var1 = var1.substring("purple:".length()); - } else if (var6.startsWith("white:")) { - var7 = 5; - var1 = var1.substring("white:".length()); - } else if (var6.startsWith("flash1:")) { - var7 = 6; - var1 = var1.substring("flash1:".length()); - } else if (var6.startsWith("flash2:")) { - var7 = 7; - var1 = var1.substring("flash2:".length()); - } else if (var6.startsWith("flash3:")) { - var7 = 8; - var1 = var1.substring("flash3:".length()); - } else if (var6.startsWith("glow1:")) { - var7 = 9; - var1 = var1.substring("glow1:".length()); - } else if (var6.startsWith("glow2:")) { - var7 = 10; - var1 = var1.substring("glow2:".length()); - } else if (var6.startsWith("glow3:")) { - var7 = 11; - var1 = var1.substring("glow3:".length()); - } else if (var2 != Language.Language_EN) { - if (var6.startsWith("yellow:")) { - var7 = 0; - var1 = var1.substring("yellow:".length()); - } else if (var6.startsWith("red:")) { - var7 = 1; - var1 = var1.substring("red:".length()); - } else if (var6.startsWith("green:")) { - var7 = 2; - var1 = var1.substring("green:".length()); - } else if (var6.startsWith("cyan:")) { - var7 = 3; - var1 = var1.substring("cyan:".length()); - } else if (var6.startsWith("purple:")) { - var7 = 4; - var1 = var1.substring("purple:".length()); - } else if (var6.startsWith("white:")) { - var7 = 5; - var1 = var1.substring("white:".length()); - } else if (var6.startsWith("flash1:")) { - var7 = 6; - var1 = var1.substring("flash1:".length()); - } else if (var6.startsWith("flash2:")) { - var7 = 7; - var1 = var1.substring("flash2:".length()); - } else if (var6.startsWith("flash3:")) { - var7 = 8; - var1 = var1.substring("flash3:".length()); - } else if (var6.startsWith("glow1:")) { - var7 = 9; - var1 = var1.substring("glow1:".length()); - } else if (var6.startsWith("glow2:")) { - var7 = 10; - var1 = var1.substring("glow2:".length()); - } else if (var6.startsWith("glow3:")) { - var7 = 11; - var1 = var1.substring("glow3:".length()); - } - } - - var6 = var1.toLowerCase(); - byte var8 = 0; - if (var6.startsWith("wave:")) { - var8 = 1; - var1 = var1.substring("wave:".length()); - } else if (var6.startsWith("wave2:")) { - var8 = 2; - var1 = var1.substring("wave2:".length()); - } else if (var6.startsWith("shake:")) { - var8 = 3; - var1 = var1.substring("shake:".length()); - } else if (var6.startsWith("scroll:")) { - var8 = 4; - var1 = var1.substring("scroll:".length()); - } else if (var6.startsWith("slide:")) { - var8 = 5; - var1 = var1.substring("slide:".length()); - } else if (var2 != Language.Language_EN) { - if (var6.startsWith("wave:")) { - var8 = 1; - var1 = var1.substring("wave:".length()); - } else if (var6.startsWith("wave2:")) { - var8 = 2; - var1 = var1.substring("wave2:".length()); - } else if (var6.startsWith("shake:")) { - var8 = 3; - var1 = var1.substring("shake:".length()); - } else if (var6.startsWith("scroll:")) { - var8 = 4; - var1 = var1.substring("scroll:".length()); - } else if (var6.startsWith("slide:")) { - var8 = 5; - var1 = var1.substring("slide:".length()); - } - } - - var4.packetBuffer.writeByte(var7); - var4.packetBuffer.writeByte(var8); - ByteArrayPool.method5814(var4.packetBuffer, var1); - if (var0 == class269.field3226.rsOrdinal()) { - var4.packetBuffer.writeByte(var3); - } - - var4.packetBuffer.method6812(var4.packetBuffer.offset - var5); - return var4; - } + @Export("SequenceDefinition_archive") + public static AbstractArchive SequenceDefinition_archive; } diff --git a/runescape-client/src/main/java/class396.java b/runescape-client/src/main/java/class396.java index dd52acdea8..bb4ad8b81f 100644 --- a/runescape-client/src/main/java/class396.java +++ b/runescape-client/src/main/java/class396.java @@ -1,649 +1,9 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ou") -public final class class396 { - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = -659349540362680325L - ) - static long field4262; - @ObfuscatedName("c") - @ObfuscatedGetter( - longValue = -376166169369574181L - ) - static long field4261; - - @ObfuscatedName("is") - @ObfuscatedSignature( - descriptor = "([Ljd;IIIIIIIII)V", - garbageValue = "1795469485" - ) - @Export("drawInterface") - static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - - for (int var9 = 0; var9 < var0.length; ++var9) { - Widget var10 = var0[var9]; - if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { - int var11; - if (var8 == -1) { - Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; - Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; - Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; - Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; - var11 = ++Client.rootWidgetCount - 1; - } else { - var11 = var8; - } - - var10.rootIndex = var11; - var10.cycle = Client.cycle; - if (!var10.isIf3 || !PcmPlayer.isComponentHidden(var10)) { - if (var10.contentType > 0) { - ReflectionCheck.method1082(var10); - } - - int var12 = var10.x + var6; - int var13 = var7 + var10.y; - int var14 = var10.transparencyTop; - int var15; - int var16; - if (var10 == Client.clickedWidget) { - if (var1 != -1412584499 && !var10.isScrollBar) { - PcmPlayer.field280 = var0; - TextureProvider.field2464 = var6; - class29.field177 = var7; - continue; - } - - if (Client.isDraggingWidget && Client.field666) { - var15 = MouseHandler.MouseHandler_x; - var16 = MouseHandler.MouseHandler_y; - var15 -= Client.widgetClickX; - var16 -= Client.widgetClickY; - if (var15 < Client.field623) { - var15 = Client.field623; - } - - if (var15 + var10.width > Client.field623 + Client.clickedWidgetParent.width) { - var15 = Client.field623 + Client.clickedWidgetParent.width - var10.width; - } - - if (var16 < Client.field658) { - var16 = Client.field658; - } - - if (var16 + var10.height > Client.field658 + Client.clickedWidgetParent.height) { - var16 = Client.field658 + Client.clickedWidgetParent.height - var10.height; - } - - var12 = var15; - var13 = var16; - } - - if (!var10.isScrollBar) { - var14 = 128; - } - } - - int var17; - int var18; - int var19; - int var20; - int var21; - int var22; - if (var10.type == 2) { - var15 = var2; - var16 = var3; - var17 = var4; - var18 = var5; - } else if (var10.type == 9) { - var19 = var12; - var20 = var13; - var21 = var12 + var10.width; - var22 = var13 + var10.height; - if (var21 < var12) { - var19 = var21; - var21 = var12; - } - - if (var22 < var13) { - var20 = var22; - var22 = var13; - } - - ++var21; - ++var22; - var15 = var19 > var2 ? var19 : var2; - var16 = var20 > var3 ? var20 : var3; - var17 = var21 < var4 ? var21 : var4; - var18 = var22 < var5 ? var22 : var5; - } else { - var19 = var12 + var10.width; - var20 = var13 + var10.height; - var15 = var12 > var2 ? var12 : var2; - var16 = var13 > var3 ? var13 : var3; - var17 = var19 < var4 ? var19 : var4; - var18 = var20 < var5 ? var20 : var5; - } - - if (!var10.isIf3 || var15 < var17 && var16 < var18) { - if (var10.contentType != 0) { - if (var10.contentType == 1336) { - if (Client.displayFps) { - var13 += 15; - class129.fontPlain12.drawRightAligned("Fps:" + GameEngine.fps, var12 + var10.width, var13, 16776960, -1); - var13 += 15; - Runtime var42 = Runtime.getRuntime(); - var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L); - var21 = 16776960; - if (var20 > 327680 && !Client.isLowDetail) { - var21 = 16711680; - } - - class129.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); - var13 += 15; - } - continue; - } - - if (var10.contentType == 1337) { - Client.viewportX = var12; - Client.viewportY = var13; - UserComparator8.drawEntities(var12, var13, var10.width, var10.height); - Client.field697[var10.rootIndex] = true; - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1338) { - Renderable.drawMinimap(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1339) { - class391.drawCompass(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1400) { - class65.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); - } - - if (var10.contentType == 1401) { - class65.worldMap.drawOverview(var12, var13, var10.width, var10.height); - } - - if (var10.contentType == 1402) { - Login.loginScreenRunesAnimation.draw(var12, Client.cycle); - } - } - - if (var10.type == 0) { - if (!var10.isIf3 && PcmPlayer.isComponentHidden(var10) && var10 != class301.mousedOverWidgetIf1) { - continue; - } - - if (!var10.isIf3) { - if (var10.scrollY > var10.scrollHeight - var10.height) { - var10.scrollY = var10.scrollHeight - var10.height; - } - - if (var10.scrollY < 0) { - var10.scrollY = 0; - } - } - - drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); - if (var10.children != null) { - drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); - } - - InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); - if (var30 != null) { - class28.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - } - - if (Client.isResizable || Client.field687[var11] || Client.gameDrawingMode > 1) { - if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { - class185.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); - } - - if (var10.type != 1) { - int var23; - int var24; - int var25; - int var26; - if (var10.type == 2) { - var19 = 0; - - for (var20 = 0; var20 < var10.rawHeight; ++var20) { - for (var21 = 0; var21 < var10.rawWidth; ++var21) { - var22 = var12 + var21 * (var10.paddingX + 32); - var23 = var13 + var20 * (var10.paddingY + 32); - if (var19 < 20) { - var22 += var10.inventoryXOffsets[var19]; - var23 += var10.inventoryYOffsets[var19]; - } - - if (var10.itemIds[var19] <= 0) { - if (var10.inventorySprites != null && var19 < 20) { - SpritePixels var46 = var10.getInventorySprite(var19); - if (var46 != null) { - var46.drawTransBgAt(var22, var23); - } else if (Widget.field3153) { - Actor.invalidateWidget(var10); - } - } - } else { - boolean var37 = false; - boolean var38 = false; - var26 = var10.itemIds[var19] - 1; - if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == Decimator.dragInventoryWidget && var19 == Client.dragItemSlotSource) { - SpritePixels var35; - if (Client.isItemSelected == 1 && var19 == DesktopPlatformInfoProvider.selectedItemSlot && var10.id == Tiles.selectedItemWidget) { - var35 = KitDefinition.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); - } else { - var35 = KitDefinition.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); - } - - if (var35 != null) { - if (var10 == Decimator.dragInventoryWidget && var19 == Client.dragItemSlotSource) { - var24 = MouseHandler.MouseHandler_x - Client.draggedWidgetX; - var25 = MouseHandler.MouseHandler_y - Client.draggedWidgetY; - if (var24 < 5 && var24 > -5) { - var24 = 0; - } - - if (var25 < 5 && var25 > -5) { - var25 = 0; - } - - if (Client.itemDragDuration < 5) { - var24 = 0; - var25 = 0; - } - - var35.drawTransAt(var22 + var24, var25 + var23, 128); - if (var1 != -1) { - Widget var28 = var0[var1 & 65535]; - int var29; - if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { - var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field764 / 3; - if (var29 > Client.field764 * 10) { - var29 = Client.field764 * 10; - } - - if (var29 > var28.scrollY) { - var29 = var28.scrollY; - } - - var28.scrollY -= var29; - Client.draggedWidgetY += var29; - Actor.invalidateWidget(var28); - } - - if (var23 + var25 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { - var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field764 / 3; - if (var29 > Client.field764 * 10) { - var29 = Client.field764 * 10; - } - - if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { - var29 = var28.scrollHeight - var28.height - var28.scrollY; - } - - var28.scrollY += var29; - Client.draggedWidgetY -= var29; - Actor.invalidateWidget(var28); - } - } - } else if (var10 == FriendsChat.field3934 && var19 == Client.field593) { - var35.drawTransAt(var22, var23, 128); - } else { - var35.drawTransBgAt(var22, var23); - } - } else { - Actor.invalidateWidget(var10); - } - } - } - - ++var19; - } - } - } else if (var10.type == 3) { - if (BZip2State.runCs1(var10)) { - var19 = var10.color2; - if (var10 == class301.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var19 = var10.mouseOverColor2; - } - } else { - var19 = var10.color; - if (var10 == class301.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var19 = var10.mouseOverColor; - } - } - - if (var10.fill) { - switch(var10.fillMode.field4353) { - case 1: - Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); - break; - case 2: - Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); - break; - default: - if (var14 == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); - } - } - } else if (var14 == 0) { - Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); - } - } else { - Font var39; - if (var10.type == 4) { - var39 = var10.getFont(); - if (var39 == null) { - if (Widget.field3153) { - Actor.invalidateWidget(var10); - } - } else { - String var44 = var10.text; - if (BZip2State.runCs1(var10)) { - var20 = var10.color2; - if (var10 == class301.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var20 = var10.mouseOverColor2; - } - - if (var10.text2.length() > 0) { - var44 = var10.text2; - } - } else { - var20 = var10.color; - if (var10 == class301.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var20 = var10.mouseOverColor; - } - } - - if (var10.isIf3 && var10.itemId != -1) { - ItemComposition var45 = class65.ItemDefinition_get(var10.itemId); - var44 = var45.name; - if (var44 == null) { - var44 = "null"; - } - - if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { - var44 = class54.colorStartTag(16748608) + var44 + "" + " " + 'x' + class1.formatItemStacks(var10.itemQuantity); - } - } - - if (var10 == Client.meslayerContinueWidget) { - var44 = "Please wait..."; - var20 = var10.color; - } - - if (!var10.isIf3) { - var44 = WorldMapIcon_0.method3729(var44, var10); - } - - var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); - } - } else if (var10.type == 5) { - SpritePixels var40; - if (!var10.isIf3) { - var40 = var10.getSprite(BZip2State.runCs1(var10)); - if (var40 != null) { - var40.drawTransBgAt(var12, var13); - } else if (Widget.field3153) { - Actor.invalidateWidget(var10); - } - } else { - if (var10.itemId != -1) { - var40 = KitDefinition.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); - } else { - var40 = var10.getSprite(false); - } - - if (var40 == null) { - if (Widget.field3153) { - Actor.invalidateWidget(var10); - } - } else { - var20 = var40.width; - var21 = var40.height; - if (!var10.spriteTiling) { - var22 = var10.width * 4096 / var20; - if (var10.spriteAngle != 0) { - var40.method7262(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); - } else if (var14 != 0) { - var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); - } else if (var20 == var10.width && var21 == var10.height) { - var40.drawTransBgAt(var12, var13); - } else { - var40.drawScaledAt(var12, var13, var10.width, var10.height); - } - } else { - Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); - var22 = (var20 - 1 + var10.width) / var20; - var23 = (var21 - 1 + var10.height) / var21; - - for (var24 = 0; var24 < var22; ++var24) { - for (var25 = 0; var25 < var23; ++var25) { - if (var10.spriteAngle != 0) { - var40.method7262(var20 / 2 + var12 + var20 * var24, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096); - } else if (var14 != 0) { - var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255)); - } else { - var40.drawTransBgAt(var12 + var20 * var24, var13 + var25 * var21); - } - } - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - } - } - } - } else { - ItemComposition var33; - if (var10.type == 6) { - boolean var36 = BZip2State.runCs1(var10); - if (var36) { - var20 = var10.sequenceId2; - } else { - var20 = var10.sequenceId; - } - - Model var41 = null; - var22 = 0; - if (var10.itemId != -1) { - var33 = class65.ItemDefinition_get(var10.itemId); - if (var33 != null) { - var33 = var33.getCountObj(var10.itemQuantity); - var41 = var33.getModel(1); - if (var41 != null) { - var41.calculateBoundsCylinder(); - var22 = var41.height / 2; - } else { - Actor.invalidateWidget(var10); - } - } - } else if (var10.modelType == 5) { - if (var10.modelId == 0) { - var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); - } else { - var41 = class129.localPlayer.getModel(); - } - } else if (var20 == -1) { - var41 = var10.getModel((SequenceDefinition)null, -1, var36, class129.localPlayer.appearance); - if (var41 == null && Widget.field3153) { - Actor.invalidateWidget(var10); - } - } else { - SequenceDefinition var47 = class17.SequenceDefinition_get(var20); - var41 = var10.getModel(var47, var10.modelFrame, var36, class129.localPlayer.appearance); - if (var41 == null && Widget.field3153) { - Actor.invalidateWidget(var10); - } - } - - Rasterizer3D.method4049(var10.width / 2 + var12, var10.height / 2 + var13); - var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; - var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; - if (var41 != null) { - if (!var10.isIf3) { - var41.method4430(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); - } else { - var41.calculateBoundsCylinder(); - if (var10.modelOrthog) { - var41.method4381(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); - } else { - var41.method4430(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY); - } - } - } - - Rasterizer3D.Rasterizer3D_method3(); - } else { - if (var10.type == 7) { - var39 = var10.getFont(); - if (var39 == null) { - if (Widget.field3153) { - Actor.invalidateWidget(var10); - } - continue; - } - - var20 = 0; - - for (var21 = 0; var21 < var10.rawHeight; ++var21) { - for (var22 = 0; var22 < var10.rawWidth; ++var22) { - if (var10.itemIds[var20] > 0) { - var33 = class65.ItemDefinition_get(var10.itemIds[var20] - 1); - String var34; - if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { - var34 = class54.colorStartTag(16748608) + var33.name + ""; - } else { - var34 = class54.colorStartTag(16748608) + var33.name + "" + " " + 'x' + class1.formatItemStacks(var10.itemQuantities[var20]); - } - - var25 = var22 * (var10.paddingX + 115) + var12; - var26 = var21 * (var10.paddingY + 12) + var13; - if (var10.textXAlignment == 0) { - var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1); - } else if (var10.textXAlignment == 1) { - var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1); - } else { - var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1); - } - } - - ++var20; - } - } - } - - if (var10.type == 8 && var10 == BufferedFile.field4227 && Client.field583 == Client.field640) { - var19 = 0; - var20 = 0; - Font var31 = class129.fontPlain12; - String var32 = var10.text; - - String var43; - for (var32 = WorldMapIcon_0.method3729(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) { - var24 = var32.indexOf("
"); - if (var24 != -1) { - var43 = var32.substring(0, var24); - var32 = var32.substring(var24 + 4); - } else { - var43 = var32; - var32 = ""; - } - - var25 = var31.stringWidth(var43); - if (var25 > var19) { - var19 = var25; - } - } - - var19 += 6; - var20 += 7; - var24 = var12 + var10.width - 5 - var19; - var25 = var13 + var10.height + 5; - if (var24 < var12 + 5) { - var24 = var12 + 5; - } - - if (var24 + var19 > var4) { - var24 = var4 - var19; - } - - if (var20 + var25 > var5) { - var25 = var5 - var20; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0); - var32 = var10.text; - var26 = var25 + var31.ascent + 2; - - for (var32 = WorldMapIcon_0.method3729(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) { - int var27 = var32.indexOf("
"); - if (var27 != -1) { - var43 = var32.substring(0, var27); - var32 = var32.substring(var27 + 4); - } else { - var43 = var32; - var32 = ""; - } - - var31.draw(var43, var24 + 3, var26, 0, -1); - } - } - - if (var10.type == 9) { - if (var10.field3117) { - var19 = var12; - var20 = var13 + var10.height; - var21 = var12 + var10.width; - var22 = var13; - } else { - var19 = var12; - var20 = var13; - var21 = var12 + var10.width; - var22 = var13 + var10.height; - } - - if (var10.lineWid == 1) { - Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color); - } else { - KeyHandler.method337(var19, var20, var21, var22, var10.color, var10.lineWid); - } - } - } - } - } - } - } - } - } - } - } - - } +@ObfuscatedName("oc") +public class class396 { + @ObfuscatedName("b") + @Export("cacheParentPaths") + static String[] cacheParentPaths; } diff --git a/runescape-client/src/main/java/class397.java b/runescape-client/src/main/java/class397.java index e93991856f..85beae1339 100644 --- a/runescape-client/src/main/java/class397.java +++ b/runescape-client/src/main/java/class397.java @@ -1,13 +1,19 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("op") -public class class397 { - @ObfuscatedName("h") +@ObfuscatedName("oh") +public final class class397 { + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = -1256931233 + longValue = 4016542250161700293L ) - @Export("cacheGamebuild") - public static int cacheGamebuild; + static long field4283; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Loz;" + ) + @Export("options_buttons_0Sprite") + static IndexedSprite options_buttons_0Sprite; } diff --git a/runescape-client/src/main/java/class398.java b/runescape-client/src/main/java/class398.java new file mode 100644 index 0000000000..e64d55c7be --- /dev/null +++ b/runescape-client/src/main/java/class398.java @@ -0,0 +1,78 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ou") +public class class398 { + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "([BB)V", + garbageValue = "0" + ) + @Export("SpriteBuffer_decode") + static void SpriteBuffer_decode(byte[] var0) { + Buffer var1 = new Buffer(var0); + var1.offset = var0.length - 2; + class414.SpriteBuffer_spriteCount = var1.readUnsignedShort(); + class135.SpriteBuffer_xOffsets = new int[class414.SpriteBuffer_spriteCount]; + class131.SpriteBuffer_yOffsets = new int[class414.SpriteBuffer_spriteCount]; + class414.SpriteBuffer_spriteWidths = new int[class414.SpriteBuffer_spriteCount]; + class16.SpriteBuffer_spriteHeights = new int[class414.SpriteBuffer_spriteCount]; + class414.SpriteBuffer_pixels = new byte[class414.SpriteBuffer_spriteCount][]; + var1.offset = var0.length - 7 - class414.SpriteBuffer_spriteCount * 8; + class414.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); + class408.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); + int var2 = (var1.readUnsignedByte() & 255) + 1; + + int var3; + for (var3 = 0; var3 < class414.SpriteBuffer_spriteCount; ++var3) { + class135.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class414.SpriteBuffer_spriteCount; ++var3) { + class131.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class414.SpriteBuffer_spriteCount; ++var3) { + class414.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class414.SpriteBuffer_spriteCount; ++var3) { + class16.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); + } + + var1.offset = var0.length - 7 - class414.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; + class351.SpriteBuffer_spritePalette = new int[var2]; + + for (var3 = 1; var3 < var2; ++var3) { + class351.SpriteBuffer_spritePalette[var3] = var1.readMedium(); + if (class351.SpriteBuffer_spritePalette[var3] == 0) { + class351.SpriteBuffer_spritePalette[var3] = 1; + } + } + + var1.offset = 0; + + for (var3 = 0; var3 < class414.SpriteBuffer_spriteCount; ++var3) { + int var4 = class414.SpriteBuffer_spriteWidths[var3]; + int var5 = class16.SpriteBuffer_spriteHeights[var3]; + int var6 = var5 * var4; + byte[] var7 = new byte[var6]; + class414.SpriteBuffer_pixels[var3] = var7; + int var8 = var1.readUnsignedByte(); + int var9; + if (var8 == 0) { + for (var9 = 0; var9 < var6; ++var9) { + var7[var9] = var1.readByte(); + } + } else if (var8 == 1) { + for (var9 = 0; var9 < var4; ++var9) { + for (int var10 = 0; var10 < var5; ++var10) { + var7[var9 + var10 * var4] = var1.readByte(); + } + } + } + } + + } +} diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index e3ff81af96..1582002e9f 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -1,136 +1,78 @@ -import java.io.DataInputStream; -import java.io.File; -import java.io.IOException; -import java.lang.management.GarbageCollectorMXBean; -import java.net.URL; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("o") +@ObfuscatedName("m") public final class class4 { - @ObfuscatedName("ag") - @Export("garbageCollector") - static GarbageCollectorMXBean garbageCollector; - - @ObfuscatedName("n") + @ObfuscatedName("a") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", - garbageValue = "1757256596" + descriptor = "Loz;" ) - @Export("RunException_sendStackTrace") - public static void RunException_sendStackTrace(String var0, Throwable var1) { - if (var1 != null) { - var1.printStackTrace(); + static IndexedSprite field8; + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lco;" + ) + @Export("World_request") + static UrlRequest World_request; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = 586577523 + ) + public static int field13; + @ObfuscatedName("ea") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive11") + static Archive archive11; + @ObfuscatedName("hk") + @ObfuscatedSignature( + descriptor = "Lon;" + ) + @Export("compass") + static SpritePixels compass; + + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "125" + ) + public static void method19(int var0) { + if (class247.musicPlayerStatus != 0) { + class247.musicTrackVolume = var0; } else { - try { - String var2 = ""; - if (var1 != null) { - var2 = GraphicsDefaults.method6184(var1); - } - - if (var0 != null) { - if (var1 != null) { - var2 = var2 + " | "; - } - - var2 = var2 + var0; - } - - System.out.println("Error: " + var2); - var2 = var2.replace(':', '.'); - var2 = var2.replace('@', '_'); - var2 = var2.replace('&', '_'); - var2 = var2.replace('#', '_'); - if (RunException.RunException_applet == null) { - return; - } - - URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.clientType + "&e=" + var2); - DataInputStream var4 = new DataInputStream(var3.openStream()); - var4.read(); - var4.close(); - } catch (Exception var5) { - } - + class247.midiPcmStream.setPcmStreamVolume(var0); } + } - @ObfuscatedName("n") + @ObfuscatedName("jj") @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;ZB)Lnn;", - garbageValue = "48" + descriptor = "(IIII)Lct;", + garbageValue = "-2020922955" ) - @Export("getPreferencesFile") - public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { - File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat"); - if (var3.exists()) { - try { - AccessFile var10 = new AccessFile(var3, "rw", 10000L); - return var10; - } catch (IOException var9) { - } + static final InterfaceParent method23(int var0, int var1, int var2) { + InterfaceParent var3 = new InterfaceParent(); + var3.group = var1; + var3.type = var2; + Client.interfaceParents.put(var3, (long)var0); + class17.Widget_resetModelFrames(var1); + Widget var4 = HealthBarUpdate.getWidget(var0); + class16.invalidateWidget(var4); + if (Client.meslayerContinueWidget != null) { + class16.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; } - String var4 = ""; - if (class397.cacheGamebuild == 33) { - var4 = "_rc"; - } else if (class397.cacheGamebuild == 34) { - var4 = "_wip"; + class132.method2699(); + TaskHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var0 >> 16], var4, false); + WorldMapScaleHandler.runWidgetOnLoadListener(var1); + if (Client.rootInterface != -1) { + ItemContainer.runIntfCloseListeners(Client.rootInterface, 1); } - File var5 = new File(ItemContainer.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); - AccessFile var6; - if (!var2 && var5.exists()) { - try { - var6 = new AccessFile(var5, "rw", 10000L); - return var6; - } catch (IOException var8) { - } - } - - try { - var6 = new AccessFile(var3, "rw", 10000L); - return var6; - } catch (IOException var7) { - throw new RuntimeException(); - } - } - - @ObfuscatedName("ft") - @ObfuscatedSignature( - descriptor = "(IZZZB)Lkx;", - garbageValue = "97" - ) - @Export("newArchive") - static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { - ArchiveDisk var4 = null; - if (JagexCache.JagexCache_dat2File != null) { - var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idxFiles[var0], 1000000); - } - - return new Archive(var4, ApproximateRouteStrategy.masterDisk, var0, var1, var2, var3); - } - - @ObfuscatedName("fm") - @ObfuscatedSignature( - descriptor = "(Lcf;I)V", - garbageValue = "1264135251" - ) - static final void method21(Actor var0) { - if (var0.field1140 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > class17.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { - int var1 = var0.field1140 - var0.field1139; - int var2 = Client.cycle - var0.field1139; - int var3 = var0.field1137 * 64 + var0.field1135 * 128; - int var4 = var0.field1137 * 64 + var0.field1141 * 128; - int var5 = var0.field1137 * 64 + var0.field1121 * 128; - int var6 = var0.field1137 * 64 + var0.field1110 * 128; - var0.x = (var5 * var2 + var3 * (var1 - var2)) / var1; - var0.y = (var2 * var6 + var4 * (var1 - var2)) / var1; - } - - var0.field1151 = 0; - var0.orientation = var0.field1101; - var0.rotation = var0.orientation; + return var3; } } diff --git a/runescape-client/src/main/java/class402.java b/runescape-client/src/main/java/class402.java deleted file mode 100644 index ce6fb05577..0000000000 --- a/runescape-client/src/main/java/class402.java +++ /dev/null @@ -1,11 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("om") -public interface class402 { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lot;I)V" - ) - void method7078(Buffer var1); -} diff --git a/runescape-client/src/main/java/class403.java b/runescape-client/src/main/java/class403.java index 41dc1839b7..0ca4a05ad6 100644 --- a/runescape-client/src/main/java/class403.java +++ b/runescape-client/src/main/java/class403.java @@ -1,81 +1,11 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ox") -public class class403 implements MouseWheel { - @ObfuscatedName("n") +@ObfuscatedName("oq") +public interface class403 { + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lox;" + descriptor = "(Lot;I)V" ) - public static final class403 field4332; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lox;" - ) - public static final class403 field4323; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lox;" - ) - static final class403 field4324; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lox;" - ) - static final class403 field4325; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lox;" - ) - static final class403 field4326; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lox;" - ) - static final class403 field4327; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 884323919 - ) - final int field4328; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 2090054673 - ) - final int field4331; - - static { - field4332 = new class403(1, 0); - field4323 = new class403(5, 2); - field4324 = new class403(0, 5); - field4325 = new class403(3, 6); - field4326 = new class403(4, 7); - field4327 = new class403(2, 8); - } - - class403(int var1, int var2) { - this.field4328 = var1; - this.field4331 = var2; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "9" - ) - public boolean method7084() { - return this == field4323; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1665712539" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field4331; - } + void method7144(Buffer var1); } diff --git a/runescape-client/src/main/java/class404.java b/runescape-client/src/main/java/class404.java new file mode 100644 index 0000000000..ec40c24990 --- /dev/null +++ b/runescape-client/src/main/java/class404.java @@ -0,0 +1,81 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("om") +public class class404 implements MouseWheel { + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + public static final class404 field4344; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + public static final class404 field4348; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + static final class404 field4343; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + static final class404 field4346; + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + static final class404 field4345; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lom;" + ) + static final class404 field4349; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1980513539 + ) + final int field4347; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1627487491 + ) + final int field4341; + + static { + field4344 = new class404(3, 0); + field4348 = new class404(0, 2); + field4343 = new class404(1, 5); + field4346 = new class404(4, 6); + field4345 = new class404(2, 7); + field4349 = new class404(5, 8); + } + + class404(int var1, int var2) { + this.field4347 = var1; + this.field4341 = var2; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "661199397" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field4341; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-433884264" + ) + public boolean method7148() { + return this == field4348; + } +} diff --git a/runescape-client/src/main/java/class406.java b/runescape-client/src/main/java/class406.java deleted file mode 100644 index fe92726206..0000000000 --- a/runescape-client/src/main/java/class406.java +++ /dev/null @@ -1,12 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("of") -public interface class406 { - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/Object;", - garbageValue = "-469045059" - ) - Object vmethod7113(int var1); -} diff --git a/runescape-client/src/main/java/class407.java b/runescape-client/src/main/java/class407.java index fb4beaa869..2f20593863 100644 --- a/runescape-client/src/main/java/class407.java +++ b/runescape-client/src/main/java/class407.java @@ -1,63 +1,12 @@ -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("og") -public class class407 { - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -9563353 - ) - public final int field4339; - @ObfuscatedName("c") - public Object field4340; - - public class407(int var1) { - this.field4339 = var1; - } - - public class407(int var1, Object var2) { - this.field4339 = var1; - this.field4340 = var2; - } - - public boolean equals(Object var1) { - if (!(var1 instanceof class407)) { - return false; - } else { - class407 var2 = (class407)var1; - if (var2.field4340 == null && this.field4340 != null) { - return false; - } else if (this.field4340 == null && var2.field4340 != null) { - return false; - } else { - return this.field4339 == var2.field4339 && var2.field4340.equals(this.field4340); - } - } - } - - public int hashCode() { - return super.hashCode(); - } - - @ObfuscatedName("n") +@ObfuscatedName("oa") +public interface class407 { + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(IB)Lek;", - garbageValue = "21" + descriptor = "(II)Ljava/lang/Object;", + garbageValue = "-1930407702" ) - public static VarcInt method7122(int var0) { - VarcInt var1 = (VarcInt)VarcInt.VarcInt_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = VarcInt.VarcInt_archive.takeFile(19, var0); - var1 = new VarcInt(); - if (var2 != null) { - var1.method2854(new Buffer(var2)); - } - - VarcInt.VarcInt_cached.put(var1, (long)var0); - return var1; - } - } + Object vmethod7174(int var1); } diff --git a/runescape-client/src/main/java/class408.java b/runescape-client/src/main/java/class408.java new file mode 100644 index 0000000000..155c534123 --- /dev/null +++ b/runescape-client/src/main/java/class408.java @@ -0,0 +1,48 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("oj") +public class class408 { + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1905362917 + ) + @Export("SpriteBuffer_spriteHeight") + public static int SpriteBuffer_spriteHeight; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1474390477 + ) + public final int field4354; + @ObfuscatedName("q") + public Object field4353; + + public class408(int var1) { + this.field4354 = var1; + } + + public class408(int var1, Object var2) { + this.field4354 = var1; + this.field4353 = var2; + } + + public int hashCode() { + return super.hashCode(); + } + + public boolean equals(Object var1) { + if (!(var1 instanceof class408)) { + return false; + } else { + class408 var2 = (class408)var1; + if (var2.field4353 == null && this.field4353 != null) { + return false; + } else if (this.field4353 == null && var2.field4353 != null) { + return false; + } else { + return this.field4354 == var2.field4354 && var2.field4353.equals(this.field4353); + } + } + } +} diff --git a/runescape-client/src/main/java/class413.java b/runescape-client/src/main/java/class413.java deleted file mode 100644 index c73f60c831..0000000000 --- a/runescape-client/src/main/java/class413.java +++ /dev/null @@ -1,34 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ob") -public class class413 { - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -603020813 - ) - @Export("SpriteBuffer_spriteCount") - public static int SpriteBuffer_spriteCount; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1780345883 - ) - @Export("SpriteBuffer_spriteWidth") - public static int SpriteBuffer_spriteWidth; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 938430045 - ) - @Export("SpriteBuffer_spriteHeight") - public static int SpriteBuffer_spriteHeight; - @ObfuscatedName("k") - @Export("SpriteBuffer_xOffsets") - public static int[] SpriteBuffer_xOffsets; - @ObfuscatedName("o") - @Export("SpriteBuffer_yOffsets") - public static int[] SpriteBuffer_yOffsets; - @ObfuscatedName("z") - @Export("SpriteBuffer_spriteHeights") - public static int[] SpriteBuffer_spriteHeights; -} diff --git a/runescape-client/src/main/java/class414.java b/runescape-client/src/main/java/class414.java new file mode 100644 index 0000000000..dfb2e5aa4c --- /dev/null +++ b/runescape-client/src/main/java/class414.java @@ -0,0 +1,25 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ol") +public class class414 { + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -749924829 + ) + @Export("SpriteBuffer_spriteCount") + public static int SpriteBuffer_spriteCount; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 141807557 + ) + @Export("SpriteBuffer_spriteWidth") + public static int SpriteBuffer_spriteWidth; + @ObfuscatedName("k") + @Export("SpriteBuffer_spriteWidths") + public static int[] SpriteBuffer_spriteWidths; + @ObfuscatedName("e") + @Export("SpriteBuffer_pixels") + public static byte[][] SpriteBuffer_pixels; +} diff --git a/runescape-client/src/main/java/class45.java b/runescape-client/src/main/java/class45.java index 890cb0cc9b..504402df68 100644 --- a/runescape-client/src/main/java/class45.java +++ b/runescape-client/src/main/java/class45.java @@ -2,12 +2,12 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ac") +@ObfuscatedName("aj") public interface class45 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(I)Lab;", - garbageValue = "286200074" + descriptor = "(I)Laq;", + garbageValue = "666653269" ) @Export("player") PcmPlayer player(); diff --git a/runescape-client/src/main/java/class5.java b/runescape-client/src/main/java/class5.java index b3b0df37c2..0509f8c650 100644 --- a/runescape-client/src/main/java/class5.java +++ b/runescape-client/src/main/java/class5.java @@ -4,41 +4,41 @@ import java.security.NoSuchAlgorithmException; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("g") +@ObfuscatedName("k") public class class5 implements class2 { - @ObfuscatedName("n") - final MessageDigest field9; + @ObfuscatedName("l") + final MessageDigest field16; @ObfuscatedSignature( - descriptor = "(Lu;)V" + descriptor = "(Le;)V" ) class5(class8 var1) { - this.field9 = this.method27(); + this.field16 = this.method30(); } - @ObfuscatedName("n") - boolean method23(int var1, String var2, long var3) { - byte[] var5 = this.method41(var2, var3); - return method24(var5) >= var1; + @ObfuscatedName("l") + boolean method25(int var1, String var2, long var3) { + byte[] var5 = this.method28(var2, var3); + return method26(var5) >= var1; } - @ObfuscatedName("k") - byte[] method41(String var1, long var2) { + @ObfuscatedName("j") + byte[] method28(String var1, long var2) { StringBuilder var4 = new StringBuilder(); var4.append(var1).append(Long.toHexString(var2)); - this.field9.reset(); + this.field16.reset(); try { - this.field9.update(var4.toString().getBytes("UTF-8")); + this.field16.update(var4.toString().getBytes("UTF-8")); } catch (UnsupportedEncodingException var6) { var6.printStackTrace(); } - return this.field9.digest(); + return this.field16.digest(); } - @ObfuscatedName("o") - MessageDigest method27() { + @ObfuscatedName("m") + MessageDigest method30() { try { return MessageDigest.getInstance("SHA-256"); } catch (NoSuchAlgorithmException var2) { @@ -47,14 +47,14 @@ public class class5 implements class2 { } } - @ObfuscatedName("c") - static int method24(byte[] var0) { + @ObfuscatedName("q") + static int method26(byte[] var0) { int var1 = 0; byte[] var2 = var0; for (int var3 = 0; var3 < var2.length; ++var3) { byte var4 = var2[var3]; - int var5 = method25(var4); + int var5 = method32(var4); var1 += var5; if (var5 != 8) { break; @@ -64,8 +64,8 @@ public class class5 implements class2 { return var1; } - @ObfuscatedName("m") - static int method25(byte var0) { + @ObfuscatedName("f") + static int method32(byte var0) { int var1 = 0; if (var0 == 0) { var1 = 8; diff --git a/runescape-client/src/main/java/class54.java b/runescape-client/src/main/java/class54.java index 36be8404c3..347762edd7 100644 --- a/runescape-client/src/main/java/class54.java +++ b/runescape-client/src/main/java/class54.java @@ -1,46 +1,68 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bf") +@ObfuscatedName("bg") public class class54 { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lkz;" + descriptor = "Lkt;" ) @Export("reflectionChecks") public static IterableNodeDeque reflectionChecks; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1918136037 + ) + @Export("Interpreter_stringStackSize") + static int Interpreter_stringStackSize; + @ObfuscatedName("ek") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive13") + static Archive archive13; + @ObfuscatedName("eq") + @ObfuscatedSignature( + descriptor = "Lky;" + ) + @Export("archive20") + static Archive archive20; static { reflectionChecks = new IterableNodeDeque(); } - @ObfuscatedName("c") + @ObfuscatedName("gk") @ObfuscatedSignature( - descriptor = "(II)Ler;", - garbageValue = "-1682487437" + descriptor = "(S)V", + garbageValue = "2001" ) - @Export("WorldMapElement_get") - public static WorldMapElement WorldMapElement_get(int var0) { - return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); + static final void method1055() { + for (GraphicsObject var0 = (GraphicsObject)Client.graphicsObjects.last(); var0 != null; var0 = (GraphicsObject)Client.graphicsObjects.previous()) { + if (var0.plane == VertexNormal.Client_plane && !var0.isFinished) { + if (Client.cycle >= var0.cycleStart) { + var0.advance(Client.field536); + if (var0.isFinished) { + var0.remove(); + } else { + PlayerComposition.scene.drawEntity(var0.plane, var0.x, var0.y, var0.height, 60, var0, 0, -1L, false); + } + } + } else { + var0.remove(); + } + } + } - @ObfuscatedName("c") + @ObfuscatedName("ib") @ObfuscatedSignature( - descriptor = "(IB)Ljava/lang/String;", - garbageValue = "30" + descriptor = "(II)Ljava/lang/String;", + garbageValue = "1736232978" ) - @Export("colorStartTag") - static String colorStartTag(int var0) { - return ""; - } - - @ObfuscatedName("lz") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "2010472015" - ) - static void method1078(int var0) { - Client.oculusOrbState = var0; + static final String method1057(int var0) { + return var0 < 999999999 ? Integer.toString(var0) : "*"; } } diff --git a/runescape-client/src/main/java/class6.java b/runescape-client/src/main/java/class6.java index ccebe6731a..3ca22e138e 100644 --- a/runescape-client/src/main/java/class6.java +++ b/runescape-client/src/main/java/class6.java @@ -3,74 +3,74 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("z") +@ObfuscatedName("t") public enum class6 implements MouseWheel { - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Lz;" + descriptor = "Lt;" ) - field10(0, 0); + field17(0, 0); - @ObfuscatedName("k") - @Export("Tiles_underlays") - static byte[][][] Tiles_underlays; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -607968475 + @ObfuscatedName("tm") + @ObfuscatedSignature( + descriptor = "Lkg;" ) - public final int field12; - @ObfuscatedName("m") + @Export("grandExchangeEvents") + static GrandExchangeEvents grandExchangeEvents; + @ObfuscatedName("q") @ObfuscatedGetter( - intValue = 1626436831 + intValue = -610033617 ) - final int field11; + final int field18; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 978789347 + ) + final int field19; class6(int var3, int var4) { - this.field12 = var3; - this.field11 = var4; + this.field18 = var3; + this.field19 = var4; } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field11; + return this.field19; } - @ObfuscatedName("he") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "2047" + descriptor = "(I)V", + garbageValue = "2029085795" ) - static final void method44() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0.hitpoints > 0) { - --var0.hitpoints; - } + public static void method45() { + class54.reflectionChecks = new IterableNodeDeque(); + } - if (var0.hitpoints == 0) { - if (var0.objectId < 0 || NPC.method2225(var0.objectId, var0.field1083)) { - class119.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.objectId, var0.field1088, var0.field1083); - var0.remove(); - } - } else { - if (var0.delay > 0) { - --var0.delay; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-728834449" + ) + public static boolean method43(int var0) { + return var0 >= 0 && var0 < 112 ? KeyHandler.KeyHandler_pressedKeys[var0] : false; + } - if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102 && (var0.id < 0 || NPC.method2225(var0.id, var0.field1087))) { - class119.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field1087); - var0.delay = -1; - if (var0.id == var0.objectId && var0.objectId == -1) { - var0.remove(); - } else if (var0.id == var0.objectId && var0.orientation == var0.field1088 && var0.field1083 == var0.field1087) { - var0.remove(); - } - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1585134440" + ) + static void method44() { + if (class174.loadWorlds()) { + Login.worldSelectOpen = true; + Login.worldSelectPage = 0; + Login.worldSelectPagesCount = 0; } } diff --git a/runescape-client/src/main/java/class65.java b/runescape-client/src/main/java/class65.java index 0dfdd1b7be..f69f50dc5f 100644 --- a/runescape-client/src/main/java/class65.java +++ b/runescape-client/src/main/java/class65.java @@ -3,98 +3,100 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bn") +@ObfuscatedName("bd") public class class65 { - @ObfuscatedName("tt") - @ObfuscatedSignature( - descriptor = "Lno;" - ) - @Export("worldMap") - static WorldMap worldMap; - @ObfuscatedName("o") - static final BigInteger field849; - @ObfuscatedName("g") - static final BigInteger field853; - @ObfuscatedName("gu") - @ObfuscatedSignature( - descriptor = "Led;" - ) - @Export("socketTask") - static Task socketTask; + @ObfuscatedName("m") + static final BigInteger field856; + @ObfuscatedName("k") + static final BigInteger field852; static { - field849 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); - field853 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); + field856 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); + field852 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); } - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "(IB)Lfy;", - garbageValue = "2" + descriptor = "(IB)Lod;", + garbageValue = "3" ) - @Export("ItemDefinition_get") - public static ItemComposition ItemDefinition_get(int var0) { - ItemComposition var1 = (ItemComposition)ItemComposition.ItemDefinition_cached.get((long)var0); + public static class392 method1876(int var0) { + int var1 = class390.field4258[var0]; + if (var1 == 1) { + return class392.field4266; + } else if (var1 == 2) { + return class392.field4264; + } else { + return var1 == 3 ? class392.field4273 : null; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)Lfd;", + garbageValue = "-1764753351" + ) + @Export("StructDefinition_getStructDefinition") + public static StructComposition StructDefinition_getStructDefinition(int var0) { + StructComposition var1 = (StructComposition)StructComposition.StructDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { - byte[] var2 = class262.ItemDefinition_archive.takeFile(10, var0); - var1 = new ItemComposition(); - var1.id = var0; + byte[] var2 = ParamComposition.StructDefinition_archive.takeFile(34, var0); + var1 = new StructComposition(); if (var2 != null) { var1.decode(new Buffer(var2)); } - var1.post(); - if (var1.noteTemplate != -1) { - var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); - } - - if (var1.notedId != -1) { - var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); - } - - if (var1.placeholderTemplate != -1) { - var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); - } - - if (!Huffman.ItemDefinition_inMembersWorld && var1.isMembersOnly) { - var1.name = "Members object"; - var1.isTradable = false; - - int var3; - for (var3 = 0; var3 < var1.groundActions.length; ++var3) { - var1.groundActions[var3] = null; - } - - for (var3 = 0; var3 < var1.inventoryActions.length; ++var3) { - if (var3 != 4) { - var1.inventoryActions[var3] = null; - } - } - - var1.shiftClickIndex = -2; - var1.team = 0; - if (var1.params != null) { - boolean var6 = false; - - for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { - ParamComposition var5 = WorldMapIcon_1.getParamDefinition((int)var4.key); - if (var5.autoDisable) { - var4.remove(); - } else { - var6 = true; - } - } - - if (!var6) { - var1.params = null; - } - } - } - - ItemComposition.ItemDefinition_cached.put(var1, (long)var0); + var1.postDecode(); + StructComposition.StructDefinition_cached.put(var1, (long)var0); return var1; } } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "-61" + ) + @Export("itemContainerSetItem") + static void itemContainerSetItem(int var0, int var1, int var2, int var3) { + ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var4 == null) { + var4 = new ItemContainer(); + ItemContainer.itemContainers.put(var4, (long)var0); + } + + if (var4.ids.length <= var1) { + int[] var5 = new int[var1 + 1]; + int[] var6 = new int[var1 + 1]; + + int var7; + for (var7 = 0; var7 < var4.ids.length; ++var7) { + var5[var7] = var4.ids[var7]; + var6[var7] = var4.quantities[var7]; + } + + for (var7 = var4.ids.length; var7 < var1; ++var7) { + var5[var7] = -1; + var6[var7] = 0; + } + + var4.ids = var5; + var4.quantities = var6; + } + + var4.ids[var1] = var2; + var4.quantities[var1] = var3; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(CB)Z", + garbageValue = "-104" + ) + @Export("isDigit") + public static boolean isDigit(char var0) { + return var0 >= '0' && var0 <= '9'; + } } diff --git a/runescape-client/src/main/java/class67.java b/runescape-client/src/main/java/class67.java index c7d92faee1..1a259f8714 100644 --- a/runescape-client/src/main/java/class67.java +++ b/runescape-client/src/main/java/class67.java @@ -1,48 +1,87 @@ +import java.io.IOException; import java.math.BigInteger; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bm") +@ObfuscatedName("bh") public class class67 { - @ObfuscatedName("n") - static final BigInteger field867; - @ObfuscatedName("c") - static final BigInteger field868; + @ObfuscatedName("l") + static final BigInteger field864; + @ObfuscatedName("q") + static final BigInteger field866; + @ObfuscatedName("lh") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("localPlayer") + static Player localPlayer; static { - field867 = new BigInteger("10001", 16); - field868 = new BigInteger("c1aaa7d350601db3c5381df8617a53eb2fe4d4721cba83705fcfdbad54f29b5cf5f64ee667f82e2da6963f0b135a71fc7fcbcedbc8f4a12d3c7f4c491d4f475287407ae5bf979228329e2cad8336f35730db0122aac6d7676f2e14c0167b8db057a0d54266d96fc18189a4341292077e95d5304370e455fd441525ece98edad7", 16); + field864 = new BigInteger("10001", 16); + field866 = new BigInteger("af87d84e6c1040d7966e705070a42393ba8b386e15205b6fb3d688be49039c3fbcc13093eaef5b4f93aecdafa3f8d486196fe7d33ba78a1683eb448d22bd7b994189c9e52db6f532b86ddcc549b641f2ac0d0b411f3fa2c666c877cb7ab8091b2989a105f84cb69b27eacd98c19d098d6f36e6ba7bbf156c082b45f6aa7fd5db", 16); } - @ObfuscatedName("jt") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1076008723" + descriptor = "(Lkl;IIIZB)V", + garbageValue = "4" ) - static void method1877() { - for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { - int var1 = var0.group; - if (class317.loadInterface(var1)) { - boolean var2 = true; - Widget[] var3 = class139.Widget_interfaceComponents[var1]; + public static void method1886(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = var0; + Skills.musicTrackGroupId = var1; + class137.musicTrackFileId = var2; + class247.musicTrackVolume = var3; + class247.musicTrackBoolean = var4; + class247.pcmSampleLength = 10000; + } - int var4; - for (var4 = 0; var4 < var3.length; ++var4) { - if (var3[var4] != null) { - var2 = var3[var4].isIf3; - break; - } - } + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "(B)Lcq;", + garbageValue = "-21" + ) + static ClientPreferences method1887() { + AccessFile var0 = null; + ClientPreferences var1 = new ClientPreferences(); - if (!var2) { - var4 = (int)var0.key; - Widget var5 = class87.getWidget(var4); - if (var5 != null) { - Actor.invalidateWidget(var5); - } + try { + var0 = World.getPreferencesFile("", class392.field4267.name, false); + byte[] var2 = new byte[(int)var0.length()]; + + int var4; + for (int var3 = 0; var3 < var2.length; var3 += var4) { + var4 = var0.read(var2, var3, var2.length - var3); + if (var4 == -1) { + throw new IOException(); } } + + var1 = new ClientPreferences(new Buffer(var2)); + } catch (Exception var6) { } + try { + if (var0 != null) { + var0.close(); + } + } catch (Exception var5) { + } + + return var1; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "843333300" + ) + public static final void method1888(int var0, int var1) { + ViewportMouse.ViewportMouse_x = var0; + ViewportMouse.ViewportMouse_y = var1; + ViewportMouse.ViewportMouse_isInViewport = true; + ViewportMouse.ViewportMouse_entityCount = 0; + ViewportMouse.ViewportMouse_false0 = false; } } diff --git a/runescape-client/src/main/java/class7.java b/runescape-client/src/main/java/class7.java index aa1ee264c2..43c44d9022 100644 --- a/runescape-client/src/main/java/class7.java +++ b/runescape-client/src/main/java/class7.java @@ -1,142 +1,536 @@ +import java.io.IOException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("a") public class class7 { - @ObfuscatedName("tz") - @Export("foundItemIds") - static short[] foundItemIds; - @ObfuscatedName("bs") + @ObfuscatedName("ko") @ObfuscatedSignature( - descriptor = "[Loi;" + descriptor = "Ljt;" ) - @Export("worldSelectStars") - static IndexedSprite[] worldSelectStars; - @ObfuscatedName("go") - @ObfuscatedGetter( - intValue = 765932163 - ) - static int field26; - @ObfuscatedName("ha") - @ObfuscatedSignature( - descriptor = "[Loc;" - ) - @Export("headIconHintSprites") - static SpritePixels[] headIconHintSprites; - @ObfuscatedName("n") - ExecutorService field17; - @ObfuscatedName("c") - Future field18; - @ObfuscatedName("m") + static Widget field31; + @ObfuscatedName("l") + ExecutorService field28; + @ObfuscatedName("q") + Future field25; + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "Lot;" ) - final Buffer field19; - @ObfuscatedName("k") + final Buffer field30; + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "Lk;" + descriptor = "Lj;" ) - final class3 field20; + final class3 field27; @ObfuscatedSignature( - descriptor = "(Lot;Lk;)V" + descriptor = "(Lot;Lj;)V" ) public class7(Buffer var1, class3 var2) { - this.field17 = Executors.newSingleThreadExecutor(); - this.field19 = var1; - this.field20 = var2; - this.method56(); + this.field28 = Executors.newSingleThreadExecutor(); + this.field30 = var1; + this.field27 = var2; + this.method50(); } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-719473894" + garbageValue = "1905557215" ) - public boolean method53() { - return this.field18.isDone(); + public boolean method47() { + return this.field25.isDone(); } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(B)V", - garbageValue = "108" + garbageValue = "-30" ) - public void method54() { - this.field17.shutdown(); - this.field17 = null; + public void method48() { + this.field28.shutdown(); + this.field28 = null; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(I)Lot;", - garbageValue = "-213685854" + garbageValue = "572795942" ) - public Buffer method61() { + public Buffer method49() { try { - return (Buffer)this.field18.get(); + return (Buffer)this.field25.get(); } catch (Exception var2) { return null; } } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1922663133" + descriptor = "(B)V", + garbageValue = "0" ) - void method56() { - this.field18 = this.field17.submit(new class1(this, this.field19, this.field20)); + void method50() { + this.field25 = this.field28.submit(new class1(this, this.field30, this.field27)); } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)[B", - garbageValue = "1975094482" - ) - @Export("ByteArrayPool_getArray") - public static synchronized byte[] ByteArrayPool_getArray(int var0) { - return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); + @ObfuscatedName("f") + public static boolean method60(long var0) { + return 0L != var0 && !class133.method2702(var0); } @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "(IIILff;IS)V", - garbageValue = "6552" + descriptor = "(I)V", + garbageValue = "2027400606" ) - static void method63(int var0, int var1, int var2, ObjectComposition var3, int var4) { - ObjectSound var5 = new ObjectSound(); - var5.plane = var0; - var5.x = var1 * 128; - var5.y = var2 * 128; - int var6 = var3.sizeX; - int var7 = var3.sizeY; - if (var4 == 1 || var4 == 3) { - var6 = var3.sizeY; - var7 = var3.sizeX; - } + static void method63() { + if (Login.clearLoginScreen) { + SoundCache.titleboxSprite = null; + class132.titlebuttonSprite = null; + Login.runesSprite = null; + Login.leftTitleSprite = null; + Login.rightTitleSprite = null; + ClanChannelMember.logoSprite = null; + class16.title_muteSprite = null; + class397.options_buttons_0Sprite = null; + FileSystem.options_buttons_2Sprite = null; + BoundaryObject.worldSelectBackSprites = null; + NetFileRequest.worldSelectFlagSprites = null; + EnumComposition.worldSelectArrows = null; + class320.worldSelectStars = null; + Client.field563 = null; + Login.loginScreenRunesAnimation.method2164(); + CollisionMap.method3417(2); + if (NetCache.NetCache_socket != null) { + try { + Buffer var0 = new Buffer(4); + var0.writeByte(2); + var0.writeMedium(0); + NetCache.NetCache_socket.write(var0.array, 0, 4); + } catch (IOException var3) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var2) { + } - var5.field806 = (var6 + var1) * 128; - var5.field801 = (var7 + var2) * 128; - var5.soundEffectId = var3.ambientSoundId; - var5.field804 = var3.int7 * 128; - var5.field805 = var3.int5; - var5.field800 = var3.int6; - var5.soundEffectIds = var3.soundEffectIds; - if (var3.transforms != null) { - var5.obj = var3; - var5.set(); - } + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } - ObjectSound.objectSounds.addFirst(var5); - if (var5.soundEffectIds != null) { - var5.field808 = var5.field805 + (int)(Math.random() * (double)(var5.field800 - var5.field805)); + Login.clearLoginScreen = false; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(IIIIIILhy;Lfy;B)V", + garbageValue = "71" + ) + static final void method64(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { + if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { + if (var0 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var0; + } + + ObjectComposition var8 = class245.getObjectDefinition(var3); + int var9; + int var10; + if (var4 != 1 && var4 != 3) { + var9 = var8.sizeX; + var10 = var8.sizeY; + } else { + var9 = var8.sizeY; + var10 = var8.sizeX; + } + + int var11; + int var12; + if (var9 + var1 <= 104) { + var11 = (var9 >> 1) + var1; + var12 = (var9 + 1 >> 1) + var1; + } else { + var11 = var1; + var12 = var1 + 1; + } + + int var13; + int var14; + if (var10 + var2 <= 104) { + var13 = (var10 >> 1) + var2; + var14 = var2 + (var10 + 1 >> 1); + } else { + var13 = var2; + var14 = var2 + 1; + } + + int[][] var15 = Tiles.Tiles_heights[var0]; + int var16 = var15[var12][var14] + var15[var11][var14] + var15[var11][var13] + var15[var12][var13] >> 2; + int var17 = (var1 << 7) + (var9 << 6); + int var18 = (var2 << 7) + (var10 << 6); + long var19 = class247.calculateTag(var1, var2, 2, var8.int1 == 0, var3); + int var21 = var5 + (var4 << 6); + if (var8.int3 == 1) { + var21 += 256; + } + + if (var8.hasSound()) { + class300.method5457(var0, var1, var2, var8, var4); + } + + Object var29; + if (var5 == 22) { + if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(22, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newFloorDecoration(var0, var1, var2, var16, (Renderable)var29, var19, var21); + if (var8.interactType == 1 && var7 != null) { + var7.setBlockedByFloorDec(var1, var2); + } + + } + } else { + int var28; + if (var5 != 10 && var5 != 11) { + int[] var10000; + if (var5 >= 12) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.method4208(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21); + if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 2340; + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } else if (var5 == 0) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(0, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field985[var4], 0, var19, var21); + if (var4 == 0) { + if (var8.clipped) { + class281.field3323[var0][var1][var2] = 50; + class281.field3323[var0][var1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 585; + } + } else if (var4 == 1) { + if (var8.clipped) { + class281.field3323[var0][var1][var2 + 1] = 50; + class281.field3323[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Huffman.field3203[var0][var1]; + var10000[1 + var2] |= 1170; + } + } else if (var4 == 2) { + if (var8.clipped) { + class281.field3323[var0][var1 + 1][var2] = 50; + class281.field3323[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Huffman.field3203[var0][var1 + 1]; + var10000[var2] |= 585; + } + } else if (var4 == 3) { + if (var8.clipped) { + class281.field3323[var0][var1][var2] = 50; + class281.field3323[var0][var1 + 1][var2] = 50; + } + + if (var8.modelClipped) { + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 1170; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3416(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method4214(var0, var1, var2, var8.int2); + } + + } else if (var5 == 1) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(1, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field986[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + class281.field3323[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + class281.field3323[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + class281.field3323[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + class281.field3323[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3416(var1, var2, var5, var4, var8.boolean1); + } + + } else { + int var22; + if (var5 == 2) { + var22 = var4 + 1 & 3; + Object var24; + Object var30; + if (var8.animationId == -1 && var8.transforms == null) { + var30 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); + var24 = var8.getEntity(2, var22, var15, var17, var16, var18); + } else { + var30 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + var24 = new DynamicObject(var3, 2, var22, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var30, (Renderable)var24, Tiles.field985[var4], Tiles.field985[var22], var19, var21); + if (var8.modelClipped) { + if (var4 == 0) { + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 585; + var10000 = Huffman.field3203[var0][var1]; + var10000[var2 + 1] |= 1170; + } else if (var4 == 1) { + var10000 = Huffman.field3203[var0][var1]; + var10000[1 + var2] |= 1170; + var10000 = Huffman.field3203[var0][var1 + 1]; + var10000[var2] |= 585; + } else if (var4 == 2) { + var10000 = Huffman.field3203[var0][var1 + 1]; + var10000[var2] |= 585; + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 1170; + } else if (var4 == 3) { + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 1170; + var10000 = Huffman.field3203[var0][var1]; + var10000[var2] |= 585; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3416(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method4214(var0, var1, var2, var8.int2); + } + + } else if (var5 == 3) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(3, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field986[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + class281.field3323[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + class281.field3323[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + class281.field3323[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + class281.field3323[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3416(var1, var2, var5, var4, var8.boolean1); + } + + } else if (var5 == 9) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.method4208(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21); + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method4214(var0, var1, var2, var8.int2); + } + + } else if (var5 == 4) { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field985[var4], 0, 0, 0, var19, var21); + } else { + long var23; + Object var25; + if (var5 == 5) { + var22 = 16; + var23 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var23) { + var22 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var23)).int2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, Tiles.field985[var4], 0, var22 * Tiles.field987[var4], var22 * Tiles.field988[var4], var19, var21); + } else if (var5 == 6) { + var22 = 8; + var23 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var23) { + var22 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var23)).int2 / 2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, 256, var4, var22 * Tiles.field980[var4], var22 * Tiles.field979[var4], var19, var21); + } else if (var5 == 7) { + var28 = var4 + 2 & 3; + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(4, var28 + 4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 4, var28 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, 256, var28, 0, 0, var19, var21); + } else if (var5 == 8) { + var22 = 8; + var23 = var6.getBoundaryObjectTag(var0, var1, var2); + if (var23 != 0L) { + var22 = class245.getObjectDefinition(InterfaceParent.Entity_unpackID(var23)).int2 / 2; + } + + int var27 = var4 + 2 & 3; + Object var26; + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)var26, 256, var4, var22 * Tiles.field980[var4], var22 * Tiles.field979[var4], var19, var21); + } + } + } + } else { + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(10, var4, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null); + } + + if (var29 != null && var6.method4208(var0, var1, var2, var16, var9, var10, (Renderable)var29, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { + var28 = 15; + if (var29 instanceof Model) { + var28 = ((Model)var29).method4468() / 4; + if (var28 > 30) { + var28 = 30; + } + } + + for (int var31 = 0; var31 <= var9; ++var31) { + for (int var32 = 0; var32 <= var10; ++var32) { + if (var28 > class281.field3323[var0][var31 + var1][var32 + var2]) { + class281.field3323[var0][var31 + var1][var32 + var2] = (byte)var28; + } + } + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } + } + } + } + + @ObfuscatedName("eh") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1000073039" + ) + static int method56() { + if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { + int var0 = 0; + + for (int var1 = 0; var1 <= Client.archiveLoadersDone; ++var1) { + var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; + } + + return var0 * 10000 / Client.field521; + } else { + return 10000; + } + } + + @ObfuscatedName("fb") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-1977764791" + ) + static final void method61(boolean var0) { + if (var0) { + Client.field519 = Login.field900 ? class112.field1358 : class112.field1362; + } else { + Client.field519 = WorldMapDecorationType.clientPreferences.parameters.containsKey(SoundCache.method771(Login.Login_username)) ? class112.field1363 : class112.field1359; } } + + @ObfuscatedName("hr") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-109" + ) + static void method46() { + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + } } diff --git a/runescape-client/src/main/java/class78.java b/runescape-client/src/main/java/class78.java index 2ae967c5f7..a328a09e83 100644 --- a/runescape-client/src/main/java/class78.java +++ b/runescape-client/src/main/java/class78.java @@ -1,77 +1,54 @@ +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cw") +@ObfuscatedName("ca") public class class78 { - @ObfuscatedName("qv") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("friendsChat") - static FriendsChat friendsChat; - @ObfuscatedName("d") + @ObfuscatedName("r") @ObfuscatedGetter( - intValue = -438835079 + intValue = -2075053967 ) - static int field1019; - @ObfuscatedName("cr") - public static char field1010; - - @ObfuscatedName("ap") + @Export("loginBoxCenter") + static int loginBoxCenter; + @ObfuscatedName("dh") @ObfuscatedSignature( - descriptor = "(ILbg;ZI)I", - garbageValue = "-1739750671" + descriptor = "Lmk;" ) - static int method2043(int var0, Script var1, boolean var2) { - if (var0 == 6800) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 != 6801 && var0 != 6802) { - if (var0 == 6850) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 != 6851 && var0 != 6852) { - if (var0 == 6853) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - return 2; - } - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } - } else { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = -1; - return 1; - } + @Export("js5Socket") + static AbstractSocket js5Socket; + @ObfuscatedName("fj") + static int[] field1016; + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(B)[Lji;", + garbageValue = "-55" + ) + static GameBuild[] method2060() { + return new GameBuild[]{GameBuild.RC, GameBuild.LIVE, GameBuild.WIP, GameBuild.BUILDLIVE}; } - @ObfuscatedName("kl") + @ObfuscatedName("q") + static boolean method2061(long var0) { + int var2 = (int)(var0 >>> 14 & 3L); + return var2 == 2; + } + + @ObfuscatedName("i") @ObfuscatedSignature( - descriptor = "(IIIILoc;Lii;I)V", - garbageValue = "976301591" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-161476490" ) - @Export("worldToMinimap") - static final void worldToMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { - int var6 = var3 * var3 + var2 * var2; - if (var6 > 4225 && var6 < 90000) { - int var7 = Client.camAngleY & 2047; - int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; - int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; - int var10 = var9 * var2 + var3 * var8 >> 16; - int var11 = var3 * var9 - var8 * var2 >> 16; - double var12 = Math.atan2((double)var10, (double)var11); - int var14 = var5.width / 2 - 25; - int var15 = (int)(Math.sin(var12) * (double)var14); - int var16 = (int)(Math.cos(var12) * (double)var14); - byte var17 = 20; - class15.redHintArrowSprite.method7261(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); - } else { - Fonts.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); + static String method2062() { + String var0 = ""; + + Message var2; + for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') { + var2 = (Message)var1.next(); } + return var0; } } diff --git a/runescape-client/src/main/java/class8.java b/runescape-client/src/main/java/class8.java index ab95e6968a..5290d18895 100644 --- a/runescape-client/src/main/java/class8.java +++ b/runescape-client/src/main/java/class8.java @@ -1,14 +1,14 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("u") +@ObfuscatedName("e") public class class8 { - @ObfuscatedName("n") - final int field29; - @ObfuscatedName("c") - final int field28; - @ObfuscatedName("m") - final String field30; + @ObfuscatedName("l") + final int field33; + @ObfuscatedName("q") + final int field32; + @ObfuscatedName("f") + final String field34; @ObfuscatedSignature( descriptor = "(Lot;)V" @@ -18,18 +18,18 @@ public class class8 { } class8(int var1, int var2, String var3) { - this.field29 = var1; - this.field28 = var2; - this.field30 = var3; + this.field33 = var1; + this.field32 = var2; + this.field34 = var3; } - @ObfuscatedName("n") - String method65() { - return Integer.toHexString(this.field29) + Integer.toHexString(this.field28) + this.field30; + @ObfuscatedName("l") + String method67() { + return Integer.toHexString(this.field33) + Integer.toHexString(this.field32) + this.field34; } - @ObfuscatedName("c") - int method67() { - return this.field28; + @ObfuscatedName("q") + int method68() { + return this.field32; } } diff --git a/runescape-client/src/main/java/class87.java b/runescape-client/src/main/java/class87.java index 73e7d5594a..a333f93c5e 100644 --- a/runescape-client/src/main/java/class87.java +++ b/runescape-client/src/main/java/class87.java @@ -1,46 +1,771 @@ +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ch") +@ObfuscatedName("cr") public class class87 { - @ObfuscatedName("gm") + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Llu;" + descriptor = "(II)Lfa;", + garbageValue = "284791287" ) - @Export("fontPlain11") - static Font fontPlain11; - @ObfuscatedName("hr") - @Export("regions") - static int[] regions; + @Export("ItemDefinition_get") + public static ItemComposition ItemDefinition_get(int var0) { + ItemComposition var1 = (ItemComposition)ItemComposition.ItemDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = UserComparator4.ItemDefinition_archive.takeFile(10, var0); + var1 = new ItemComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - @ObfuscatedName("n") + var1.post(); + if (var1.noteTemplate != -1) { + var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); + } + + if (var1.notedId != -1) { + var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); + } + + if (var1.placeholderTemplate != -1) { + var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); + } + + if (!ItemComposition.ItemDefinition_inMembersWorld && var1.isMembersOnly) { + var1.name = "Members object"; + var1.isTradable = false; + + int var3; + for (var3 = 0; var3 < var1.groundActions.length; ++var3) { + var1.groundActions[var3] = null; + } + + for (var3 = 0; var3 < var1.inventoryActions.length; ++var3) { + if (var3 != 4) { + var1.inventoryActions[var3] = null; + } + } + + var1.shiftClickIndex = -2; + var1.team = 0; + if (var1.params != null) { + boolean var6 = false; + + for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { + ParamComposition var5 = class126.getParamDefinition((int)var4.key); + if (var5.autoDisable) { + var4.remove(); + } else { + var6 = true; + } + } + + if (!var6) { + var1.params = null; + } + } + } + + ItemComposition.ItemDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(II)Ljd;", - garbageValue = "1474886022" + descriptor = "(Lay;Llt;I)V", + garbageValue = "-654214919" ) - @Export("getWidget") - public static Widget getWidget(int var0) { - int var1 = var0 >> 16; - int var2 = var0 & 65535; - if (class139.Widget_interfaceComponents[var1] == null || class139.Widget_interfaceComponents[var1][var2] == null) { - boolean var3 = class317.loadInterface(var1); - if (!var3) { - return null; + static void method2196(GameEngine var0, Font var1) { + if (Login.worldSelectOpen) { + Decimator.method1014(var0); + } else { + if ((MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { + WorldMapDecorationType.clientPreferences.titleMusicDisabled = !WorldMapDecorationType.clientPreferences.titleMusicDisabled; + ScriptFrame.savePreferences(); + if (!WorldMapDecorationType.clientPreferences.titleMusicDisabled) { + Archive var2 = Tiles.archive6; + int var3 = var2.getGroupId("scape main"); + int var4 = var2.getFileId(var3, ""); + class67.method1886(var2, var3, var4, 255, false); + } else { + class247.midiPcmStream.clear(); + class247.musicPlayerStatus = 1; + class113.musicTrackArchive = null; + } + } + + if (Client.gameState != 5) { + if (Login.field885 == -1L) { + Login.field885 = UserComparator4.method2406() + 1000L; + } + + long var22 = UserComparator4.method2406(); + boolean var32; + if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { + while (true) { + if (Client.archiveLoadersDone >= Client.archiveLoaders.size()) { + var32 = true; + break; + } + + ArchiveLoader var5 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone); + if (!var5.isLoaded()) { + var32 = false; + break; + } + + ++Client.archiveLoadersDone; + } + } else { + var32 = true; + } + + if (var32 && -1L == Login.field905) { + Login.field905 = var22; + if (Login.field905 > Login.field885) { + Login.field885 = Login.field905; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + int var24; + if (ReflectionCheck.clientLanguage == Language.Language_EN) { + if (MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { + var24 = Login.xPadding + 5; + short var6 = 463; + byte var7 = 100; + byte var8 = 35; + if (MouseHandler.MouseHandler_lastPressedX >= var24 && MouseHandler.MouseHandler_lastPressedX <= var7 + var24 && MouseHandler.MouseHandler_lastPressedY >= var6 && MouseHandler.MouseHandler_lastPressedY <= var6 + var8) { + class6.method44(); + return; + } + } + + if (class4.World_request != null) { + class6.method44(); + } + } + + var24 = MouseHandler.MouseHandler_lastButton; + int var33 = MouseHandler.MouseHandler_lastPressedX; + int var34 = MouseHandler.MouseHandler_lastPressedY; + if (var24 == 0) { + var33 = MouseHandler.MouseHandler_x; + var34 = MouseHandler.MouseHandler_y; + } + + if (!VarbitComposition.mouseCam && var24 == 4) { + var24 = 1; + } + + short var39; + int var40; + if (Login.loginIndex == 0) { + boolean var42 = false; + + while (CollisionMap.isKeyDown()) { + if (class4.field13 == 84) { + var42 = true; + } + } + + var40 = class78.loginBoxCenter - 80; + var39 = 291; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20) { + LoginScreenAnimation.openURL(HitSplatDefinition.method3168("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); + } + + var40 = class78.loginBoxCenter + 80; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20 || var42) { + if ((Client.worldProperties & 33554432) != 0) { + Login.Login_response0 = ""; + Login.Login_response1 = "This is a Beta world."; + Login.Login_response2 = "Your normal account will not be affected."; + Login.Login_response3 = ""; + class112.method2474(1); + class14.method175(); + } else if ((Client.worldProperties & 4) != 0) { + if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk PvP world."; + Login.Login_response2 = "Players can attack each other almost everywhere"; + Login.Login_response3 = "and the Protect Item prayer won't work."; + } else { + Login.Login_response1 = "This is a PvP world."; + Login.Login_response2 = "Players can attack each other"; + Login.Login_response3 = "almost everywhere."; + } + + Login.Login_response0 = "Warning!"; + class112.method2474(1); + class14.method175(); + } else if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk world."; + Login.Login_response2 = "The Protect Item prayer will"; + Login.Login_response3 = "not work on this world."; + Login.Login_response0 = "Warning!"; + class112.method2474(1); + class14.method175(); + } else { + class20.Login_promptCredentials(false); + } + } + } else { + short var9; + int var35; + if (Login.loginIndex == 1) { + while (true) { + if (!CollisionMap.isKeyDown()) { + var35 = class78.loginBoxCenter - 80; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class20.Login_promptCredentials(false); + } + + var35 = class78.loginBoxCenter + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class112.method2474(0); + } + break; + } + + if (class4.field13 == 84) { + class20.Login_promptCredentials(false); + } else if (class4.field13 == 13) { + class112.method2474(0); + } + } + } else { + short var36; + if (Login.loginIndex == 2) { + var36 = 201; + var35 = var36 + 52; + if (var24 == 1 && var34 >= var35 - 12 && var34 < var35 + 2) { + Login.currentLoginField = 0; + } + + var35 += 15; + if (var24 == 1 && var34 >= var35 - 12 && var34 < var35 + 2) { + Login.currentLoginField = 1; + } + + var35 += 15; + var36 = 361; + if (Ignored.field3969 != null) { + var40 = Ignored.field3969.highX / 2; + if (var24 == 1 && var33 >= Ignored.field3969.lowX - var40 && var33 <= var40 + Ignored.field3969.lowX && var34 >= var36 - 15 && var34 < var36) { + switch(Login.field869) { + case 1: + class17.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + class112.method2474(5); + return; + case 2: + LoginScreenAnimation.openURL("https://support.runescape.com/hc/en-gb", true, false); + } + } + } + + var40 = class78.loginBoxCenter - 80; + var39 = 321; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class17.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + class17.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class17.setLoginResponseString("", "Connecting to server...", ""); + class7.method61(false); + UserList.updateGameState(20); + return; + } + + var40 = Login.loginBoxX + 180 + 80; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20) { + class112.method2474(0); + Login.Login_username = ""; + Login.Login_password = ""; + MouseHandler.field236 = 0; + Ignored.otp = ""; + Login.field900 = true; + } + + var40 = class78.loginBoxCenter + -117; + var39 = 277; + Login.field904 = var33 >= var40 && var33 < var40 + GrandExchangeOfferTotalQuantityComparator.field3741 && var34 >= var39 && var34 < var39 + class20.field103; + if (var24 == 1 && Login.field904) { + Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; + if (!Client.Login_isUsernameRemembered && WorldMapDecorationType.clientPreferences.rememberedUsername != null) { + WorldMapDecorationType.clientPreferences.rememberedUsername = null; + ScriptFrame.savePreferences(); + } + } + + var40 = class78.loginBoxCenter + 24; + var39 = 277; + Login.field895 = var33 >= var40 && var33 < var40 + GrandExchangeOfferTotalQuantityComparator.field3741 && var34 >= var39 && var34 < var39 + class20.field103; + if (var24 == 1 && Login.field895) { + WorldMapDecorationType.clientPreferences.hideUsername = !WorldMapDecorationType.clientPreferences.hideUsername; + if (!WorldMapDecorationType.clientPreferences.hideUsername) { + Login.Login_username = ""; + WorldMapDecorationType.clientPreferences.rememberedUsername = null; + class14.method175(); + } + + ScriptFrame.savePreferences(); + } + + while (true) { + int var13; + Transferable var41; + do { + while (true) { + label1042: + do { + while (true) { + while (CollisionMap.isKeyDown()) { + if (class4.field13 != 13) { + if (Login.currentLoginField != 0) { + continue label1042; + } + + FileSystem.method2820(Skeleton.field2376); + if (class4.field13 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (class4.field13 == 84 || class4.field13 == 80) { + Login.currentLoginField = 1; + } + + if (WorldMapIcon_1.method3461(Skeleton.field2376) && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Skeleton.field2376; + } + } else { + class112.method2474(0); + Login.Login_username = ""; + Login.Login_password = ""; + MouseHandler.field236 = 0; + Ignored.otp = ""; + Login.field900 = true; + } + } + + return; + } + } while(Login.currentLoginField != 1); + + if (class4.field13 == 85 && Login.Login_password.length() > 0) { + Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); + } else if (class4.field13 == 84 || class4.field13 == 80) { + Login.currentLoginField = 0; + if (class4.field13 == 84) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class17.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + class17.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class17.setLoginResponseString("", "Connecting to server...", ""); + class7.method61(false); + UserList.updateGameState(20); + return; + } + } + + if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && class4.field13 == 67) { + Clipboard var38 = Toolkit.getDefaultToolkit().getSystemClipboard(); + var41 = var38.getContents(class21.client); + var13 = 20 - Login.Login_password.length(); + break; + } + + if (ParamComposition.method3128(Skeleton.field2376) && WorldMapIcon_1.method3461(Skeleton.field2376) && Login.Login_password.length() < 20) { + Login.Login_password = Login.Login_password + Skeleton.field2376; + } + } + } while(var13 <= 0); + + try { + String var14 = (String)var41.getTransferData(DataFlavor.stringFlavor); + int var15 = Math.min(var13, var14.length()); + + for (int var16 = 0; var16 < var15; ++var16) { + char var18 = var14.charAt(var16); + boolean var17; + if (var18 >= ' ' && var18 < 127 || var18 > 127 && var18 < 160 || var18 > 160 && var18 <= 255) { + var17 = true; + } else { + label1235: { + if (var18 != 0) { + char[] var19 = class316.cp1252AsciiExtension; + + for (int var20 = 0; var20 < var19.length; ++var20) { + char var21 = var19[var20]; + if (var18 == var21) { + var17 = true; + break label1235; + } + } + } + + var17 = false; + } + } + + if (!var17 || !WorldMapIcon_1.method3461(var14.charAt(var16))) { + class112.method2474(3); + return; + } + } + + Login.Login_password = Login.Login_password + var14.substring(0, var15); + } catch (UnsupportedFlavorException var30) { + } catch (IOException var31) { + } + } + } else { + byte var10; + if (Login.loginIndex == 3) { + var35 = Login.loginBoxX + 180; + var9 = 276; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + if (class21.client.method1338()) { + var10 = 10; + } else { + var10 = 0; + } + + class112.method2474(var10); + Login.method1930(); + class14.method175(); + } + + var35 = Login.loginBoxX + 180; + var9 = 326; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class17.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + class112.method2474(5); + return; + } + } else { + int var25; + if (Login.loginIndex == 4) { + var35 = Login.loginBoxX + 180 - 80; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + Ignored.otp.trim(); + if (Ignored.otp.length() != 6) { + class17.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + MouseHandler.field236 = Integer.parseInt(Ignored.otp); + Ignored.otp = ""; + class7.method61(true); + class17.setLoginResponseString("", "Connecting to server...", ""); + UserList.updateGameState(20); + return; + } + + if (var24 == 1 && var33 >= Login.loginBoxX + 180 - 9 && var33 <= Login.loginBoxX + 180 + 130 && var34 >= 263 && var34 <= 296) { + Login.field900 = !Login.field900; + } + + if (var24 == 1 && var33 >= Login.loginBoxX + 180 - 34 && var33 <= Login.loginBoxX + 34 + 180 && var34 >= 351 && var34 <= 363) { + LoginScreenAnimation.openURL(HitSplatDefinition.method3168("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); + } + + var35 = Login.loginBoxX + 180 + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class112.method2474(0); + Login.Login_username = ""; + Login.Login_password = ""; + MouseHandler.field236 = 0; + Ignored.otp = ""; + } + + while (CollisionMap.isKeyDown()) { + boolean var37 = false; + + for (var25 = 0; var25 < "1234567890".length(); ++var25) { + if (Skeleton.field2376 == "1234567890".charAt(var25)) { + var37 = true; + break; + } + } + + if (class4.field13 == 13) { + class112.method2474(0); + Login.Login_username = ""; + Login.Login_password = ""; + MouseHandler.field236 = 0; + Ignored.otp = ""; + } else { + if (class4.field13 == 85 && Ignored.otp.length() > 0) { + Ignored.otp = Ignored.otp.substring(0, Ignored.otp.length() - 1); + } + + if (class4.field13 == 84) { + Ignored.otp.trim(); + if (Ignored.otp.length() != 6) { + class17.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + MouseHandler.field236 = Integer.parseInt(Ignored.otp); + Ignored.otp = ""; + class7.method61(true); + class17.setLoginResponseString("", "Connecting to server...", ""); + UserList.updateGameState(20); + return; + } + + if (var37 && Ignored.otp.length() < 6) { + Ignored.otp = Ignored.otp + Skeleton.field2376; + } + } + } + } else if (Login.loginIndex == 5) { + var35 = Login.loginBoxX + 180 - 80; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class1.method14(); + return; + } + + var35 = Login.loginBoxX + 180 + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class20.Login_promptCredentials(true); + } + + var39 = 361; + if (class13.field76 != null) { + var25 = class13.field76.highX / 2; + if (var24 == 1 && var33 >= class13.field76.lowX - var25 && var33 <= var25 + class13.field76.lowX && var34 >= var39 - 15 && var34 < var39) { + LoginScreenAnimation.openURL(HitSplatDefinition.method3168("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); + } + } + + while (CollisionMap.isKeyDown()) { + boolean var43 = false; + + for (int var26 = 0; var26 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var26) { + if (Skeleton.field2376 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var26)) { + var43 = true; + break; + } + } + + if (class4.field13 == 13) { + class20.Login_promptCredentials(true); + } else { + if (class4.field13 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (class4.field13 == 84) { + class1.method14(); + return; + } + + if (var43 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Skeleton.field2376; + } + } + } + } else if (Login.loginIndex != 6) { + if (Login.loginIndex == 7) { + var35 = Login.loginBoxX + 180 - 80; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + LoginScreenAnimation.openURL(HitSplatDefinition.method3168("secure", true) + "m=dob/set_dob.ws", true, false); + class17.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + class112.method2474(6); + return; + } + + var35 = Login.loginBoxX + 180 + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class20.Login_promptCredentials(true); + } + } else if (Login.loginIndex == 8) { + var35 = Login.loginBoxX + 180 - 80; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + LoginScreenAnimation.openURL("https://www.jagex.com/terms/privacy", true, false); + class17.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + class112.method2474(6); + return; + } + + var35 = Login.loginBoxX + 180 + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + class20.Login_promptCredentials(true); + } + } else if (Login.loginIndex == 9) { + var35 = Login.loginBoxX + 180; + var9 = 311; + if (class4.field13 == 84 || class4.field13 == 13 || var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + if (class21.client.method1338()) { + var10 = 10; + } else { + var10 = 0; + } + + class112.method2474(var10); + Login.method1930(); + class14.method175(); + } + } else if (Login.loginIndex == 10) { + var35 = Login.loginBoxX + 180; + var9 = 209; + if (class4.field13 == 84 || var24 == 1 && var33 >= var35 - 109 && var33 <= var35 + 109 && var34 >= var9 && var34 <= var9 + 68) { + class17.setLoginResponseString("", "Connecting to server...", ""); + Client.field520 = class404.field4348; + class7.method61(false); + UserList.updateGameState(20); + } + } else if (Login.loginIndex == 12) { + var35 = class78.loginBoxCenter; + var9 = 233; + Bounds var27 = var1.method5693(0, 30, "terms of use, privacy policy, and end user licence", var35, var9); + Bounds var11 = var1.method5693(32, 32, "terms of use, privacy policy, and end user licence", var35, var9); + Bounds var12 = var1.method5693(70, 34, "terms of use, privacy policy, and end user licence", var35, var9); + var40 = var9 + 17; + Bounds var28 = var1.method5693(0, 34, "agreement (EULA).", var35, var40); + if (var24 == 1) { + if (var27.method6252(var33, var34)) { + LoginScreenAnimation.openURL("https://www.jagex.com/terms", true, false); + } else if (var11.method6252(var33, var34)) { + LoginScreenAnimation.openURL("https://www.jagex.com/terms/privacy", true, false); + } else if (var12.method6252(var33, var34) || var28.method6252(var33, var34)) { + LoginScreenAnimation.openURL("https://www.jagex.com/en-GB/legal/eula-runescape-oldschool", true, false); + } + } + + var35 = class78.loginBoxCenter - 80; + var9 = 311; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + KitDefinition.method2953(); + if (!class12.method159()) { + Login.loginIndex = 12; + } else { + Login.loginIndex = 0; + } + } + + var35 = class78.loginBoxCenter + 80; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + Login.loginIndex = 13; + } + } else if (Login.loginIndex == 13) { + var35 = class78.loginBoxCenter; + var9 = 321; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + if (!class12.method159()) { + Login.loginIndex = 12; + } else { + Login.loginIndex = 0; + } + } + } else if (Login.loginIndex == 14) { + String var29 = ""; + switch(Login.field884) { + case 0: + var29 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; + break; + case 1: + var29 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; + break; + default: + class20.Login_promptCredentials(false); + } + + var40 = Login.loginBoxX + 180; + var39 = 276; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20) { + LoginScreenAnimation.openURL(var29, true, false); + class17.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + class112.method2474(6); + return; + } + + var40 = Login.loginBoxX + 180; + var39 = 326; + if (var24 == 1 && var33 >= var40 - 75 && var33 <= var40 + 75 && var34 >= var39 - 20 && var34 <= var39 + 20) { + class20.Login_promptCredentials(false); + } + } else if (Login.loginIndex == 24) { + var35 = Login.loginBoxX + 180; + var9 = 301; + if (var24 == 1 && var33 >= var35 - 75 && var33 <= var35 + 75 && var34 >= var9 - 20 && var34 <= var9 + 20) { + if (class21.client.method1338()) { + var10 = 10; + } else { + var10 = 0; + } + + class112.method2474(var10); + Login.method1930(); + class14.method175(); + } + } + } else { + while (true) { + do { + if (!CollisionMap.isKeyDown()) { + var36 = 321; + if (var24 == 1 && var34 >= var36 - 20 && var34 <= var36 + 20) { + class20.Login_promptCredentials(true); + } + + return; + } + } while(class4.field13 != 84 && class4.field13 != 13); + + class20.Login_promptCredentials(true); + } + } + } + } + } + } + + } } } - - return class139.Widget_interfaceComponents[var1][var2]; } - @ObfuscatedName("k") + @ObfuscatedName("je") @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "285950247" + descriptor = "(IIIIIIIB)V", + garbageValue = "37" ) - public static int method2183(int var0) { - long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; - int var1 = (int)(var2 >>> 0 & 127L); - return var1; + @Export("updateRootInterface") + static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var0)) { + NetSocket.updateInterface(Widget.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); + } } } diff --git a/runescape-client/src/main/java/class9.java b/runescape-client/src/main/java/class9.java index 0405b8f5f1..0bc6df368b 100644 --- a/runescape-client/src/main/java/class9.java +++ b/runescape-client/src/main/java/class9.java @@ -3,366 +3,213 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("e") +@ObfuscatedName("i") public class class9 implements MouseWheel { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Le;" + @ObfuscatedName("sh") + @ObfuscatedGetter( + intValue = 2032857847 ) - static final class9 field31; - @ObfuscatedName("c") + static int field44; + @ObfuscatedName("l") @ObfuscatedSignature( - descriptor = "Le;" + descriptor = "Li;" ) - public static final class9 field34; + static final class9 field46; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Li;" + ) + public static final class9 field43; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Li;" + ) + static final class9 field42; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Li;" + ) + static final class9 field38; @ObfuscatedName("m") @ObfuscatedSignature( - descriptor = "Le;" + descriptor = "Li;" ) - static final class9 field33; + static final class9 field39; @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Le;" - ) - static final class9 field35; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Le;" - ) - static final class9 field32; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljd;" - ) - @Export("scriptActiveWidget") - static Widget scriptActiveWidget; - @ObfuscatedName("g") @ObfuscatedGetter( - intValue = -2103663467 + intValue = -517250407 ) - int field36; - @ObfuscatedName("z") - String field37; + int field40; + @ObfuscatedName("t") + String field41; @ObfuscatedName("a") - boolean field38; - @ObfuscatedName("u") - boolean field39; + boolean field35; + @ObfuscatedName("e") + boolean field36; static { - field31 = new class9(0, "POST", true, true); - field34 = new class9(1, "GET", true, false); - field33 = new class9(2, "PUT", false, true); - field35 = new class9(3, "PATCH", false, true); - field32 = new class9(4, "DELETE", false, true); + field46 = new class9(0, "POST", true, true); + field43 = new class9(1, "GET", true, false); + field42 = new class9(2, "PUT", false, true); + field38 = new class9(3, "PATCH", false, true); + field39 = new class9(4, "DELETE", false, true); } class9(int var1, String var2, boolean var3, boolean var4) { - this.field36 = var1; - this.field37 = var2; - this.field38 = var3; - this.field39 = var4; + this.field40 = var1; + this.field41 = var2; + this.field35 = var3; + this.field36 = var4; } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "2061527045" - ) - boolean method71() { - return this.field38; - } - - @ObfuscatedName("c") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "-1665712539" + garbageValue = "661199397" ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field36; + return this.field40; } @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "-30" - ) - String method72() { - return this.field37; - } - - @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)Z", - garbageValue = "-794762251" + garbageValue = "1505605865" ) - boolean method73() { - return this.field39; - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "16" - ) - public static boolean method91(int var0) { - return var0 >= WorldMapDecorationType.field3249.id && var0 <= WorldMapDecorationType.field3250.id; + boolean method74() { + return this.field35; } @ObfuscatedName("k") @ObfuscatedSignature( - descriptor = "(II)Lbc;", - garbageValue = "-975806197" + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-989360372" ) - @Export("Messages_getMessage") - static Message Messages_getMessage(int var0) { - return (Message)Messages.Messages_hashTable.get((long)var0); + String method85() { + return this.field41; } - @ObfuscatedName("ga") + @ObfuscatedName("t") @ObfuscatedSignature( - descriptor = "(IIIIZI)V", - garbageValue = "-202791120" + descriptor = "(B)Z", + garbageValue = "-83" ) - @Export("setViewportShape") - static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { - if (var2 < 1) { - var2 = 1; - } - - if (var3 < 1) { - var3 = 1; - } - - int var5 = var3 - 334; - int var6; - if (var5 < 0) { - var6 = Client.field723; - } else if (var5 >= 100) { - var6 = Client.field742; - } else { - var6 = (Client.field742 - Client.field723) * var5 / 100 + Client.field723; - } - - int var7 = var3 * var6 * 512 / (var2 * 334); - int var8; - int var9; - short var14; - if (var7 < Client.field711) { - var14 = Client.field711; - var6 = var14 * var2 * 334 / (var3 * 512); - if (var6 > Client.field746) { - var6 = Client.field746; - var8 = var3 * var6 * 512 / (var14 * 334); - var9 = (var2 - var8) / 2; - if (var4) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); - } - - var0 += var9; - var2 -= var9 * 2; - } - } else if (var7 > Client.field748) { - var14 = Client.field748; - var6 = var14 * var2 * 334 / (var3 * 512); - if (var6 < Client.field642) { - var6 = Client.field642; - var8 = var14 * var2 * 334 / (var6 * 512); - var9 = (var3 - var8) / 2; - if (var4) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); - } - - var1 += var9; - var3 -= var9 * 2; - } - } - - Client.viewportZoom = var3 * var6 / 334; - if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { - int[] var13 = new int[9]; - - for (var9 = 0; var9 < var13.length; ++var9) { - int var10 = var9 * 32 + 15 + 128; - int var11 = AccessFile.method6644(var10); - int var12 = Rasterizer3D.Rasterizer3D_sine[var10]; - var11 = User.method5968(var11, var3); - var13[var9] = var11 * var12 >> 16; - } - - Scene.Scene_buildVisiblityMap(var13, 500, 800, var2 * 334 / var3, 334); - } - - Client.viewportOffsetX = var0; - Client.viewportOffsetY = var1; - Client.viewportWidth = var2; - Client.viewportHeight = var3; + boolean method76() { + return this.field36; } - @ObfuscatedName("js") + @ObfuscatedName("jq") @ObfuscatedSignature( - descriptor = "(Ljd;IB)I", - garbageValue = "-18" + descriptor = "([Ljt;IB)V", + garbageValue = "1" ) - static final int method90(Widget var0, int var1) { - if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { - try { - int[] var2 = var0.cs1Instructions[var1]; - int var3 = 0; - int var4 = 0; - byte var5 = 0; - - while (true) { - int var6 = var2[var4++]; - int var7 = 0; - byte var8 = 0; - if (var6 == 0) { - return var3; + @Export("drawModelComponents") + static final void drawModelComponents(Widget[] var0, int var1) { + for (int var2 = 0; var2 < var0.length; ++var2) { + Widget var3 = var0[var2]; + if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !ObjectSound.isComponentHidden(var3))) { + int var5; + if (var3.type == 0) { + if (!var3.isIf3 && ObjectSound.isComponentHidden(var3) && var3 != VarpDefinition.mousedOverWidgetIf1) { + continue; } - if (var6 == 1) { - var7 = Client.currentLevels[var2[var4++]]; + drawModelComponents(var0, var3.id); + if (var3.children != null) { + drawModelComponents(var3.children, var3.id); } - if (var6 == 2) { - var7 = Client.levels[var2[var4++]]; + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + var5 = var4.group; + if (GrandExchangeOfferTotalQuantityComparator.loadInterface(var5)) { + drawModelComponents(Widget.Widget_interfaceComponents[var5], -1); + } } + } - if (var6 == 3) { - var7 = Client.experience[var2[var4++]]; - } + if (var3.type == 6) { + if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { + boolean var7 = BufferedNetSocket.runCs1(var3); + if (var7) { + var5 = var3.sequenceId2; + } else { + var5 = var3.sequenceId; + } - int var9; - Widget var10; - int var11; - int var12; - if (var6 == 4) { - var9 = var2[var4++] << 16; - var9 += var2[var4++]; - var10 = class87.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!class65.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { - if (var11 + 1 == var10.itemIds[var12]) { - var7 += var10.itemQuantities[var12]; + if (var5 != -1) { + SequenceDefinition var6 = KitDefinition.SequenceDefinition_get(var5); + + for (var3.modelFrameCycle += Client.field536; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; class16.invalidateWidget(var3)) { + var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; + ++var3.modelFrame; + if (var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame -= var6.frameCount; + if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame = 0; + } } } } } - if (var6 == 5) { - var7 = Varps.Varps_main[var2[var4++]]; - } - - if (var6 == 6) { - var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; - } - - if (var6 == 7) { - var7 = Varps.Varps_main[var2[var4++]] * 100 / 46875; - } - - if (var6 == 8) { - var7 = class129.localPlayer.combatLevel; - } - - if (var6 == 9) { - for (var9 = 0; var9 < 25; ++var9) { - if (Skills.Skills_enabled[var9]) { - var7 += Client.levels[var9]; - } - } - } - - if (var6 == 10) { - var9 = var2[var4++] << 16; - var9 += var2[var4++]; - var10 = class87.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!class65.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { - if (var11 + 1 == var10.itemIds[var12]) { - var7 = 999999999; - break; - } - } - } - } - - if (var6 == 11) { - var7 = Client.runEnergy; - } - - if (var6 == 12) { - var7 = Client.weight; - } - - if (var6 == 13) { - var9 = Varps.Varps_main[var2[var4++]]; - int var13 = var2[var4++]; - var7 = (var9 & 1 << var13) != 0 ? 1 : 0; - } - - if (var6 == 14) { - var9 = var2[var4++]; - var7 = class247.getVarbit(var9); - } - - if (var6 == 15) { - var8 = 1; - } - - if (var6 == 16) { - var8 = 2; - } - - if (var6 == 17) { - var8 = 3; - } - - if (var6 == 18) { - var7 = (class129.localPlayer.x >> 7) + FloorOverlayDefinition.baseX; - } - - if (var6 == 19) { - var7 = (class129.localPlayer.y >> 7) + class320.baseY; - } - - if (var6 == 20) { - var7 = var2[var4++]; - } - - if (var8 == 0) { - if (var5 == 0) { - var3 += var7; - } - - if (var5 == 1) { - var3 -= var7; - } - - if (var5 == 2 && var7 != 0) { - var3 /= var7; - } - - if (var5 == 3) { - var3 *= var7; - } - - var5 = 0; - } else { - var5 = var8; + if (var3.field3038 != 0 && !var3.isIf3) { + int var8 = var3.field3038 >> 16; + var5 = var3.field3038 << 16 >> 16; + var8 *= Client.field536; + var5 *= Client.field536; + var3.modelAngleX = var8 + var3.modelAngleX & 2047; + var3.modelAngleY = var5 + var3.modelAngleY & 2047; + class16.invalidateWidget(var3); } } - } catch (Exception var14) { - return -1; } - } else { - return -2; + } + + } + + @ObfuscatedName("jz") + @ObfuscatedSignature( + descriptor = "(Ljt;B)V", + garbageValue = "109" + ) + static final void method87(Widget var0) { + int var1 = var0.contentType; + if (var1 == 324) { + if (Client.field758 == -1) { + Client.field758 = var0.spriteId2; + Client.field759 = var0.spriteId; + } + + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field758; + } else { + var0.spriteId2 = Client.field759; + } + + } else if (var1 == 325) { + if (Client.field758 == -1) { + Client.field758 = var0.spriteId2; + Client.field759 = var0.spriteId; + } + + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field759; + } else { + var0.spriteId2 = Client.field758; + } + + } else if (var1 == 327) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 0; + } else if (var1 == 328) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 1; } } } diff --git a/runescape-client/src/main/java/class91.java b/runescape-client/src/main/java/class91.java index 8795376acd..a10353beea 100644 --- a/runescape-client/src/main/java/class91.java +++ b/runescape-client/src/main/java/class91.java @@ -1,208 +1,23 @@ -import java.io.File; -import java.io.RandomAccessFile; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cq") +@ObfuscatedName("ce") public class class91 { - @ObfuscatedName("v") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "Lac;" + descriptor = "(Ljava/lang/Throwable;Ljava/lang/String;)Lps;" ) - @Export("pcmPlayerProvider") - static class45 pcmPlayerProvider; - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)Ljava/io/File;", - garbageValue = "26" - ) - @Export("getFile") - public static File getFile(String var0) { - if (!FileSystem.FileSystem_hasPermissions) { - throw new RuntimeException(""); + @Export("newRunException") + public static RunException newRunException(Throwable var0, String var1) { + RunException var2; + if (var0 instanceof RunException) { + var2 = (RunException)var0; + var2.message = var2.message + ' ' + var1; } else { - File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); - if (var1 != null) { - return var1; - } else { - File var2 = new File(FileSystem.FileSystem_cacheDir, var0); - RandomAccessFile var3 = null; - - try { - File var4 = new File(var2.getParent()); - if (!var4.exists()) { - throw new RuntimeException(""); - } else { - var3 = new RandomAccessFile(var2, "rw"); - int var5 = var3.read(); - var3.seek(0L); - var3.write(var5); - var3.seek(0L); - var3.close(); - FileSystem.FileSystem_cacheFiles.put(var0, var2); - return var2; - } - } catch (Exception var8) { - try { - if (var3 != null) { - var3.close(); - var3 = null; - } - } catch (Exception var7) { - } - - throw new RuntimeException(); - } - } + var2 = new RunException(var0, var1); } - } - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "(ILbg;ZB)I", - garbageValue = "-99" - ) - static int method2230(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; - return 1; - } else { - int var13; - if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var13 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var13 == 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var13 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var13 == 2 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var13 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var13 == 5 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var13 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var13 == 1 ? 1 : 0; - return 1; - } else { - boolean var12; - if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { - var12 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class117.grandExchangeEvents != null) { - class117.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var12); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { - var12 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class117.grandExchangeEvents != null) { - class117.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var12); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { - class240.Interpreter_intStackSize -= 2; - var12 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize] == 1; - boolean var11 = Interpreter.Interpreter_intStack[class240.Interpreter_intStackSize + 1] == 1; - if (class117.grandExchangeEvents != null) { - Client.GrandExchangeEvents_worldComparator.filterWorlds = var11; - class117.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var12); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { - var12 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class117.grandExchangeEvents != null) { - class117.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var12); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { - var12 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize] == 1; - if (class117.grandExchangeEvents != null) { - class117.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var12); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = class117.grandExchangeEvents == null ? 0 : class117.grandExchangeEvents.events.size(); - return 1; - } else { - GrandExchangeEvent var4; - if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.world; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - long var5 = Occluder.method4335() - MenuAction.field861 - var4.age; - int var7 = (int)(var5 / 3600000L); - int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); - int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); - String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--class240.Interpreter_intStackSize]; - var4 = (GrandExchangeEvent)class117.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class240.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.id; - return 1; - } else { - return 2; - } - } - } - } + return var2; } } diff --git a/runescape-client/src/main/java/class92.java b/runescape-client/src/main/java/class92.java index 5d907c9f4c..faf6426dbb 100644 --- a/runescape-client/src/main/java/class92.java +++ b/runescape-client/src/main/java/class92.java @@ -3,81 +3,331 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ck") +@ObfuscatedName("cz") public class class92 { - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "[Loi;" - ) - @Export("title_muteSprite") - static IndexedSprite[] title_muteSprite; - @ObfuscatedName("iz") + @ObfuscatedName("x") + @Export("cacheSubPaths") + static String[] cacheSubPaths; + @ObfuscatedName("l") @ObfuscatedGetter( - intValue = 301530703 - ) - @Export("selectedItemId") - static int selectedItemId; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1153967351 - ) - int field1225; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1540571559 - ) - int field1227; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1163607269 - ) - int field1226; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -242841763 + intValue = -1651318617 ) int field1228; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 721059991 + ) + int field1227; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1547697199 + ) + int field1229; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -930814481 + ) + int field1230; class92(int var1, int var2, int var3, int var4) { - this.field1225 = var1; + this.field1228 = var1; this.field1227 = var2; - this.field1226 = var3; - this.field1228 = var4; + this.field1229 = var3; + this.field1230 = var4; } - @ObfuscatedName("n") + @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "567219096" + garbageValue = "1995128914" ) - int method2233() { - return this.field1225; + int method2243() { + return this.field1228; } - @ObfuscatedName("c") + @ObfuscatedName("q") @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-57" + descriptor = "(I)I", + garbageValue = "1437563036" ) - int method2232() { + int method2254() { return this.field1227; } - @ObfuscatedName("m") + @ObfuscatedName("f") @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "877074103" + descriptor = "(B)I", + garbageValue = "-1" ) - int method2243() { - return this.field1226; + int method2242() { + return this.field1229; } - @ObfuscatedName("k") + @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)I", - garbageValue = "706409085" + garbageValue = "201682335" ) - int method2234() { - return this.field1228; + int method2245() { + return this.field1230; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "(Loy;II)V", + garbageValue = "767039903" + ) + @Export("readPlayerUpdate") + static void readPlayerUpdate(PacketBuffer var0, int var1) { + boolean var2 = var0.readBits(1) == 1; + if (var2) { + Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; + } + + int var3 = var0.readBits(2); + Player var4 = Client.players[var1]; + if (var3 == 0) { + if (var2) { + var4.field1060 = false; + } else if (Client.localPlayerIndex == var1) { + throw new RuntimeException(); + } else { + Players.Players_regions[var1] = (var4.plane << 28) + (WorldMapSectionType.baseX + var4.pathX[0] >> 13 << 14) + (PlayerComposition.baseY + var4.pathY[0] >> 13); + if (var4.field1134 != -1) { + Players.Players_orientations[var1] = var4.field1134; + } else { + Players.Players_orientations[var1] = var4.orientation; + } + + Players.Players_targetIndices[var1] = var4.targetIndex; + Client.players[var1] = null; + if (var0.readBits(1) != 0) { + ChatChannel.updateExternalPlayer(var0, var1); + } + + } + } else { + int var5; + int var6; + int var7; + if (var3 == 1) { + var5 = var0.readBits(3); + var6 = var4.pathX[0]; + var7 = var4.pathY[0]; + if (var5 == 0) { + --var6; + --var7; + } else if (var5 == 1) { + --var7; + } else if (var5 == 2) { + ++var6; + --var7; + } else if (var5 == 3) { + --var6; + } else if (var5 == 4) { + ++var6; + } else if (var5 == 5) { + --var6; + ++var7; + } else if (var5 == 6) { + ++var7; + } else if (var5 == 7) { + ++var6; + ++var7; + } + + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var6, var7); + var4.field1060 = false; + } else if (var2) { + var4.field1060 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field1060 = false; + var4.method2092(var6, var7, Players.field1245[var1]); + } + + } else if (var3 == 2) { + var5 = var0.readBits(4); + var6 = var4.pathX[0]; + var7 = var4.pathY[0]; + if (var5 == 0) { + var6 -= 2; + var7 -= 2; + } else if (var5 == 1) { + --var6; + var7 -= 2; + } else if (var5 == 2) { + var7 -= 2; + } else if (var5 == 3) { + ++var6; + var7 -= 2; + } else if (var5 == 4) { + var6 += 2; + var7 -= 2; + } else if (var5 == 5) { + var6 -= 2; + --var7; + } else if (var5 == 6) { + var6 += 2; + --var7; + } else if (var5 == 7) { + var6 -= 2; + } else if (var5 == 8) { + var6 += 2; + } else if (var5 == 9) { + var6 -= 2; + ++var7; + } else if (var5 == 10) { + var6 += 2; + ++var7; + } else if (var5 == 11) { + var6 -= 2; + var7 += 2; + } else if (var5 == 12) { + --var6; + var7 += 2; + } else if (var5 == 13) { + var7 += 2; + } else if (var5 == 14) { + ++var6; + var7 += 2; + } else if (var5 == 15) { + var6 += 2; + var7 += 2; + } + + if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { + if (var2) { + var4.field1060 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field1060 = false; + var4.method2092(var6, var7, Players.field1245[var1]); + } + } else { + var4.resetPath(var6, var7); + var4.field1060 = false; + } + + } else { + var5 = var0.readBits(1); + int var8; + int var9; + int var10; + int var11; + if (var5 == 0) { + var6 = var0.readBits(12); + var7 = var6 >> 10; + var8 = var6 >> 5 & 31; + if (var8 > 15) { + var8 -= 32; + } + + var9 = var6 & 31; + if (var9 > 15) { + var9 -= 32; + } + + var10 = var8 + var4.pathX[0]; + var11 = var9 + var4.pathY[0]; + if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { + if (var2) { + var4.field1060 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field1060 = false; + var4.method2092(var10, var11, Players.field1245[var1]); + } + } else { + var4.resetPath(var10, var11); + var4.field1060 = false; + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + VertexNormal.Client_plane = var4.plane; + } + + } else { + var6 = var0.readBits(30); + var7 = var6 >> 28; + var8 = var6 >> 14 & 16383; + var9 = var6 & 16383; + var10 = (var8 + WorldMapSectionType.baseX + var4.pathX[0] & 16383) - WorldMapSectionType.baseX; + var11 = (var9 + PlayerComposition.baseY + var4.pathY[0] & 16383) - PlayerComposition.baseY; + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var10, var11); + var4.field1060 = false; + } else if (var2) { + var4.field1060 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field1060 = false; + var4.method2092(var10, var11, Players.field1245[var1]); + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + VertexNormal.Client_plane = var4.plane; + } + + } + } + } + } + + @ObfuscatedName("fa") + @ObfuscatedSignature( + descriptor = "(Ljt;III)V", + garbageValue = "1622114709" + ) + @Export("checkIfMinimapClicked") + static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { + if (Client.minimapState == 0 || Client.minimapState == 3) { + if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !VarbitComposition.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { + SpriteMask var3 = var0.getSpriteMask(true); + if (var3 == null) { + return; + } + + int var4 = MouseHandler.MouseHandler_lastPressedX - var1; + int var5 = MouseHandler.MouseHandler_lastPressedY - var2; + if (var3.contains(var4, var5)) { + var4 -= var3.width / 2; + var5 -= var3.height / 2; + int var6 = Client.camAngleY & 2047; + int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var9 = var5 * var7 + var4 * var8 >> 11; + int var10 = var5 * var8 - var7 * var4 >> 11; + int var11 = var9 + class67.localPlayer.x >> 7; + int var12 = class67.localPlayer.y - var10 >> 7; + PacketBufferNode var13 = LoginScreenAnimation.getPacketBufferNode(ClientPacket.field2745, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(18); + var13.packetBuffer.method7029(var11 + WorldMapSectionType.baseX); + var13.packetBuffer.method6931(var12 + PlayerComposition.baseY); + var13.packetBuffer.method7117(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + var13.packetBuffer.writeByte(var4); + var13.packetBuffer.writeByte(var5); + var13.packetBuffer.writeShort(Client.camAngleY); + var13.packetBuffer.writeByte(57); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(89); + var13.packetBuffer.writeShort(class67.localPlayer.x); + var13.packetBuffer.writeShort(class67.localPlayer.y); + var13.packetBuffer.writeByte(63); + Client.packetWriter.addNode(var13); + Client.destinationX = var11; + Client.destinationY = var12; + } + } + + } } } diff --git a/runescape-client/src/main/java/netscape/javascript/JSException.java b/runescape-client/src/main/java/netscape/javascript/JSException.java new file mode 100644 index 0000000000..3a67bd958a --- /dev/null +++ b/runescape-client/src/main/java/netscape/javascript/JSException.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package netscape.javascript; + +/** + * Thrown when an exception is raised in the JavaScript engine. This is merely + * a marker class to indicate an exception relating to the JavaScript + * interface. + */ +public class JSException extends RuntimeException { + private static final long serialVersionUID = 2778103758223661489L; + + /** + * Constructs a new JavaScript exception with null as it's detail message. + */ + public JSException() { + super(); + } + + /** + * Construct a new JavaScript exception with the specified detail message. + * + * @param s The detail message + */ + public JSException(String s) { + super(s); + } + + /** + * Construct a new JavaScript exception with the specified cause. + * + * @param t Throwable cause + */ + public JSException(Throwable t) { + super(t); + } +} \ No newline at end of file diff --git a/runescape-client/src/main/java/netscape/javascript/JSObject.java b/runescape-client/src/main/java/netscape/javascript/JSObject.java new file mode 100644 index 0000000000..8299df7e75 --- /dev/null +++ b/runescape-client/src/main/java/netscape/javascript/JSObject.java @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package netscape.javascript; + +import java.applet.Applet; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.util.Iterator; +import java.util.ServiceLoader; + +/** + *

+ * Allows Java code to manipulate JavaScript objects. + *

+ * + *

+ * When a JavaScript object is passed or returned to Java code, it + * is wrapped in an instance of {@code JSObject}. When a + * {@code JSObject} instance is passed to the JavaScript engine, + * it is unwrapped back to its original JavaScript object. The + * {@code JSObject} class provides a way to invoke JavaScript + * methods and examine JavaScript properties. + *

+ * + *

Any data returned from the JavaScript engine to Java is + * converted to Java data types. Certain data passed to the JavaScript + * engine is converted to JavaScript data types. + *

+ * + */ +@SuppressWarnings("deprecation") +public abstract class JSObject { + /** + * Constructs a new JSObject. Users should neither call this method nor + * subclass JSObject. + */ + protected JSObject() { + } + + /** + * Calls a JavaScript method. Equivalent to + * "this.methodName(args[0], args[1], ...)" in JavaScript. + * + * @param methodName The name of the JavaScript method to be invoked. + * @param args the Java objects passed as arguments to the method. + * @return Result of the method. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract Object call(String methodName, Object... args) throws JSException; + + /** + * Evaluates a JavaScript expression. The expression is a string of + * JavaScript source code which will be evaluated in the context given by + * "this". + * + * @param s The JavaScript expression. + * @return Result of the JavaScript evaluation. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract Object eval(String s) throws JSException; + + /** + * Retrieves a named member of a JavaScript object. Equivalent to + * "this.name" in JavaScript. + * + * @param name The name of the JavaScript property to be accessed. + * @return The value of the propery. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract Object getMember(String name) throws JSException; + + /** + * Sets a named member of a JavaScript object. Equivalent to + * "this.name = value" in JavaScript. + * + * @param name The name of the JavaScript property to be accessed. + * @param value The value of the propery. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract void setMember(String name, Object value) throws JSException; + + /** + * Removes a named member of a JavaScript object. Equivalent + * to "delete this.name" in JavaScript. + * + * @param name The name of the JavaScript property to be removed. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract void removeMember(String name) throws JSException; + + /** + * Retrieves an indexed member of a JavaScript object. Equivalent to + * "this[index]" in JavaScript. + * + * @param index The index of the array to be accessed. + * @return The value of the indexed member. + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract Object getSlot(int index) throws JSException; + + /** + * Sets an indexed member of a JavaScript object. Equivalent to + * "this[index] = value" in JavaScript. + * + * @param index The index of the array to be accessed. + * @param value The value to set + * @throws JSException when an error is reported from the browser or + * JavaScript engine. + */ + public abstract void setSlot(int index, Object value) throws JSException; + + /** + * Returns a JSObject for the window containing the given applet. This + * method only works when the Java code is running in a browser as an + * applet. The object returned may be used to access the HTML DOM directly. + * + * @param applet The applet. + * @return JSObject representing the window containing the given applet or + * {@code null} if we are not connected to a browser. + * @throws JSException when an error is reported from the browser or + * JavaScript engine or if applet is {@code null} + * + * @deprecated The Applet API is deprecated. See the + * + * java.applet package documentation for further information. + */ + + @Deprecated(since = "9") + @SuppressWarnings("exports") + public static JSObject getWindow(Applet applet) throws JSException { + return ProviderLoader.callGetWindow(applet); + } + + private static class ProviderLoader { + private static final JSObjectProvider provider; + + static { + provider = AccessController.doPrivileged( + new PrivilegedAction() { + @Override + public JSObjectProvider run() { + Iterator providers = + ServiceLoader.loadInstalled(JSObjectProvider.class).iterator(); + if (providers.hasNext()) { + return providers.next(); + } + return null; + } + } + ); + } + + private static JSObject callGetWindow(Applet applet) { + if (provider != null) { + return provider.getWindow(applet); + } + return null; + } + } +} \ No newline at end of file diff --git a/runescape-client/src/main/java/netscape/javascript/JSObjectProvider.java b/runescape-client/src/main/java/netscape/javascript/JSObjectProvider.java new file mode 100644 index 0000000000..4d69202cfe --- /dev/null +++ b/runescape-client/src/main/java/netscape/javascript/JSObjectProvider.java @@ -0,0 +1,20 @@ +package netscape.javascript; + +import java.applet.Applet; +import netscape.javascript.JSException; +import netscape.javascript.JSObject; + +@SuppressWarnings("deprecation") +public interface JSObjectProvider { + /** + * Return a JSObject for the window containing the given applet. + * Implementations of this class should return null if not connected to a + * browser, for example, when running in AppletViewer. + * + * @param applet The applet. + * @return JSObject for the window containing the given applet or null if we + * are not connected to a browser. + * @throws JSException when an error is encountered. + */ + public JSObject getWindow(Applet applet) throws JSException; +} diff --git a/wiki-scraper/wiki-scraper.gradle.kts b/wiki-scraper/wiki-scraper.gradle.kts index 383ab0db0d..ffc50e1a05 100644 --- a/wiki-scraper/wiki-scraper.gradle.kts +++ b/wiki-scraper/wiki-scraper.gradle.kts @@ -34,11 +34,11 @@ dependencies { compileOnly(group = "org.projectlombok", name = "lombok", version = ProjectVersions.lombokVersion) implementation(group = "com.google.code.gson", name = "gson", version = "2.8.5") - implementation(group = "com.google.guava", name = "guava", version = "23.2-jre") + implementation(group = "com.google.guava", name = "guava", version = "30.1.1-jre") implementation(group = "com.github.petitparser", name = "java-petitparser", version = "2.3.1") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "3.7.0") - implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.12") - implementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.12") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.9.1") + implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.32") + implementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.32") implementation(group = "org.junit.jupiter", name = "junit-jupiter-api", version = "5.7.0") }