Merge branch 'master' of https://github.com/open-osrs/runelite into fix-test-branch
This commit is contained in:
@@ -37,7 +37,7 @@ jobs:
|
|||||||
- name: Assembling
|
- name: Assembling
|
||||||
run: ./gradlew assemble --console=plain
|
run: ./gradlew assemble --console=plain
|
||||||
- name: Building
|
- name: Building
|
||||||
run: ./gradlew build --stacktrace -x test -x checkstyleMain --console=plain
|
run: ./gradlew build --stacktrace -x test -x checkstyleMain -x checkstyleTest --console=plain
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ const val kotlinVersion = "1.3.50"
|
|||||||
|
|
||||||
object ProjectVersions {
|
object ProjectVersions {
|
||||||
const val launcherVersion = "2.0.4"
|
const val launcherVersion = "2.0.4"
|
||||||
const val rlVersion = "1.5.42-SNAPSHOT"
|
const val rlVersion = "1.5.42"
|
||||||
|
|
||||||
const val openosrsVersion = "2.1.15.0-SNAPSHOT"
|
const val openosrsVersion = "2.1.15.0"
|
||||||
|
|
||||||
const val rsversion = 185
|
const val rsversion = 186
|
||||||
const val cacheversion = 165
|
const val cacheversion = 165
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,4 +90,25 @@ tasks {
|
|||||||
filter(ReplaceTokens::class, "tokens" to tokens)
|
filter(ReplaceTokens::class, "tokens" to tokens)
|
||||||
filteringCharset = "UTF-8"
|
filteringCharset = "UTF-8"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
register<JavaExec>("Downloader.main()") {
|
||||||
|
group = "gamepack"
|
||||||
|
|
||||||
|
classpath = project.sourceSets.main.get().runtimeClasspath
|
||||||
|
main = "net.runelite.gamepack.Downloader"
|
||||||
|
}
|
||||||
|
|
||||||
|
register<JavaExec>("Deob.main()") {
|
||||||
|
group = "gamepack"
|
||||||
|
|
||||||
|
classpath = project.sourceSets.main.get().runtimeClasspath
|
||||||
|
main = "net.runelite.deob.Deob"
|
||||||
|
}
|
||||||
|
|
||||||
|
register<JavaExec>("UpdateMappings.main()") {
|
||||||
|
group = "gamepack"
|
||||||
|
|
||||||
|
classpath = project.sourceSets.main.get().runtimeClasspath
|
||||||
|
main = "net.runelite.deob.updater.UpdateMappings"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,4 +57,9 @@ public class Downloader
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
gamepack();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
package net.runelite.http.api.worlds;
|
package net.runelite.http.api.worlds;
|
||||||
|
|
||||||
import com.google.gson.JsonParseException;
|
import com.google.gson.JsonParseException;
|
||||||
import io.reactivex.Observable;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -50,7 +50,7 @@ public class WorldClient
|
|||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Observable<WorldResult> lookupWorlds()
|
public WorldResult lookupWorlds() throws IOException
|
||||||
{
|
{
|
||||||
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
|
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
|
||||||
.addPathSegment("worlds.js")
|
.addPathSegment("worlds.js")
|
||||||
@@ -58,8 +58,6 @@ public class WorldClient
|
|||||||
|
|
||||||
logger.debug("Built URI: {}", url);
|
logger.debug("Built URI: {}", url);
|
||||||
|
|
||||||
return Observable.defer(() ->
|
|
||||||
{
|
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.url(url)
|
.url(url)
|
||||||
.build();
|
.build();
|
||||||
@@ -69,16 +67,15 @@ public class WorldClient
|
|||||||
if (!response.isSuccessful())
|
if (!response.isSuccessful())
|
||||||
{
|
{
|
||||||
logger.debug("Error looking up worlds: {}", response);
|
logger.debug("Error looking up worlds: {}", response);
|
||||||
return Observable.just(null);
|
throw new IOException("unsuccessful response looking up worlds");
|
||||||
}
|
}
|
||||||
|
|
||||||
InputStream in = response.body().byteStream();
|
InputStream in = response.body().byteStream();
|
||||||
return Observable.just(RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), WorldResult.class));
|
return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), WorldResult.class);
|
||||||
}
|
}
|
||||||
catch (JsonParseException ex)
|
catch (JsonParseException ex)
|
||||||
{
|
{
|
||||||
return Observable.error(ex);
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,6 +47,7 @@ public class ChatController
|
|||||||
{
|
{
|
||||||
private static final Pattern STRING_VALIDATION = Pattern.compile("[^a-zA-Z0-9' -]");
|
private static final Pattern STRING_VALIDATION = Pattern.compile("[^a-zA-Z0-9' -]");
|
||||||
private static final int STRING_MAX_LENGTH = 50;
|
private static final int STRING_MAX_LENGTH = 50;
|
||||||
|
private static final int MAX_LAYOUT_ROOMS = 16;
|
||||||
|
|
||||||
private final Cache<KillCountKey, Integer> killCountCache = CacheBuilder.newBuilder()
|
private final Cache<KillCountKey, Integer> killCountCache = CacheBuilder.newBuilder()
|
||||||
.expireAfterWrite(2, TimeUnit.MINUTES)
|
.expireAfterWrite(2, TimeUnit.MINUTES)
|
||||||
@@ -214,6 +215,11 @@ public class ChatController
|
|||||||
@PostMapping("/layout")
|
@PostMapping("/layout")
|
||||||
public void submitLayout(@RequestParam String name, @RequestBody LayoutRoom[] rooms)
|
public void submitLayout(@RequestParam String name, @RequestBody LayoutRoom[] rooms)
|
||||||
{
|
{
|
||||||
|
if (rooms.length > MAX_LAYOUT_ROOMS)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
chatService.setLayout(name, rooms);
|
chatService.setLayout(name, rooms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,6 +148,10 @@ public enum ChatMessageType
|
|||||||
* A message that times out after 10 seconds.
|
* A message that times out after 10 seconds.
|
||||||
*/
|
*/
|
||||||
TENSECTIMEOUT(107),
|
TENSECTIMEOUT(107),
|
||||||
|
/**
|
||||||
|
* The "Welcome to RuneScape" message
|
||||||
|
*/
|
||||||
|
WELCOME(108),
|
||||||
/**
|
/**
|
||||||
* An unknown message type.
|
* An unknown message type.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -11357,5 +11357,14 @@ public final class ItemID
|
|||||||
public static final int TWISTED_BOOTS_T1 = 24411;
|
public static final int TWISTED_BOOTS_T1 = 24411;
|
||||||
public static final int TWISTED_LEAGUE_BANNER = 24413;
|
public static final int TWISTED_LEAGUE_BANNER = 24413;
|
||||||
public static final int RUNE_POUCH_L = 24416;
|
public static final int RUNE_POUCH_L = 24416;
|
||||||
|
public static final int INQUISITORS_MACE = 24417;
|
||||||
|
public static final int SIRENS_TOME = 24418;
|
||||||
|
public static final int INQUISITORS_GREAT_HELM = 24419;
|
||||||
|
public static final int INQUISITORS_HAUBERK = 24420;
|
||||||
|
public static final int INQUISITORS_PLATESKIRT = 24421;
|
||||||
|
public static final int NIGHTMARE_STAFF = 24422;
|
||||||
|
public static final int HARMONISED_NIGHTMARE_STAFF = 24423;
|
||||||
|
public static final int VOLATILE_NIGHTMARE_STAFF = 24424;
|
||||||
|
public static final int ELDRITCH_NIGHTMARE_STAFF = 24425;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
public final class ModelID
|
||||||
|
{
|
||||||
|
public static final int ANVIL = 1251;
|
||||||
|
public static final int WILLOW_TREE = 1570;
|
||||||
|
public static final int SLAYER_SKILL_MODEL = 1733;
|
||||||
|
public static final int FIREMAKING_SKILL_MODEL = 2260;
|
||||||
|
public static final int STEEL_KITESHIELD = 2339;
|
||||||
|
public static final int PURE_ESSENCE = 2349;
|
||||||
|
public static final int RAW_TUNA = 2355;
|
||||||
|
public static final int CLEAN_HERB = 2364;
|
||||||
|
public static final int HAMMER = 2376;
|
||||||
|
public static final int BLUE_WIZARD_HAT = 2483;
|
||||||
|
public static final int CHISEL = 2489;
|
||||||
|
public static final int HIGHWAYMAN_MASK = 2500;
|
||||||
|
public static final int STEEL_PICKAXE = 2529;
|
||||||
|
public static final int SHORTBOW = 2562;
|
||||||
|
public static final int STEEL_LONGSWORD = 2602;
|
||||||
|
public static final int STEEL_SWORD = 2604;
|
||||||
|
public static final int STEEL_ARROW = 2711;
|
||||||
|
public static final int PRAYER_SKILL_MODEL = 3325;
|
||||||
|
public static final int STRENGTH_SKILL_MODEL = 3327;
|
||||||
|
public static final int AGILITY_SKILL_MODEL = 3328;
|
||||||
|
public static final int HEARTH = 3326;
|
||||||
|
public static final int WATERING_CAN = 7331;
|
||||||
|
public static final int SAW = 12309;
|
||||||
|
public static final int FOOTPRINT = 19980;
|
||||||
|
public static final int COOKING_SKILL_MODEL = 27611;
|
||||||
|
}
|
||||||
@@ -12850,5 +12850,6 @@ public final class NullItemID
|
|||||||
public static final int NULL_24410 = 24410;
|
public static final int NULL_24410 = 24410;
|
||||||
public static final int NULL_24412 = 24412;
|
public static final int NULL_24412 = 24412;
|
||||||
public static final int NULL_24414 = 24414;
|
public static final int NULL_24414 = 24414;
|
||||||
|
public static final int NULL_24415 = 24415;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18070,5 +18070,6 @@ public final class NullObjectID
|
|||||||
public static final int NULL_37480 = 37480;
|
public static final int NULL_37480 = 37480;
|
||||||
public static final int NULL_37481 = 37481;
|
public static final int NULL_37481 = 37481;
|
||||||
public static final int NULL_37490 = 37490;
|
public static final int NULL_37490 = 37490;
|
||||||
|
public static final int NULL_37491 = 37491;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import javax.annotation.Nullable;
|
|||||||
import lombok.Value;
|
import lombok.Value;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import static net.runelite.api.Constants.CHUNK_SIZE;
|
import static net.runelite.api.Constants.CHUNK_SIZE;
|
||||||
|
import static net.runelite.api.Constants.REGION_SIZE;
|
||||||
import net.runelite.api.Perspective;
|
import net.runelite.api.Perspective;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -416,6 +417,6 @@ public class WorldPoint
|
|||||||
|
|
||||||
private static int getRegionOffset(final int position)
|
private static int getRegionOffset(final int position)
|
||||||
{
|
{
|
||||||
return position & 0x3f;
|
return position & (REGION_SIZE - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -242,13 +242,6 @@ public interface Widget
|
|||||||
*/
|
*/
|
||||||
void setName(String name);
|
void setName(String name);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the model ID displayed in the widget.
|
|
||||||
*
|
|
||||||
* @return the model ID
|
|
||||||
*/
|
|
||||||
int getModelId();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the sprite ID displayed in the widget.
|
* Gets the sprite ID displayed in the widget.
|
||||||
*
|
*
|
||||||
@@ -294,6 +287,76 @@ public interface Widget
|
|||||||
*/
|
*/
|
||||||
int getIndex();
|
int getIndex();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the model ID displayed in the widget.
|
||||||
|
*
|
||||||
|
* @return the model ID
|
||||||
|
*/
|
||||||
|
int getModelId();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the model ID displayed in the widget
|
||||||
|
*
|
||||||
|
* @param modelId the new model ID
|
||||||
|
*/
|
||||||
|
void setModelId(int modelId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the x rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @return the x rotation
|
||||||
|
*/
|
||||||
|
int getRotationX();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the x rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @param rotationX 0 = no rotation, 2047 = full rotation, outside range = crash
|
||||||
|
*/
|
||||||
|
void setRotationX(int rotationX);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the y rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @return the y rotation
|
||||||
|
*/
|
||||||
|
int getRotationY();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the y rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @param rotationY 0 = no rotation, 2047 = full rotation, outside range = crash
|
||||||
|
*/
|
||||||
|
void setRotationY(int rotationY);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the z rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @return the z rotation
|
||||||
|
*/
|
||||||
|
int getRotationZ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the z rotation of the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @param rotationZ 0 = no rotation, 2047 = full rotation, outside range = crash
|
||||||
|
*/
|
||||||
|
void setRotationZ(int rotationZ);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the amount zoomed in on the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @return the amount zoomed in
|
||||||
|
*/
|
||||||
|
int getModelZoom();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the amount zoomed in on the model displayed in the widget
|
||||||
|
*
|
||||||
|
* @param modelZoom the new zoom amount
|
||||||
|
*/
|
||||||
|
void setModelZoom(int modelZoom);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the location the widget is being drawn on the canvas.
|
* Gets the location the widget is being drawn on the canvas.
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -986,6 +986,7 @@ public class WidgetID
|
|||||||
static class StandardSpellBook
|
static class StandardSpellBook
|
||||||
{
|
{
|
||||||
static final int LUMBRIDGE_HOME_TELEPORT = 5;
|
static final int LUMBRIDGE_HOME_TELEPORT = 5;
|
||||||
|
static final int KOUREND_HOME_TELEPORT = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class AncientSpellBook
|
static class AncientSpellBook
|
||||||
|
|||||||
@@ -512,6 +512,7 @@ public enum WidgetInfo
|
|||||||
|
|
||||||
PVP_FOG_OVERLAY(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.FOG_OVERLAY),
|
PVP_FOG_OVERLAY(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.FOG_OVERLAY),
|
||||||
PVP_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.PVP_WIDGET_CONTAINER),
|
PVP_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.PVP_WIDGET_CONTAINER),
|
||||||
|
|
||||||
PVP_SKULL_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL_CONTAINER),
|
PVP_SKULL_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL_CONTAINER),
|
||||||
PVP_SKULL(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL),
|
PVP_SKULL(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL),
|
||||||
PVP_ATTACK_RANGE(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.ATTACK_RANGE),
|
PVP_ATTACK_RANGE(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.ATTACK_RANGE),
|
||||||
@@ -676,6 +677,7 @@ public enum WidgetInfo
|
|||||||
/* END OF LUNAR SPELL BOOK WIDGETS*/
|
/* END OF LUNAR SPELL BOOK WIDGETS*/
|
||||||
SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP),
|
SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP),
|
||||||
/* ARCEUUS SPELL BOOK WIDGETS*/
|
/* ARCEUUS SPELL BOOK WIDGETS*/
|
||||||
|
SPELL_KOUREND_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.StandardSpellBook.KOUREND_HOME_TELEPORT),
|
||||||
SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT),
|
SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT),
|
||||||
SPELL_BATTLEFRONT_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BATTLEFRONT_TELEPORT),
|
SPELL_BATTLEFRONT_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BATTLEFRONT_TELEPORT),
|
||||||
/* END OF ARCEUUS SPELL BOOK WIDGETS*/
|
/* END OF ARCEUUS SPELL BOOK WIDGETS*/
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import java.util.Iterator;
|
|||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.function.BooleanSupplier;
|
import java.util.function.BooleanSupplier;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
@@ -41,6 +42,7 @@ public class ClientThread implements Executor
|
|||||||
private final ConcurrentLinkedQueue<BooleanSupplier> invokes = new ConcurrentLinkedQueue<>();
|
private final ConcurrentLinkedQueue<BooleanSupplier> invokes = new ConcurrentLinkedQueue<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
@Nullable
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
public void invoke(Runnable r)
|
public void invoke(Runnable r)
|
||||||
|
|||||||
+2
-7
@@ -26,12 +26,11 @@ package net.runelite.client.config;
|
|||||||
|
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import java.lang.invoke.MethodHandles;
|
|
||||||
import java.lang.reflect.Constructor;
|
|
||||||
import java.lang.reflect.InvocationHandler;
|
import java.lang.reflect.InvocationHandler;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.runelite.client.util.ReflectUtil;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
class ConfigInvocationHandler implements InvocationHandler
|
class ConfigInvocationHandler implements InvocationHandler
|
||||||
@@ -169,12 +168,8 @@ class ConfigInvocationHandler implements InvocationHandler
|
|||||||
|
|
||||||
static Object callDefaultMethod(Object proxy, Method method, Object[] args) throws Throwable
|
static Object callDefaultMethod(Object proxy, Method method, Object[] args) throws Throwable
|
||||||
{
|
{
|
||||||
// Call the default method implementation - https://rmannibucau.wordpress.com/2014/03/27/java-8-default-interface-methods-and-jdk-dynamic-proxies/
|
|
||||||
Constructor<MethodHandles.Lookup> constructor = MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, int.class);
|
|
||||||
constructor.setAccessible(true);
|
|
||||||
|
|
||||||
Class<?> declaringClass = method.getDeclaringClass();
|
Class<?> declaringClass = method.getDeclaringClass();
|
||||||
return constructor.newInstance(declaringClass, MethodHandles.Lookup.PUBLIC | MethodHandles.Lookup.PRIVATE)
|
return ReflectUtil.privateLookupIn(declaringClass)
|
||||||
.unreflectSpecial(method, declaringClass)
|
.unreflectSpecial(method, declaringClass)
|
||||||
.bindTo(proxy)
|
.bindTo(proxy)
|
||||||
.invokeWithArguments(args);
|
.invokeWithArguments(args);
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Adam <Adam@sigterm.info>
|
||||||
|
* 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.events;
|
||||||
|
|
||||||
|
import lombok.Value;
|
||||||
|
import net.runelite.api.events.Event;
|
||||||
|
import net.runelite.http.api.worlds.WorldResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired when the @{link net.runelite.client.game.WorldService} refreshes the world list
|
||||||
|
*/
|
||||||
|
@Value
|
||||||
|
public class WorldsFetch implements Event
|
||||||
|
{
|
||||||
|
private final WorldResult worldResult;
|
||||||
|
}
|
||||||
@@ -59,7 +59,7 @@ public class Flexo extends Robot
|
|||||||
public static final int fixedWidth = Constants.GAME_FIXED_WIDTH;
|
public static final int fixedWidth = Constants.GAME_FIXED_WIDTH;
|
||||||
public static final int fixedHeight = Constants.GAME_FIXED_HEIGHT;
|
public static final int fixedHeight = Constants.GAME_FIXED_HEIGHT;
|
||||||
public static boolean isStretched;
|
public static boolean isStretched;
|
||||||
public static final int minDelay = 45;
|
public static int minDelay = 45;
|
||||||
public static MouseMotionFactory currentMouseMotionFactory;
|
public static MouseMotionFactory currentMouseMotionFactory;
|
||||||
public boolean pausedIndefinitely = false;
|
public boolean pausedIndefinitely = false;
|
||||||
private Robot peer;
|
private Robot peer;
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Adam <Adam@sigterm.info>
|
||||||
|
* 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.game;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.concurrent.TimeoutException;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.client.eventbus.EventBus;
|
||||||
|
import net.runelite.client.events.WorldsFetch;
|
||||||
|
import net.runelite.client.util.RunnableExceptionLogger;
|
||||||
|
import net.runelite.http.api.worlds.World;
|
||||||
|
import net.runelite.http.api.worlds.WorldClient;
|
||||||
|
import net.runelite.http.api.worlds.WorldResult;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Slf4j
|
||||||
|
public class WorldService
|
||||||
|
{
|
||||||
|
private static final int WORLD_FETCH_TIMER = 10; // minutes
|
||||||
|
|
||||||
|
private final Client client;
|
||||||
|
private final ScheduledExecutorService scheduledExecutorService;
|
||||||
|
private final WorldClient worldClient;
|
||||||
|
private final EventBus eventBus;
|
||||||
|
private final CompletableFuture<WorldResult> firstRunFuture = new CompletableFuture<>();
|
||||||
|
|
||||||
|
private WorldResult worlds;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private WorldService(Client client, ScheduledExecutorService scheduledExecutorService, WorldClient worldClient,
|
||||||
|
EventBus eventBus)
|
||||||
|
{
|
||||||
|
this.client = client;
|
||||||
|
this.scheduledExecutorService = scheduledExecutorService;
|
||||||
|
this.worldClient = worldClient;
|
||||||
|
this.eventBus = eventBus;
|
||||||
|
|
||||||
|
scheduledExecutorService.scheduleWithFixedDelay(RunnableExceptionLogger.wrap(this::tick), 0, WORLD_FETCH_TIMER, TimeUnit.MINUTES);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tick()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (worlds == null || client.getGameState() == GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
fetch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
firstRunFuture.complete(worlds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fetch()
|
||||||
|
{
|
||||||
|
log.debug("Fetching worlds");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
WorldResult worldResult = worldClient.lookupWorlds();
|
||||||
|
worldResult.getWorlds().sort(Comparator.comparingInt(World::getId));
|
||||||
|
worlds = worldResult;
|
||||||
|
eventBus.post(WorldsFetch.class, new WorldsFetch(worldResult));
|
||||||
|
}
|
||||||
|
catch (IOException ex)
|
||||||
|
{
|
||||||
|
log.warn("Error looking up worlds", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refresh()
|
||||||
|
{
|
||||||
|
scheduledExecutorService.execute(this::fetch);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public WorldResult getWorlds()
|
||||||
|
{
|
||||||
|
if (!firstRunFuture.isDone())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return firstRunFuture.get(10, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
catch (InterruptedException | ExecutionException | TimeoutException e)
|
||||||
|
{
|
||||||
|
log.warn("Failed to retrieve worlds on first run", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return worlds;
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-4
@@ -52,6 +52,7 @@ import net.runelite.client.input.KeyListener;
|
|||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Chat History",
|
name = "Chat History",
|
||||||
@@ -61,7 +62,7 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class ChatHistoryPlugin extends Plugin implements KeyListener
|
public class ChatHistoryPlugin extends Plugin implements KeyListener
|
||||||
{
|
{
|
||||||
private static final String WELCOME_MESSAGE = "Welcome to Old School RuneScape.";
|
private static final String WELCOME_MESSAGE = "Welcome to Old School RuneScape";
|
||||||
private static final String CLEAR_HISTORY = "Clear history";
|
private static final String CLEAR_HISTORY = "Clear history";
|
||||||
private static final String CLEAR_PRIVATE = "<col=ffff00>Private:";
|
private static final String CLEAR_PRIVATE = "<col=ffff00>Private:";
|
||||||
private static final int CYCLE_HOTKEY = KeyEvent.VK_TAB;
|
private static final int CYCLE_HOTKEY = KeyEvent.VK_TAB;
|
||||||
@@ -137,7 +138,8 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
|
|||||||
{
|
{
|
||||||
// Start sending old messages right after the welcome message, as that is most reliable source
|
// Start sending old messages right after the welcome message, as that is most reliable source
|
||||||
// of information that chat history was reset
|
// of information that chat history was reset
|
||||||
if (chatMessage.getMessage().equals(WELCOME_MESSAGE))
|
ChatMessageType chatMessageType = chatMessage.getType();
|
||||||
|
if (chatMessageType == ChatMessageType.WELCOME && StringUtils.startsWithIgnoreCase(chatMessage.getMessage(), WELCOME_MESSAGE))
|
||||||
{
|
{
|
||||||
if (!this.retainChatHistory)
|
if (!this.retainChatHistory)
|
||||||
{
|
{
|
||||||
@@ -154,7 +156,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (chatMessage.getType())
|
switch (chatMessageType)
|
||||||
{
|
{
|
||||||
case PRIVATECHATOUT:
|
case PRIVATECHATOUT:
|
||||||
case PRIVATECHAT:
|
case PRIVATECHAT:
|
||||||
@@ -174,7 +176,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
|
|||||||
case FRIENDSCHAT:
|
case FRIENDSCHAT:
|
||||||
case CONSOLE:
|
case CONSOLE:
|
||||||
final QueuedMessage queuedMessage = QueuedMessage.builder()
|
final QueuedMessage queuedMessage = QueuedMessage.builder()
|
||||||
.type(chatMessage.getType())
|
.type(chatMessageType)
|
||||||
.name(chatMessage.getName())
|
.name(chatMessage.getName())
|
||||||
.sender(chatMessage.getSender())
|
.sender(chatMessage.getSender())
|
||||||
.value(tweakSpaces(chatMessage.getMessage()))
|
.value(tweakSpaces(chatMessage.getMessage()))
|
||||||
|
|||||||
+6
-16
@@ -25,22 +25,21 @@
|
|||||||
package net.runelite.client.plugins.defaultworld;
|
package net.runelite.client.plugins.defaultworld;
|
||||||
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import io.reactivex.schedulers.Schedulers;
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.client.callback.ClientThread;
|
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
|
import net.runelite.client.game.WorldService;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.util.WorldUtil;
|
import net.runelite.client.util.WorldUtil;
|
||||||
import net.runelite.http.api.worlds.World;
|
import net.runelite.http.api.worlds.World;
|
||||||
import net.runelite.http.api.worlds.WorldClient;
|
import net.runelite.http.api.worlds.WorldResult;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Default World",
|
name = "Default World",
|
||||||
@@ -58,10 +57,7 @@ public class DefaultWorldPlugin extends Plugin
|
|||||||
private DefaultWorldConfig config;
|
private DefaultWorldConfig config;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ClientThread clientThread;
|
private WorldService worldService;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private WorldClient worldClient;
|
|
||||||
|
|
||||||
private int worldCache;
|
private int worldCache;
|
||||||
private boolean worldChangeRequired;
|
private boolean worldChangeRequired;
|
||||||
@@ -122,14 +118,11 @@ public class DefaultWorldPlugin extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
worldClient.lookupWorlds()
|
final WorldResult worldResult = worldService.getWorlds();
|
||||||
.subscribeOn(Schedulers.io())
|
|
||||||
.observeOn(Schedulers.from(clientThread))
|
|
||||||
.subscribe(
|
|
||||||
(worldResult) ->
|
|
||||||
{
|
|
||||||
if (worldResult == null)
|
if (worldResult == null)
|
||||||
{
|
{
|
||||||
|
log.warn("Failed to lookup worlds.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,9 +145,6 @@ public class DefaultWorldPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
log.warn("World {} not found.", correctedWorld);
|
log.warn("World {} not found.", correctedWorld);
|
||||||
}
|
}
|
||||||
},
|
|
||||||
(e) -> log.warn("Error looking up world {}. Error: {}", correctedWorld, e)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyWorld()
|
private void applyWorld()
|
||||||
|
|||||||
+4
@@ -175,6 +175,10 @@ class WidgetInfoTableModel extends AbstractTableModel
|
|||||||
out.add(new WidgetField<>("RelativeY", Widget::getRelativeY, Widget::setRelativeY, Integer.class));
|
out.add(new WidgetField<>("RelativeY", Widget::getRelativeY, Widget::setRelativeY, Integer.class));
|
||||||
out.add(new WidgetField<>("Width", Widget::getWidth, Widget::setWidth, Integer.class));
|
out.add(new WidgetField<>("Width", Widget::getWidth, Widget::setWidth, Integer.class));
|
||||||
out.add(new WidgetField<>("Height", Widget::getHeight, Widget::setHeight, Integer.class));
|
out.add(new WidgetField<>("Height", Widget::getHeight, Widget::setHeight, Integer.class));
|
||||||
|
out.add(new WidgetField<>("RotationX", Widget::getRotationX, Widget::setRotationX, Integer.class));
|
||||||
|
out.add(new WidgetField<>("RotationY", Widget::getRotationY, Widget::setRotationY, Integer.class));
|
||||||
|
out.add(new WidgetField<>("RotationZ", Widget::getRotationZ, Widget::setRotationZ, Integer.class));
|
||||||
|
out.add(new WidgetField<>("ModelZoom", Widget::getModelZoom, Widget::setModelZoom, Integer.class));
|
||||||
out.add(new WidgetField<>("CanvasLocation", Widget::getCanvasLocation));
|
out.add(new WidgetField<>("CanvasLocation", Widget::getCanvasLocation));
|
||||||
out.add(new WidgetField<>("Bounds", Widget::getBounds));
|
out.add(new WidgetField<>("Bounds", Widget::getBounds));
|
||||||
out.add(new WidgetField<>("ScrollX", Widget::getScrollX, Widget::setScrollX, Integer.class));
|
out.add(new WidgetField<>("ScrollX", Widget::getScrollX, Widget::setScrollX, Integer.class));
|
||||||
|
|||||||
@@ -84,7 +84,9 @@ enum Emoji
|
|||||||
ALIEN("(@.@)"),
|
ALIEN("(@.@)"),
|
||||||
EGGPLANT("8=D"),
|
EGGPLANT("8=D"),
|
||||||
WAVE("(^_^)/"),
|
WAVE("(^_^)/"),
|
||||||
HEART_EYES("(*.*)");
|
HEART_EYES("(*.*)"),
|
||||||
|
FACEPALM("M-)"),
|
||||||
|
;
|
||||||
|
|
||||||
private static final Map<String, Emoji> emojiMap;
|
private static final Map<String, Emoji> emojiMap;
|
||||||
|
|
||||||
|
|||||||
@@ -33,14 +33,15 @@ import net.runelite.client.config.Range;
|
|||||||
public interface FpsConfig extends Config
|
public interface FpsConfig extends Config
|
||||||
{
|
{
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "limitMode",
|
keyName = "limitFps",
|
||||||
name = "Limit Mode",
|
name = "Limit Global FPS",
|
||||||
description = "Stay at or under the target frames per second even when in this mode",
|
description = "Global FPS limit in effect regardless of<br>" +
|
||||||
|
"whether window is in focus or not",
|
||||||
position = 1
|
position = 1
|
||||||
)
|
)
|
||||||
default FpsLimitMode limitMode()
|
default boolean limitFps()
|
||||||
{
|
{
|
||||||
return FpsLimitMode.NEVER;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Range(
|
@Range(
|
||||||
@@ -49,8 +50,8 @@ public interface FpsConfig extends Config
|
|||||||
)
|
)
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "maxFps",
|
keyName = "maxFps",
|
||||||
name = "FPS target",
|
name = "Global FPS target",
|
||||||
description = "Desired max frames per second",
|
description = "Desired max global frames per second",
|
||||||
position = 2
|
position = 2
|
||||||
)
|
)
|
||||||
default int maxFps()
|
default int maxFps()
|
||||||
@@ -58,11 +59,33 @@ public interface FpsConfig extends Config
|
|||||||
return 50;
|
return 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "limitFpsUnfocused",
|
||||||
|
name = "Limit FPS unfocused",
|
||||||
|
description = "FPS limit while window is out of focus",
|
||||||
|
position = 3
|
||||||
|
)
|
||||||
|
default boolean limitFpsUnfocused()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "maxFpsUnfocused",
|
||||||
|
name = "Unfocused FPS target",
|
||||||
|
description = "Desired max frames per second for unfocused",
|
||||||
|
position = 4
|
||||||
|
)
|
||||||
|
default int maxFpsUnfocused()
|
||||||
|
{
|
||||||
|
return 50;
|
||||||
|
}
|
||||||
|
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "drawFps",
|
keyName = "drawFps",
|
||||||
name = "Draw FPS indicator",
|
name = "Draw FPS indicator",
|
||||||
description = "Show a number in the corner for the current FPS",
|
description = "Show a number in the corner for the current FPS",
|
||||||
position = 3
|
position = 5
|
||||||
)
|
)
|
||||||
default boolean drawFps()
|
default boolean drawFps()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -69,7 +69,13 @@ public class FpsDrawListener implements Runnable
|
|||||||
void reloadConfig()
|
void reloadConfig()
|
||||||
{
|
{
|
||||||
lastMillis = System.currentTimeMillis();
|
lastMillis = System.currentTimeMillis();
|
||||||
targetDelay = 1000 / Math.max(1, config.maxFps());
|
|
||||||
|
int fps = config.limitFpsUnfocused() && !isFocused
|
||||||
|
? config.maxFpsUnfocused()
|
||||||
|
: config.maxFps();
|
||||||
|
|
||||||
|
targetDelay = 1000 / Math.max(1, fps);
|
||||||
|
|
||||||
sleepDelay = targetDelay;
|
sleepDelay = targetDelay;
|
||||||
|
|
||||||
for (int i = 0; i < SAMPLE_SIZE; i++)
|
for (int i = 0; i < SAMPLE_SIZE; i++)
|
||||||
@@ -81,18 +87,18 @@ public class FpsDrawListener implements Runnable
|
|||||||
void onFocusChanged(FocusChanged event)
|
void onFocusChanged(FocusChanged event)
|
||||||
{
|
{
|
||||||
this.isFocused = event.isFocused();
|
this.isFocused = event.isFocused();
|
||||||
|
reloadConfig(); // load new delay
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isEnforced()
|
private boolean isEnforced()
|
||||||
{
|
{
|
||||||
return FpsLimitMode.ALWAYS == plugin.getLimitMode()
|
return config.limitFps()
|
||||||
|| (FpsLimitMode.UNFOCUSED == plugin.getLimitMode() && !isFocused);
|
|| (config.limitFpsUnfocused() && !isFocused);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!isEnforced())
|
if (!isEnforced())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,16 +57,16 @@ public class FpsOverlay extends Overlay
|
|||||||
|
|
||||||
// Local dependencies
|
// Local dependencies
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final FpsPlugin plugin;
|
private final FpsConfig config;
|
||||||
|
|
||||||
// Often changing values
|
// Often changing values
|
||||||
private boolean isFocused = true;
|
private boolean isFocused = true;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private FpsOverlay(final FpsPlugin plugin, final Client client)
|
private FpsOverlay(final FpsConfig config, final Client client)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.plugin = plugin;
|
this.config = config;
|
||||||
setLayer(OverlayLayer.ABOVE_WIDGETS);
|
setLayer(OverlayLayer.ABOVE_WIDGETS);
|
||||||
setPriority(OverlayPriority.HIGH);
|
setPriority(OverlayPriority.HIGH);
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
@@ -79,8 +79,8 @@ public class FpsOverlay extends Overlay
|
|||||||
|
|
||||||
private boolean isEnforced()
|
private boolean isEnforced()
|
||||||
{
|
{
|
||||||
return FpsLimitMode.ALWAYS == plugin.getLimitMode()
|
return config.limitFps()
|
||||||
|| (FpsLimitMode.UNFOCUSED == plugin.getLimitMode() && !isFocused);
|
|| (config.limitFpsUnfocused() && !isFocused);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Color getFpsValueColor()
|
private Color getFpsValueColor()
|
||||||
@@ -91,7 +91,7 @@ public class FpsOverlay extends Overlay
|
|||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics)
|
public Dimension render(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
if (!plugin.isDrawFps())
|
if (!config.drawFps())
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ package net.runelite.client.plugins.fps;
|
|||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.Getter;
|
|
||||||
import net.runelite.api.events.FocusChanged;
|
import net.runelite.api.events.FocusChanged;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
@@ -71,15 +69,6 @@ public class FpsPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private DrawManager drawManager;
|
private DrawManager drawManager;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private FpsConfig fpsConfig;
|
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
private FpsLimitMode limitMode;
|
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
private boolean drawFps;
|
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
FpsConfig provideConfig(ConfigManager configManager)
|
FpsConfig provideConfig(ConfigManager configManager)
|
||||||
{
|
{
|
||||||
@@ -92,9 +81,6 @@ public class FpsPlugin extends Plugin
|
|||||||
if (event.getGroup().equals(CONFIG_GROUP_KEY))
|
if (event.getGroup().equals(CONFIG_GROUP_KEY))
|
||||||
{
|
{
|
||||||
drawListener.reloadConfig();
|
drawListener.reloadConfig();
|
||||||
|
|
||||||
limitMode = fpsConfig.limitMode();
|
|
||||||
drawFps = fpsConfig.drawFps();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,9 +94,6 @@ public class FpsPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void startUp()
|
protected void startUp()
|
||||||
{
|
{
|
||||||
|
|
||||||
limitMode = fpsConfig.limitMode();
|
|
||||||
drawFps = fpsConfig.drawFps();
|
|
||||||
overlayManager.add(overlay);
|
overlayManager.add(overlay);
|
||||||
drawManager.registerEveryFrameListener(drawListener);
|
drawManager.registerEveryFrameListener(drawListener);
|
||||||
drawListener.reloadConfig();
|
drawListener.reloadConfig();
|
||||||
|
|||||||
+8
-10
@@ -84,7 +84,6 @@ class InventoryGridOverlay extends Overlay
|
|||||||
final Point mousePoint = new Point(mouse.getX(), mouse.getY());
|
final Point mousePoint = new Point(mouse.getX(), mouse.getY());
|
||||||
final int if1DraggedItemIndex = client.getIf1DraggedItemIndex();
|
final int if1DraggedItemIndex = client.getIf1DraggedItemIndex();
|
||||||
final WidgetItem draggedItem = inventoryWidget.getWidgetItem(if1DraggedItemIndex);
|
final WidgetItem draggedItem = inventoryWidget.getWidgetItem(if1DraggedItemIndex);
|
||||||
final int itemId = draggedItem.getId();
|
|
||||||
final Rectangle initialBounds = draggedItem.getCanvasBounds();
|
final Rectangle initialBounds = draggedItem.getCanvasBounds();
|
||||||
|
|
||||||
if (initialMousePoint == null)
|
if (initialMousePoint == null)
|
||||||
@@ -92,7 +91,7 @@ class InventoryGridOverlay extends Overlay
|
|||||||
initialMousePoint = mousePoint;
|
initialMousePoint = mousePoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemId == -1 || !hoverActive && initialMousePoint.distance(mousePoint) < DISTANCE_TO_ACTIVATE_HOVER)
|
if (draggedItem.getId() == -1 || !hoverActive && initialMousePoint.distance(mousePoint) < DISTANCE_TO_ACTIVATE_HOVER)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -101,16 +100,15 @@ class InventoryGridOverlay extends Overlay
|
|||||||
|
|
||||||
for (int i = 0; i < INVENTORY_SIZE; ++i)
|
for (int i = 0; i < INVENTORY_SIZE; ++i)
|
||||||
{
|
{
|
||||||
WidgetItem widgetItem = inventoryWidget.getWidgetItem(i);
|
WidgetItem targetWidgetItem = inventoryWidget.getWidgetItem(i);
|
||||||
final int targetItemId = widgetItem.getId();
|
|
||||||
|
|
||||||
final Rectangle bounds = widgetItem.getCanvasBounds();
|
final Rectangle bounds = targetWidgetItem.getCanvasBounds();
|
||||||
boolean inBounds = bounds.contains(mousePoint);
|
boolean inBounds = bounds.contains(mousePoint);
|
||||||
|
|
||||||
if (plugin.isShowItem() && inBounds)
|
if (plugin.isShowItem() && inBounds)
|
||||||
{
|
{
|
||||||
drawItem(graphics, bounds, itemId);
|
drawItem(graphics, bounds, draggedItem);
|
||||||
drawItem(graphics, initialBounds, targetItemId);
|
drawItem(graphics, initialBounds, targetWidgetItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin.isShowHighlight() && inBounds)
|
if (plugin.isShowHighlight() && inBounds)
|
||||||
@@ -128,14 +126,14 @@ class InventoryGridOverlay extends Overlay
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawItem(Graphics2D graphics, Rectangle bounds, int itemId)
|
private void drawItem(Graphics2D graphics, Rectangle bounds, WidgetItem item)
|
||||||
{
|
{
|
||||||
if (itemId == -1)
|
if (item.getId() == -1)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final BufferedImage draggedItemImage = itemManager.getImage(itemId);
|
final BufferedImage draggedItemImage = itemManager.getImage(item.getId(), item.getQuantity(), false);
|
||||||
final int x = (int) bounds.getX();
|
final int x = (int) bounds.getX();
|
||||||
final int y = (int) bounds.getY();
|
final int y = (int) bounds.getY();
|
||||||
|
|
||||||
|
|||||||
+13
-29
@@ -34,7 +34,6 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.IconID;
|
|
||||||
import net.runelite.api.VarClientInt;
|
import net.runelite.api.VarClientInt;
|
||||||
import net.runelite.api.VarClientStr;
|
import net.runelite.api.VarClientStr;
|
||||||
import net.runelite.api.Varbits;
|
import net.runelite.api.Varbits;
|
||||||
@@ -212,7 +211,7 @@ public class KeyRemappingPlugin extends Plugin
|
|||||||
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
||||||
if (chatboxInput != null && chatboxInput.getText().endsWith(PRESS_ENTER_TO_CHAT))
|
if (chatboxInput != null && chatboxInput.getText().endsWith(PRESS_ENTER_TO_CHAT))
|
||||||
{
|
{
|
||||||
chatboxInput.setText(getWaitingText());
|
setChatboxWidgetInput(chatboxInput, PRESS_ENTER_TO_CHAT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -227,7 +226,7 @@ public class KeyRemappingPlugin extends Plugin
|
|||||||
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
||||||
if (chatboxInput != null && chatboxFocused() && !typing)
|
if (chatboxInput != null && chatboxFocused() && !typing)
|
||||||
{
|
{
|
||||||
chatboxInput.setText(getWaitingText());
|
setChatboxWidgetInput(chatboxInput, PRESS_ENTER_TO_CHAT);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SCRIPT_EVENT_BLOCK_CHAT_INPUT:
|
case SCRIPT_EVENT_BLOCK_CHAT_INPUT:
|
||||||
@@ -246,7 +245,7 @@ public class KeyRemappingPlugin extends Plugin
|
|||||||
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
||||||
if (chatboxInput != null)
|
if (chatboxInput != null)
|
||||||
{
|
{
|
||||||
chatboxInput.setText(getWaitingText());
|
setChatboxWidgetInput(chatboxInput, PRESS_ENTER_TO_CHAT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,39 +256,24 @@ public class KeyRemappingPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
final boolean isChatboxTransparent = client.isResized() && client.getVar(Varbits.TRANSPARENT_CHATBOX) == 1;
|
final boolean isChatboxTransparent = client.isResized() && client.getVar(Varbits.TRANSPARENT_CHATBOX) == 1;
|
||||||
final Color textColor = isChatboxTransparent ? JagexColors.CHAT_TYPED_TEXT_TRANSPARENT_BACKGROUND : JagexColors.CHAT_TYPED_TEXT_OPAQUE_BACKGROUND;
|
final Color textColor = isChatboxTransparent ? JagexColors.CHAT_TYPED_TEXT_TRANSPARENT_BACKGROUND : JagexColors.CHAT_TYPED_TEXT_OPAQUE_BACKGROUND;
|
||||||
chatboxInput.setText(getPlayerNameWithIcon() + ": " + ColorUtil.wrapWithColorTag(client.getVar(VarClientStr.CHATBOX_TYPED_TEXT) + "*", textColor));
|
setChatboxWidgetInput(chatboxInput, ColorUtil.wrapWithColorTag(client.getVar(VarClientStr.CHATBOX_TYPED_TEXT) + "*", textColor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getPlayerNameWithIcon()
|
private void setChatboxWidgetInput(Widget widget, String input)
|
||||||
{
|
|
||||||
IconID icon;
|
|
||||||
switch (client.getAccountType())
|
|
||||||
{
|
|
||||||
case IRONMAN:
|
|
||||||
icon = IconID.IRONMAN;
|
|
||||||
break;
|
|
||||||
case ULTIMATE_IRONMAN:
|
|
||||||
icon = IconID.ULTIMATE_IRONMAN;
|
|
||||||
break;
|
|
||||||
case HARDCORE_IRONMAN:
|
|
||||||
icon = IconID.HARDCORE_IRONMAN;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return client.getLocalPlayer().getName();
|
|
||||||
}
|
|
||||||
return icon + client.getLocalPlayer().getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getWaitingText()
|
|
||||||
{
|
{
|
||||||
if (this.hideDisplayName)
|
if (this.hideDisplayName)
|
||||||
{
|
{
|
||||||
return PRESS_ENTER_TO_CHAT;
|
widget.setText(input);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
String text = widget.getText();
|
||||||
|
int idx = text.indexOf(':');
|
||||||
|
if (idx != -1)
|
||||||
{
|
{
|
||||||
return getPlayerNameWithIcon() + ": " + PRESS_ENTER_TO_CHAT;
|
String newText = text.substring(0, idx) + ": " + input;
|
||||||
|
widget.setText(newText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+349
@@ -0,0 +1,349 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, hsamoht <https://github.com/hsamoht>
|
||||||
|
* Copyright (c) 2019, Adam <Adam@sigterm.info>
|
||||||
|
* 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.leaguechaticons;
|
||||||
|
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.runelite.api.ChatPlayer;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.api.IconID;
|
||||||
|
import net.runelite.api.IndexedSprite;
|
||||||
|
import net.runelite.api.MessageNode;
|
||||||
|
import net.runelite.api.Player;
|
||||||
|
import net.runelite.api.events.ChatMessage;
|
||||||
|
import net.runelite.api.events.GameStateChanged;
|
||||||
|
import net.runelite.api.events.ScriptCallbackEvent;
|
||||||
|
import net.runelite.api.util.Text;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
|
import net.runelite.client.callback.ClientThread;
|
||||||
|
import net.runelite.client.chat.ChatMessageManager;
|
||||||
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
|
import net.runelite.client.game.WorldService;
|
||||||
|
import net.runelite.client.plugins.Plugin;
|
||||||
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
import net.runelite.client.util.ImageUtil;
|
||||||
|
import net.runelite.http.api.worlds.World;
|
||||||
|
import net.runelite.http.api.worlds.WorldResult;
|
||||||
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
|
|
||||||
|
@PluginDescriptor(
|
||||||
|
name = "Chat League Icons",
|
||||||
|
description = "Changes the chat icon for players on league worlds",
|
||||||
|
enabledByDefault = false
|
||||||
|
)
|
||||||
|
@Slf4j
|
||||||
|
public class LeagueChatIconsPlugin extends Plugin
|
||||||
|
{
|
||||||
|
private static final String SCRIPT_EVENT_SET_CHATBOX_INPUT = "setChatboxInput";
|
||||||
|
private static final String IRONMAN_PREFIX = "<img=" + IconID.IRONMAN.getIndex() + ">";
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Client client;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ChatMessageManager chatMessageManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private WorldService worldService;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ClientThread clientThread;
|
||||||
|
|
||||||
|
private int leagueIconOffset = -1; // offset for league icon
|
||||||
|
private boolean onLeagueWorld;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void startUp()
|
||||||
|
{
|
||||||
|
onLeagueWorld = false;
|
||||||
|
|
||||||
|
clientThread.invoke(() ->
|
||||||
|
{
|
||||||
|
if (client.getGameState() == GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
loadLeagueIcon();
|
||||||
|
onLeagueWorld = isLeagueWorld(client.getWorld());
|
||||||
|
if (onLeagueWorld)
|
||||||
|
{
|
||||||
|
setChatboxName(getNameChatbox());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void shutDown()
|
||||||
|
{
|
||||||
|
clientThread.invoke(() ->
|
||||||
|
{
|
||||||
|
if (client.getGameState() == GameState.LOGGED_IN && onLeagueWorld)
|
||||||
|
{
|
||||||
|
setChatboxName(getNameDefault());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onGameStateChanged(GameStateChanged gameStateChanged)
|
||||||
|
{
|
||||||
|
if (gameStateChanged.getGameState() == GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
loadLeagueIcon();
|
||||||
|
onLeagueWorld = isLeagueWorld(client.getWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
|
||||||
|
{
|
||||||
|
if (scriptCallbackEvent.getEventName().equals(SCRIPT_EVENT_SET_CHATBOX_INPUT) && onLeagueWorld)
|
||||||
|
{
|
||||||
|
setChatboxName(getNameChatbox());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onChatMessage(ChatMessage chatMessage)
|
||||||
|
{
|
||||||
|
if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (chatMessage.getType())
|
||||||
|
{
|
||||||
|
case PRIVATECHAT:
|
||||||
|
case MODPRIVATECHAT:
|
||||||
|
// Note this is unable to change icon on PMs if they are not a friend or in clan chat
|
||||||
|
case FRIENDSCHAT:
|
||||||
|
String name = Text.removeTags(chatMessage.getName());
|
||||||
|
if (isChatPlayerOnLeague(name))
|
||||||
|
{
|
||||||
|
addLeagueIconToMessage(chatMessage);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case PUBLICCHAT:
|
||||||
|
case MODCHAT:
|
||||||
|
if (onLeagueWorld)
|
||||||
|
{
|
||||||
|
addLeagueIconToMessage(chatMessage);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the League Icon in front of player names chatting from a league world.
|
||||||
|
*
|
||||||
|
* @param chatMessage chat message to edit sender name on
|
||||||
|
*/
|
||||||
|
private void addLeagueIconToMessage(ChatMessage chatMessage)
|
||||||
|
{
|
||||||
|
String name = chatMessage.getName();
|
||||||
|
if (!name.startsWith(IRONMAN_PREFIX))
|
||||||
|
{
|
||||||
|
// don't replace non-ironman icons, like mods
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
name = Text.removeTags(name);
|
||||||
|
|
||||||
|
final MessageNode messageNode = chatMessage.getMessageNode();
|
||||||
|
messageNode.setName(getNameWithIcon(leagueIconOffset, name));
|
||||||
|
|
||||||
|
chatMessageManager.update(messageNode);
|
||||||
|
client.refreshChat();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the player name in the chatbox input
|
||||||
|
*/
|
||||||
|
private void setChatboxName(String name)
|
||||||
|
{
|
||||||
|
Widget chatboxInput = client.getWidget(WidgetInfo.CHATBOX_INPUT);
|
||||||
|
if (chatboxInput != null)
|
||||||
|
{
|
||||||
|
String text = chatboxInput.getText();
|
||||||
|
int idx = text.indexOf(':');
|
||||||
|
if (idx != -1)
|
||||||
|
{
|
||||||
|
String newText = name + text.substring(idx);
|
||||||
|
chatboxInput.setText(newText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the league name, including possible icon, of the local player.
|
||||||
|
*
|
||||||
|
* @return String of icon + name
|
||||||
|
*/
|
||||||
|
private String getNameChatbox()
|
||||||
|
{
|
||||||
|
Player player = client.getLocalPlayer();
|
||||||
|
if (player != null)
|
||||||
|
{
|
||||||
|
return getNameWithIcon(leagueIconOffset, player.getName());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the default name, including possible icon, of the local player.
|
||||||
|
*
|
||||||
|
* @return String of icon + name
|
||||||
|
*/
|
||||||
|
private String getNameDefault()
|
||||||
|
{
|
||||||
|
Player player = client.getLocalPlayer();
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
int iconIndex;
|
||||||
|
switch (client.getAccountType())
|
||||||
|
{
|
||||||
|
case IRONMAN:
|
||||||
|
iconIndex = IconID.IRONMAN.getIndex();
|
||||||
|
break;
|
||||||
|
case HARDCORE_IRONMAN:
|
||||||
|
iconIndex = IconID.HARDCORE_IRONMAN.getIndex();
|
||||||
|
break;
|
||||||
|
case ULTIMATE_IRONMAN:
|
||||||
|
iconIndex = IconID.ULTIMATE_IRONMAN.getIndex();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return player.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
return getNameWithIcon(iconIndex, player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a name formatted with icon
|
||||||
|
*
|
||||||
|
* @param iconIndex index of the icon
|
||||||
|
* @param name name of the player
|
||||||
|
* @return String of icon + name
|
||||||
|
*/
|
||||||
|
private static String getNameWithIcon(int iconIndex, String name)
|
||||||
|
{
|
||||||
|
String icon = "<img=" + iconIndex + ">";
|
||||||
|
return icon + name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a player name is a friend or clan member on a league world.
|
||||||
|
*
|
||||||
|
* @param name name of player to check.
|
||||||
|
* @return boolean true/false.
|
||||||
|
*/
|
||||||
|
private boolean isChatPlayerOnLeague(String name)
|
||||||
|
{
|
||||||
|
ChatPlayer player = getChatPlayerFromName(name);
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int world = player.getWorld();
|
||||||
|
return isLeagueWorld(world);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the world is a League world.
|
||||||
|
*
|
||||||
|
* @param worldNumber number of the world to check.
|
||||||
|
* @return boolean true/false if it is a league world or not.
|
||||||
|
*/
|
||||||
|
private boolean isLeagueWorld(int worldNumber)
|
||||||
|
{
|
||||||
|
WorldResult worlds = worldService.getWorlds();
|
||||||
|
if (worlds == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
World world = worlds.findWorld(worldNumber);
|
||||||
|
return world != null && world.getTypes().contains(WorldType.LEAGUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads the league icon into the client.
|
||||||
|
*/
|
||||||
|
private void loadLeagueIcon()
|
||||||
|
{
|
||||||
|
final IndexedSprite[] modIcons = client.getModIcons();
|
||||||
|
|
||||||
|
if (leagueIconOffset != -1 || modIcons == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BufferedImage image = ImageUtil.getResourceStreamFromClass(getClass(), "league_icon.png");
|
||||||
|
IndexedSprite indexedSprite = ImageUtil.getImageIndexedSprite(image, client);
|
||||||
|
|
||||||
|
leagueIconOffset = modIcons.length;
|
||||||
|
|
||||||
|
final IndexedSprite[] newModIcons = Arrays.copyOf(modIcons, modIcons.length + 1);
|
||||||
|
newModIcons[newModIcons.length - 1] = indexedSprite;
|
||||||
|
|
||||||
|
client.setModIcons(newModIcons);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a ChatPlayer object from a clean name by searching clan and friends list.
|
||||||
|
*
|
||||||
|
* @param name name of player to find.
|
||||||
|
* @return ChatPlayer if found, else null.
|
||||||
|
*/
|
||||||
|
private ChatPlayer getChatPlayerFromName(String name)
|
||||||
|
{
|
||||||
|
if (client.isClanMember(name))
|
||||||
|
{
|
||||||
|
return Arrays.stream(client.getClanMembers())
|
||||||
|
.filter(clanMember -> Text.removeTags(clanMember.getUsername()).equals(name))
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (client.isFriended(name, true))
|
||||||
|
{
|
||||||
|
return Arrays.stream(client.getFriends())
|
||||||
|
.filter(friend -> Text.removeTags(friend.getName()).equals(name))
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
+5
-6
@@ -122,10 +122,9 @@ public class LearnToClickPlugin extends Plugin
|
|||||||
MenuEntry[] menuEntries = client.getMenuEntries();
|
MenuEntry[] menuEntries = client.getMenuEntries();
|
||||||
for (MenuEntry entry : menuEntries)
|
for (MenuEntry entry : menuEntries)
|
||||||
{
|
{
|
||||||
if ((entry.getOption().equals("Floating") && this.shouldRightClickMap) ||
|
if ((entry.getOption().equals("Floating <col=ff9040>World Map</col>") && this.shouldRightClickMap) ||
|
||||||
(entry.getOption().equals("Hide") && this.shouldRightClickXp) || (entry.getOption().equals("Show")
|
(entry.getTarget().equals("<col=ff9040>XP drops</col>") && this.shouldRightClickXp) ||
|
||||||
&& this.shouldRightClickXp) || (entry.getOption().equals("Auto retaliate")
|
(entry.getOption().equals("Auto retaliate") && this.shouldRightClickRetaliate))
|
||||||
&& this.shouldRightClickRetaliate))
|
|
||||||
{
|
{
|
||||||
event.setForceRightClick(true);
|
event.setForceRightClick(true);
|
||||||
return;
|
return;
|
||||||
@@ -136,8 +135,8 @@ public class LearnToClickPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
private void onMenuEntryAdded(MenuEntryAdded event)
|
private void onMenuEntryAdded(MenuEntryAdded event)
|
||||||
{
|
{
|
||||||
if ((event.getOption().equals("Floating") && this.shouldRightClickMap) || (event.getOption().equals("Hide")
|
if ((event.getOption().equals("Floating <col=ff9040>World Map</col>") && this.shouldRightClickMap) ||
|
||||||
&& this.shouldRightClickXp) || (event.getOption().equals("Show") && this.shouldRightClickXp) ||
|
(event.getTarget().equals("<col=ff9040>XP drops</col>") && this.shouldRightClickXp) ||
|
||||||
(event.getOption().equals("Auto retaliate") && this.shouldRightClickRetaliate))
|
(event.getOption().equals("Auto retaliate") && this.shouldRightClickRetaliate))
|
||||||
{
|
{
|
||||||
forceRightClickFlag = true;
|
forceRightClickFlag = true;
|
||||||
|
|||||||
+1
-1
@@ -105,7 +105,7 @@ public interface LootTrackerConfig extends Config
|
|||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "syncPanel",
|
keyName = "syncPanel",
|
||||||
name = "Synchronize panel contents",
|
name = "Synchronize panel contents",
|
||||||
description = "Synchronize you local loot tracker with your online (requires being logged in). This means" +
|
description = "Synchronize your local loot tracker with your online (requires being logged in). This means" +
|
||||||
" that panel is filled with portion of your remote data on startup and deleting data in panel deletes them" +
|
" that panel is filled with portion of your remote data on startup and deleting data in panel deletes them" +
|
||||||
" also on server."
|
" also on server."
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,10 +25,12 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.music;
|
package net.runelite.client.plugins.music;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.function.BiConsumer;
|
import java.util.function.BiConsumer;
|
||||||
import java.util.function.ToIntFunction;
|
import java.util.function.ToIntFunction;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -76,6 +78,10 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
)
|
)
|
||||||
public class MusicPlugin extends Plugin
|
public class MusicPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
private static final Set<Integer> SOURCELESS_PLAYER_SOUNDS = ImmutableSet.of(
|
||||||
|
SoundEffectID.TELEPORT_VWOOP
|
||||||
|
);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
@@ -559,13 +565,14 @@ public class MusicPlugin extends Plugin
|
|||||||
private void onAreaSoundEffectPlayed(AreaSoundEffectPlayed areaSoundEffectPlayed)
|
private void onAreaSoundEffectPlayed(AreaSoundEffectPlayed areaSoundEffectPlayed)
|
||||||
{
|
{
|
||||||
Actor source = areaSoundEffectPlayed.getSource();
|
Actor source = areaSoundEffectPlayed.getSource();
|
||||||
|
int soundId = areaSoundEffectPlayed.getSoundId();
|
||||||
if (source == client.getLocalPlayer()
|
if (source == client.getLocalPlayer()
|
||||||
&& musicConfig.muteOwnAreaSounds())
|
&& musicConfig.muteOwnAreaSounds())
|
||||||
{
|
{
|
||||||
areaSoundEffectPlayed.consume();
|
areaSoundEffectPlayed.consume();
|
||||||
}
|
}
|
||||||
else if (source != client.getLocalPlayer()
|
else if (source != client.getLocalPlayer()
|
||||||
&& source instanceof Player
|
&& (source instanceof Player || (source == null && SOURCELESS_PLAYER_SOUNDS.contains(soundId)))
|
||||||
&& musicConfig.muteOtherAreaSounds())
|
&& musicConfig.muteOtherAreaSounds())
|
||||||
{
|
{
|
||||||
areaSoundEffectPlayed.consume();
|
areaSoundEffectPlayed.consume();
|
||||||
@@ -576,6 +583,7 @@ public class MusicPlugin extends Plugin
|
|||||||
areaSoundEffectPlayed.consume();
|
areaSoundEffectPlayed.consume();
|
||||||
}
|
}
|
||||||
else if (source == null
|
else if (source == null
|
||||||
|
&& !SOURCELESS_PLAYER_SOUNDS.contains(soundId)
|
||||||
&& musicConfig.muteEnvironmentAreaSounds())
|
&& musicConfig.muteEnvironmentAreaSounds())
|
||||||
{
|
{
|
||||||
areaSoundEffectPlayed.consume();
|
areaSoundEffectPlayed.consume();
|
||||||
|
|||||||
+16
-8
@@ -45,7 +45,6 @@ import lombok.AccessLevel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import static net.runelite.api.Constants.REGION_SIZE;
|
|
||||||
import net.runelite.api.DecorativeObject;
|
import net.runelite.api.DecorativeObject;
|
||||||
import net.runelite.api.GameObject;
|
import net.runelite.api.GameObject;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
@@ -350,8 +349,8 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
|
|||||||
|
|
||||||
for (ObjectPoint objectPoint : objectPoints)
|
for (ObjectPoint objectPoint : objectPoints)
|
||||||
{
|
{
|
||||||
if ((worldPoint.getX() & (REGION_SIZE - 1)) == objectPoint.getRegionX()
|
if (worldPoint.getRegionX() == objectPoint.getRegionX()
|
||||||
&& (worldPoint.getY() & (REGION_SIZE - 1)) == objectPoint.getRegionY())
|
&& worldPoint.getRegionY() == objectPoint.getRegionY())
|
||||||
{
|
{
|
||||||
// Transform object to get the name which matches against what we've stored
|
// Transform object to get the name which matches against what we've stored
|
||||||
if (objectPoint.getName().equals(getObjectDefinition(object.getId()).getName()))
|
if (objectPoint.getName().equals(getObjectDefinition(object.getId()).getName()))
|
||||||
@@ -446,18 +445,27 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
final int regionId = worldPoint.getRegionID();
|
final int regionId = worldPoint.getRegionID();
|
||||||
final ObjectPoint point = new ObjectPoint(
|
final ObjectPoint point = new ObjectPoint(
|
||||||
|
object.getId(),
|
||||||
name,
|
name,
|
||||||
regionId,
|
regionId,
|
||||||
worldPoint.getX() & (REGION_SIZE - 1),
|
worldPoint.getRegionX(),
|
||||||
worldPoint.getY() & (REGION_SIZE - 1),
|
worldPoint.getRegionY(),
|
||||||
client.getPlane());
|
client.getPlane());
|
||||||
|
|
||||||
Set<ObjectPoint> objectPoints = points.computeIfAbsent(regionId, k -> new HashSet<>());
|
Set<ObjectPoint> objectPoints = points.computeIfAbsent(regionId, k -> new HashSet<>());
|
||||||
|
|
||||||
if (objectPoints.contains(point))
|
if (objects.remove(object))
|
||||||
{
|
{
|
||||||
objectPoints.remove(point);
|
// Use object id instead of name to match the object point with this object due to the object name being
|
||||||
objects.remove(object);
|
// able to change because of multilocs.
|
||||||
|
if (!objectPoints.removeIf(op -> (op.getId() == -1 || op.getId() == object.getId())
|
||||||
|
&& op.getRegionX() == worldPoint.getRegionX()
|
||||||
|
&& op.getRegionY() == worldPoint.getRegionY()
|
||||||
|
&& op.getZ() == worldPoint.getPlane()))
|
||||||
|
{
|
||||||
|
log.warn("unable to find object point for unmarked object {}", object.getId());
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("Unmarking object: {}", point);
|
log.debug("Unmarking object: {}", point);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
+7
-2
@@ -25,11 +25,16 @@
|
|||||||
|
|
||||||
package net.runelite.client.plugins.objectindicators;
|
package net.runelite.client.plugins.objectindicators;
|
||||||
|
|
||||||
import lombok.Value;
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
@Value
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
class ObjectPoint
|
class ObjectPoint
|
||||||
{
|
{
|
||||||
|
private int id = -1;
|
||||||
private String name;
|
private String name;
|
||||||
private int regionId;
|
private int regionId;
|
||||||
private int regionX;
|
private int regionX;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import lombok.Getter;
|
|||||||
import net.runelite.client.plugins.raids.solver.Layout;
|
import net.runelite.client.plugins.raids.solver.Layout;
|
||||||
import net.runelite.client.plugins.raids.solver.Room;
|
import net.runelite.client.plugins.raids.solver.Room;
|
||||||
|
|
||||||
public class Raid
|
class Raid
|
||||||
{
|
{
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private final RaidRoom[] rooms = new RaidRoom[16];
|
private final RaidRoom[] rooms = new RaidRoom[16];
|
||||||
|
|||||||
+14
-8
@@ -76,6 +76,7 @@ import net.runelite.api.util.Text;
|
|||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.CHATBOX_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.CLUE_SCROLL_REWARD_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.CLUE_SCROLL_REWARD_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.DIALOG_SPRITE_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.DIALOG_SPRITE_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.KINGDOM_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.KINGDOM_GROUP_ID;
|
||||||
@@ -303,11 +304,11 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
String fileName = null;
|
String fileName = null;
|
||||||
if (client.getWidget(WidgetInfo.LEVEL_UP_LEVEL) != null)
|
if (client.getWidget(WidgetInfo.LEVEL_UP_LEVEL) != null)
|
||||||
{
|
{
|
||||||
fileName = parseLevelUpWidget(WidgetInfo.LEVEL_UP_LEVEL);
|
fileName = parseLevelUpWidget(client.getWidget(WidgetInfo.LEVEL_UP_LEVEL));
|
||||||
}
|
}
|
||||||
else if (client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT) != null)
|
else if (client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT) != null)
|
||||||
{
|
{
|
||||||
fileName = parseLevelUpWidget(WidgetInfo.DIALOG_SPRITE_TEXT);
|
fileName = parseLevelUpWidget(client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT));
|
||||||
}
|
}
|
||||||
else if (client.getWidget(WidgetInfo.QUEST_COMPLETED_NAME_TEXT) != null)
|
else if (client.getWidget(WidgetInfo.QUEST_COMPLETED_NAME_TEXT) != null)
|
||||||
{
|
{
|
||||||
@@ -315,6 +316,10 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
String text = client.getWidget(WidgetInfo.QUEST_COMPLETED_NAME_TEXT).getText();
|
String text = client.getWidget(WidgetInfo.QUEST_COMPLETED_NAME_TEXT).getText();
|
||||||
fileName = "Quest(" + text.substring(19, text.length() - 1) + ")";
|
fileName = "Quest(" + text.substring(19, text.length() - 1) + ")";
|
||||||
}
|
}
|
||||||
|
else if (client.getWidget(WidgetInfo.CHATBOX_CONTAINER).getChild(1) != null)
|
||||||
|
{
|
||||||
|
fileName = parseLevelUpWidget(client.getWidget(WidgetInfo.CHATBOX_CONTAINER).getChild(1));
|
||||||
|
}
|
||||||
|
|
||||||
if (fileName != null)
|
if (fileName != null)
|
||||||
{
|
{
|
||||||
@@ -485,6 +490,7 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
break;
|
break;
|
||||||
case LEVEL_UP_GROUP_ID:
|
case LEVEL_UP_GROUP_ID:
|
||||||
case DIALOG_SPRITE_GROUP_ID:
|
case DIALOG_SPRITE_GROUP_ID:
|
||||||
|
case CHATBOX_GROUP_ID:
|
||||||
if (!this.screenshotLevels)
|
if (!this.screenshotLevels)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -549,6 +555,7 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
case LEVEL_UP_GROUP_ID:
|
case LEVEL_UP_GROUP_ID:
|
||||||
case DIALOG_SPRITE_GROUP_ID:
|
case DIALOG_SPRITE_GROUP_ID:
|
||||||
case QUEST_COMPLETED_GROUP_ID:
|
case QUEST_COMPLETED_GROUP_ID:
|
||||||
|
case CHATBOX_GROUP_ID:
|
||||||
{
|
{
|
||||||
// level up widget gets loaded prior to the text being set, so wait until the next tick
|
// level up widget gets loaded prior to the text being set, so wait until the next tick
|
||||||
shouldTakeScreenshot = true;
|
shouldTakeScreenshot = true;
|
||||||
@@ -574,22 +581,21 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Receives a WidgetInfo pointing to the middle widget of the level-up dialog,
|
* Receives a Widget containing the level-up dialog,
|
||||||
* and parses it into a shortened string for filename usage.
|
* and parses it into a shortened string for filename usage.
|
||||||
*
|
*
|
||||||
* @param levelUpLevel WidgetInfo pointing to the required text widget,
|
* @param levelUpWidget Widget containing the level-up text,
|
||||||
* with the format "Your Skill (level is/are) now 99."
|
* with the format "Your Skill (level is/are) now 99."
|
||||||
* @return Shortened string in the format "Skill(99)"
|
* @return Shortened string in the format "Skill(99)"
|
||||||
*/
|
*/
|
||||||
String parseLevelUpWidget(WidgetInfo levelUpLevel)
|
String parseLevelUpWidget(Widget levelUpWidget)
|
||||||
{
|
{
|
||||||
Widget levelChild = client.getWidget(levelUpLevel);
|
if (levelUpWidget == null)
|
||||||
if (levelChild == null)
|
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Matcher m = LEVEL_UP_PATTERN.matcher(levelChild.getText());
|
Matcher m = LEVEL_UP_PATTERN.matcher(levelUpWidget.getText());
|
||||||
if (!m.matches())
|
if (!m.matches())
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
+2
-1
@@ -38,7 +38,8 @@ enum TeleportWidget
|
|||||||
WidgetInfo.SPELL_LUMBRIDGE_HOME_TELEPORT.getId(),
|
WidgetInfo.SPELL_LUMBRIDGE_HOME_TELEPORT.getId(),
|
||||||
WidgetInfo.SPELL_EDGEVILLE_HOME_TELEPORT.getId(),
|
WidgetInfo.SPELL_EDGEVILLE_HOME_TELEPORT.getId(),
|
||||||
WidgetInfo.SPELL_LUNAR_HOME_TELEPORT.getId(),
|
WidgetInfo.SPELL_LUNAR_HOME_TELEPORT.getId(),
|
||||||
WidgetInfo.SPELL_ARCEUUS_HOME_TELEPORT.getId()
|
WidgetInfo.SPELL_ARCEUUS_HOME_TELEPORT.getId(),
|
||||||
|
WidgetInfo.SPELL_KOUREND_HOME_TELEPORT.getId()
|
||||||
);
|
);
|
||||||
private static final Collection MINIGAME_TELEPORT_IDS = ImmutableList.of(
|
private static final Collection MINIGAME_TELEPORT_IDS = ImmutableList.of(
|
||||||
WidgetInfo.MINIGAME_TELEPORT_BUTTON.getId()
|
WidgetInfo.MINIGAME_TELEPORT_BUTTON.getId()
|
||||||
|
|||||||
+101
@@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* 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.client.plugins.virtuallevels;
|
||||||
|
|
||||||
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
|
import com.google.common.collect.ListMultimap;
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.runelite.api.ModelID;
|
||||||
|
import net.runelite.api.Skill;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public enum SkillModel
|
||||||
|
{
|
||||||
|
CONSTRUCTION1(Skill.CONSTRUCTION, ModelID.HAMMER, 10, 14, 669, 15, 0, 329),
|
||||||
|
CONSTRUCTION2(Skill.CONSTRUCTION, ModelID.SAW, 11, 14, 615, 111, 0, 451),
|
||||||
|
COOKING(Skill.COOKING, ModelID.COOKING_SKILL_MODEL, 31, 59, 169, 1593, 0, 963),
|
||||||
|
CRAFTING1(Skill.CRAFTING, ModelID.HAMMER, 30, 24, 418, 14, 0, 496),
|
||||||
|
CRAFTING2(Skill.CRAFTING, ModelID.CHISEL, 39, 45, 353, 18, 0, 400),
|
||||||
|
DEFENCE(Skill.DEFENCE, ModelID.STEEL_KITESHIELD, 34, 37, 337, 1074, 0, 598),
|
||||||
|
FARMING(Skill.FARMING, ModelID.WATERING_CAN, 31, 52, 118, 1278, 0, 451),
|
||||||
|
FIREMAKING(Skill.FIREMAKING, ModelID.FIREMAKING_SKILL_MODEL, 29, 55, 115, 1689, 0, 771),
|
||||||
|
FISHING(Skill.FISHING, ModelID.RAW_TUNA, 33, 30, 351, 1865, 0, 517),
|
||||||
|
FLETCHING1(Skill.FLETCHING, ModelID.STEEL_ARROW, 43, 19, 254, 1257, 0, 408),
|
||||||
|
FLETCHING2(Skill.FLETCHING, ModelID.STEEL_ARROW, 46, 44, 223, 177, 0, 444),
|
||||||
|
HERBLORE(Skill.HERBLORE, ModelID.CLEAN_HERB, 20, 35, 550, 2024, 0, 344),
|
||||||
|
HITPOINTS(Skill.HITPOINTS, ModelID.HEARTH, 35, 58, 538, 0, 0, 250),
|
||||||
|
MAGIC(Skill.MAGIC, ModelID.BLUE_WIZARD_HAT, 29, 50, 131, 1913, 0, 344),
|
||||||
|
MINING(Skill.MINING, ModelID.STEEL_PICKAXE, 38, 33, 292, 1166, 0, 413),
|
||||||
|
PRAYER(Skill.PRAYER, ModelID.PRAYER_SKILL_MODEL, 29, 27, 582, 504, 0, 505),
|
||||||
|
RANGED1(Skill.RANGED, ModelID.STEEL_ARROW, 28, 34, 206, 195, 0, 405),
|
||||||
|
RANGED2(Skill.RANGED, ModelID.SHORTBOW, 42, 17, 422, 1618, 0, 397),
|
||||||
|
RUNECRAFT(Skill.RUNECRAFT, ModelID.PURE_ESSENCE, 35, 38, 242, 1979, 0, 328),
|
||||||
|
SLAYER(Skill.SLAYER, ModelID.SLAYER_SKILL_MODEL, 34, 60, 221, 1944, 0, 649),
|
||||||
|
SMITHING(Skill.SMITHING, ModelID.ANVIL, 34, 53, 97, 1868, 0, 716),
|
||||||
|
STRENGTH(Skill.STRENGTH, ModelID.STRENGTH_SKILL_MODEL, 35, 23, 512, 14, 0, 631),
|
||||||
|
AGILITY(Skill.AGILITY, ModelID.AGILITY_SKILL_MODEL, 29, 29, 533, 2040, 0, 685),
|
||||||
|
THIEVING(Skill.THIEVING, ModelID.HIGHWAYMAN_MASK, 42, 31, 366, 55, 0, 155),
|
||||||
|
WOODCUTTING(Skill.WOODCUTTING, ModelID.WILLOW_TREE, 20, 69, 116, 1978, 0, 1800),
|
||||||
|
ATTACK1(Skill.ATTACK, ModelID.STEEL_SWORD, 65, 38, 234, 148, 0, 444),
|
||||||
|
ATTACK2(Skill.ATTACK, ModelID.STEEL_LONGSWORD, 27, 29, 198, 1419, 0, 330),
|
||||||
|
HUNTER(Skill.HUNTER, ModelID.FOOTPRINT, 45, 48, 512, 0, 0, 1000);
|
||||||
|
|
||||||
|
private static final ListMultimap<Skill, SkillModel> skillModels = ArrayListMultimap.create();
|
||||||
|
|
||||||
|
private final Skill skill;
|
||||||
|
private final int modelID;
|
||||||
|
private final int originalX;
|
||||||
|
private final int originalY;
|
||||||
|
private final int rotationX;
|
||||||
|
private final int rotationY;
|
||||||
|
private final int rotationZ;
|
||||||
|
private final int modelZoom;
|
||||||
|
|
||||||
|
SkillModel(Skill skill, int modelID, int originalX, int originalY, int rotationX, int rotationY, int rotationZ, int modelZoom)
|
||||||
|
{
|
||||||
|
this.skill = skill;
|
||||||
|
this.modelID = modelID;
|
||||||
|
this.originalX = originalX;
|
||||||
|
this.originalY = originalY;
|
||||||
|
this.rotationX = rotationX;
|
||||||
|
this.rotationY = rotationY;
|
||||||
|
this.rotationZ = rotationZ;
|
||||||
|
this.modelZoom = modelZoom;
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
for (SkillModel skillModel : values())
|
||||||
|
{
|
||||||
|
skillModels.put(skillModel.skill, skillModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<SkillModel> getSkillModels(Skill skill)
|
||||||
|
{
|
||||||
|
return skillModels.get(skill);
|
||||||
|
}
|
||||||
|
}
|
||||||
+12
-1
@@ -31,11 +31,22 @@ import net.runelite.client.config.ConfigItem;
|
|||||||
@ConfigGroup("virtuallevels")
|
@ConfigGroup("virtuallevels")
|
||||||
public interface VirtualLevelsConfig extends Config
|
public interface VirtualLevelsConfig extends Config
|
||||||
{
|
{
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "virtualMessage",
|
||||||
|
name = "Enable level up message for virtual levels",
|
||||||
|
description = "Configures whether or not to show level up messages for virtual levels",
|
||||||
|
position = 0
|
||||||
|
)
|
||||||
|
default boolean virtualMessage()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "virtualTotalLevel",
|
keyName = "virtualTotalLevel",
|
||||||
name = "Virtual Total Level",
|
name = "Virtual Total Level",
|
||||||
description = "Count virtual levels towards total level",
|
description = "Count virtual levels towards total level",
|
||||||
position = 0
|
position = 1
|
||||||
)
|
)
|
||||||
default boolean virtualTotalLevel()
|
default boolean virtualTotalLevel()
|
||||||
{
|
{
|
||||||
|
|||||||
+264
-1
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Joshua Filby <joshua@filby.me>
|
* Copyright (c) 2018, Joshua Filby <joshua@filby.me>
|
||||||
* Copyright (c) 2018, Jordan Atwood <jordan.atwood423@gmail.com>
|
* Copyright (c) 2018, Jordan Atwood <jordan.atwood423@gmail.com>
|
||||||
|
* Copyright (c) 2018, Magic fTail
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -26,17 +27,40 @@
|
|||||||
package net.runelite.client.plugins.virtuallevels;
|
package net.runelite.client.plugins.virtuallevels;
|
||||||
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.Experience;
|
import net.runelite.api.Experience;
|
||||||
|
import net.runelite.api.FontID;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.api.ScriptID;
|
||||||
import net.runelite.api.Skill;
|
import net.runelite.api.Skill;
|
||||||
|
import net.runelite.api.events.GameStateChanged;
|
||||||
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.ScriptCallbackEvent;
|
import net.runelite.api.events.ScriptCallbackEvent;
|
||||||
|
import net.runelite.api.events.StatChanged;
|
||||||
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
|
import net.runelite.api.widgets.JavaScriptCallback;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetID;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
|
import net.runelite.api.widgets.WidgetPositionMode;
|
||||||
|
import net.runelite.api.widgets.WidgetSizeMode;
|
||||||
|
import net.runelite.api.widgets.WidgetTextAlignment;
|
||||||
|
import net.runelite.api.widgets.WidgetType;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.ConfigChanged;
|
import net.runelite.client.events.ConfigChanged;
|
||||||
import net.runelite.client.events.PluginChanged;
|
import net.runelite.client.events.PluginChanged;
|
||||||
|
import net.runelite.client.input.KeyListener;
|
||||||
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
|
||||||
@@ -47,9 +71,14 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
enabledByDefault = false
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
@Singleton
|
@Singleton
|
||||||
public class VirtualLevelsPlugin extends Plugin
|
public class VirtualLevelsPlugin extends Plugin implements KeyListener
|
||||||
{
|
{
|
||||||
private static final String TOTAL_LEVEL_TEXT_PREFIX = "Total level:<br>";
|
private static final String TOTAL_LEVEL_TEXT_PREFIX = "Total level:<br>";
|
||||||
|
private static final int X_OFFSET = 13;
|
||||||
|
private static final int Y_OFFSET = 16;
|
||||||
|
|
||||||
|
private final Map<Skill, Integer> previousXpMap = new EnumMap<>(Skill.class);
|
||||||
|
private final List<Skill> skillsLeveledUp = new ArrayList<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private VirtualLevelsConfig config;
|
private VirtualLevelsConfig config;
|
||||||
@@ -60,6 +89,16 @@ public class VirtualLevelsPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private EventBus eventBus;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private KeyManager keyManager;
|
||||||
|
|
||||||
|
private boolean loginTick = false;
|
||||||
|
private boolean closeMessage;
|
||||||
|
private boolean messageOpen;
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
VirtualLevelsConfig provideConfig(ConfigManager configManager)
|
VirtualLevelsConfig provideConfig(ConfigManager configManager)
|
||||||
{
|
{
|
||||||
@@ -71,6 +110,7 @@ public class VirtualLevelsPlugin extends Plugin
|
|||||||
protected void shutDown()
|
protected void shutDown()
|
||||||
{
|
{
|
||||||
clientThread.invoke(this::simulateSkillChange);
|
clientThread.invoke(this::simulateSkillChange);
|
||||||
|
keyManager.unregisterKeyListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
@@ -79,6 +119,7 @@ public class VirtualLevelsPlugin extends Plugin
|
|||||||
// this is guaranteed to be called after the plugin has been registered by the eventbus. startUp is not.
|
// this is guaranteed to be called after the plugin has been registered by the eventbus. startUp is not.
|
||||||
if (pluginChanged.getPlugin() == this)
|
if (pluginChanged.getPlugin() == this)
|
||||||
{
|
{
|
||||||
|
keyManager.registerKeyListener(this);
|
||||||
clientThread.invoke(this::simulateSkillChange);
|
clientThread.invoke(this::simulateSkillChange);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -151,4 +192,226 @@ public class VirtualLevelsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void buildVirtualLevelUp(Skill skill)
|
||||||
|
{
|
||||||
|
Widget chatboxContainer = client.getWidget(WidgetInfo.CHATBOX_CONTAINER);
|
||||||
|
|
||||||
|
if (chatboxContainer == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String skillName = skill.getName();
|
||||||
|
int skillLevel = Experience.getLevelForXp(client.getSkillExperience(skill));
|
||||||
|
List<SkillModel> skillModels = SkillModel.getSkillModels(skill);
|
||||||
|
String prefix = (skill == Skill.AGILITY || skill == Skill.ATTACK) ? "an " : "a ";
|
||||||
|
|
||||||
|
Widget levelUpLevel = chatboxContainer.createChild(-1, WidgetType.TEXT);
|
||||||
|
Widget levelUpText = chatboxContainer.createChild(-1, WidgetType.TEXT);
|
||||||
|
Widget levelUpContinue = chatboxContainer.createChild(-1, WidgetType.TEXT);
|
||||||
|
|
||||||
|
levelUpLevel.setText("Congratulations, you just advanced " + prefix + skillName + " level.");
|
||||||
|
levelUpLevel.setTextColor(0x000080);
|
||||||
|
levelUpLevel.setFontId(FontID.QUILL_8);
|
||||||
|
levelUpLevel.setXPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpLevel.setOriginalX(73 + X_OFFSET);
|
||||||
|
levelUpLevel.setYPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpLevel.setOriginalY(15 + Y_OFFSET);
|
||||||
|
levelUpLevel.setOriginalWidth(390);
|
||||||
|
levelUpLevel.setOriginalHeight(30);
|
||||||
|
levelUpLevel.setXTextAlignment(WidgetTextAlignment.CENTER);
|
||||||
|
levelUpLevel.setYTextAlignment(WidgetTextAlignment.LEFT);
|
||||||
|
levelUpLevel.setWidthMode(WidgetSizeMode.ABSOLUTE);
|
||||||
|
levelUpLevel.revalidate();
|
||||||
|
|
||||||
|
levelUpText.setText((skill == Skill.HITPOINTS ? "Your Hitpoints are now " + skillLevel :
|
||||||
|
"Your " + skillName + " level is now " + skillLevel) + ".");
|
||||||
|
levelUpText.setFontId(FontID.QUILL_8);
|
||||||
|
levelUpText.setXPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpText.setOriginalX(73 + X_OFFSET);
|
||||||
|
levelUpText.setYPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpText.setOriginalY(44 + Y_OFFSET);
|
||||||
|
levelUpText.setOriginalWidth(390);
|
||||||
|
levelUpText.setOriginalHeight(30);
|
||||||
|
levelUpText.setXTextAlignment(WidgetTextAlignment.CENTER);
|
||||||
|
levelUpText.setYTextAlignment(WidgetTextAlignment.LEFT);
|
||||||
|
levelUpText.setWidthMode(WidgetSizeMode.ABSOLUTE);
|
||||||
|
levelUpText.revalidate();
|
||||||
|
|
||||||
|
levelUpContinue.setText("Click here to continue");
|
||||||
|
levelUpContinue.setTextColor(0x0000ff);
|
||||||
|
levelUpContinue.setFontId(FontID.QUILL_8);
|
||||||
|
levelUpContinue.setXPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpContinue.setOriginalX(73 + X_OFFSET);
|
||||||
|
levelUpContinue.setYPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpContinue.setOriginalY(74 + Y_OFFSET);
|
||||||
|
levelUpContinue.setOriginalWidth(390);
|
||||||
|
levelUpContinue.setOriginalHeight(17);
|
||||||
|
levelUpContinue.setXTextAlignment(WidgetTextAlignment.CENTER);
|
||||||
|
levelUpContinue.setYTextAlignment(WidgetTextAlignment.LEFT);
|
||||||
|
levelUpContinue.setWidthMode(WidgetSizeMode.ABSOLUTE);
|
||||||
|
levelUpContinue.setAction(0, "Continue");
|
||||||
|
levelUpContinue.setOnOpListener((JavaScriptCallback) ev -> closeNextTick());
|
||||||
|
levelUpContinue.setOnMouseOverListener((JavaScriptCallback) ev -> levelUpContinue.setTextColor(0xFFFFFF));
|
||||||
|
levelUpContinue.setOnMouseLeaveListener((JavaScriptCallback) ev -> levelUpContinue.setTextColor(0x0000ff));
|
||||||
|
levelUpContinue.setHasListener(true);
|
||||||
|
levelUpContinue.revalidate();
|
||||||
|
|
||||||
|
for (SkillModel skillModel : skillModels)
|
||||||
|
{
|
||||||
|
buildWidgetModel(chatboxContainer, skillModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
messageOpen = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buildWidgetModel(Widget chatboxContainer, SkillModel model)
|
||||||
|
{
|
||||||
|
int iconWidth = 32;
|
||||||
|
int iconHeight = 32;
|
||||||
|
|
||||||
|
if (model.getSkill() == Skill.CONSTRUCTION)
|
||||||
|
{
|
||||||
|
iconWidth = 49;
|
||||||
|
iconHeight = 61;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget levelUpModel = chatboxContainer.createChild(-1, WidgetType.MODEL);
|
||||||
|
|
||||||
|
levelUpModel.setModelId(model.getModelID());
|
||||||
|
levelUpModel.setXPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpModel.setOriginalX(model.getOriginalX() + X_OFFSET);
|
||||||
|
levelUpModel.setYPositionMode(WidgetPositionMode.ABSOLUTE_TOP);
|
||||||
|
levelUpModel.setOriginalY(model.getOriginalY() + Y_OFFSET);
|
||||||
|
levelUpModel.setOriginalWidth(iconWidth);
|
||||||
|
levelUpModel.setOriginalHeight(iconHeight);
|
||||||
|
levelUpModel.setRotationX(model.getRotationX());
|
||||||
|
levelUpModel.setRotationY(model.getRotationY());
|
||||||
|
levelUpModel.setRotationZ(model.getRotationZ());
|
||||||
|
levelUpModel.setModelZoom(model.getModelZoom());
|
||||||
|
levelUpModel.revalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void closeNextTick()
|
||||||
|
{
|
||||||
|
if (!messageOpen)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget levelUpContinue = client.getWidget(WidgetInfo.CHATBOX_CONTAINER).getChild(2);
|
||||||
|
|
||||||
|
levelUpContinue.setText("Please wait...");
|
||||||
|
|
||||||
|
messageOpen = false;
|
||||||
|
closeMessage = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onGameStateChanged(GameStateChanged event)
|
||||||
|
{
|
||||||
|
if (event.getGameState() == GameState.LOGIN_SCREEN)
|
||||||
|
{
|
||||||
|
loginTick = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.getGameState() != GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Skill skill : Skill.values())
|
||||||
|
{
|
||||||
|
previousXpMap.put(skill, client.getSkillExperience(skill));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onStatChanged(StatChanged event)
|
||||||
|
{
|
||||||
|
Skill skill = event.getSkill();
|
||||||
|
|
||||||
|
int xpAfter = client.getSkillExperience(skill);
|
||||||
|
int levelAfter = Experience.getLevelForXp(xpAfter);
|
||||||
|
|
||||||
|
int xpBefore = previousXpMap.get(skill);
|
||||||
|
int levelBefore = Experience.getLevelForXp(xpBefore);
|
||||||
|
|
||||||
|
previousXpMap.put(skill, xpAfter);
|
||||||
|
|
||||||
|
if (!config.virtualMessage() || levelAfter < 100 || levelBefore >= levelAfter)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!loginTick)
|
||||||
|
{
|
||||||
|
skillsLeveledUp.add(skill);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onGameTick(GameTick event)
|
||||||
|
{
|
||||||
|
loginTick = false;
|
||||||
|
|
||||||
|
if (closeMessage)
|
||||||
|
{
|
||||||
|
clientThread.invoke(() -> client.runScript(
|
||||||
|
ScriptID.MESSAGE_LAYER_CLOSE,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
));
|
||||||
|
|
||||||
|
closeMessage = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skillsLeveledUp.isEmpty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget chatboxContainer = client.getWidget(WidgetInfo.CHATBOX_CONTAINER);
|
||||||
|
|
||||||
|
if (chatboxContainer != null && !chatboxContainer.isHidden())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Skill skill = skillsLeveledUp.get(0);
|
||||||
|
|
||||||
|
skillsLeveledUp.remove(skill);
|
||||||
|
|
||||||
|
clientThread.invoke(() -> client.runScript(ScriptID.MESSAGE_LAYER_OPEN));
|
||||||
|
clientThread.invoke(() -> buildVirtualLevelUp(skill));
|
||||||
|
WidgetLoaded widgetLoaded = new WidgetLoaded();
|
||||||
|
widgetLoaded.setGroupId(WidgetID.CHATBOX_GROUP_ID);
|
||||||
|
eventBus.post(WidgetLoaded.class, widgetLoaded);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e)
|
||||||
|
{
|
||||||
|
if (e.getKeyChar() != ' ')
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (messageOpen)
|
||||||
|
{
|
||||||
|
closeNextTick();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyPressed(KeyEvent e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyReleased(KeyEvent e)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,23 +25,27 @@
|
|||||||
package net.runelite.client.plugins.woodcutting;
|
package net.runelite.client.plugins.woodcutting;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import java.time.Duration;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import lombok.AccessLevel;
|
import javax.annotation.Nullable;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import static net.runelite.api.ObjectID.REDWOOD;
|
import static net.runelite.api.NullObjectID.NULL_10823;
|
||||||
import static net.runelite.api.ObjectID.REDWOOD_29670;
|
import static net.runelite.api.NullObjectID.NULL_10835;
|
||||||
|
import net.runelite.api.ObjectID;
|
||||||
|
import static net.runelite.api.ObjectID.*;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter
|
||||||
enum Tree
|
enum Tree
|
||||||
{
|
{
|
||||||
REDWOOD_TREE_SPAWN(REDWOOD, REDWOOD_29670);
|
REGULAR_TREE(null, TREE, TREE_1277, TREE_1278, TREE_1279, TREE_1280),
|
||||||
|
OAK_TREE(Duration.ofMillis(8500), ObjectID.OAK_TREE, OAK_TREE_4540, OAK_10820),
|
||||||
private final int[] treeIds;
|
WILLOW_TREE(Duration.ofMillis(8500), WILLOW, WILLOW_10833, WILLOW_10831),
|
||||||
|
MAPLE_TREE(Duration.ofSeconds(35), ObjectID.MAPLE_TREE, MAPLE_TREE_10832, MAPLE_TREE_36681),
|
||||||
Tree(final int... treeIds)
|
TEAK_TREE(Duration.ofMillis(8500), TEAK, TEAK_36686),
|
||||||
{
|
MAHOGANY_TREE(Duration.ofMillis(8500), MAHOGANY, MAHOGANY_36688),
|
||||||
this.treeIds = treeIds;
|
YEW_TREE(Duration.ofMinutes(1), YEW, NULL_10823, YEW_36683),
|
||||||
}
|
MAGIC_TREE(Duration.ofMinutes(2), MAGIC_TREE_10834, NULL_10835),
|
||||||
|
REDWOOD(Duration.ofMinutes(2), ObjectID.REDWOOD, REDWOOD_29670);
|
||||||
|
|
||||||
private static final Map<Integer, Tree> TREES;
|
private static final Map<Integer, Tree> TREES;
|
||||||
|
|
||||||
@@ -60,6 +64,16 @@ enum Tree
|
|||||||
TREES = builder.build();
|
TREES = builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private final Duration respawnTime;
|
||||||
|
private final int[] treeIds;
|
||||||
|
|
||||||
|
Tree(@org.jetbrains.annotations.Nullable Duration respawnTime, int... treeIds)
|
||||||
|
{
|
||||||
|
this.respawnTime = respawnTime;
|
||||||
|
this.treeIds = treeIds;
|
||||||
|
}
|
||||||
|
|
||||||
static Tree findTree(int objectId)
|
static Tree findTree(int objectId)
|
||||||
{
|
{
|
||||||
return TREES.get(objectId);
|
return TREES.get(objectId);
|
||||||
|
|||||||
+46
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Adam <Adam@sigterm.info>
|
||||||
|
* Copyright (c) 2019, David <Dava96@github.com>
|
||||||
|
* 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.woodcutting;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.runelite.api.coords.LocalPoint;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Getter
|
||||||
|
class TreeRespawn
|
||||||
|
{
|
||||||
|
private final Tree tree;
|
||||||
|
private final LocalPoint location;
|
||||||
|
private final Instant startTime;
|
||||||
|
private final int respawnTime;
|
||||||
|
|
||||||
|
boolean isExpired()
|
||||||
|
{
|
||||||
|
return Instant.now().isAfter(startTime.plusMillis(respawnTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -85,4 +85,15 @@ public interface WoodcuttingConfig extends Config
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 6,
|
||||||
|
keyName = "showRespawnTimers",
|
||||||
|
name = "Show respawn timers",
|
||||||
|
description = "Configures whether to display the respawn timer overlay"
|
||||||
|
)
|
||||||
|
default boolean showRespawnTimers()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+5
-6
@@ -43,7 +43,6 @@ import net.runelite.client.ui.overlay.components.TitleComponent;
|
|||||||
import net.runelite.client.ui.overlay.components.table.TableAlignment;
|
import net.runelite.client.ui.overlay.components.table.TableAlignment;
|
||||||
import net.runelite.client.ui.overlay.components.table.TableComponent;
|
import net.runelite.client.ui.overlay.components.table.TableComponent;
|
||||||
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
class WoodcuttingOverlay extends Overlay
|
class WoodcuttingOverlay extends Overlay
|
||||||
{
|
{
|
||||||
@@ -51,17 +50,18 @@ class WoodcuttingOverlay extends Overlay
|
|||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final WoodcuttingPlugin plugin;
|
private final WoodcuttingPlugin plugin;
|
||||||
|
private final WoodcuttingConfig config;
|
||||||
private final XpTrackerService xpTrackerService;
|
private final XpTrackerService xpTrackerService;
|
||||||
private final PanelComponent panelComponent = new PanelComponent();
|
private final PanelComponent panelComponent = new PanelComponent();
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WoodcuttingOverlay(final Client client, final WoodcuttingPlugin plugin, final XpTrackerService xpTrackerService)
|
private WoodcuttingOverlay(Client client, WoodcuttingPlugin plugin, WoodcuttingConfig config, XpTrackerService xpTrackerService)
|
||||||
{
|
{
|
||||||
super(plugin);
|
super(plugin);
|
||||||
setPosition(OverlayPosition.TOP_LEFT);
|
setPosition(OverlayPosition.TOP_LEFT);
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
this.config = config;
|
||||||
this.xpTrackerService = xpTrackerService;
|
this.xpTrackerService = xpTrackerService;
|
||||||
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Woodcutting overlay"));
|
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Woodcutting overlay"));
|
||||||
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, WOODCUTTING_RESET, "Woodcutting overlay"));
|
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, WOODCUTTING_RESET, "Woodcutting overlay"));
|
||||||
@@ -70,7 +70,7 @@ class WoodcuttingOverlay extends Overlay
|
|||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics)
|
public Dimension render(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
if (!plugin.isShowWoodcuttingStats())
|
if (!config.showWoodcuttingStats())
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -107,7 +107,7 @@ class WoodcuttingOverlay extends Overlay
|
|||||||
{
|
{
|
||||||
tableComponent.addRow("Logs cut:", Integer.toString(actions));
|
tableComponent.addRow("Logs cut:", Integer.toString(actions));
|
||||||
|
|
||||||
if (plugin.isShowGPEarned())
|
if (config.showGPEarned())
|
||||||
{
|
{
|
||||||
tableComponent.addRow("GP earned:", Integer.toString((plugin.getGpEarned())));
|
tableComponent.addRow("GP earned:", Integer.toString((plugin.getGpEarned())));
|
||||||
}
|
}
|
||||||
@@ -123,5 +123,4 @@ class WoodcuttingOverlay extends Overlay
|
|||||||
return panelComponent.render(graphics);
|
return panelComponent.render(graphics);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+101
-96
@@ -27,17 +27,18 @@ package net.runelite.client.plugins.woodcutting;
|
|||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameObject;
|
import net.runelite.api.GameObject;
|
||||||
import net.runelite.api.GameState;
|
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.api.MenuOpcode;
|
import net.runelite.api.MenuOpcode;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
@@ -51,7 +52,6 @@ import net.runelite.api.events.GameTick;
|
|||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.ConfigChanged;
|
|
||||||
import net.runelite.client.events.OverlayMenuClicked;
|
import net.runelite.client.events.OverlayMenuClicked;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -64,14 +64,21 @@ import net.runelite.client.ui.overlay.OverlayMenuEntry;
|
|||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Woodcutting",
|
name = "Woodcutting",
|
||||||
description = "Show woodcutting statistics and/or bird nest notifications",
|
description = "Show woodcutting statistics and/or bird nest notifications",
|
||||||
tags = {"birds", "nest", "notifications", "overlay", "skilling", "wc"}
|
tags = {"birds", "nest", "notifications", "overlay", "skilling", "wc"},
|
||||||
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
@Singleton
|
|
||||||
@PluginDependency(XpTrackerPlugin.class)
|
@PluginDependency(XpTrackerPlugin.class)
|
||||||
|
@Slf4j
|
||||||
public class WoodcuttingPlugin extends Plugin
|
public class WoodcuttingPlugin extends Plugin
|
||||||
{
|
{
|
||||||
private static final Pattern WOOD_CUT_PATTERN = Pattern.compile("You get (?:some|an)[\\w ]+(?:logs?|mushrooms)\\.");
|
private static final Pattern WOOD_CUT_PATTERN = Pattern.compile("You get (?:some|an)[\\w ]+(?:logs?|mushrooms)\\.");
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final Set<GameObject> treeObjects = new HashSet<>();
|
||||||
|
|
||||||
|
@Getter(AccessLevel.PACKAGE)
|
||||||
|
private final List<TreeRespawn> respawns = new ArrayList<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Notifier notifier;
|
private Notifier notifier;
|
||||||
|
|
||||||
@@ -93,24 +100,13 @@ public class WoodcuttingPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ItemManager itemManager;
|
private ItemManager itemManager;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter
|
||||||
private WoodcuttingSession session;
|
private WoodcuttingSession session;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter
|
||||||
private Axe axe;
|
private Axe axe;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
private boolean recentlyLoggedIn;
|
||||||
private final Set<GameObject> treeObjects = new HashSet<>();
|
|
||||||
|
|
||||||
private int statTimeout;
|
|
||||||
boolean showNestNotification;
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
private boolean showWoodcuttingStats;
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
private boolean showRedwoodTrees;
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
private boolean showGPEarned;
|
|
||||||
|
|
||||||
private int treeTypeID;
|
private int treeTypeID;
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private int gpEarned;
|
private int gpEarned;
|
||||||
@@ -122,19 +118,18 @@ public class WoodcuttingPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void startUp()
|
protected void startUp() throws Exception
|
||||||
{
|
{
|
||||||
updateConfig();
|
|
||||||
|
|
||||||
overlayManager.add(overlay);
|
overlayManager.add(overlay);
|
||||||
overlayManager.add(treesOverlay);
|
overlayManager.add(treesOverlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void shutDown()
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
overlayManager.remove(overlay);
|
overlayManager.remove(overlay);
|
||||||
overlayManager.remove(treesOverlay);
|
overlayManager.remove(treesOverlay);
|
||||||
|
respawns.clear();
|
||||||
treeObjects.clear();
|
treeObjects.clear();
|
||||||
session = null;
|
session = null;
|
||||||
axe = null;
|
axe = null;
|
||||||
@@ -155,12 +150,16 @@ public class WoodcuttingPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
private void onGameTick(GameTick gameTick)
|
private void onGameTick(GameTick gameTick)
|
||||||
{
|
{
|
||||||
|
recentlyLoggedIn = false;
|
||||||
|
|
||||||
|
respawns.removeIf(TreeRespawn::isExpired);
|
||||||
|
|
||||||
if (session == null || session.getLastLogCut() == null)
|
if (session == null || session.getLastLogCut() == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Duration statTimeout = Duration.ofMinutes(this.statTimeout);
|
Duration statTimeout = Duration.ofMinutes(config.statTimeout());
|
||||||
Duration sinceCut = Duration.between(session.getLastLogCut(), Instant.now());
|
Duration sinceCut = Duration.between(session.getLastLogCut(), Instant.now());
|
||||||
|
|
||||||
if (sinceCut.compareTo(statTimeout) >= 0)
|
if (sinceCut.compareTo(statTimeout) >= 0)
|
||||||
@@ -189,13 +188,90 @@ public class WoodcuttingPlugin extends Plugin
|
|||||||
gpEarned += itemManager.getItemPrice(treeTypeID);
|
gpEarned += itemManager.getItemPrice(treeTypeID);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getMessage().contains("A bird's nest falls out of the tree") && this.showNestNotification)
|
if (event.getMessage().contains("A bird's nest falls out of the tree") && config.showNestNotification())
|
||||||
{
|
{
|
||||||
notifier.notify("A bird nest has spawned!");
|
notifier.notify("A bird nest has spawned!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onGameObjectSpawned(final GameObjectSpawned event)
|
||||||
|
{
|
||||||
|
GameObject gameObject = event.getGameObject();
|
||||||
|
Tree tree = Tree.findTree(gameObject.getId());
|
||||||
|
|
||||||
|
if (tree == Tree.REDWOOD)
|
||||||
|
{
|
||||||
|
treeObjects.add(gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onGameObjectDespawned(final GameObjectDespawned event)
|
||||||
|
{
|
||||||
|
final GameObject object = event.getGameObject();
|
||||||
|
|
||||||
|
Tree tree = Tree.findTree(object.getId());
|
||||||
|
if (tree != null)
|
||||||
|
{
|
||||||
|
if (tree.getRespawnTime() != null && !recentlyLoggedIn)
|
||||||
|
{
|
||||||
|
log.debug("Adding respawn timer for {} tree at {}", tree, object.getLocalLocation());
|
||||||
|
TreeRespawn treeRespawn = new TreeRespawn(tree, object.getLocalLocation(), Instant.now(), (int) tree.getRespawnTime().toMillis());
|
||||||
|
respawns.add(treeRespawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tree == Tree.REDWOOD)
|
||||||
|
{
|
||||||
|
treeObjects.remove(event.getGameObject());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onGameObjectChanged(final GameObjectChanged event)
|
||||||
|
{
|
||||||
|
treeObjects.remove(event.getGameObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onGameStateChanged(final GameStateChanged event)
|
||||||
|
{
|
||||||
|
switch (event.getGameState())
|
||||||
|
{
|
||||||
|
case LOADING:
|
||||||
|
case HOPPING:
|
||||||
|
respawns.clear();
|
||||||
|
treeObjects.clear();
|
||||||
|
break;
|
||||||
|
case LOGGED_IN:
|
||||||
|
// After login trees that are depleted will be changed,
|
||||||
|
// wait for the next game tick before watching for
|
||||||
|
// trees to despawn
|
||||||
|
recentlyLoggedIn = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
private void onAnimationChanged(final AnimationChanged event)
|
||||||
|
{
|
||||||
|
Player local = client.getLocalPlayer();
|
||||||
|
|
||||||
|
if (event.getActor() != local)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int animId = local.getAnimation();
|
||||||
|
Axe axe = Axe.findAxeByAnimId(animId);
|
||||||
|
if (axe != null)
|
||||||
|
{
|
||||||
|
this.axe = axe;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void typeOfLogCut(String message)
|
private void typeOfLogCut(String message)
|
||||||
{
|
{
|
||||||
if (message.contains("mushrooms."))
|
if (message.contains("mushrooms."))
|
||||||
@@ -239,75 +315,4 @@ public class WoodcuttingPlugin extends Plugin
|
|||||||
treeTypeID = ItemID.LOGS;
|
treeTypeID = ItemID.LOGS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onGameObjectSpawned(final GameObjectSpawned event)
|
|
||||||
{
|
|
||||||
GameObject gameObject = event.getGameObject();
|
|
||||||
Tree tree = Tree.findTree(gameObject.getId());
|
|
||||||
|
|
||||||
if (tree != null)
|
|
||||||
{
|
|
||||||
treeObjects.add(gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onGameObjectDespawned(final GameObjectDespawned event)
|
|
||||||
{
|
|
||||||
treeObjects.remove(event.getGameObject());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onGameObjectChanged(final GameObjectChanged event)
|
|
||||||
{
|
|
||||||
treeObjects.remove(event.getGameObject());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onGameStateChanged(final GameStateChanged event)
|
|
||||||
{
|
|
||||||
if (event.getGameState() != GameState.LOGGED_IN)
|
|
||||||
{
|
|
||||||
treeObjects.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onAnimationChanged(final AnimationChanged event)
|
|
||||||
{
|
|
||||||
Player local = client.getLocalPlayer();
|
|
||||||
|
|
||||||
if (event.getActor() != local)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int animId = local.getAnimation();
|
|
||||||
Axe axe = Axe.findAxeByAnimId(animId);
|
|
||||||
if (axe != null)
|
|
||||||
{
|
|
||||||
this.axe = axe;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
private void onConfigChanged(ConfigChanged event)
|
|
||||||
{
|
|
||||||
if (!event.getGroup().equals("woodcutting"))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
updateConfig();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateConfig()
|
|
||||||
{
|
|
||||||
this.statTimeout = config.statTimeout();
|
|
||||||
this.showNestNotification = config.showNestNotification();
|
|
||||||
this.showWoodcuttingStats = config.showWoodcuttingStats();
|
|
||||||
this.showRedwoodTrees = config.showRedwoodTrees();
|
|
||||||
this.showGPEarned = config.showGPEarned();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
+49
-7
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
||||||
* Copyright (c) 2018, Adam <Adam@sigterm.info>
|
* Copyright (c) 2018, Adam <Adam@sigterm.info>
|
||||||
|
* Copyright (c) 2019, David <Dava96@github.com>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -25,29 +26,36 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.woodcutting;
|
package net.runelite.client.plugins.woodcutting;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.List;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameObject;
|
import net.runelite.api.GameObject;
|
||||||
|
import net.runelite.api.Perspective;
|
||||||
|
import net.runelite.api.Point;
|
||||||
|
import net.runelite.api.coords.LocalPoint;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
import net.runelite.client.ui.overlay.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||||
|
import net.runelite.client.ui.overlay.components.ProgressPieComponent;
|
||||||
|
|
||||||
@Singleton
|
|
||||||
class WoodcuttingTreesOverlay extends Overlay
|
class WoodcuttingTreesOverlay extends Overlay
|
||||||
{
|
{
|
||||||
private final Client client;
|
private final Client client;
|
||||||
|
private final WoodcuttingConfig config;
|
||||||
private final ItemManager itemManager;
|
private final ItemManager itemManager;
|
||||||
private final WoodcuttingPlugin plugin;
|
private final WoodcuttingPlugin plugin;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WoodcuttingTreesOverlay(final Client client, final ItemManager itemManager, final WoodcuttingPlugin plugin)
|
private WoodcuttingTreesOverlay(final Client client, final WoodcuttingConfig config, final ItemManager itemManager, final WoodcuttingPlugin plugin)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
|
this.config = config;
|
||||||
this.itemManager = itemManager;
|
this.itemManager = itemManager;
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
setLayer(OverlayLayer.ABOVE_SCENE);
|
setLayer(OverlayLayer.ABOVE_SCENE);
|
||||||
@@ -57,15 +65,22 @@ class WoodcuttingTreesOverlay extends Overlay
|
|||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics)
|
public Dimension render(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
if (plugin.getSession() == null || !plugin.isShowRedwoodTrees())
|
renderAxes(graphics);
|
||||||
{
|
renderTimers(graphics);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void renderAxes(Graphics2D graphics)
|
||||||
|
{
|
||||||
|
if (plugin.getSession() == null || !config.showRedwoodTrees())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Axe axe = plugin.getAxe();
|
Axe axe = plugin.getAxe();
|
||||||
if (axe == null)
|
if (axe == null)
|
||||||
{
|
{
|
||||||
return null;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (GameObject treeObject : plugin.getTreeObjects())
|
for (GameObject treeObject : plugin.getTreeObjects())
|
||||||
@@ -75,7 +90,34 @@ class WoodcuttingTreesOverlay extends Overlay
|
|||||||
OverlayUtil.renderImageLocation(client, graphics, treeObject.getLocalLocation(), itemManager.getImage(axe.getItemId()), 120);
|
OverlayUtil.renderImageLocation(client, graphics, treeObject.getLocalLocation(), itemManager.getImage(axe.getItemId()), 120);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
private void renderTimers(Graphics2D graphics)
|
||||||
|
{
|
||||||
|
List<TreeRespawn> respawns = plugin.getRespawns();
|
||||||
|
if (respawns.isEmpty() || !config.showRespawnTimers())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Instant now = Instant.now();
|
||||||
|
for (TreeRespawn treeRespawn : respawns)
|
||||||
|
{
|
||||||
|
LocalPoint loc = treeRespawn.getLocation();
|
||||||
|
|
||||||
|
float percent = (now.toEpochMilli() - treeRespawn.getStartTime().toEpochMilli()) / (float) treeRespawn.getRespawnTime();
|
||||||
|
Point point = Perspective.localToCanvas(client, loc, client.getPlane());
|
||||||
|
if (point == null || percent > 1.0f)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProgressPieComponent ppc = new ProgressPieComponent();
|
||||||
|
ppc.setBorderColor(Color.ORANGE);
|
||||||
|
ppc.setFill(Color.YELLOW);
|
||||||
|
ppc.setPosition(point);
|
||||||
|
ppc.setProgress(percent);
|
||||||
|
ppc.render(graphics);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+23
-57
@@ -30,11 +30,9 @@ import com.google.common.base.Stopwatch;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ObjectArrays;
|
import com.google.common.collect.ObjectArrays;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import io.reactivex.schedulers.Schedulers;
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -75,6 +73,8 @@ import net.runelite.client.config.ConfigManager;
|
|||||||
import net.runelite.client.config.Keybind;
|
import net.runelite.client.config.Keybind;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.ConfigChanged;
|
import net.runelite.client.events.ConfigChanged;
|
||||||
|
import net.runelite.client.events.WorldsFetch;
|
||||||
|
import net.runelite.client.game.WorldService;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
@@ -87,7 +87,6 @@ import net.runelite.client.util.ImageUtil;
|
|||||||
import net.runelite.client.util.WorldUtil;
|
import net.runelite.client.util.WorldUtil;
|
||||||
import net.runelite.client.util.ping.Ping;
|
import net.runelite.client.util.ping.Ping;
|
||||||
import net.runelite.http.api.worlds.World;
|
import net.runelite.http.api.worlds.World;
|
||||||
import net.runelite.http.api.worlds.WorldClient;
|
|
||||||
import net.runelite.http.api.worlds.WorldResult;
|
import net.runelite.http.api.worlds.WorldResult;
|
||||||
import net.runelite.http.api.worlds.WorldType;
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
@@ -126,9 +125,6 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private ChatMessageManager chatMessageManager;
|
private ChatMessageManager chatMessageManager;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private ScheduledExecutorService executorService;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WorldHopperConfig config;
|
private WorldHopperConfig config;
|
||||||
|
|
||||||
@@ -139,7 +135,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
private WorldHopperPingOverlay worldHopperOverlay;
|
private WorldHopperPingOverlay worldHopperOverlay;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WorldClient worldClient;
|
private WorldService worldService;
|
||||||
|
|
||||||
private ScheduledExecutorService hopperExecutorService;
|
private ScheduledExecutorService hopperExecutorService;
|
||||||
|
|
||||||
@@ -154,11 +150,9 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
|
|
||||||
private int favoriteWorld1, favoriteWorld2;
|
private int favoriteWorld1, favoriteWorld2;
|
||||||
|
|
||||||
private ScheduledFuture<?> worldResultFuture, pingFuture, currPingFuture;
|
private ScheduledFuture<?> pingFuture, currPingFuture;
|
||||||
private WorldResult worldResult;
|
|
||||||
private int currentWorld;
|
private int currentWorld;
|
||||||
private Instant lastFetch;
|
private Instant lastFetch;
|
||||||
private boolean firstRun;
|
|
||||||
|
|
||||||
private Keybind previousKey;
|
private Keybind previousKey;
|
||||||
private Keybind nextKey;
|
private Keybind nextKey;
|
||||||
@@ -203,7 +197,6 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
updateConfig();
|
updateConfig();
|
||||||
|
|
||||||
firstRun = true;
|
|
||||||
currentPing = -1;
|
currentPing = -1;
|
||||||
|
|
||||||
keyManager.registerKeyListener(previousKeyListener);
|
keyManager.registerKeyListener(previousKeyListener);
|
||||||
@@ -231,12 +224,15 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
|
|
||||||
// The plugin has its own executor for pings, as it blocks for a long time
|
// The plugin has its own executor for pings, as it blocks for a long time
|
||||||
hopperExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor());
|
hopperExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor());
|
||||||
// On first run this schedules an initial ping on hopperExecutorService
|
// Run the first-run ping
|
||||||
worldResultFuture = executorService.scheduleAtFixedRate(this::tick, 0, WORLD_FETCH_TIMER, TimeUnit.MINUTES);
|
hopperExecutorService.execute(this::pingInitialWorlds);
|
||||||
|
|
||||||
// Give some initial delay - this won't run until after pingInitialWorlds finishes from tick() anyway
|
// Give some initial delay - this won't run until after pingInitialWorlds finishes from tick() anyway
|
||||||
pingFuture = hopperExecutorService.scheduleWithFixedDelay(this::pingNextWorld, 15, 3, TimeUnit.SECONDS);
|
pingFuture = hopperExecutorService.scheduleWithFixedDelay(this::pingNextWorld, 15, 3, TimeUnit.SECONDS);
|
||||||
currPingFuture = hopperExecutorService.scheduleWithFixedDelay(this::pingCurrentWorld, 15, 1, TimeUnit.SECONDS);
|
currPingFuture = hopperExecutorService.scheduleWithFixedDelay(this::pingCurrentWorld, 15, 1, TimeUnit.SECONDS);
|
||||||
|
|
||||||
|
// populate initial world list
|
||||||
|
updateList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -253,11 +249,6 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
keyManager.unregisterKeyListener(previousKeyListener);
|
keyManager.unregisterKeyListener(previousKeyListener);
|
||||||
keyManager.unregisterKeyListener(nextKeyListener);
|
keyManager.unregisterKeyListener(nextKeyListener);
|
||||||
|
|
||||||
worldResultFuture.cancel(true);
|
|
||||||
worldResultFuture = null;
|
|
||||||
worldResult = null;
|
|
||||||
lastFetch = null;
|
|
||||||
|
|
||||||
clientToolbar.removeNavigation(navButton);
|
clientToolbar.removeNavigation(navButton);
|
||||||
|
|
||||||
hopperExecutorService.shutdown();
|
hopperExecutorService.shutdown();
|
||||||
@@ -393,6 +384,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
|
|
||||||
// Don't add entry if user is offline
|
// Don't add entry if user is offline
|
||||||
ChatPlayer player = getChatPlayerFromName(event.getTarget());
|
ChatPlayer player = getChatPlayerFromName(event.getTarget());
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
|
|
||||||
if (player == null || player.getWorld() == 0 || player.getWorld() == client.getWorld()
|
if (player == null || player.getWorld() == 0 || player.getWorld() == client.getWorld()
|
||||||
|| worldResult == null)
|
|| worldResult == null)
|
||||||
@@ -484,26 +476,6 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
this.lastFetch = Instant.now(); // This counts as a fetch as it updates populations
|
this.lastFetch = Instant.now(); // This counts as a fetch as it updates populations
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tick()
|
|
||||||
{
|
|
||||||
Instant now = Instant.now();
|
|
||||||
if (lastFetch != null && now.toEpochMilli() - lastFetch.toEpochMilli() < TICK_THROTTLE)
|
|
||||||
{
|
|
||||||
log.debug("Throttling world refresh tick");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
fetchWorlds();
|
|
||||||
|
|
||||||
// Ping worlds once at startup
|
|
||||||
if (firstRun)
|
|
||||||
{
|
|
||||||
firstRun = false;
|
|
||||||
// On first run we ping all of the worlds at once to initialize the ping values
|
|
||||||
hopperExecutorService.execute(this::pingInitialWorlds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void refresh()
|
void refresh()
|
||||||
{
|
{
|
||||||
Instant now = Instant.now();
|
Instant now = Instant.now();
|
||||||
@@ -513,41 +485,31 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchWorlds();
|
lastFetch = now;
|
||||||
|
worldService.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fetchWorlds()
|
@Subscribe
|
||||||
|
public void onWorldsFetch(WorldsFetch worldsFetch)
|
||||||
{
|
{
|
||||||
log.debug("Fetching worlds");
|
|
||||||
|
|
||||||
worldClient.lookupWorlds()
|
|
||||||
.subscribeOn(Schedulers.io())
|
|
||||||
.take(1)
|
|
||||||
.subscribe(
|
|
||||||
(worldResult) ->
|
|
||||||
{
|
|
||||||
if (worldResult != null)
|
|
||||||
{
|
|
||||||
worldResult.getWorlds().sort(Comparator.comparingInt(World::getId));
|
|
||||||
this.worldResult = worldResult;
|
|
||||||
this.lastFetch = Instant.now();
|
|
||||||
updateList();
|
updateList();
|
||||||
}
|
}
|
||||||
},
|
|
||||||
(ex) -> log.warn("Error looking up worlds", ex)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method ONLY updates the list's UI, not the actual world list and data it displays.
|
* This method ONLY updates the list's UI, not the actual world list and data it displays.
|
||||||
*/
|
*/
|
||||||
private void updateList()
|
private void updateList()
|
||||||
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
|
if (worldResult != null)
|
||||||
{
|
{
|
||||||
SwingUtilities.invokeLater(() -> panel.populate(worldResult.getWorlds()));
|
SwingUtilities.invokeLater(() -> panel.populate(worldResult.getWorlds()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void hop(boolean previous)
|
private void hop(boolean previous)
|
||||||
{
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
if (worldResult == null || client.getGameState() != GameState.LOGGED_IN)
|
if (worldResult == null || client.getGameState() != GameState.LOGGED_IN)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -658,6 +620,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
|
|
||||||
private void hop(int worldId)
|
private void hop(int worldId)
|
||||||
{
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
// Don't try to hop if the world doesn't exist
|
// Don't try to hop if the world doesn't exist
|
||||||
World world = worldResult.findWorld(worldId);
|
World world = worldResult.findWorld(worldId);
|
||||||
if (world == null)
|
if (world == null)
|
||||||
@@ -801,6 +764,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
private void pingInitialWorlds()
|
private void pingInitialWorlds()
|
||||||
{
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
if (worldResult == null || !this.showSidebar || !this.ping)
|
if (worldResult == null || !this.showSidebar || !this.ping)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -838,6 +802,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
private void pingNextWorld()
|
private void pingNextWorld()
|
||||||
{
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
if (worldResult == null || !this.showSidebar || !this.ping)
|
if (worldResult == null || !this.showSidebar || !this.ping)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -874,6 +839,7 @@ public class WorldHopperPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
private void pingCurrentWorld()
|
private void pingCurrentWorld()
|
||||||
{
|
{
|
||||||
|
WorldResult worldResult = worldService.getWorlds();
|
||||||
// There is no reason to ping the current world if not logged in, as the overlay doesn't draw
|
// There is no reason to ping the current world if not logged in, as the overlay doesn't draw
|
||||||
if (worldResult == null || !this.displayPing || client.getGameState() != GameState.LOGGED_IN)
|
if (worldResult == null || !this.displayPing || client.getGameState() != GameState.LOGGED_IN)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ class ClientConfigLoader
|
|||||||
supplier = new HostSupplier();
|
supplier = new HostSupplier();
|
||||||
}
|
}
|
||||||
|
|
||||||
url = supplier.get();
|
String host = supplier.get();
|
||||||
|
url = url.newBuilder().host(host).build();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019 Abex
|
* Copyright (c) 2019 Abex
|
||||||
* Copyright (c) 2019, Lucas <https://github.com/lucwousin>
|
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -25,8 +24,10 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.rs;
|
package net.runelite.client.rs;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
@@ -36,39 +37,44 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.http.api.RuneLiteAPI;
|
import net.runelite.http.api.RuneLiteAPI;
|
||||||
import net.runelite.http.api.worlds.World;
|
import net.runelite.http.api.worlds.World;
|
||||||
import net.runelite.http.api.worlds.WorldClient;
|
import net.runelite.http.api.worlds.WorldClient;
|
||||||
import net.runelite.http.api.worlds.WorldResult;
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
import okhttp3.HttpUrl;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
class HostSupplier implements Supplier<HttpUrl>
|
class HostSupplier implements Supplier<String>
|
||||||
{
|
{
|
||||||
private final Random random = new Random();
|
private final Random random = new Random(System.nanoTime());
|
||||||
private final Queue<HttpUrl> hosts = new ArrayDeque<>();
|
private Queue<String> hosts = new ArrayDeque<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpUrl get()
|
public String get()
|
||||||
{
|
{
|
||||||
if (!hosts.isEmpty())
|
if (!hosts.isEmpty())
|
||||||
{
|
{
|
||||||
return hosts.poll();
|
return hosts.poll();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<HttpUrl> newHosts = new WorldClient(RuneLiteAPI.CLIENT)
|
try
|
||||||
|
{
|
||||||
|
List<String> newHosts = new WorldClient(RuneLiteAPI.CLIENT)
|
||||||
.lookupWorlds()
|
.lookupWorlds()
|
||||||
.map(WorldResult::getWorlds)
|
.getWorlds()
|
||||||
.blockingSingle()
|
|
||||||
.stream()
|
.stream()
|
||||||
|
.filter(w -> w.getTypes().isEmpty() || EnumSet.of(WorldType.MEMBERS).equals(w.getTypes()))
|
||||||
.map(World::getAddress)
|
.map(World::getAddress)
|
||||||
.map(HttpUrl::parse)
|
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
Collections.shuffle(newHosts, random);
|
Collections.shuffle(newHosts, random);
|
||||||
|
|
||||||
hosts.addAll(newHosts.subList(0, 16));
|
hosts.addAll(newHosts.subList(0, 16));
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
log.warn("Unable to retrieve world list", e);
|
||||||
|
}
|
||||||
|
|
||||||
while (hosts.size() < 2)
|
while (hosts.size() < 2)
|
||||||
{
|
{
|
||||||
hosts.add(HttpUrl.parse("oldschool" + (random.nextInt(50) + 1) + ".runescape.COM"));
|
hosts.add("oldschool" + (random.nextInt(50) + 1) + ".runescape.COM");
|
||||||
}
|
}
|
||||||
|
|
||||||
return hosts.poll();
|
return hosts.poll();
|
||||||
|
|||||||
@@ -1024,9 +1024,9 @@ public class ClientUI
|
|||||||
setOpacityMethod.invoke(peerField.get(frame), opacity);
|
setOpacityMethod.invoke(peerField.get(frame), opacity);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (NoSuchFieldException | NoSuchMethodException | ClassNotFoundException | IllegalAccessException | InvocationTargetException e)
|
catch (NoSuchFieldException | NoSuchMethodException | ClassNotFoundException | IllegalAccessException | InvocationTargetException | NullPointerException e)
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
||||||
|
* Copyright (c) 2018, 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.util;
|
||||||
|
|
||||||
|
import java.lang.invoke.MethodHandles;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
public class ReflectUtil
|
||||||
|
{
|
||||||
|
private ReflectUtil()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MethodHandles.Lookup privateLookupIn(Class clazz)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Java 9+ has privateLookupIn method on MethodHandles, but since we are shipping and using Java 8
|
||||||
|
// we need to access it via reflection. This is preferred way because it's Java 9+ public api and is
|
||||||
|
// likely to not change
|
||||||
|
final Method privateLookupIn = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class);
|
||||||
|
return (MethodHandles.Lookup) privateLookupIn.invoke(null, clazz, MethodHandles.lookup());
|
||||||
|
}
|
||||||
|
catch (InvocationTargetException | IllegalAccessException e)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// In Java 8 we first do standard lookupIn class
|
||||||
|
final MethodHandles.Lookup lookupIn = MethodHandles.lookup().in(clazz);
|
||||||
|
|
||||||
|
// and then we mark it as trusted for private lookup via reflection on private field
|
||||||
|
final Field modes = MethodHandles.Lookup.class.getDeclaredField("allowedModes");
|
||||||
|
modes.setAccessible(true);
|
||||||
|
modes.setInt(lookupIn, -1); // -1 == TRUSTED
|
||||||
|
return lookupIn;
|
||||||
|
}
|
||||||
|
catch (ReflectiveOperationException ex)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8025,7 +8025,8 @@
|
|||||||
],
|
],
|
||||||
"rune pouch": [
|
"rune pouch": [
|
||||||
12791,
|
12791,
|
||||||
23650
|
23650,
|
||||||
|
24416
|
||||||
],
|
],
|
||||||
"nest box": [
|
"nest box": [
|
||||||
12792,
|
12792,
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 382 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 356 B |
+54
@@ -48,6 +48,12 @@
|
|||||||
"name": "Gold Ring",
|
"name": "Gold Ring",
|
||||||
"xp": 15
|
"xp": 15
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 5,
|
||||||
|
"icon": 21512,
|
||||||
|
"name": "Bird House",
|
||||||
|
"xp": 15
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 6,
|
"level": 6,
|
||||||
"icon": 1654,
|
"icon": 1654,
|
||||||
@@ -120,6 +126,12 @@
|
|||||||
"name": "Leather Body",
|
"name": "Leather Body",
|
||||||
"xp": 25
|
"xp": 25
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 15,
|
||||||
|
"icon": 21515,
|
||||||
|
"name": "Oak Bird House",
|
||||||
|
"xp": 20
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 16,
|
"level": 16,
|
||||||
"icon": 1613,
|
"icon": 1613,
|
||||||
@@ -216,6 +228,12 @@
|
|||||||
"name": "Jade Necklace",
|
"name": "Jade Necklace",
|
||||||
"xp": 54
|
"xp": 54
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 25,
|
||||||
|
"icon": 21518,
|
||||||
|
"name": "Willow Bird House",
|
||||||
|
"xp": 25
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 26,
|
"level": 26,
|
||||||
"icon": 6209,
|
"icon": 6209,
|
||||||
@@ -318,6 +336,12 @@
|
|||||||
"name": "Broodoo shield",
|
"name": "Broodoo shield",
|
||||||
"xp": 100
|
"xp": 100
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 35,
|
||||||
|
"icon": 21521,
|
||||||
|
"name": "Teak Bird House",
|
||||||
|
"xp": 30
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 36,
|
"level": 36,
|
||||||
"icon": 5376,
|
"icon": 5376,
|
||||||
@@ -384,6 +408,12 @@
|
|||||||
"name": "Snakeskin boots",
|
"name": "Snakeskin boots",
|
||||||
"xp": 30
|
"xp": 30
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 45,
|
||||||
|
"icon": 22192,
|
||||||
|
"name": "Maple Bird House",
|
||||||
|
"xp": 35
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 46,
|
"level": 46,
|
||||||
"icon": 567,
|
"icon": 567,
|
||||||
@@ -414,6 +444,12 @@
|
|||||||
"name": "Ruby Amulet (U)",
|
"name": "Ruby Amulet (U)",
|
||||||
"xp": 85
|
"xp": 85
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 50,
|
||||||
|
"icon": 22195,
|
||||||
|
"name": "Mahogany Bird House",
|
||||||
|
"xp": 40
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 51,
|
"level": 51,
|
||||||
"icon": 6324,
|
"icon": 6324,
|
||||||
@@ -480,6 +516,12 @@
|
|||||||
"name": "Green D'hide Chaps",
|
"name": "Green D'hide Chaps",
|
||||||
"xp": 124
|
"xp": 124
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 60,
|
||||||
|
"icon": 22198,
|
||||||
|
"name": "Yew Bird House",
|
||||||
|
"xp": 45
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 62,
|
"level": 62,
|
||||||
"icon": 1393,
|
"icon": 1393,
|
||||||
@@ -570,6 +612,12 @@
|
|||||||
"name": "Red D'hide Chaps",
|
"name": "Red D'hide Chaps",
|
||||||
"xp": 156
|
"xp": 156
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 75,
|
||||||
|
"icon": 22201,
|
||||||
|
"name": "Magic Bird House",
|
||||||
|
"xp": 50
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 76,
|
"level": 76,
|
||||||
"icon": 22281,
|
"icon": 22281,
|
||||||
@@ -666,6 +714,12 @@
|
|||||||
"name": "Onyx Amulet (U)",
|
"name": "Onyx Amulet (U)",
|
||||||
"xp": 165
|
"xp": 165
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 90,
|
||||||
|
"icon": 22204,
|
||||||
|
"name": "Redwood Bird House",
|
||||||
|
"xp": 55
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 92,
|
"level": 92,
|
||||||
"icon": 19535,
|
"icon": 19535,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
32FBC48F8C6D8E62E02BCF09F444BA036F76133B6596396F0AB9E474687D9F3F
|
C85469C2529D794C523505679F14AA20E988513E8FBAF249E41F4760382B4BBB
|
||||||
@@ -25,7 +25,7 @@ LABEL9:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 207
|
set_varc_int 207
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL16:
|
LABEL16:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -43,7 +43,7 @@ LABEL25:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 208
|
set_varc_int 208
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL32:
|
LABEL32:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -61,7 +61,7 @@ LABEL41:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 209
|
set_varc_int 209
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL48:
|
LABEL48:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -79,7 +79,7 @@ LABEL57:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 210
|
set_varc_int 210
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL64:
|
LABEL64:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -97,7 +97,7 @@ LABEL73:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 211
|
set_varc_int 211
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL80:
|
LABEL80:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -115,7 +115,7 @@ LABEL89:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 212
|
set_varc_int 212
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL96:
|
LABEL96:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -133,13 +133,27 @@ LABEL105:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 213
|
set_varc_int 213
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL112:
|
LABEL112:
|
||||||
|
iload 0
|
||||||
|
iconst 3
|
||||||
|
if_icmpeq LABEL116
|
||||||
|
jump LABEL123
|
||||||
|
LABEL116:
|
||||||
|
iload 1
|
||||||
|
iconst 20000001
|
||||||
|
if_icmpeq LABEL120
|
||||||
|
jump LABEL123
|
||||||
|
LABEL120:
|
||||||
|
iconst 269500481
|
||||||
|
set_varc_int 207
|
||||||
|
jump LABEL227
|
||||||
|
LABEL123:
|
||||||
get_varc_int 207
|
get_varc_int 207
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL116
|
if_icmpeq LABEL127
|
||||||
jump LABEL127
|
jump LABEL138
|
||||||
LABEL116:
|
LABEL127:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -150,13 +164,13 @@ LABEL116:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 207
|
set_varc_int 207
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL127:
|
LABEL138:
|
||||||
get_varc_int 208
|
get_varc_int 208
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL131
|
if_icmpeq LABEL142
|
||||||
jump LABEL142
|
jump LABEL153
|
||||||
LABEL131:
|
LABEL142:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -167,13 +181,13 @@ LABEL131:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 208
|
set_varc_int 208
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL142:
|
LABEL153:
|
||||||
get_varc_int 209
|
get_varc_int 209
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL146
|
if_icmpeq LABEL157
|
||||||
jump LABEL157
|
jump LABEL168
|
||||||
LABEL146:
|
LABEL157:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -184,13 +198,13 @@ LABEL146:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 209
|
set_varc_int 209
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL157:
|
LABEL168:
|
||||||
get_varc_int 210
|
get_varc_int 210
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL161
|
if_icmpeq LABEL172
|
||||||
jump LABEL172
|
jump LABEL183
|
||||||
LABEL161:
|
LABEL172:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -201,13 +215,13 @@ LABEL161:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 210
|
set_varc_int 210
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL172:
|
LABEL183:
|
||||||
get_varc_int 211
|
get_varc_int 211
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL176
|
if_icmpeq LABEL187
|
||||||
jump LABEL187
|
jump LABEL198
|
||||||
LABEL176:
|
LABEL187:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -218,13 +232,13 @@ LABEL176:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 211
|
set_varc_int 211
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL187:
|
LABEL198:
|
||||||
get_varc_int 212
|
get_varc_int 212
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL191
|
if_icmpeq LABEL202
|
||||||
jump LABEL202
|
jump LABEL213
|
||||||
LABEL191:
|
LABEL202:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -235,13 +249,13 @@ LABEL191:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 212
|
set_varc_int 212
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL202:
|
LABEL213:
|
||||||
get_varc_int 213
|
get_varc_int 213
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpeq LABEL206
|
if_icmpeq LABEL217
|
||||||
jump LABEL216
|
jump LABEL227
|
||||||
LABEL206:
|
LABEL217:
|
||||||
iconst 0
|
iconst 0
|
||||||
iconst 83
|
iconst 83
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -252,5 +266,5 @@ LABEL206:
|
|||||||
iload 1
|
iload 1
|
||||||
movecoord
|
movecoord
|
||||||
set_varc_int 213
|
set_varc_int 213
|
||||||
LABEL216:
|
LABEL227:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
AAA12D64549A1E4573B242AD9D53D8B1A436B947CF55BACBA660812411750E20
|
A4641387DC1A542BDEB6F3728D23944F968EF2FD3EA2868B5B6AAF6961D0C6E0
|
||||||
@@ -30,13 +30,25 @@ LABEL9:
|
|||||||
iload 0
|
iload 0
|
||||||
iconst 1
|
iconst 1
|
||||||
if_icmpeq LABEL25
|
if_icmpeq LABEL25
|
||||||
jump LABEL71
|
jump LABEL81
|
||||||
LABEL25:
|
LABEL25:
|
||||||
get_varc_int 207
|
get_varc_int 207
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpne LABEL29
|
if_icmpne LABEL29
|
||||||
jump LABEL70
|
jump LABEL80
|
||||||
LABEL29:
|
LABEL29:
|
||||||
|
get_varc_int 207
|
||||||
|
iconst 269500481
|
||||||
|
if_icmpeq LABEL33
|
||||||
|
jump LABEL39
|
||||||
|
LABEL33:
|
||||||
|
iload 1
|
||||||
|
iload 3
|
||||||
|
iload 8
|
||||||
|
iload 9
|
||||||
|
invoke 997
|
||||||
|
jump LABEL65
|
||||||
|
LABEL39:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 83
|
iconst 83
|
||||||
@@ -52,20 +64,20 @@ LABEL29:
|
|||||||
iload 35
|
iload 35
|
||||||
get_array_int
|
get_array_int
|
||||||
iconst -1
|
iconst -1
|
||||||
if_icmpne LABEL46
|
if_icmpne LABEL56
|
||||||
jump LABEL55
|
jump LABEL65
|
||||||
LABEL46:
|
LABEL56:
|
||||||
iload 35
|
iload 35
|
||||||
get_array_int 1
|
get_array_int 1
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL51
|
if_icmpgt LABEL61
|
||||||
jump LABEL55
|
jump LABEL65
|
||||||
LABEL51:
|
LABEL61:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL55:
|
LABEL65:
|
||||||
get_varc_int 208
|
get_varc_int 208
|
||||||
get_varc_int 209
|
get_varc_int 209
|
||||||
get_varc_int 210
|
get_varc_int 210
|
||||||
@@ -81,9 +93,9 @@ LABEL55:
|
|||||||
set_varc_int 208
|
set_varc_int 208
|
||||||
set_varc_int 207
|
set_varc_int 207
|
||||||
jump LABEL25
|
jump LABEL25
|
||||||
LABEL70:
|
LABEL80:
|
||||||
jump LABEL508
|
jump LABEL518
|
||||||
LABEL71:
|
LABEL81:
|
||||||
sconst "newXpDrop"
|
sconst "newXpDrop"
|
||||||
runelite_callback
|
runelite_callback
|
||||||
iconst 10
|
iconst 10
|
||||||
@@ -93,9 +105,9 @@ LABEL71:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL80
|
if_icmpgt LABEL90
|
||||||
jump LABEL90
|
jump LABEL100
|
||||||
LABEL80:
|
LABEL90:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 10
|
iconst 10
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -106,7 +118,7 @@ LABEL80:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL90:
|
LABEL100:
|
||||||
iconst 0
|
iconst 0
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 11
|
iload 11
|
||||||
@@ -114,9 +126,9 @@ LABEL90:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL99
|
if_icmpgt LABEL109
|
||||||
jump LABEL109
|
jump LABEL119
|
||||||
LABEL99:
|
LABEL109:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 0
|
iconst 0
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -127,7 +139,7 @@ LABEL99:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL109:
|
LABEL119:
|
||||||
iconst 2
|
iconst 2
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 12
|
iload 12
|
||||||
@@ -135,9 +147,9 @@ LABEL109:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL118
|
if_icmpgt LABEL128
|
||||||
jump LABEL128
|
jump LABEL138
|
||||||
LABEL118:
|
LABEL128:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 2
|
iconst 2
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -148,7 +160,7 @@ LABEL118:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL128:
|
LABEL138:
|
||||||
iconst 4
|
iconst 4
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 13
|
iload 13
|
||||||
@@ -156,9 +168,9 @@ LABEL128:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL137
|
if_icmpgt LABEL147
|
||||||
jump LABEL147
|
jump LABEL157
|
||||||
LABEL137:
|
LABEL147:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 4
|
iconst 4
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -169,7 +181,7 @@ LABEL137:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL147:
|
LABEL157:
|
||||||
iconst 6
|
iconst 6
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 14
|
iload 14
|
||||||
@@ -177,9 +189,9 @@ LABEL147:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL156
|
if_icmpgt LABEL166
|
||||||
jump LABEL166
|
jump LABEL176
|
||||||
LABEL156:
|
LABEL166:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 6
|
iconst 6
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -190,7 +202,7 @@ LABEL156:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL166:
|
LABEL176:
|
||||||
iconst 1
|
iconst 1
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 15
|
iload 15
|
||||||
@@ -198,9 +210,9 @@ LABEL166:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL175
|
if_icmpgt LABEL185
|
||||||
jump LABEL185
|
jump LABEL195
|
||||||
LABEL175:
|
LABEL185:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 1
|
iconst 1
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -211,7 +223,7 @@ LABEL175:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL185:
|
LABEL195:
|
||||||
iconst 3
|
iconst 3
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 16
|
iload 16
|
||||||
@@ -220,7 +232,7 @@ LABEL185:
|
|||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt HP_XP_GAINED
|
if_icmpgt HP_XP_GAINED
|
||||||
jump LABEL204
|
jump LABEL214
|
||||||
HP_XP_GAINED:
|
HP_XP_GAINED:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 3
|
iconst 3
|
||||||
@@ -234,7 +246,7 @@ HP_XP_GAINED:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL204:
|
LABEL214:
|
||||||
iconst 5
|
iconst 5
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 17
|
iload 17
|
||||||
@@ -242,9 +254,9 @@ LABEL204:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL213
|
if_icmpgt LABEL223
|
||||||
jump LABEL223
|
jump LABEL233
|
||||||
LABEL213:
|
LABEL223:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 5
|
iconst 5
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -255,7 +267,7 @@ LABEL213:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL223:
|
LABEL233:
|
||||||
iconst 16
|
iconst 16
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 18
|
iload 18
|
||||||
@@ -263,9 +275,9 @@ LABEL223:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL232
|
if_icmpgt LABEL242
|
||||||
jump LABEL242
|
jump LABEL252
|
||||||
LABEL232:
|
LABEL242:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 16
|
iconst 16
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -276,7 +288,7 @@ LABEL232:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL242:
|
LABEL252:
|
||||||
iconst 15
|
iconst 15
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 19
|
iload 19
|
||||||
@@ -284,9 +296,9 @@ LABEL242:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL251
|
if_icmpgt LABEL261
|
||||||
jump LABEL261
|
jump LABEL271
|
||||||
LABEL251:
|
LABEL261:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 15
|
iconst 15
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -297,7 +309,7 @@ LABEL251:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL261:
|
LABEL271:
|
||||||
iconst 17
|
iconst 17
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 20
|
iload 20
|
||||||
@@ -305,9 +317,9 @@ LABEL261:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL270
|
if_icmpgt LABEL280
|
||||||
jump LABEL280
|
jump LABEL290
|
||||||
LABEL270:
|
LABEL280:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 17
|
iconst 17
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -318,7 +330,7 @@ LABEL270:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL280:
|
LABEL290:
|
||||||
iconst 12
|
iconst 12
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 21
|
iload 21
|
||||||
@@ -326,9 +338,9 @@ LABEL280:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL289
|
if_icmpgt LABEL299
|
||||||
jump LABEL299
|
jump LABEL309
|
||||||
LABEL289:
|
LABEL299:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 12
|
iconst 12
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -339,7 +351,7 @@ LABEL289:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL299:
|
LABEL309:
|
||||||
iconst 20
|
iconst 20
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 22
|
iload 22
|
||||||
@@ -347,9 +359,9 @@ LABEL299:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL308
|
if_icmpgt LABEL318
|
||||||
jump LABEL318
|
jump LABEL328
|
||||||
LABEL308:
|
LABEL318:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 20
|
iconst 20
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -360,7 +372,7 @@ LABEL308:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL318:
|
LABEL328:
|
||||||
iconst 14
|
iconst 14
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 23
|
iload 23
|
||||||
@@ -368,9 +380,9 @@ LABEL318:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL327
|
if_icmpgt LABEL337
|
||||||
jump LABEL337
|
jump LABEL347
|
||||||
LABEL327:
|
LABEL337:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 14
|
iconst 14
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -381,7 +393,7 @@ LABEL327:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL337:
|
LABEL347:
|
||||||
iconst 13
|
iconst 13
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 24
|
iload 24
|
||||||
@@ -389,9 +401,9 @@ LABEL337:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL346
|
if_icmpgt LABEL356
|
||||||
jump LABEL356
|
jump LABEL366
|
||||||
LABEL346:
|
LABEL356:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 13
|
iconst 13
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -402,7 +414,7 @@ LABEL346:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL356:
|
LABEL366:
|
||||||
iconst 7
|
iconst 7
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 26
|
iload 26
|
||||||
@@ -410,9 +422,9 @@ LABEL356:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL365
|
if_icmpgt LABEL375
|
||||||
jump LABEL375
|
jump LABEL385
|
||||||
LABEL365:
|
LABEL375:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 7
|
iconst 7
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -423,7 +435,7 @@ LABEL365:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL375:
|
LABEL385:
|
||||||
iconst 11
|
iconst 11
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 27
|
iload 27
|
||||||
@@ -431,9 +443,9 @@ LABEL375:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL384
|
if_icmpgt LABEL394
|
||||||
jump LABEL394
|
jump LABEL404
|
||||||
LABEL384:
|
LABEL394:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 11
|
iconst 11
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -444,7 +456,7 @@ LABEL384:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL394:
|
LABEL404:
|
||||||
iconst 8
|
iconst 8
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 28
|
iload 28
|
||||||
@@ -452,9 +464,9 @@ LABEL394:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL403
|
if_icmpgt LABEL413
|
||||||
jump LABEL413
|
jump LABEL423
|
||||||
LABEL403:
|
LABEL413:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 8
|
iconst 8
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -465,7 +477,7 @@ LABEL403:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL413:
|
LABEL423:
|
||||||
iconst 9
|
iconst 9
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 29
|
iload 29
|
||||||
@@ -473,9 +485,9 @@ LABEL413:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL422
|
if_icmpgt LABEL432
|
||||||
jump LABEL432
|
jump LABEL442
|
||||||
LABEL422:
|
LABEL432:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 9
|
iconst 9
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -486,7 +498,7 @@ LABEL422:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL432:
|
LABEL442:
|
||||||
iconst 18
|
iconst 18
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 30
|
iload 30
|
||||||
@@ -494,9 +506,9 @@ LABEL432:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL441
|
if_icmpgt LABEL451
|
||||||
jump LABEL451
|
jump LABEL461
|
||||||
LABEL441:
|
LABEL451:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 18
|
iconst 18
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -507,7 +519,7 @@ LABEL441:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL451:
|
LABEL461:
|
||||||
iconst 19
|
iconst 19
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 31
|
iload 31
|
||||||
@@ -515,9 +527,9 @@ LABEL451:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL460
|
if_icmpgt LABEL470
|
||||||
jump LABEL470
|
jump LABEL480
|
||||||
LABEL460:
|
LABEL470:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 19
|
iconst 19
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -528,7 +540,7 @@ LABEL460:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL470:
|
LABEL480:
|
||||||
iconst 22
|
iconst 22
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 32
|
iload 32
|
||||||
@@ -536,9 +548,9 @@ LABEL470:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL479
|
if_icmpgt LABEL489
|
||||||
jump LABEL489
|
jump LABEL499
|
||||||
LABEL479:
|
LABEL489:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 22
|
iconst 22
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -549,7 +561,7 @@ LABEL479:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL489:
|
LABEL499:
|
||||||
iconst 21
|
iconst 21
|
||||||
stat_xp
|
stat_xp
|
||||||
iload 33
|
iload 33
|
||||||
@@ -557,9 +569,9 @@ LABEL489:
|
|||||||
istore 36
|
istore 36
|
||||||
iload 36
|
iload 36
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL498
|
if_icmpgt LABEL508
|
||||||
jump LABEL508
|
jump LABEL518
|
||||||
LABEL498:
|
LABEL508:
|
||||||
iload 35
|
iload 35
|
||||||
iconst 21
|
iconst 21
|
||||||
set_array_int
|
set_array_int
|
||||||
@@ -570,7 +582,7 @@ LABEL498:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 35
|
istore 35
|
||||||
LABEL508:
|
LABEL518:
|
||||||
iconst 0
|
iconst 0
|
||||||
istore 37
|
istore 37
|
||||||
iconst 0
|
iconst 0
|
||||||
@@ -597,67 +609,67 @@ LABEL508:
|
|||||||
sstore 0
|
sstore 0
|
||||||
iload 35
|
iload 35
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL536
|
if_icmpgt LABEL546
|
||||||
jump LABEL779
|
jump LABEL789
|
||||||
LABEL536:
|
LABEL546:
|
||||||
iload 16
|
iload 16
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL540
|
if_icmpgt LABEL550
|
||||||
jump LABEL779
|
jump LABEL789
|
||||||
LABEL540:
|
LABEL550:
|
||||||
clientclock
|
clientclock
|
||||||
get_varc_int 76
|
get_varc_int 76
|
||||||
sub
|
sub
|
||||||
iconst 10
|
iconst 10
|
||||||
if_icmpgt LABEL546
|
if_icmpgt LABEL556
|
||||||
jump LABEL779
|
jump LABEL789
|
||||||
LABEL546:
|
LABEL556:
|
||||||
get_varbit 4693
|
get_varbit 4693
|
||||||
iconst 1
|
iconst 1
|
||||||
if_icmpeq LABEL550
|
if_icmpeq LABEL560
|
||||||
jump LABEL561
|
jump LABEL571
|
||||||
LABEL550:
|
LABEL560:
|
||||||
invoke 1972
|
invoke 1972
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpeq LABEL554
|
if_icmpeq LABEL564
|
||||||
jump LABEL561
|
jump LABEL571
|
||||||
LABEL554:
|
LABEL564:
|
||||||
iconst 495
|
iconst 495
|
||||||
iconst 495
|
iconst 495
|
||||||
iconst 25
|
iconst 25
|
||||||
istore 41
|
istore 41
|
||||||
istore 40
|
istore 40
|
||||||
istore 39
|
istore 39
|
||||||
jump LABEL575
|
jump LABEL585
|
||||||
LABEL561:
|
LABEL571:
|
||||||
get_varbit 4693
|
get_varbit 4693
|
||||||
iconst 2
|
iconst 2
|
||||||
if_icmpeq LABEL565
|
if_icmpeq LABEL575
|
||||||
jump LABEL575
|
jump LABEL585
|
||||||
LABEL565:
|
LABEL575:
|
||||||
invoke 1972
|
invoke 1972
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpeq LABEL569
|
if_icmpeq LABEL579
|
||||||
jump LABEL575
|
jump LABEL585
|
||||||
LABEL569:
|
LABEL579:
|
||||||
iconst 496
|
iconst 496
|
||||||
iconst 496
|
iconst 496
|
||||||
iconst 25
|
iconst 25
|
||||||
istore 41
|
istore 41
|
||||||
istore 40
|
istore 40
|
||||||
istore 39
|
istore 39
|
||||||
LABEL575:
|
LABEL585:
|
||||||
iload 8
|
iload 8
|
||||||
if_getheight
|
if_getheight
|
||||||
istore 42
|
istore 42
|
||||||
iload 42
|
iload 42
|
||||||
iconst 100
|
iconst 100
|
||||||
if_icmplt LABEL582
|
if_icmplt LABEL592
|
||||||
jump LABEL584
|
jump LABEL594
|
||||||
LABEL582:
|
LABEL592:
|
||||||
iconst 100
|
iconst 100
|
||||||
istore 42
|
istore 42
|
||||||
LABEL584:
|
LABEL594:
|
||||||
iload 41
|
iload 41
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 105
|
iconst 105
|
||||||
@@ -670,58 +682,58 @@ LABEL584:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 43
|
istore 43
|
||||||
LABEL596:
|
LABEL606:
|
||||||
iload 37
|
iload 37
|
||||||
iload 35
|
iload 35
|
||||||
if_icmplt LABEL600
|
if_icmplt LABEL610
|
||||||
jump LABEL774
|
jump LABEL784
|
||||||
LABEL600:
|
LABEL610:
|
||||||
iload 38
|
iload 38
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpeq LABEL604
|
if_icmpeq LABEL614
|
||||||
jump LABEL613
|
jump LABEL623
|
||||||
LABEL604:
|
LABEL614:
|
||||||
iload 0
|
iload 0
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpeq LABEL608
|
if_icmpeq LABEL618
|
||||||
jump LABEL613
|
jump LABEL623
|
||||||
LABEL608:
|
LABEL618:
|
||||||
iload 37
|
iload 37
|
||||||
get_array_int
|
get_array_int
|
||||||
set_varc_int 72
|
set_varc_int 72
|
||||||
iconst 1
|
iconst 1
|
||||||
istore 38
|
istore 38
|
||||||
LABEL613:
|
LABEL623:
|
||||||
get_varc_int 71
|
get_varc_int 71
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpgt LABEL617
|
if_icmpgt LABEL627
|
||||||
jump LABEL628
|
jump LABEL638
|
||||||
LABEL617:
|
LABEL627:
|
||||||
get_varc_int 71
|
get_varc_int 71
|
||||||
clientclock
|
clientclock
|
||||||
iload 43
|
iload 43
|
||||||
sub
|
sub
|
||||||
if_icmpgt LABEL623
|
if_icmpgt LABEL633
|
||||||
jump LABEL628
|
jump LABEL638
|
||||||
LABEL623:
|
LABEL633:
|
||||||
get_varc_int 71
|
get_varc_int 71
|
||||||
iload 43
|
iload 43
|
||||||
add
|
add
|
||||||
istore 44
|
istore 44
|
||||||
jump LABEL630
|
jump LABEL640
|
||||||
LABEL628:
|
LABEL638:
|
||||||
clientclock
|
clientclock
|
||||||
istore 44
|
istore 44
|
||||||
LABEL630:
|
LABEL640:
|
||||||
iload 44
|
iload 44
|
||||||
clientclock
|
clientclock
|
||||||
iload 43
|
iload 43
|
||||||
iload 10
|
iload 10
|
||||||
multiply
|
multiply
|
||||||
add
|
add
|
||||||
if_icmplt LABEL638
|
if_icmplt LABEL648
|
||||||
jump LABEL771
|
jump LABEL781
|
||||||
LABEL638:
|
LABEL648:
|
||||||
iconst 105
|
iconst 105
|
||||||
iconst 73
|
iconst 73
|
||||||
iconst 1163
|
iconst 1163
|
||||||
@@ -758,27 +770,27 @@ LABEL638:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 37
|
istore 37
|
||||||
LABEL674:
|
LABEL684:
|
||||||
get_varbit 4696
|
get_varbit 4696
|
||||||
iconst 1
|
iconst 1
|
||||||
if_icmpeq LABEL678
|
if_icmpeq LABEL688
|
||||||
jump LABEL722
|
jump LABEL732
|
||||||
LABEL678:
|
LABEL688:
|
||||||
iload 37
|
iload 37
|
||||||
iload 35
|
iload 35
|
||||||
if_icmplt LABEL682
|
if_icmplt LABEL692
|
||||||
jump LABEL722
|
jump LABEL732
|
||||||
LABEL682:
|
LABEL692:
|
||||||
iload 45
|
iload 45
|
||||||
iconst 5
|
iconst 5
|
||||||
if_icmplt LABEL686
|
if_icmplt LABEL696
|
||||||
jump LABEL722
|
jump LABEL732
|
||||||
LABEL686:
|
LABEL696:
|
||||||
iload 46
|
iload 46
|
||||||
iconst 1000000
|
iconst 1000000
|
||||||
if_icmplt LABEL690
|
if_icmplt LABEL700
|
||||||
jump LABEL722
|
jump LABEL732
|
||||||
LABEL690:
|
LABEL700:
|
||||||
iload 46
|
iload 46
|
||||||
iload 37
|
iload 37
|
||||||
get_array_int 1
|
get_array_int 1
|
||||||
@@ -810,8 +822,8 @@ LABEL690:
|
|||||||
iconst 1
|
iconst 1
|
||||||
add
|
add
|
||||||
istore 37
|
istore 37
|
||||||
jump LABEL674
|
jump LABEL684
|
||||||
LABEL722:
|
LABEL732:
|
||||||
iload 46
|
iload 46
|
||||||
sconst ","
|
sconst ","
|
||||||
invoke 46
|
invoke 46
|
||||||
@@ -820,22 +832,22 @@ LABEL722:
|
|||||||
sstore 0
|
sstore 0
|
||||||
iload 0
|
iload 0
|
||||||
iconst 1
|
iconst 1
|
||||||
if_icmpeq LABEL730
|
if_icmpeq LABEL740
|
||||||
jump LABEL735
|
jump LABEL745
|
||||||
LABEL730:
|
LABEL740:
|
||||||
sconst "<img=11>"
|
sconst "<img=11>"
|
||||||
sconst " "
|
sconst " "
|
||||||
sload 0
|
sload 0
|
||||||
join_string 3
|
join_string 3
|
||||||
sstore 0
|
sstore 0
|
||||||
LABEL735:
|
LABEL745:
|
||||||
iload 47
|
iload 47
|
||||||
iconst 0
|
iconst 0
|
||||||
cc_find
|
cc_find
|
||||||
iconst 1
|
iconst 1
|
||||||
if_icmpeq LABEL741
|
if_icmpeq LABEL751
|
||||||
jump LABEL756
|
jump LABEL766
|
||||||
LABEL741:
|
LABEL751:
|
||||||
sload 0
|
sload 0
|
||||||
cc_settext
|
cc_settext
|
||||||
iconst 0
|
iconst 0
|
||||||
@@ -851,7 +863,7 @@ LABEL741:
|
|||||||
iload 40
|
iload 40
|
||||||
sload 0
|
sload 0
|
||||||
invoke 996
|
invoke 996
|
||||||
LABEL756:
|
LABEL766:
|
||||||
iconst 1005
|
iconst 1005
|
||||||
iload 47
|
iload 47
|
||||||
iload 44
|
iload 44
|
||||||
@@ -866,24 +878,24 @@ LABEL756:
|
|||||||
iload 10
|
iload 10
|
||||||
mod
|
mod
|
||||||
set_varc_int 70
|
set_varc_int 70
|
||||||
jump LABEL773
|
jump LABEL783
|
||||||
LABEL771:
|
LABEL781:
|
||||||
iload 35
|
iload 35
|
||||||
istore 37
|
istore 37
|
||||||
LABEL773:
|
LABEL783:
|
||||||
jump LABEL596
|
jump LABEL606
|
||||||
LABEL774:
|
LABEL784:
|
||||||
iload 1
|
iload 1
|
||||||
iload 3
|
iload 3
|
||||||
iload 8
|
iload 8
|
||||||
iload 9
|
iload 9
|
||||||
invoke 997
|
invoke 997
|
||||||
LABEL779:
|
LABEL789:
|
||||||
iload 0
|
iload 0
|
||||||
iconst 0
|
iconst 0
|
||||||
if_icmpeq LABEL783
|
if_icmpeq LABEL793
|
||||||
jump LABEL802
|
jump LABEL812
|
||||||
LABEL783:
|
LABEL793:
|
||||||
iload 3
|
iload 3
|
||||||
iload 4
|
iload 4
|
||||||
iload 5
|
iload 5
|
||||||
@@ -903,5 +915,5 @@ LABEL783:
|
|||||||
iload 9
|
iload 9
|
||||||
iload 10
|
iload 10
|
||||||
invoke 1003
|
invoke 1003
|
||||||
LABEL802:
|
LABEL812:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import java.time.Instant;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import net.runelite.api.Client;
|
||||||
import net.runelite.client.account.AccountSession;
|
import net.runelite.client.account.AccountSession;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
@@ -43,6 +44,10 @@ import org.mockito.junit.MockitoJUnitRunner;
|
|||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
public class ConfigManagerTest
|
public class ConfigManagerTest
|
||||||
{
|
{
|
||||||
|
@Mock
|
||||||
|
@Bind
|
||||||
|
Client client;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
@Bind
|
@Bind
|
||||||
EventBus eventBus;
|
EventBus eventBus;
|
||||||
|
|||||||
+4
-4
@@ -178,7 +178,7 @@ public class ScreenshotPluginTest
|
|||||||
|
|
||||||
when(levelChild.getText()).thenReturn("Your Hitpoints are now 99.");
|
when(levelChild.getText()).thenReturn("Your Hitpoints are now 99.");
|
||||||
|
|
||||||
assertEquals("Hitpoints(99)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
|
assertEquals("Hitpoints(99)", screenshotPlugin.parseLevelUpWidget(client.getWidget(LEVEL_UP_LEVEL)));
|
||||||
|
|
||||||
WidgetLoaded event = new WidgetLoaded();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(LEVEL_UP_GROUP_ID);
|
event.setGroupId(LEVEL_UP_GROUP_ID);
|
||||||
@@ -199,7 +199,7 @@ public class ScreenshotPluginTest
|
|||||||
|
|
||||||
when(levelChild.getText()).thenReturn("Your Firemaking level is now 9.");
|
when(levelChild.getText()).thenReturn("Your Firemaking level is now 9.");
|
||||||
|
|
||||||
assertEquals("Firemaking(9)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
|
assertEquals("Firemaking(9)", screenshotPlugin.parseLevelUpWidget(client.getWidget(LEVEL_UP_LEVEL)));
|
||||||
|
|
||||||
WidgetLoaded event = new WidgetLoaded();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(LEVEL_UP_GROUP_ID);
|
event.setGroupId(LEVEL_UP_GROUP_ID);
|
||||||
@@ -220,7 +220,7 @@ public class ScreenshotPluginTest
|
|||||||
|
|
||||||
when(levelChild.getText()).thenReturn("Your Attack level is now 70.");
|
when(levelChild.getText()).thenReturn("Your Attack level is now 70.");
|
||||||
|
|
||||||
assertEquals("Attack(70)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
|
assertEquals("Attack(70)", screenshotPlugin.parseLevelUpWidget(client.getWidget(LEVEL_UP_LEVEL)));
|
||||||
|
|
||||||
WidgetLoaded event = new WidgetLoaded();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(LEVEL_UP_GROUP_ID);
|
event.setGroupId(LEVEL_UP_GROUP_ID);
|
||||||
@@ -241,7 +241,7 @@ public class ScreenshotPluginTest
|
|||||||
|
|
||||||
when(levelChild.getText()).thenReturn("<col=000080>Congratulations, you've just advanced a Hunter level.<col=000000><br><br>Your Hunter level is now 2.");
|
when(levelChild.getText()).thenReturn("<col=000080>Congratulations, you've just advanced a Hunter level.<col=000000><br><br>Your Hunter level is now 2.");
|
||||||
|
|
||||||
assertEquals("Hunter(2)", screenshotPlugin.parseLevelUpWidget(DIALOG_SPRITE_TEXT));
|
assertEquals("Hunter(2)", screenshotPlugin.parseLevelUpWidget(client.getWidget(DIALOG_SPRITE_TEXT)));
|
||||||
|
|
||||||
WidgetLoaded event = new WidgetLoaded();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(DIALOG_SPRITE_GROUP_ID);
|
event.setGroupId(DIALOG_SPRITE_GROUP_ID);
|
||||||
|
|||||||
+3
-2
@@ -44,6 +44,7 @@ import org.junit.runner.RunWith;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
|
|
||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
@@ -133,11 +134,11 @@ public class WoodcuttingPluginTest
|
|||||||
{
|
{
|
||||||
ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", BIRDS_NEST_MESSAGE, "", 0);
|
ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", BIRDS_NEST_MESSAGE, "", 0);
|
||||||
|
|
||||||
woodcuttingPlugin.showNestNotification = true;
|
when(woodcuttingConfig.showNestNotification()).thenReturn(true);
|
||||||
woodcuttingPlugin.onChatMessage(chatMessage);
|
woodcuttingPlugin.onChatMessage(chatMessage);
|
||||||
verify(notifier).notify("A bird nest has spawned!");
|
verify(notifier).notify("A bird nest has spawned!");
|
||||||
|
|
||||||
woodcuttingPlugin.showNestNotification = false;
|
when(woodcuttingConfig.showNestNotification()).thenReturn(false);
|
||||||
woodcuttingPlugin.onChatMessage(chatMessage);
|
woodcuttingPlugin.onChatMessage(chatMessage);
|
||||||
verifyNoMoreInteractions(notifier);
|
verifyNoMoreInteractions(notifier);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,10 @@ public interface RSWidget extends Widget
|
|||||||
@Override
|
@Override
|
||||||
int getModelId();
|
int getModelId();
|
||||||
|
|
||||||
|
@Import("modelId")
|
||||||
|
@Override
|
||||||
|
void setModelId(int modelId);
|
||||||
|
|
||||||
@Import("itemIds")
|
@Import("itemIds")
|
||||||
int[] getItemIds();
|
int[] getItemIds();
|
||||||
|
|
||||||
@@ -160,14 +164,37 @@ public interface RSWidget extends Widget
|
|||||||
@Import("childIndex")
|
@Import("childIndex")
|
||||||
void setIndex(int index);
|
void setIndex(int index);
|
||||||
|
|
||||||
//@Import("rotationX")
|
@Import("modelAngleX")
|
||||||
//int getRotationX();
|
@Override
|
||||||
|
int getRotationX();
|
||||||
|
|
||||||
//@Import("rotationY") --- All unused
|
@Import("modelAngleX")
|
||||||
//int getRotationY();
|
@Override
|
||||||
|
void setRotationX(int rotationX);
|
||||||
|
|
||||||
//@Import("rotationZ")
|
@Import("modelAngleY")
|
||||||
//int getRotationZ();
|
@Override
|
||||||
|
int getRotationY();
|
||||||
|
|
||||||
|
@Import("modelAngleY")
|
||||||
|
@Override
|
||||||
|
void setRotationY(int rotationY);
|
||||||
|
|
||||||
|
@Import("modelAngleZ")
|
||||||
|
@Override
|
||||||
|
int getRotationZ();
|
||||||
|
|
||||||
|
@Import("modelAngleZ")
|
||||||
|
@Override
|
||||||
|
void setRotationZ(int rotationZ);
|
||||||
|
|
||||||
|
@Import("modelZoom")
|
||||||
|
@Override
|
||||||
|
int getModelZoom();
|
||||||
|
|
||||||
|
@Import("modelZoom")
|
||||||
|
@Override
|
||||||
|
void setModelZoom(int modelZoom);
|
||||||
|
|
||||||
@Import("contentType")
|
@Import("contentType")
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,87 +4,81 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("hq")
|
@ObfuscatedName("hf")
|
||||||
@Implements("AbstractArchive")
|
@Implements("AbstractArchive")
|
||||||
public abstract class AbstractArchive {
|
public abstract class AbstractArchive {
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Llj;"
|
signature = "Llk;"
|
||||||
)
|
)
|
||||||
@Export("gzipDecompressor")
|
@Export("gzipDecompressor")
|
||||||
static GZipDecompressor gzipDecompressor;
|
static GZipDecompressor gzipDecompressor;
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("a")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1159865063
|
intValue = 1872832013
|
||||||
)
|
)
|
||||||
static int field3128;
|
static int field3152;
|
||||||
@ObfuscatedName("hs")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 906312301
|
intValue = 2020242851
|
||||||
)
|
|
||||||
@Export("oculusOrbFocalPointY")
|
|
||||||
static int oculusOrbFocalPointY;
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = -869416099
|
|
||||||
)
|
)
|
||||||
@Export("groupCount")
|
@Export("groupCount")
|
||||||
int groupCount;
|
int groupCount;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@Export("groupIds")
|
@Export("groupIds")
|
||||||
int[] groupIds;
|
int[] groupIds;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("groupNameHashes")
|
@Export("groupNameHashes")
|
||||||
int[] groupNameHashes;
|
int[] groupNameHashes;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lle;"
|
signature = "Lla;"
|
||||||
)
|
)
|
||||||
@Export("groupNameHashTable")
|
@Export("groupNameHashTable")
|
||||||
IntHashTable groupNameHashTable;
|
IntHashTable groupNameHashTable;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("groupCrcs")
|
@Export("groupCrcs")
|
||||||
int[] groupCrcs;
|
int[] groupCrcs;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("groupVersions")
|
@Export("groupVersions")
|
||||||
int[] groupVersions;
|
int[] groupVersions;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("fileCounts")
|
@Export("fileCounts")
|
||||||
int[] fileCounts;
|
int[] fileCounts;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@Export("fileIds")
|
@Export("fileIds")
|
||||||
int[][] fileIds;
|
int[][] fileIds;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@Export("fileNameHashes")
|
@Export("fileNameHashes")
|
||||||
int[][] fileNameHashes;
|
int[][] fileNameHashes;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "[Lle;"
|
signature = "[Lla;"
|
||||||
)
|
)
|
||||||
@Export("fileNameHashTables")
|
@Export("fileNameHashTables")
|
||||||
IntHashTable[] fileNameHashTables;
|
IntHashTable[] fileNameHashTables;
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@Export("groups")
|
@Export("groups")
|
||||||
Object[] groups;
|
Object[] groups;
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@Export("files")
|
@Export("files")
|
||||||
Object[][] files;
|
Object[][] files;
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -514507625
|
intValue = 765464633
|
||||||
)
|
)
|
||||||
@Export("hash")
|
@Export("hash")
|
||||||
public int hash;
|
public int hash;
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("r")
|
||||||
@Export("releaseGroups")
|
@Export("releaseGroups")
|
||||||
boolean releaseGroups;
|
boolean releaseGroups;
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("c")
|
||||||
@Export("shallowFiles")
|
@Export("shallowFiles")
|
||||||
boolean shallowFiles;
|
boolean shallowFiles;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
gzipDecompressor = new GZipDecompressor();
|
gzipDecompressor = new GZipDecompressor();
|
||||||
field3128 = 0;
|
field3152 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
AbstractArchive(boolean var1, boolean var2) {
|
AbstractArchive(boolean var1, boolean var2) {
|
||||||
@@ -92,133 +86,131 @@ public abstract class AbstractArchive {
|
|||||||
this.shallowFiles = var2;
|
this.shallowFiles = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BI)V",
|
signature = "([BI)V",
|
||||||
garbageValue = "-702728253"
|
garbageValue = "-764987026"
|
||||||
)
|
)
|
||||||
@Export("decodeIndex")
|
@Export("decodeIndex")
|
||||||
void decodeIndex(byte[] var1) {
|
void decodeIndex(byte[] var1) {
|
||||||
int var3 = var1.length;
|
this.hash = class222.method4196(var1, var1.length);
|
||||||
int var2 = class3.method50(var1, 0, var3);
|
Buffer var2 = new Buffer(class226.decompressBytes(var1));
|
||||||
this.hash = var2;
|
int var3 = var2.readUnsignedByte();
|
||||||
Buffer var4 = new Buffer(ArchiveLoader.decompressBytes(var1));
|
if (var3 >= 5 && var3 <= 7) {
|
||||||
int var5 = var4.readUnsignedByte();
|
if (var3 >= 6) {
|
||||||
if (var5 >= 5 && var5 <= 7) {
|
var2.readInt();
|
||||||
if (var5 >= 6) {
|
|
||||||
var4.readInt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int var6 = var4.readUnsignedByte();
|
int var4 = var2.readUnsignedByte();
|
||||||
if (var5 >= 7) {
|
if (var3 >= 7) {
|
||||||
this.groupCount = var4.method5624();
|
this.groupCount = var2.method5617();
|
||||||
} else {
|
} else {
|
||||||
this.groupCount = var4.readUnsignedShort();
|
this.groupCount = var2.readUnsignedShort();
|
||||||
}
|
}
|
||||||
|
|
||||||
int var7 = 0;
|
int var5 = 0;
|
||||||
int var8 = -1;
|
int var6 = -1;
|
||||||
this.groupIds = new int[this.groupCount];
|
this.groupIds = new int[this.groupCount];
|
||||||
int var9;
|
int var7;
|
||||||
if (var5 >= 7) {
|
if (var3 >= 7) {
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.groupIds[var9] = var7 += var4.method5624();
|
this.groupIds[var7] = var5 += var2.method5617();
|
||||||
if (this.groupIds[var9] > var8) {
|
if (this.groupIds[var7] > var6) {
|
||||||
var8 = this.groupIds[var9];
|
var6 = this.groupIds[var7];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.groupIds[var9] = var7 += var4.readUnsignedShort();
|
this.groupIds[var7] = var5 += var2.readUnsignedShort();
|
||||||
if (this.groupIds[var9] > var8) {
|
if (this.groupIds[var7] > var6) {
|
||||||
var8 = this.groupIds[var9];
|
var6 = this.groupIds[var7];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.groupCrcs = new int[var8 + 1];
|
this.groupCrcs = new int[var6 + 1];
|
||||||
this.groupVersions = new int[var8 + 1];
|
this.groupVersions = new int[var6 + 1];
|
||||||
this.fileCounts = new int[var8 + 1];
|
this.fileCounts = new int[var6 + 1];
|
||||||
this.fileIds = new int[var8 + 1][];
|
this.fileIds = new int[var6 + 1][];
|
||||||
this.groups = new Object[var8 + 1];
|
this.groups = new Object[var6 + 1];
|
||||||
this.files = new Object[var8 + 1][];
|
this.files = new Object[var6 + 1][];
|
||||||
if (var6 != 0) {
|
if (var4 != 0) {
|
||||||
this.groupNameHashes = new int[var8 + 1];
|
this.groupNameHashes = new int[var6 + 1];
|
||||||
|
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.groupNameHashes[this.groupIds[var9]] = var4.readInt();
|
this.groupNameHashes[this.groupIds[var7]] = var2.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
|
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.groupCrcs[this.groupIds[var9]] = var4.readInt();
|
this.groupCrcs[this.groupIds[var7]] = var2.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.groupVersions[this.groupIds[var9]] = var4.readInt();
|
this.groupVersions[this.groupIds[var7]] = var2.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort();
|
this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int var8;
|
||||||
|
int var9;
|
||||||
int var10;
|
int var10;
|
||||||
int var11;
|
int var11;
|
||||||
int var12;
|
int var12;
|
||||||
int var13;
|
if (var3 >= 7) {
|
||||||
int var14;
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
if (var5 >= 7) {
|
var8 = this.groupIds[var7];
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
var9 = this.fileCounts[var8];
|
||||||
var10 = this.groupIds[var9];
|
var5 = 0;
|
||||||
var11 = this.fileCounts[var10];
|
var10 = -1;
|
||||||
var7 = 0;
|
this.fileIds[var8] = new int[var9];
|
||||||
var12 = -1;
|
|
||||||
this.fileIds[var10] = new int[var11];
|
|
||||||
|
|
||||||
for (var13 = 0; var13 < var11; ++var13) {
|
for (var11 = 0; var11 < var9; ++var11) {
|
||||||
var14 = this.fileIds[var10][var13] = var7 += var4.method5624();
|
var12 = this.fileIds[var8][var11] = var5 += var2.method5617();
|
||||||
if (var14 > var12) {
|
if (var12 > var10) {
|
||||||
var12 = var14;
|
var10 = var12;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.files[var10] = new Object[var12 + 1];
|
this.files[var8] = new Object[var10 + 1];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
var10 = this.groupIds[var9];
|
var8 = this.groupIds[var7];
|
||||||
var11 = this.fileCounts[var10];
|
var9 = this.fileCounts[var8];
|
||||||
var7 = 0;
|
var5 = 0;
|
||||||
var12 = -1;
|
var10 = -1;
|
||||||
this.fileIds[var10] = new int[var11];
|
this.fileIds[var8] = new int[var9];
|
||||||
|
|
||||||
for (var13 = 0; var13 < var11; ++var13) {
|
for (var11 = 0; var11 < var9; ++var11) {
|
||||||
var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort();
|
var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort();
|
||||||
if (var14 > var12) {
|
if (var12 > var10) {
|
||||||
var12 = var14;
|
var10 = var12;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.files[var10] = new Object[var12 + 1];
|
this.files[var8] = new Object[var10 + 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var6 != 0) {
|
if (var4 != 0) {
|
||||||
this.fileNameHashes = new int[var8 + 1][];
|
this.fileNameHashes = new int[var6 + 1][];
|
||||||
this.fileNameHashTables = new IntHashTable[var8 + 1];
|
this.fileNameHashTables = new IntHashTable[var6 + 1];
|
||||||
|
|
||||||
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||||
var10 = this.groupIds[var9];
|
var8 = this.groupIds[var7];
|
||||||
var11 = this.fileCounts[var10];
|
var9 = this.fileCounts[var8];
|
||||||
this.fileNameHashes[var10] = new int[this.files[var10].length];
|
this.fileNameHashes[var8] = new int[this.files[var8].length];
|
||||||
|
|
||||||
for (var12 = 0; var12 < var11; ++var12) {
|
for (var10 = 0; var10 < var9; ++var10) {
|
||||||
this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt();
|
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]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,29 +219,29 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IB)V",
|
signature = "(II)V",
|
||||||
garbageValue = "117"
|
garbageValue = "-64779180"
|
||||||
)
|
)
|
||||||
@Export("loadRegionFromGroup")
|
@Export("loadRegionFromGroup")
|
||||||
void loadRegionFromGroup(int var1) {
|
void loadRegionFromGroup(int var1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)[B",
|
signature = "(IIB)[B",
|
||||||
garbageValue = "-1573138603"
|
garbageValue = "40"
|
||||||
)
|
)
|
||||||
@Export("takeFile")
|
@Export("takeFile")
|
||||||
public byte[] takeFile(int var1, int var2) {
|
public byte[] takeFile(int var1, int var2) {
|
||||||
return this.takeFileEncrypted(var1, var2, (int[])null);
|
return this.takeFileEncrypted(var1, var2, (int[])null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II[IB)[B",
|
signature = "(II[II)[B",
|
||||||
garbageValue = "0"
|
garbageValue = "1072052433"
|
||||||
)
|
)
|
||||||
@Export("takeFileEncrypted")
|
@Export("takeFileEncrypted")
|
||||||
public byte[] takeFileEncrypted(int var1, int var2, int[] var3) {
|
public byte[] takeFileEncrypted(int var1, int var2, int[] var3) {
|
||||||
@@ -265,7 +257,7 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] var5 = Decimator.serialize(this.files[var1][var2], false);
|
byte[] var5 = FontName.serialize(this.files[var1][var2], false);
|
||||||
if (this.shallowFiles) {
|
if (this.shallowFiles) {
|
||||||
this.files[var1][var2] = null;
|
this.files[var1][var2] = null;
|
||||||
}
|
}
|
||||||
@@ -276,10 +268,10 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)Z",
|
signature = "(III)Z",
|
||||||
garbageValue = "2054202524"
|
garbageValue = "398293520"
|
||||||
)
|
)
|
||||||
@Export("tryLoadFile")
|
@Export("tryLoadFile")
|
||||||
public boolean tryLoadFile(int var1, int var2) {
|
public boolean tryLoadFile(int var1, int var2) {
|
||||||
@@ -297,12 +289,12 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IS)Z",
|
signature = "(II)Z",
|
||||||
garbageValue = "-31796"
|
garbageValue = "1197413241"
|
||||||
)
|
)
|
||||||
public boolean method4327(int var1) {
|
public boolean method4237(int var1) {
|
||||||
if (this.files.length == 1) {
|
if (this.files.length == 1) {
|
||||||
return this.tryLoadFile(0, var1);
|
return this.tryLoadFile(0, var1);
|
||||||
} else if (this.files[var1].length == 1) {
|
} else if (this.files[var1].length == 1) {
|
||||||
@@ -312,10 +304,10 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(IB)Z",
|
||||||
garbageValue = "-1781242235"
|
garbageValue = "-18"
|
||||||
)
|
)
|
||||||
@Export("tryLoadGroup")
|
@Export("tryLoadGroup")
|
||||||
public boolean tryLoadGroup(int var1) {
|
public boolean tryLoadGroup(int var1) {
|
||||||
@@ -327,10 +319,10 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "-2109708107"
|
garbageValue = "2065138049"
|
||||||
)
|
)
|
||||||
@Export("isFullyLoaded")
|
@Export("isFullyLoaded")
|
||||||
public boolean isFullyLoaded() {
|
public boolean isFullyLoaded() {
|
||||||
@@ -349,20 +341,20 @@ public abstract class AbstractArchive {
|
|||||||
return var1;
|
return var1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)I",
|
signature = "(II)I",
|
||||||
garbageValue = "-778670663"
|
garbageValue = "-1387572162"
|
||||||
)
|
)
|
||||||
@Export("groupLoadPercent")
|
@Export("groupLoadPercent")
|
||||||
int groupLoadPercent(int var1) {
|
int groupLoadPercent(int var1) {
|
||||||
return this.groups[var1] != null ? 100 : 0;
|
return this.groups[var1] != null ? 100 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IB)[B",
|
signature = "(II)[B",
|
||||||
garbageValue = "-112"
|
garbageValue = "1651082224"
|
||||||
)
|
)
|
||||||
@Export("takeFileFlat")
|
@Export("takeFileFlat")
|
||||||
public byte[] takeFileFlat(int var1) {
|
public byte[] takeFileFlat(int var1) {
|
||||||
@@ -375,10 +367,10 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)[B",
|
signature = "(III)[B",
|
||||||
garbageValue = "-315309482"
|
garbageValue = "574646503"
|
||||||
)
|
)
|
||||||
@Export("getFile")
|
@Export("getFile")
|
||||||
public byte[] getFile(int var1, int var2) {
|
public byte[] getFile(int var1, int var2) {
|
||||||
@@ -394,17 +386,17 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] var4 = Decimator.serialize(this.files[var1][var2], false);
|
byte[] var4 = FontName.serialize(this.files[var1][var2], false);
|
||||||
return var4;
|
return var4;
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)[B",
|
signature = "(IS)[B",
|
||||||
garbageValue = "-2080975442"
|
garbageValue = "14651"
|
||||||
)
|
)
|
||||||
@Export("getFileFlat")
|
@Export("getFileFlat")
|
||||||
public byte[] getFileFlat(int var1) {
|
public byte[] getFileFlat(int var1) {
|
||||||
@@ -417,49 +409,49 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)V",
|
signature = "(II)V",
|
||||||
garbageValue = "664192835"
|
garbageValue = "130067407"
|
||||||
)
|
)
|
||||||
@Export("loadGroup")
|
@Export("loadGroup")
|
||||||
void loadGroup(int var1) {
|
void loadGroup(int var1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)[I",
|
signature = "(II)[I",
|
||||||
garbageValue = "1547416359"
|
garbageValue = "1555449772"
|
||||||
)
|
)
|
||||||
@Export("getGroupFileIds")
|
@Export("getGroupFileIds")
|
||||||
public int[] getGroupFileIds(int var1) {
|
public int[] getGroupFileIds(int var1) {
|
||||||
return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null;
|
return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)I",
|
signature = "(II)I",
|
||||||
garbageValue = "-829743673"
|
garbageValue = "526743948"
|
||||||
)
|
)
|
||||||
@Export("getGroupFileCount")
|
@Export("getGroupFileCount")
|
||||||
public int getGroupFileCount(int var1) {
|
public int getGroupFileCount(int var1) {
|
||||||
return this.files[var1].length;
|
return this.files[var1].length;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("c")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(I)I",
|
||||||
garbageValue = "107"
|
garbageValue = "-1631712923"
|
||||||
)
|
)
|
||||||
@Export("getGroupCount")
|
@Export("getGroupCount")
|
||||||
public int getGroupCount() {
|
public int getGroupCount() {
|
||||||
return this.files.length;
|
return this.files.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("s")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(I)V",
|
||||||
garbageValue = "77380292"
|
garbageValue = "254893440"
|
||||||
)
|
)
|
||||||
@Export("clearGroups")
|
@Export("clearGroups")
|
||||||
public void clearGroups() {
|
public void clearGroups() {
|
||||||
@@ -469,10 +461,10 @@ public abstract class AbstractArchive {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("t")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IB)V",
|
signature = "(II)V",
|
||||||
garbageValue = "17"
|
garbageValue = "-438088964"
|
||||||
)
|
)
|
||||||
@Export("clearFilesGroup")
|
@Export("clearFilesGroup")
|
||||||
public void clearFilesGroup(int var1) {
|
public void clearFilesGroup(int var1) {
|
||||||
@@ -482,10 +474,10 @@ public abstract class AbstractArchive {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("s")
|
@ObfuscatedName("m")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(I)V",
|
||||||
garbageValue = "1828023605"
|
garbageValue = "944527898"
|
||||||
)
|
)
|
||||||
@Export("clearFiles")
|
@Export("clearFiles")
|
||||||
public void clearFiles() {
|
public void clearFiles() {
|
||||||
@@ -499,10 +491,10 @@ public abstract class AbstractArchive {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("v")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I[II)Z",
|
signature = "(I[II)Z",
|
||||||
garbageValue = "1853690533"
|
garbageValue = "1913631817"
|
||||||
)
|
)
|
||||||
@Export("buildFiles")
|
@Export("buildFiles")
|
||||||
boolean buildFiles(int var1, int[] var2) {
|
boolean buildFiles(int var1, int[] var2) {
|
||||||
@@ -524,26 +516,27 @@ public abstract class AbstractArchive {
|
|||||||
if (var6) {
|
if (var6) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
byte[] var18;
|
byte[] var21;
|
||||||
if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) {
|
if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) {
|
||||||
var18 = Decimator.serialize(this.groups[var1], false);
|
var21 = FontName.serialize(this.groups[var1], false);
|
||||||
} else {
|
} else {
|
||||||
var18 = Decimator.serialize(this.groups[var1], true);
|
var21 = FontName.serialize(this.groups[var1], true);
|
||||||
Buffer var8 = new Buffer(var18);
|
Buffer var8 = new Buffer(var21);
|
||||||
var8.xteaDecrypt(var2, 5, var8.array.length);
|
var8.xteaDecrypt(var2, 5, var8.array.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] var20 = ArchiveLoader.decompressBytes(var18);
|
byte[] var25 = class226.decompressBytes(var21);
|
||||||
if (this.releaseGroups) {
|
if (this.releaseGroups) {
|
||||||
this.groups[var1] = null;
|
this.groups[var1] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int var10;
|
||||||
if (var3 > 1) {
|
if (var3 > 1) {
|
||||||
int var9 = var20.length;
|
int var9 = var25.length;
|
||||||
--var9;
|
--var9;
|
||||||
int var10 = var20[var9] & 255;
|
var10 = var25[var9] & 255;
|
||||||
var9 -= var10 * var3 * 4;
|
var9 -= var10 * var3 * 4;
|
||||||
Buffer var11 = new Buffer(var20);
|
Buffer var11 = new Buffer(var25);
|
||||||
int[] var12 = new int[var3];
|
int[] var12 = new int[var3];
|
||||||
var11.offset = var9;
|
var11.offset = var9;
|
||||||
|
|
||||||
@@ -558,22 +551,23 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[][] var19 = new byte[var3][];
|
byte[][] var22 = new byte[var3][];
|
||||||
|
|
||||||
for (var14 = 0; var14 < var3; ++var14) {
|
for (var14 = 0; var14 < var3; ++var14) {
|
||||||
var19[var14] = new byte[var12[var14]];
|
var22[var14] = new byte[var12[var14]];
|
||||||
var12[var14] = 0;
|
var12[var14] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var11.offset = var9;
|
var11.offset = var9;
|
||||||
var14 = 0;
|
var14 = 0;
|
||||||
|
|
||||||
|
int var17;
|
||||||
for (var15 = 0; var15 < var10; ++var15) {
|
for (var15 = 0; var15 < var10; ++var15) {
|
||||||
int var16 = 0;
|
int var16 = 0;
|
||||||
|
|
||||||
for (int var17 = 0; var17 < var3; ++var17) {
|
for (var17 = 0; var17 < var3; ++var17) {
|
||||||
var16 += var11.readInt();
|
var16 += var11.readInt();
|
||||||
System.arraycopy(var20, var14, var19[var17], var12[var17], var16);
|
System.arraycopy(var25, var14, var22[var17], var12[var17], var16);
|
||||||
var12[var17] += var16;
|
var12[var17] += var16;
|
||||||
var14 += var16;
|
var14 += var16;
|
||||||
}
|
}
|
||||||
@@ -581,15 +575,40 @@ public abstract class AbstractArchive {
|
|||||||
|
|
||||||
for (var15 = 0; var15 < var3; ++var15) {
|
for (var15 = 0; var15 < var3; ++var15) {
|
||||||
if (!this.shallowFiles) {
|
if (!this.shallowFiles) {
|
||||||
var5[var4[var15]] = MusicPatchPcmStream.method4064(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 {
|
} else {
|
||||||
var5[var4[var15]] = var19[var15];
|
var18 = var19;
|
||||||
|
}
|
||||||
|
|
||||||
|
var5[var17] = var18;
|
||||||
|
} else {
|
||||||
|
var5[var4[var15]] = var22[var15];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (!this.shallowFiles) {
|
} else if (!this.shallowFiles) {
|
||||||
var5[var4[0]] = MusicPatchPcmStream.method4064(var20, false);
|
var10 = var4[0];
|
||||||
|
Object var26;
|
||||||
|
if (var25 == null) {
|
||||||
|
var26 = null;
|
||||||
|
} else if (var25.length > 136) {
|
||||||
|
DirectByteArrayCopier var27 = new DirectByteArrayCopier();
|
||||||
|
var27.set(var25);
|
||||||
|
var26 = var27;
|
||||||
} else {
|
} else {
|
||||||
var5[var4[0]] = var20;
|
var26 = var25;
|
||||||
|
}
|
||||||
|
|
||||||
|
var5[var10] = var26;
|
||||||
|
} else {
|
||||||
|
var5[var4[0]] = var25;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -597,215 +616,109 @@ public abstract class AbstractArchive {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("w")
|
@ObfuscatedName("q")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;I)I",
|
signature = "(Ljava/lang/String;I)I",
|
||||||
garbageValue = "-568803871"
|
garbageValue = "282795041"
|
||||||
)
|
)
|
||||||
@Export("getGroupId")
|
@Export("getGroupId")
|
||||||
public int getGroupId(String var1) {
|
public int getGroupId(String var1) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
return this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
return this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("u")
|
@ObfuscatedName("l")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILjava/lang/String;B)I",
|
signature = "(ILjava/lang/String;B)I",
|
||||||
garbageValue = "1"
|
garbageValue = "20"
|
||||||
)
|
)
|
||||||
@Export("getFileId")
|
@Export("getFileId")
|
||||||
public int getFileId(int var1, String var2) {
|
public int getFileId(int var1, String var2) {
|
||||||
var2 = var2.toLowerCase();
|
var2 = var2.toLowerCase();
|
||||||
return this.fileNameHashTables[var1].get(WorldMapIcon_0.hashString(var2));
|
return this.fileNameHashTables[var1].get(class42.hashString(var2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ad")
|
@ObfuscatedName("j")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;Ljava/lang/String;B)Z",
|
signature = "(Ljava/lang/String;Ljava/lang/String;I)Z",
|
||||||
garbageValue = "-1"
|
garbageValue = "1492371951"
|
||||||
)
|
)
|
||||||
@Export("isValidFileName")
|
@Export("isValidFileName")
|
||||||
public boolean isValidFileName(String var1, String var2) {
|
public boolean isValidFileName(String var1, String var2) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
var2 = var2.toLowerCase();
|
var2 = var2.toLowerCase();
|
||||||
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var3 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
if (var3 < 0) {
|
if (var3 < 0) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
int var4 = this.fileNameHashTables[var3].get(class42.hashString(var2));
|
||||||
return var4 >= 0;
|
return var4 >= 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ag")
|
@ObfuscatedName("ad")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;Ljava/lang/String;I)[B",
|
signature = "(Ljava/lang/String;Ljava/lang/String;I)[B",
|
||||||
garbageValue = "1996624784"
|
garbageValue = "2111442561"
|
||||||
)
|
)
|
||||||
@Export("takeFileByNames")
|
@Export("takeFileByNames")
|
||||||
public byte[] takeFileByNames(String var1, String var2) {
|
public byte[] takeFileByNames(String var1, String var2) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
var2 = var2.toLowerCase();
|
var2 = var2.toLowerCase();
|
||||||
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var3 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
int var4 = this.fileNameHashTables[var3].get(class42.hashString(var2));
|
||||||
return this.takeFile(var3, var4);
|
return this.takeFile(var3, var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ak")
|
@ObfuscatedName("am")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;Ljava/lang/String;I)Z",
|
signature = "(Ljava/lang/String;Ljava/lang/String;B)Z",
|
||||||
garbageValue = "1453372171"
|
garbageValue = "0"
|
||||||
)
|
)
|
||||||
@Export("tryLoadFileByNames")
|
@Export("tryLoadFileByNames")
|
||||||
public boolean tryLoadFileByNames(String var1, String var2) {
|
public boolean tryLoadFileByNames(String var1, String var2) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
var2 = var2.toLowerCase();
|
var2 = var2.toLowerCase();
|
||||||
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var3 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
int var4 = this.fileNameHashTables[var3].get(class42.hashString(var2));
|
||||||
return this.tryLoadFile(var3, var4);
|
return this.tryLoadFile(var3, var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("av")
|
@ObfuscatedName("ai")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;I)Z",
|
signature = "(Ljava/lang/String;B)Z",
|
||||||
garbageValue = "1150520386"
|
garbageValue = "-14"
|
||||||
)
|
)
|
||||||
@Export("tryLoadGroupByName")
|
@Export("tryLoadGroupByName")
|
||||||
public boolean tryLoadGroupByName(String var1) {
|
public boolean tryLoadGroupByName(String var1) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var2 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
return this.tryLoadGroup(var2);
|
return this.tryLoadGroup(var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("am")
|
@ObfuscatedName("ag")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;B)V",
|
signature = "(Ljava/lang/String;I)V",
|
||||||
garbageValue = "-94"
|
garbageValue = "793456202"
|
||||||
)
|
)
|
||||||
@Export("loadRegionFromName")
|
@Export("loadRegionFromName")
|
||||||
public void loadRegionFromName(String var1) {
|
public void loadRegionFromName(String var1) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var2 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
if (var2 >= 0) {
|
if (var2 >= 0) {
|
||||||
this.loadRegionFromGroup(var2);
|
this.loadRegionFromGroup(var2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ab")
|
@ObfuscatedName("ao")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/String;B)I",
|
signature = "(Ljava/lang/String;I)I",
|
||||||
garbageValue = "125"
|
garbageValue = "2116991634"
|
||||||
)
|
)
|
||||||
@Export("groupLoadPercentByName")
|
@Export("groupLoadPercentByName")
|
||||||
public int groupLoadPercentByName(String var1) {
|
public int groupLoadPercentByName(String var1) {
|
||||||
var1 = var1.toLowerCase();
|
var1 = var1.toLowerCase();
|
||||||
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
int var2 = this.groupNameHashTable.get(class42.hashString(var1));
|
||||||
return this.groupLoadPercent(var2);
|
return this.groupLoadPercent(var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(II)Ljava/lang/String;",
|
|
||||||
garbageValue = "-1378160996"
|
|
||||||
)
|
|
||||||
@Export("colorStartTag")
|
|
||||||
static String colorStartTag(int var0) {
|
|
||||||
return "<col=" + Integer.toHexString(var0) + ">";
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("fm")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(II)V",
|
|
||||||
garbageValue = "-1166291616"
|
|
||||||
)
|
|
||||||
@Export("getLoginError")
|
|
||||||
static void getLoginError(int var0) {
|
|
||||||
if (var0 == -3) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Connection timed out.", "Please try using a different world.", "");
|
|
||||||
} else if (var0 == -2) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("", "Error connecting to server.", "");
|
|
||||||
} else if (var0 == -1) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("No response from server.", "Please try using a different world.", "");
|
|
||||||
} else if (var0 == 3) {
|
|
||||||
Login.loginIndex = 3;
|
|
||||||
Login.field1166 = 1;
|
|
||||||
} else if (var0 == 4) {
|
|
||||||
Login.loginIndex = 12;
|
|
||||||
Login.field1156 = 0;
|
|
||||||
} else if (var0 == 5) {
|
|
||||||
Login.field1166 = 2;
|
|
||||||
GrandExchangeOffer.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) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", "");
|
|
||||||
} else if (var0 == 7) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("This world is full.", "Please use a different world.", "");
|
|
||||||
} else if (var0 == 8) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Unable to connect.", "Login server offline.", "");
|
|
||||||
} else if (var0 == 9) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", "");
|
|
||||||
} else if (var0 == 10) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Unable to connect.", "Bad session id.", "");
|
|
||||||
} else if (var0 == 11) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", "");
|
|
||||||
} else if (var0 == 12) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", "");
|
|
||||||
} else if (var0 == 13) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Could not complete login.", "Please try using a different world.", "");
|
|
||||||
} else if (var0 == 14) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", "");
|
|
||||||
} else if (var0 == 16) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", "");
|
|
||||||
} else if (var0 == 17) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", "");
|
|
||||||
} else if (var0 == 18) {
|
|
||||||
Login.loginIndex = 12;
|
|
||||||
Login.field1156 = 1;
|
|
||||||
} else if (var0 == 19) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world.");
|
|
||||||
} else if (var0 == 20) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", "");
|
|
||||||
} else if (var0 == 22) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Malformed login packet.", "Please try again.", "");
|
|
||||||
} else if (var0 == 23) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", "");
|
|
||||||
} else if (var0 == 24) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Error loading your profile.", "Please contact customer support.", "");
|
|
||||||
} else if (var0 == 25) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", "");
|
|
||||||
} else if (var0 == 26) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", "");
|
|
||||||
} else if (var0 == 27) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("", "Service unavailable.", "");
|
|
||||||
} else if (var0 == 31) {
|
|
||||||
GrandExchangeOffer.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) {
|
|
||||||
GrandExchangeOffer.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) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", "");
|
|
||||||
} else if (var0 == 38) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!");
|
|
||||||
} else if (var0 == 55) {
|
|
||||||
Login.loginIndex = 8;
|
|
||||||
} else {
|
|
||||||
if (var0 == 56) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", "");
|
|
||||||
Tile.updateGameState(11);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var0 == 57) {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("The code you entered was incorrect.", "Please try again.", "");
|
|
||||||
Tile.updateGameState(11);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var0 == 61) {
|
|
||||||
Login.loginIndex = 7;
|
|
||||||
} else {
|
|
||||||
GrandExchangeOffer.setLoginResponseString("Unexpected server response", "Please try using a different world.", "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Tile.updateGameState(10);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,72 +1,44 @@
|
|||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedGetter;
|
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
import net.runelite.rs.ScriptOpcodes;
|
|
||||||
|
|
||||||
@ObfuscatedName("gc")
|
@ObfuscatedName("gp")
|
||||||
@Implements("AbstractByteArrayCopier")
|
@Implements("AbstractByteArrayCopier")
|
||||||
public abstract class AbstractByteArrayCopier {
|
public abstract class AbstractByteArrayCopier {
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedSignature(
|
||||||
intValue = 977117713
|
signature = "Lln;"
|
||||||
)
|
)
|
||||||
@Export("WorldMapElement_count")
|
@Export("leftTitleSprite")
|
||||||
public static int WorldMapElement_count;
|
static Sprite leftTitleSprite;
|
||||||
|
|
||||||
AbstractByteArrayCopier() {
|
AbstractByteArrayCopier() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)[B",
|
signature = "(S)[B",
|
||||||
garbageValue = "19"
|
garbageValue = "18982"
|
||||||
)
|
)
|
||||||
@Export("get")
|
@Export("get")
|
||||||
abstract byte[] get();
|
abstract byte[] get();
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BB)V",
|
signature = "([BI)V",
|
||||||
garbageValue = "-93"
|
garbageValue = "-1436271820"
|
||||||
)
|
)
|
||||||
@Export("set")
|
@Export("set")
|
||||||
abstract void set(byte[] var1);
|
public abstract void set(byte[] var1);
|
||||||
|
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("kg")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILcj;ZI)I",
|
signature = "(Lhl;B)Z",
|
||||||
garbageValue = "2005076338"
|
garbageValue = "-78"
|
||||||
)
|
)
|
||||||
static int method4093(int var0, Script var1, boolean var2) {
|
@Export("isComponentHidden")
|
||||||
Widget var3 = var2 ? class96.field1301 : ReflectionCheck.field1310;
|
static boolean isComponentHidden(Widget var0) {
|
||||||
if (var0 == ScriptOpcodes.CC_GETINVOBJECT) {
|
return var0.isHidden;
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemId;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) {
|
|
||||||
if (var3.itemId != -1) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemQuantity;
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.CC_GETID) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.childIndex;
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("kb")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(B)V",
|
|
||||||
garbageValue = "-66"
|
|
||||||
)
|
|
||||||
static final void method4092() {
|
|
||||||
Client.field825 = Client.cycleCntr;
|
|
||||||
Ignored.ClanChat_inClanChat = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,76 +4,76 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kx")
|
@ObfuscatedName("kr")
|
||||||
@Implements("AbstractFont")
|
@Implements("AbstractFont")
|
||||||
public abstract class AbstractFont extends Rasterizer2D {
|
public abstract class AbstractFont extends Rasterizer2D {
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "[Llw;"
|
signature = "[Llm;"
|
||||||
)
|
)
|
||||||
@Export("AbstractFont_modIconSprites")
|
@Export("AbstractFont_modIconSprites")
|
||||||
public static IndexedSprite[] AbstractFont_modIconSprites;
|
public static IndexedSprite[] AbstractFont_modIconSprites;
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@Export("AbstractFont_strike")
|
@Export("AbstractFont_strike")
|
||||||
static int AbstractFont_strike;
|
static int AbstractFont_strike;
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@Export("AbstractFont_underline")
|
@Export("AbstractFont_underline")
|
||||||
static int AbstractFont_underline;
|
static int AbstractFont_underline;
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
@Export("AbstractFont_previousShadow")
|
@Export("AbstractFont_previousShadow")
|
||||||
static int AbstractFont_previousShadow;
|
static int AbstractFont_previousShadow;
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
@Export("AbstractFont_shadow")
|
@Export("AbstractFont_shadow")
|
||||||
static int AbstractFont_shadow;
|
static int AbstractFont_shadow;
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("r")
|
||||||
@Export("AbstractFont_previousColor")
|
@Export("AbstractFont_previousColor")
|
||||||
static int AbstractFont_previousColor;
|
static int AbstractFont_previousColor;
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("c")
|
||||||
@Export("AbstractFont_color")
|
@Export("AbstractFont_color")
|
||||||
static int AbstractFont_color;
|
static int AbstractFont_color;
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("a")
|
||||||
@Export("AbstractFont_alpha")
|
@Export("AbstractFont_alpha")
|
||||||
static int AbstractFont_alpha;
|
static int AbstractFont_alpha;
|
||||||
@ObfuscatedName("s")
|
@ObfuscatedName("d")
|
||||||
@Export("AbstractFont_justificationTotal")
|
@Export("AbstractFont_justificationTotal")
|
||||||
static int AbstractFont_justificationTotal;
|
static int AbstractFont_justificationTotal;
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("s")
|
||||||
@Export("AbstractFont_justificationCurrent")
|
@Export("AbstractFont_justificationCurrent")
|
||||||
static int AbstractFont_justificationCurrent;
|
static int AbstractFont_justificationCurrent;
|
||||||
@ObfuscatedName("z")
|
@ObfuscatedName("t")
|
||||||
@Export("AbstractFont_random")
|
@Export("AbstractFont_random")
|
||||||
static Random AbstractFont_random;
|
static Random AbstractFont_random;
|
||||||
@ObfuscatedName("f")
|
@ObfuscatedName("m")
|
||||||
@Export("AbstractFont_lines")
|
@Export("AbstractFont_lines")
|
||||||
static String[] AbstractFont_lines;
|
static String[] AbstractFont_lines;
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("pixels")
|
@Export("pixels")
|
||||||
byte[][] pixels;
|
byte[][] pixels;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("advances")
|
@Export("advances")
|
||||||
int[] advances;
|
int[] advances;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@Export("widths")
|
@Export("widths")
|
||||||
int[] widths;
|
int[] widths;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("heights")
|
@Export("heights")
|
||||||
int[] heights;
|
int[] heights;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@Export("leftBearings")
|
@Export("leftBearings")
|
||||||
int[] leftBearings;
|
int[] leftBearings;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("topBearings")
|
@Export("topBearings")
|
||||||
int[] topBearings;
|
int[] topBearings;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("ascent")
|
@Export("ascent")
|
||||||
public int ascent;
|
public int ascent;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("maxAscent")
|
@Export("maxAscent")
|
||||||
public int maxAscent;
|
public int maxAscent;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@Export("maxDescent")
|
@Export("maxDescent")
|
||||||
public int maxDescent;
|
public int maxDescent;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@Export("kerning")
|
@Export("kerning")
|
||||||
byte[] kerning;
|
byte[] kerning;
|
||||||
|
|
||||||
@@ -123,15 +123,15 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
this.readMetrics(var1);
|
this.readMetrics(var1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("drawGlyph")
|
@Export("drawGlyph")
|
||||||
abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6);
|
abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6);
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("drawGlyphAlpha")
|
@Export("drawGlyphAlpha")
|
||||||
abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7);
|
abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7);
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("readMetrics")
|
@Export("readMetrics")
|
||||||
void readMetrics(byte[] var1) {
|
void readMetrics(byte[] var1) {
|
||||||
this.advances = new int[256];
|
this.advances = new int[256];
|
||||||
@@ -193,7 +193,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
if (var13 != 32 && var13 != 160) {
|
if (var13 != 32 && var13 != 160) {
|
||||||
for (var8 = 0; var8 < 256; ++var8) {
|
for (var8 = 0; var8 < 256; ++var8) {
|
||||||
if (var8 != 32 && var8 != 160) {
|
if (var8 != 32 && var8 != 160) {
|
||||||
this.kerning[var8 + (var13 << 8)] = (byte)method5506(var11, var12, var4, this.advances, var10, var13, var8);
|
this.kerning[var8 + (var13 << 8)] = (byte)method5442(var11, var12, var4, this.advances, var10, var13, var8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -204,17 +204,17 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@Export("charWidth")
|
@Export("charWidth")
|
||||||
int charWidth(char var1) {
|
int charWidth(char var1) {
|
||||||
if (var1 == 160) {
|
if (var1 == 160) {
|
||||||
var1 = ' ';
|
var1 = ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.advances[WorldMapData_1.charToByteCp1252(var1) & 255];
|
return this.advances[Skills.charToByteCp1252(var1) & 255];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@Export("stringWidth")
|
@Export("stringWidth")
|
||||||
public int stringWidth(String var1) {
|
public int stringWidth(String var1) {
|
||||||
if (var1 == null) {
|
if (var1 == null) {
|
||||||
@@ -238,7 +238,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
if (!var7.equals("gt")) {
|
if (!var7.equals("gt")) {
|
||||||
if (var7.startsWith("img=")) {
|
if (var7.startsWith("img=")) {
|
||||||
try {
|
try {
|
||||||
int var8 = ClientPreferences.parseInt(var7.substring(4));
|
int var8 = SoundCache.parseInt(var7.substring(4));
|
||||||
var4 += AbstractFont_modIconSprites[var8].width;
|
var4 += AbstractFont_modIconSprites[var8].width;
|
||||||
var3 = -1;
|
var3 = -1;
|
||||||
} catch (Exception var10) {
|
} catch (Exception var10) {
|
||||||
@@ -256,7 +256,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (var2 == -1) {
|
if (var2 == -1) {
|
||||||
var4 += this.advances[(char)(WorldMapData_1.charToByteCp1252(var6) & 255)];
|
var4 += this.advances[(char)(Skills.charToByteCp1252(var6) & 255)];
|
||||||
if (this.kerning != null && var3 != -1) {
|
if (this.kerning != null && var3 != -1) {
|
||||||
var4 += this.kerning[var6 + (var3 << 8)];
|
var4 += this.kerning[var6 + (var3 << 8)];
|
||||||
}
|
}
|
||||||
@@ -270,7 +270,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@Export("breakLines")
|
@Export("breakLines")
|
||||||
public int breakLines(String var1, int[] var2, String[] var3) {
|
public int breakLines(String var1, int[] var2, String[] var3) {
|
||||||
if (var1 == null) {
|
if (var1 == null) {
|
||||||
@@ -321,7 +321,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
var11 = '>';
|
var11 = '>';
|
||||||
} else if (var16.startsWith("img=")) {
|
} else if (var16.startsWith("img=")) {
|
||||||
try {
|
try {
|
||||||
int var17 = ClientPreferences.parseInt(var16.substring(4));
|
int var17 = SoundCache.parseInt(var16.substring(4));
|
||||||
var4 += AbstractFont_modIconSprites[var17].width;
|
var4 += AbstractFont_modIconSprites[var17].width;
|
||||||
var11 = 0;
|
var11 = 0;
|
||||||
} catch (Exception var20) {
|
} catch (Exception var20) {
|
||||||
@@ -375,7 +375,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@Export("lineWidth")
|
@Export("lineWidth")
|
||||||
public int lineWidth(String var1, int var2) {
|
public int lineWidth(String var1, int var2) {
|
||||||
int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
||||||
@@ -391,13 +391,13 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
return var4;
|
return var4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
@Export("lineCount")
|
@Export("lineCount")
|
||||||
public int lineCount(String var1, int var2) {
|
public int lineCount(String var1, int var2) {
|
||||||
return this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
return this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("c")
|
||||||
@Export("draw")
|
@Export("draw")
|
||||||
public void draw(String var1, int var2, int var3, int var4, int var5) {
|
public void draw(String var1, int var2, int var3, int var4, int var5) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -406,7 +406,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("s")
|
||||||
@Export("drawAlpha")
|
@Export("drawAlpha")
|
||||||
public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) {
|
public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -416,7 +416,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("t")
|
||||||
@Export("drawRightAligned")
|
@Export("drawRightAligned")
|
||||||
public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) {
|
public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -425,7 +425,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("s")
|
@ObfuscatedName("m")
|
||||||
@Export("drawCentered")
|
@Export("drawCentered")
|
||||||
public void drawCentered(String var1, int var2, int var3, int var4, int var5) {
|
public void drawCentered(String var1, int var2, int var3, int var4, int var5) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -434,7 +434,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("v")
|
||||||
@Export("drawLines")
|
@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) {
|
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) {
|
if (var1 == null) {
|
||||||
@@ -495,7 +495,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("w")
|
@ObfuscatedName("q")
|
||||||
@Export("drawCenteredWave")
|
@Export("drawCenteredWave")
|
||||||
public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) {
|
public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -510,7 +510,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("u")
|
@ObfuscatedName("l")
|
||||||
@Export("drawCenteredWave2")
|
@Export("drawCenteredWave2")
|
||||||
public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) {
|
public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -527,7 +527,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ad")
|
@ObfuscatedName("j")
|
||||||
@Export("drawCenteredShake")
|
@Export("drawCenteredShake")
|
||||||
public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -547,7 +547,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ag")
|
@ObfuscatedName("ad")
|
||||||
@Export("drawRandomAlphaAndSpacing")
|
@Export("drawRandomAlphaAndSpacing")
|
||||||
public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) {
|
public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
if (var1 != null) {
|
if (var1 != null) {
|
||||||
@@ -568,7 +568,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ak")
|
@ObfuscatedName("am")
|
||||||
@Export("reset")
|
@Export("reset")
|
||||||
void reset(int var1, int var2) {
|
void reset(int var1, int var2) {
|
||||||
AbstractFont_strike = -1;
|
AbstractFont_strike = -1;
|
||||||
@@ -582,7 +582,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
AbstractFont_justificationCurrent = 0;
|
AbstractFont_justificationCurrent = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("av")
|
@ObfuscatedName("ai")
|
||||||
@Export("decodeTag")
|
@Export("decodeTag")
|
||||||
void decodeTag(String var1) {
|
void decodeTag(String var1) {
|
||||||
try {
|
try {
|
||||||
@@ -590,13 +590,13 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
String var3;
|
String var3;
|
||||||
if (var1.startsWith("col=")) {
|
if (var1.startsWith("col=")) {
|
||||||
var3 = var1.substring(4);
|
var3 = var1.substring(4);
|
||||||
var2 = class192.parseIntCustomRadix(var3, 16, true);
|
var2 = UserComparator8.parseIntCustomRadix(var3, 16, true);
|
||||||
AbstractFont_color = var2;
|
AbstractFont_color = var2;
|
||||||
} else if (var1.equals("/col")) {
|
} else if (var1.equals("/col")) {
|
||||||
AbstractFont_color = AbstractFont_previousColor;
|
AbstractFont_color = AbstractFont_previousColor;
|
||||||
} else if (var1.startsWith("str=")) {
|
} else if (var1.startsWith("str=")) {
|
||||||
var3 = var1.substring(4);
|
var3 = var1.substring(4);
|
||||||
var2 = class192.parseIntCustomRadix(var3, 16, true);
|
var2 = UserComparator8.parseIntCustomRadix(var3, 16, true);
|
||||||
AbstractFont_strike = var2;
|
AbstractFont_strike = var2;
|
||||||
} else if (var1.equals("str")) {
|
} else if (var1.equals("str")) {
|
||||||
AbstractFont_strike = 8388608;
|
AbstractFont_strike = 8388608;
|
||||||
@@ -604,7 +604,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
AbstractFont_strike = -1;
|
AbstractFont_strike = -1;
|
||||||
} else if (var1.startsWith("u=")) {
|
} else if (var1.startsWith("u=")) {
|
||||||
var3 = var1.substring(2);
|
var3 = var1.substring(2);
|
||||||
var2 = class192.parseIntCustomRadix(var3, 16, true);
|
var2 = UserComparator8.parseIntCustomRadix(var3, 16, true);
|
||||||
AbstractFont_underline = var2;
|
AbstractFont_underline = var2;
|
||||||
} else if (var1.equals("u")) {
|
} else if (var1.equals("u")) {
|
||||||
AbstractFont_underline = 0;
|
AbstractFont_underline = 0;
|
||||||
@@ -612,7 +612,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
AbstractFont_underline = -1;
|
AbstractFont_underline = -1;
|
||||||
} else if (var1.startsWith("shad=")) {
|
} else if (var1.startsWith("shad=")) {
|
||||||
var3 = var1.substring(5);
|
var3 = var1.substring(5);
|
||||||
var2 = class192.parseIntCustomRadix(var3, 16, true);
|
var2 = UserComparator8.parseIntCustomRadix(var3, 16, true);
|
||||||
AbstractFont_shadow = var2;
|
AbstractFont_shadow = var2;
|
||||||
} else if (var1.equals("shad")) {
|
} else if (var1.equals("shad")) {
|
||||||
AbstractFont_shadow = 0;
|
AbstractFont_shadow = 0;
|
||||||
@@ -626,7 +626,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("am")
|
@ObfuscatedName("ag")
|
||||||
@Export("calculateLineJustification")
|
@Export("calculateLineJustification")
|
||||||
void calculateLineJustification(String var1, int var2) {
|
void calculateLineJustification(String var1, int var2) {
|
||||||
int var3 = 0;
|
int var3 = 0;
|
||||||
@@ -649,7 +649,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ab")
|
@ObfuscatedName("ao")
|
||||||
@Export("draw0")
|
@Export("draw0")
|
||||||
void draw0(String var1, int var2, int var3) {
|
void draw0(String var1, int var2, int var3) {
|
||||||
var3 -= this.ascent;
|
var3 -= this.ascent;
|
||||||
@@ -658,7 +658,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
for (int var6 = 0; var6 < var1.length(); ++var6) {
|
for (int var6 = 0; var6 < var1.length(); ++var6) {
|
||||||
if (var1.charAt(var6) != 0) {
|
if (var1.charAt(var6) != 0) {
|
||||||
char var7 = (char)(WorldMapData_1.charToByteCp1252(var1.charAt(var6)) & 255);
|
char var7 = (char)(Skills.charToByteCp1252(var1.charAt(var6)) & 255);
|
||||||
if (var7 == '<') {
|
if (var7 == '<') {
|
||||||
var4 = var6;
|
var4 = var6;
|
||||||
} else {
|
} else {
|
||||||
@@ -672,7 +672,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
if (!var8.equals("gt")) {
|
if (!var8.equals("gt")) {
|
||||||
if (var8.startsWith("img=")) {
|
if (var8.startsWith("img=")) {
|
||||||
try {
|
try {
|
||||||
var9 = ClientPreferences.parseInt(var8.substring(4));
|
var9 = SoundCache.parseInt(var8.substring(4));
|
||||||
IndexedSprite var10 = AbstractFont_modIconSprites[var9];
|
IndexedSprite var10 = AbstractFont_modIconSprites[var9];
|
||||||
var10.drawAt(var2, var3 + this.ascent - var10.height);
|
var10.drawAt(var2, var3 + this.ascent - var10.height);
|
||||||
var2 += var10.width;
|
var2 += var10.width;
|
||||||
@@ -738,7 +738,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ax")
|
@ObfuscatedName("aw")
|
||||||
@Export("drawWithOffsets0")
|
@Export("drawWithOffsets0")
|
||||||
void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) {
|
void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) {
|
||||||
var3 -= this.ascent;
|
var3 -= this.ascent;
|
||||||
@@ -748,7 +748,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
for (int var9 = 0; var9 < var1.length(); ++var9) {
|
for (int var9 = 0; var9 < var1.length(); ++var9) {
|
||||||
if (var1.charAt(var9) != 0) {
|
if (var1.charAt(var9) != 0) {
|
||||||
char var10 = (char)(WorldMapData_1.charToByteCp1252(var1.charAt(var9)) & 255);
|
char var10 = (char)(Skills.charToByteCp1252(var1.charAt(var9)) & 255);
|
||||||
if (var10 == '<') {
|
if (var10 == '<') {
|
||||||
var6 = var9;
|
var6 = var9;
|
||||||
} else {
|
} else {
|
||||||
@@ -777,7 +777,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
|
|
||||||
++var8;
|
++var8;
|
||||||
var14 = ClientPreferences.parseInt(var11.substring(4));
|
var14 = SoundCache.parseInt(var11.substring(4));
|
||||||
IndexedSprite var15 = AbstractFont_modIconSprites[var14];
|
IndexedSprite var15 = AbstractFont_modIconSprites[var14];
|
||||||
var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height));
|
var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height));
|
||||||
var2 += var15.width;
|
var2 += var15.width;
|
||||||
@@ -856,8 +856,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
static int method5506(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) {
|
static int method5442(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) {
|
||||||
int var7 = var2[var5];
|
int var7 = var2[var5];
|
||||||
int var8 = var7 + var4[var5];
|
int var8 = var7 + var4[var5];
|
||||||
int var9 = var2[var6];
|
int var9 = var2[var6];
|
||||||
@@ -892,7 +892,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
return -var13;
|
return -var13;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
@Export("escapeBrackets")
|
@Export("escapeBrackets")
|
||||||
public static String escapeBrackets(String var0) {
|
public static String escapeBrackets(String var0) {
|
||||||
int var1 = var0.length();
|
int var1 = var0.length();
|
||||||
@@ -921,7 +921,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
return var6.toString();
|
return var6.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("al")
|
@ObfuscatedName("ak")
|
||||||
@Export("AbstractFont_drawGlyph")
|
@Export("AbstractFont_drawGlyph")
|
||||||
static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) {
|
static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) {
|
||||||
int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
||||||
@@ -963,7 +963,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ap")
|
@ObfuscatedName("aa")
|
||||||
@Export("AbstractFont_placeGlyph")
|
@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) {
|
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);
|
int var9 = -(var5 >> 2);
|
||||||
@@ -1011,7 +1011,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("aj")
|
@ObfuscatedName("ab")
|
||||||
@Export("AbstractFont_drawGlyphAlpha")
|
@Export("AbstractFont_drawGlyphAlpha")
|
||||||
static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) {
|
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;
|
int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
||||||
@@ -1053,7 +1053,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ae")
|
@ObfuscatedName("ar")
|
||||||
@Export("AbstractFont_placeGlyphAlpha")
|
@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) {
|
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;
|
var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8;
|
||||||
|
|||||||
@@ -4,21 +4,21 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("lu")
|
@ObfuscatedName("lp")
|
||||||
@Implements("AbstractRasterProvider")
|
@Implements("AbstractRasterProvider")
|
||||||
public abstract class AbstractRasterProvider {
|
public abstract class AbstractRasterProvider {
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@Export("pixels")
|
@Export("pixels")
|
||||||
public int[] pixels;
|
public int[] pixels;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1627177537
|
intValue = 1041400109
|
||||||
)
|
)
|
||||||
@Export("width")
|
@Export("width")
|
||||||
public int width;
|
public int width;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -594636233
|
intValue = -854439651
|
||||||
)
|
)
|
||||||
@Export("height")
|
@Export("height")
|
||||||
public int height;
|
public int height;
|
||||||
@@ -26,26 +26,26 @@ public abstract class AbstractRasterProvider {
|
|||||||
protected AbstractRasterProvider() {
|
protected AbstractRasterProvider() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIB)V",
|
signature = "(IIB)V",
|
||||||
garbageValue = "3"
|
garbageValue = "0"
|
||||||
)
|
)
|
||||||
@Export("drawFull")
|
@Export("drawFull")
|
||||||
public abstract void drawFull(int var1, int var2);
|
public abstract void drawFull(int var1, int var2);
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIIII)V",
|
signature = "(IIIII)V",
|
||||||
garbageValue = "-2086134046"
|
garbageValue = "-787999204"
|
||||||
)
|
)
|
||||||
@Export("draw")
|
@Export("draw")
|
||||||
public abstract void draw(int var1, int var2, int var3, int var4);
|
public abstract void draw(int var1, int var2, int var3, int var4);
|
||||||
|
|
||||||
@ObfuscatedName("s")
|
@ObfuscatedName("t")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(S)V",
|
||||||
garbageValue = "-2129049965"
|
garbageValue = "-30907"
|
||||||
)
|
)
|
||||||
@Export("apply")
|
@Export("apply")
|
||||||
public final void apply() {
|
public final void apply() {
|
||||||
|
|||||||
@@ -4,684 +4,57 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("ku")
|
@ObfuscatedName("kn")
|
||||||
@Implements("AbstractSocket")
|
@Implements("AbstractSocket")
|
||||||
public abstract class AbstractSocket {
|
public abstract class AbstractSocket {
|
||||||
protected AbstractSocket() {
|
protected AbstractSocket() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(B)V",
|
||||||
garbageValue = "1632517280"
|
garbageValue = "-29"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
public abstract void close();
|
public abstract void close();
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "0"
|
garbageValue = "27"
|
||||||
)
|
)
|
||||||
@Export("readUnsignedByte")
|
@Export("readUnsignedByte")
|
||||||
public abstract int readUnsignedByte() throws IOException;
|
public abstract int readUnsignedByte() throws IOException;
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "-1"
|
garbageValue = "-53"
|
||||||
)
|
)
|
||||||
@Export("available")
|
@Export("available")
|
||||||
public abstract int available() throws IOException;
|
public abstract int available() throws IOException;
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(II)Z",
|
||||||
garbageValue = "1174929907"
|
garbageValue = "-1591428004"
|
||||||
)
|
)
|
||||||
@Export("isAvailable")
|
@Export("isAvailable")
|
||||||
public abstract boolean isAvailable(int var1) throws IOException;
|
public abstract boolean isAvailable(int var1) throws IOException;
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)I",
|
signature = "([BIIB)I",
|
||||||
garbageValue = "1681485484"
|
garbageValue = "29"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
public abstract int read(byte[] var1, int var2, int var3) throws IOException;
|
public abstract int read(byte[] var1, int var2, int var3) throws IOException;
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIII)V",
|
||||||
garbageValue = "1989353375"
|
garbageValue = "-543253817"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public abstract void write(byte[] var1, int var2, int var3) throws IOException;
|
public abstract void write(byte[] var1, int var2, int var3) throws IOException;
|
||||||
|
|
||||||
@ObfuscatedName("hj")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lbz;IIIIII)V",
|
|
||||||
garbageValue = "-453340900"
|
|
||||||
)
|
|
||||||
@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) {
|
|
||||||
NPCDefinition 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;
|
|
||||||
Player var10;
|
|
||||||
if (var1 < var75 && var0.playerCycle == Client.cycle) {
|
|
||||||
var10 = (Player)var0;
|
|
||||||
boolean var9;
|
|
||||||
if (Client.drawPlayerNames == 0) {
|
|
||||||
var9 = false;
|
|
||||||
} else {
|
|
||||||
boolean var77;
|
|
||||||
if (var10 != class215.localPlayer) {
|
|
||||||
var77 = (Client.drawPlayerNames & 4) != 0;
|
|
||||||
boolean var78 = var77;
|
|
||||||
boolean var13;
|
|
||||||
if (!var77) {
|
|
||||||
var13 = (Client.drawPlayerNames & 1) != 0;
|
|
||||||
var78 = var13 && var10.isFriend();
|
|
||||||
}
|
|
||||||
|
|
||||||
var13 = var78;
|
|
||||||
if (!var78) {
|
|
||||||
boolean var79 = (Client.drawPlayerNames & 2) != 0;
|
|
||||||
var13 = var79 && var10.isClanMember();
|
|
||||||
}
|
|
||||||
|
|
||||||
var9 = var13;
|
|
||||||
} else {
|
|
||||||
var77 = (Client.drawPlayerNames & 8) != 0;
|
|
||||||
var9 = var77;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9) {
|
|
||||||
Player var11 = (Player)var0;
|
|
||||||
if (var1 < var75) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
AbstractFont var12 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12);
|
|
||||||
byte var92 = 9;
|
|
||||||
var12.drawCentered(var11.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var92, 16777215, 0);
|
|
||||||
var8 = 18;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int var87 = -2;
|
|
||||||
int var15;
|
|
||||||
int var22;
|
|
||||||
int var23;
|
|
||||||
if (!var0.healthBars.method5004()) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
|
|
||||||
for (HealthBar var88 = (HealthBar)var0.healthBars.last(); var88 != null; var88 = (HealthBar)var0.healthBars.previous()) {
|
|
||||||
HealthBarUpdate var89 = var88.get(Client.cycle);
|
|
||||||
if (var89 == null) {
|
|
||||||
if (var88.isEmpty()) {
|
|
||||||
var88.remove();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
HealthBarDefinition var91 = var88.definition;
|
|
||||||
Sprite var76 = var91.getBackSprite();
|
|
||||||
Sprite var14 = var91.getFrontSprite();
|
|
||||||
int var16 = 0;
|
|
||||||
if (var76 != null && var14 != null) {
|
|
||||||
if (var91.widthPadding * 2 < var14.subWidth) {
|
|
||||||
var16 = var91.widthPadding;
|
|
||||||
}
|
|
||||||
|
|
||||||
var15 = var14.subWidth - var16 * 2;
|
|
||||||
} else {
|
|
||||||
var15 = var91.width;
|
|
||||||
}
|
|
||||||
|
|
||||||
int var17 = 255;
|
|
||||||
boolean var18 = true;
|
|
||||||
int var19 = Client.cycle - var89.cycle;
|
|
||||||
int var20 = var15 * var89.health2 / var91.width;
|
|
||||||
int var21;
|
|
||||||
int var93;
|
|
||||||
if (var89.cycleOffset > var19) {
|
|
||||||
var21 = var91.int4 == 0 ? 0 : var91.int4 * (var19 / var91.int4);
|
|
||||||
var22 = var15 * var89.health / var91.width;
|
|
||||||
var93 = var21 * (var20 - var22) / var89.cycleOffset + var22;
|
|
||||||
} else {
|
|
||||||
var93 = var20;
|
|
||||||
var21 = var89.cycleOffset + var91.int5 - var19;
|
|
||||||
if (var91.int3 >= 0) {
|
|
||||||
var17 = (var21 << 8) / (var91.int5 - var91.int3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var89.health2 > 0 && var93 < 1) {
|
|
||||||
var93 = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var76 != null && var14 != null) {
|
|
||||||
if (var93 == var15) {
|
|
||||||
var93 += var16 * 2;
|
|
||||||
} else {
|
|
||||||
var93 += var16;
|
|
||||||
}
|
|
||||||
|
|
||||||
var21 = var76.subHeight;
|
|
||||||
var87 += var21;
|
|
||||||
var22 = var2 + Client.viewportTempX - (var15 >> 1);
|
|
||||||
var23 = var3 + Client.viewportTempY - var87;
|
|
||||||
var22 -= var16;
|
|
||||||
if (var17 >= 0 && var17 < 255) {
|
|
||||||
var76.drawTransAt(var22, var23, var17);
|
|
||||||
Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var23 + var21);
|
|
||||||
var14.drawTransAt(var22, var23, var17);
|
|
||||||
} else {
|
|
||||||
var76.drawTransBgAt(var22, var23);
|
|
||||||
Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var22 + var93, var21 + var23);
|
|
||||||
var14.drawTransBgAt(var22, var23);
|
|
||||||
}
|
|
||||||
|
|
||||||
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5);
|
|
||||||
var87 += 2;
|
|
||||||
} else {
|
|
||||||
var87 += 5;
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
var21 = var2 + Client.viewportTempX - (var15 >> 1);
|
|
||||||
var22 = var3 + Client.viewportTempY - var87;
|
|
||||||
Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var93, 5, 65280);
|
|
||||||
Rasterizer2D.Rasterizer2D_fillRectangle(var93 + var21, var22, var15 - var93, 5, 16711680);
|
|
||||||
}
|
|
||||||
|
|
||||||
var87 += 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var87 == -2) {
|
|
||||||
var87 += 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
var87 += var8;
|
|
||||||
if (var1 < var75) {
|
|
||||||
var10 = (Player)var0;
|
|
||||||
if (var10.isHidden) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var10.headIconPk != -1 || var10.headIconPrayer != -1) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
if (var10.headIconPk != -1) {
|
|
||||||
var87 += 25;
|
|
||||||
FriendLoginUpdate.headIconPkSprites[var10.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var10.headIconPrayer != -1) {
|
|
||||||
var87 += 25;
|
|
||||||
Login.headIconPrayerSprites[var10.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
var87 += class14.headIconHintSprites[1].subHeight;
|
|
||||||
class14.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
NPCDefinition var90 = ((NPC)var0).definition;
|
|
||||||
if (var90.transforms != null) {
|
|
||||||
var90 = var90.transform();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var90.headIconPrayer >= 0 && var90.headIconPrayer < Login.headIconPrayerSprites.length) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
Login.headIconPrayerSprites[var90.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight + 15);
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
class14.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var0.overheadText != null && (var1 >= var75 || !var0.field939 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight);
|
|
||||||
if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) {
|
|
||||||
Client.overheadTextXOffsets[Client.overheadTextCount] = class43.fontBold12.stringWidth(var0.overheadText) / 2;
|
|
||||||
Client.overheadTextAscents[Client.overheadTextCount] = class43.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 var80 = 0; var80 < 4; ++var80) {
|
|
||||||
int var96 = var0.hitSplatCycles[var80];
|
|
||||||
int var97 = var0.hitSplatTypes[var80];
|
|
||||||
HitSplatDefinition var95 = null;
|
|
||||||
int var98 = 0;
|
|
||||||
if (var97 >= 0) {
|
|
||||||
if (var96 <= Client.cycle) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var95 = NetFileRequest.method4298(var0.hitSplatTypes[var80]);
|
|
||||||
var98 = var95.field3314;
|
|
||||||
if (var95 != null && var95.transforms != null) {
|
|
||||||
var95 = var95.transform();
|
|
||||||
if (var95 == null) {
|
|
||||||
var0.hitSplatCycles[var80] = -1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (var96 < 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var15 = var0.hitSplatTypes2[var80];
|
|
||||||
HitSplatDefinition var81 = null;
|
|
||||||
if (var15 >= 0) {
|
|
||||||
var81 = NetFileRequest.method4298(var15);
|
|
||||||
if (var81 != null && var81.transforms != null) {
|
|
||||||
var81 = var81.transform();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var96 - var98 <= Client.cycle) {
|
|
||||||
if (var95 == null) {
|
|
||||||
var0.hitSplatCycles[var80] = -1;
|
|
||||||
} else {
|
|
||||||
Entity.getActorScreenLocation(var0, var0.defaultHeight / 2);
|
|
||||||
if (Client.viewportTempX > -1) {
|
|
||||||
if (var80 == 1) {
|
|
||||||
Client.viewportTempY -= 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var80 == 2) {
|
|
||||||
Client.viewportTempX -= 15;
|
|
||||||
Client.viewportTempY -= 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var80 == 3) {
|
|
||||||
Client.viewportTempX += 15;
|
|
||||||
Client.viewportTempY -= 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
Sprite var82 = null;
|
|
||||||
Sprite var83 = null;
|
|
||||||
Sprite var84 = null;
|
|
||||||
Sprite var85 = null;
|
|
||||||
var22 = 0;
|
|
||||||
var23 = 0;
|
|
||||||
int var24 = 0;
|
|
||||||
int var25 = 0;
|
|
||||||
int var26 = 0;
|
|
||||||
int var27 = 0;
|
|
||||||
int var28 = 0;
|
|
||||||
int var29 = 0;
|
|
||||||
Sprite var30 = null;
|
|
||||||
Sprite var31 = null;
|
|
||||||
Sprite var32 = null;
|
|
||||||
Sprite 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;
|
|
||||||
var82 = var95.method4719();
|
|
||||||
int var43;
|
|
||||||
if (var82 != null) {
|
|
||||||
var22 = var82.subWidth;
|
|
||||||
var43 = var82.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var26 = var82.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var83 = var95.method4709();
|
|
||||||
if (var83 != null) {
|
|
||||||
var23 = var83.subWidth;
|
|
||||||
var43 = var83.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var27 = var83.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var84 = var95.method4710();
|
|
||||||
if (var84 != null) {
|
|
||||||
var24 = var84.subWidth;
|
|
||||||
var43 = var84.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var28 = var84.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var85 = var95.method4731();
|
|
||||||
if (var85 != null) {
|
|
||||||
var25 = var85.subWidth;
|
|
||||||
var43 = var85.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var29 = var85.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var81 != null) {
|
|
||||||
var30 = var81.method4719();
|
|
||||||
if (var30 != null) {
|
|
||||||
var34 = var30.subWidth;
|
|
||||||
var43 = var30.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var38 = var30.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var31 = var81.method4709();
|
|
||||||
if (var31 != null) {
|
|
||||||
var35 = var31.subWidth;
|
|
||||||
var43 = var31.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var39 = var31.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var32 = var81.method4710();
|
|
||||||
if (var32 != null) {
|
|
||||||
var36 = var32.subWidth;
|
|
||||||
var43 = var32.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var40 = var32.xOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
var33 = var81.method4731();
|
|
||||||
if (var33 != null) {
|
|
||||||
var37 = var33.subWidth;
|
|
||||||
var43 = var33.subHeight;
|
|
||||||
if (var43 > var42) {
|
|
||||||
var42 = var43;
|
|
||||||
}
|
|
||||||
|
|
||||||
var41 = var33.xOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Font var86 = var95.getFont();
|
|
||||||
if (var86 == null) {
|
|
||||||
var86 = class51.fontPlain11;
|
|
||||||
}
|
|
||||||
|
|
||||||
Font var44;
|
|
||||||
if (var81 != null) {
|
|
||||||
var44 = var81.getFont();
|
|
||||||
if (var44 == null) {
|
|
||||||
var44 = class51.fontPlain11;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var44 = class51.fontPlain11;
|
|
||||||
}
|
|
||||||
|
|
||||||
String var45 = null;
|
|
||||||
String var46 = null;
|
|
||||||
boolean var47 = false;
|
|
||||||
int var48 = 0;
|
|
||||||
var45 = var95.getString(var0.hitSplatValues[var80]);
|
|
||||||
int var94 = var86.stringWidth(var45);
|
|
||||||
if (var81 != null) {
|
|
||||||
var46 = var81.getString(var0.hitSplatValues2[var80]);
|
|
||||||
var48 = var44.stringWidth(var46);
|
|
||||||
}
|
|
||||||
|
|
||||||
int var49 = 0;
|
|
||||||
int var50 = 0;
|
|
||||||
if (var23 > 0) {
|
|
||||||
if (var84 == null && var85 == null) {
|
|
||||||
var49 = 1;
|
|
||||||
} else {
|
|
||||||
var49 = var94 / var23 + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var81 != 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 = var49 * var23;
|
|
||||||
var51 += var56;
|
|
||||||
var55 += (var56 - var94) / 2;
|
|
||||||
} else {
|
|
||||||
var51 += var94;
|
|
||||||
}
|
|
||||||
|
|
||||||
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 (var81 != 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 = var35 * var50;
|
|
||||||
var51 += var62;
|
|
||||||
var61 += (var62 - var48) / 2;
|
|
||||||
} else {
|
|
||||||
var51 += var48;
|
|
||||||
}
|
|
||||||
|
|
||||||
var60 = var51;
|
|
||||||
if (var37 > 0) {
|
|
||||||
var51 += var37;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var62 = var0.hitSplatCycles[var80] - Client.cycle;
|
|
||||||
int var63 = var95.field3329 - var62 * var95.field3329 / var95.field3314;
|
|
||||||
int var64 = var62 * var95.field3315 / var95.field3314 + -var95.field3315;
|
|
||||||
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 + var95.field3330 + 15;
|
|
||||||
int var70 = var69 - var86.maxAscent;
|
|
||||||
int var71 = var69 + var86.maxDescent;
|
|
||||||
if (var70 < var66) {
|
|
||||||
var67 = var70;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var71 > var68) {
|
|
||||||
var68 = var71;
|
|
||||||
}
|
|
||||||
|
|
||||||
int var72 = 0;
|
|
||||||
int var73;
|
|
||||||
int var74;
|
|
||||||
if (var81 != null) {
|
|
||||||
var72 = var66 + var81.field3330 + 15;
|
|
||||||
var73 = var72 - var44.maxAscent;
|
|
||||||
var74 = var72 + var44.maxDescent;
|
|
||||||
if (var73 < var67) {
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var74 > var68) {
|
|
||||||
;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var73 = 255;
|
|
||||||
if (var95.field3327 >= 0) {
|
|
||||||
var73 = (var62 << 8) / (var95.field3314 - var95.field3327);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var73 >= 0 && var73 < 255) {
|
|
||||||
if (var82 != null) {
|
|
||||||
var82.drawTransAt(var52 + var65 - var26, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var84 != null) {
|
|
||||||
var84.drawTransAt(var65 + var53 - var28, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var83 != null) {
|
|
||||||
for (var74 = 0; var74 < var49; ++var74) {
|
|
||||||
var83.drawTransAt(var74 * var23 + (var65 + var54 - var27), var66, var73);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var85 != null) {
|
|
||||||
var85.drawTransAt(var65 + var56 - var29, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
var86.drawAlpha(var45, var55 + var65, var69, var95.textColor, 0, var73);
|
|
||||||
if (var81 != null) {
|
|
||||||
if (var30 != null) {
|
|
||||||
var30.drawTransAt(var65 + var57 - var38, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var32 != null) {
|
|
||||||
var32.drawTransAt(var65 + var58 - var40, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var31 != null) {
|
|
||||||
for (var74 = 0; var74 < var50; ++var74) {
|
|
||||||
var31.drawTransAt(var35 * var74 + (var65 + var59 - var39), var66, var73);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var33 != null) {
|
|
||||||
var33.drawTransAt(var60 + var65 - var41, var66, var73);
|
|
||||||
}
|
|
||||||
|
|
||||||
var44.drawAlpha(var46, var65 + var61, var72, var81.textColor, 0, var73);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (var82 != null) {
|
|
||||||
var82.drawTransBgAt(var65 + var52 - var26, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var84 != null) {
|
|
||||||
var84.drawTransBgAt(var65 + var53 - var28, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var83 != null) {
|
|
||||||
for (var74 = 0; var74 < var49; ++var74) {
|
|
||||||
var83.drawTransBgAt(var23 * var74 + (var65 + var54 - var27), var66);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var85 != null) {
|
|
||||||
var85.drawTransBgAt(var65 + var56 - var29, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
var86.draw(var45, var55 + var65, var69, var95.textColor | -16777216, 0);
|
|
||||||
if (var81 != null) {
|
|
||||||
if (var30 != null) {
|
|
||||||
var30.drawTransBgAt(var57 + var65 - var38, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var32 != null) {
|
|
||||||
var32.drawTransBgAt(var58 + var65 - var40, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var31 != null) {
|
|
||||||
for (var74 = 0; var74 < var50; ++var74) {
|
|
||||||
var31.drawTransBgAt(var74 * var35 + (var65 + var59 - var39), var66);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var33 != null) {
|
|
||||||
var33.drawTransBgAt(var60 + var65 - var41, var66);
|
|
||||||
}
|
|
||||||
|
|
||||||
var44.draw(var46, var65 + var61, var72, var81.textColor | -16777216, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import net.runelite.mapping.Export;
|
|||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
|
|
||||||
@ObfuscatedName("dg")
|
@ObfuscatedName("dl")
|
||||||
@Implements("AbstractSound")
|
@Implements("AbstractSound")
|
||||||
public abstract class AbstractSound extends Node {
|
public abstract class AbstractSound extends Node {
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("position")
|
@Export("position")
|
||||||
int position;
|
int position;
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,23 @@
|
|||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedGetter;
|
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("jr")
|
@ObfuscatedName("jq")
|
||||||
@Implements("AbstractUserComparator")
|
@Implements("AbstractUserComparator")
|
||||||
public abstract class AbstractUserComparator implements Comparator {
|
public abstract class AbstractUserComparator implements Comparator {
|
||||||
@ObfuscatedName("rb")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = -1217958016
|
|
||||||
)
|
|
||||||
static int field3583;
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@Export("nextComparator")
|
@Export("nextComparator")
|
||||||
Comparator nextComparator;
|
Comparator nextComparator;
|
||||||
|
|
||||||
protected AbstractUserComparator() {
|
protected AbstractUserComparator() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/util/Comparator;B)V",
|
signature = "(Ljava/util/Comparator;I)V",
|
||||||
garbageValue = "115"
|
garbageValue = "314545919"
|
||||||
)
|
)
|
||||||
@Export("addComparator")
|
@Export("addComparator")
|
||||||
final void addComparator(Comparator var1) {
|
final void addComparator(Comparator var1) {
|
||||||
@@ -35,10 +29,10 @@ public abstract class AbstractUserComparator implements Comparator {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljg;Ljg;B)I",
|
signature = "(Ljr;Ljr;B)I",
|
||||||
garbageValue = "124"
|
garbageValue = "14"
|
||||||
)
|
)
|
||||||
@Export("compareUser")
|
@Export("compareUser")
|
||||||
protected final int compareUser(User var1, User var2) {
|
protected final int compareUser(User var1, User var2) {
|
||||||
|
|||||||
@@ -5,114 +5,114 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("f")
|
@ObfuscatedName("m")
|
||||||
@Implements("AbstractWorldMapData")
|
@Implements("AbstractWorldMapData")
|
||||||
public abstract class AbstractWorldMapData {
|
public abstract class AbstractWorldMapData {
|
||||||
@ObfuscatedName("ae")
|
@ObfuscatedName("dl")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Llu;"
|
signature = "Lij;"
|
||||||
)
|
)
|
||||||
@Export("rasterProvider")
|
@Export("archive6")
|
||||||
public static AbstractRasterProvider rasterProvider;
|
static Archive archive6;
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1032040448
|
intValue = 111975616
|
||||||
)
|
)
|
||||||
@Export("regionXLow")
|
@Export("regionXLow")
|
||||||
int regionXLow;
|
int regionXLow;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 2012131328
|
intValue = 1782706176
|
||||||
)
|
)
|
||||||
@Export("regionYLow")
|
@Export("regionYLow")
|
||||||
int regionYLow;
|
int regionYLow;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1049638377
|
intValue = -577212613
|
||||||
)
|
)
|
||||||
@Export("regionX")
|
@Export("regionX")
|
||||||
int regionX;
|
int regionX;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 548799015
|
intValue = -248705921
|
||||||
)
|
)
|
||||||
@Export("regionY")
|
@Export("regionY")
|
||||||
int regionY;
|
int regionY;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 974666319
|
intValue = 1296595709
|
||||||
)
|
)
|
||||||
@Export("minPlane")
|
@Export("minPlane")
|
||||||
int minPlane;
|
int minPlane;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1744389767
|
intValue = 380384989
|
||||||
)
|
)
|
||||||
@Export("planes")
|
@Export("planes")
|
||||||
int planes;
|
int planes;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1592799997
|
intValue = -1445814981
|
||||||
)
|
)
|
||||||
@Export("groupId")
|
@Export("groupId")
|
||||||
int groupId;
|
int groupId;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1573333695
|
intValue = 1373242491
|
||||||
)
|
)
|
||||||
@Export("fileId")
|
@Export("fileId")
|
||||||
int fileId;
|
int fileId;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@Export("floorUnderlayIds")
|
@Export("floorUnderlayIds")
|
||||||
short[][][] floorUnderlayIds;
|
short[][][] floorUnderlayIds;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@Export("floorOverlayIds")
|
@Export("floorOverlayIds")
|
||||||
short[][][] floorOverlayIds;
|
short[][][] floorOverlayIds;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
byte[][][] field161;
|
byte[][][] field166;
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
byte[][][] field157;
|
byte[][][] field160;
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "[[[[Ly;"
|
signature = "[[[[Lj;"
|
||||||
)
|
)
|
||||||
@Export("decorations")
|
@Export("decorations")
|
||||||
WorldMapDecoration[][][][] decorations;
|
WorldMapDecoration[][][][] decorations;
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
boolean field159;
|
boolean field169;
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
boolean field151;
|
boolean field167;
|
||||||
|
|
||||||
AbstractWorldMapData() {
|
AbstractWorldMapData() {
|
||||||
this.groupId = -1;
|
this.groupId = -1;
|
||||||
this.fileId = -1;
|
this.fileId = -1;
|
||||||
new LinkedList();
|
new LinkedList();
|
||||||
this.field159 = false;
|
this.field169 = false;
|
||||||
this.field151 = false;
|
this.field167 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lkc;I)V",
|
signature = "(Lkg;B)V",
|
||||||
garbageValue = "1045041620"
|
garbageValue = "35"
|
||||||
)
|
)
|
||||||
@Export("readGeography")
|
@Export("readGeography")
|
||||||
abstract void readGeography(Buffer var1);
|
abstract void readGeography(Buffer var1);
|
||||||
|
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "-992891082"
|
garbageValue = "-1722967008"
|
||||||
)
|
)
|
||||||
@Export("isFullyLoaded")
|
@Export("isFullyLoaded")
|
||||||
boolean isFullyLoaded() {
|
boolean isFullyLoaded() {
|
||||||
return this.field159 && this.field151;
|
return this.field169 && this.field167;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lhq;I)V",
|
signature = "(Lhf;I)V",
|
||||||
garbageValue = "126023316"
|
garbageValue = "222528841"
|
||||||
)
|
)
|
||||||
@Export("loadGeography")
|
@Export("loadGeography")
|
||||||
void loadGeography(AbstractArchive var1) {
|
void loadGeography(AbstractArchive var1) {
|
||||||
@@ -120,53 +120,53 @@ public abstract class AbstractWorldMapData {
|
|||||||
byte[] var2 = var1.takeFile(this.groupId, this.fileId);
|
byte[] var2 = var1.takeFile(this.groupId, this.fileId);
|
||||||
if (var2 != null) {
|
if (var2 != null) {
|
||||||
this.readGeography(new Buffer(var2));
|
this.readGeography(new Buffer(var2));
|
||||||
this.field159 = true;
|
this.field169 = true;
|
||||||
this.field151 = true;
|
this.field167 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(I)V",
|
||||||
garbageValue = "124"
|
garbageValue = "1687680184"
|
||||||
)
|
)
|
||||||
@Export("reset")
|
@Export("reset")
|
||||||
void reset() {
|
void reset() {
|
||||||
this.floorUnderlayIds = null;
|
this.floorUnderlayIds = null;
|
||||||
this.floorOverlayIds = null;
|
this.floorOverlayIds = null;
|
||||||
this.field161 = null;
|
this.field166 = null;
|
||||||
this.field157 = null;
|
this.field160 = null;
|
||||||
this.decorations = null;
|
this.decorations = null;
|
||||||
this.field159 = false;
|
this.field169 = false;
|
||||||
this.field151 = false;
|
this.field167 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IILkc;I)V",
|
signature = "(IILkg;B)V",
|
||||||
garbageValue = "-2099963410"
|
garbageValue = "3"
|
||||||
)
|
)
|
||||||
@Export("readTile")
|
@Export("readTile")
|
||||||
void readTile(int var1, int var2, Buffer var3) {
|
void readTile(int var1, int var2, Buffer var3) {
|
||||||
int var4 = var3.readUnsignedByte();
|
int var4 = var3.readUnsignedByte();
|
||||||
if (var4 != 0) {
|
if (var4 != 0) {
|
||||||
if ((var4 & 1) != 0) {
|
if ((var4 & 1) != 0) {
|
||||||
this.method320(var1, var2, var3, var4);
|
this.method278(var1, var2, var3, var4);
|
||||||
} else {
|
} else {
|
||||||
this.method302(var1, var2, var3, var4);
|
this.method279(var1, var2, var3, var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IILkc;IB)V",
|
signature = "(IILkg;IB)V",
|
||||||
garbageValue = "-1"
|
garbageValue = "92"
|
||||||
)
|
)
|
||||||
void method320(int var1, int var2, Buffer var3, int var4) {
|
void method278(int var1, int var2, Buffer var3, int var4) {
|
||||||
boolean var5 = (var4 & 2) != 0;
|
boolean var5 = (var4 & 2) != 0;
|
||||||
if (var5) {
|
if (var5) {
|
||||||
this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte();
|
this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte();
|
||||||
@@ -177,10 +177,10 @@ public abstract class AbstractWorldMapData {
|
|||||||
|
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("k")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IILkc;IB)V",
|
signature = "(IILkg;II)V",
|
||||||
garbageValue = "0"
|
garbageValue = "1096070019"
|
||||||
)
|
)
|
||||||
void method302(int var1, int var2, Buffer var3, int var4) {
|
void method279(int var1, int var2, Buffer var3, int var4) {
|
||||||
int var5 = ((var4 & 24) >> 3) + 1;
|
int var5 = ((var4 & 24) >> 3) + 1;
|
||||||
boolean var6 = (var4 & 2) != 0;
|
boolean var6 = (var4 & 2) != 0;
|
||||||
boolean var7 = (var4 & 4) != 0;
|
boolean var7 = (var4 & 4) != 0;
|
||||||
@@ -196,8 +196,8 @@ public abstract class AbstractWorldMapData {
|
|||||||
if (var10 != 0) {
|
if (var10 != 0) {
|
||||||
this.floorOverlayIds[var9][var1][var2] = (short)var10;
|
this.floorOverlayIds[var9][var1][var2] = (short)var10;
|
||||||
var11 = var3.readUnsignedByte();
|
var11 = var3.readUnsignedByte();
|
||||||
this.field161[var9][var1][var2] = (byte)(var11 >> 2);
|
this.field166[var9][var1][var2] = (byte)(var11 >> 2);
|
||||||
this.field157[var9][var1][var2] = (byte)(var11 & 3);
|
this.field160[var9][var1][var2] = (byte)(var11 & 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -209,7 +209,7 @@ public abstract class AbstractWorldMapData {
|
|||||||
WorldMapDecoration[] var14 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9];
|
WorldMapDecoration[] var14 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9];
|
||||||
|
|
||||||
for (var11 = 0; var11 < var9; ++var11) {
|
for (var11 = 0; var11 < var9; ++var11) {
|
||||||
int var12 = var3.method5638();
|
int var12 = var3.method5618();
|
||||||
int var13 = var3.readUnsignedByte();
|
int var13 = var3.readUnsignedByte();
|
||||||
var14[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3);
|
var14[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3);
|
||||||
}
|
}
|
||||||
@@ -221,158 +221,54 @@ public abstract class AbstractWorldMapData {
|
|||||||
|
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("x")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(I)I",
|
||||||
garbageValue = "80"
|
garbageValue = "1505128614"
|
||||||
)
|
)
|
||||||
@Export("getRegionX")
|
@Export("getRegionX")
|
||||||
int getRegionX() {
|
int getRegionX() {
|
||||||
return this.regionX;
|
return this.regionX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "84"
|
garbageValue = "-8"
|
||||||
)
|
)
|
||||||
@Export("getRegionY")
|
@Export("getRegionY")
|
||||||
int getRegionY() {
|
int getRegionY() {
|
||||||
return this.regionY;
|
return this.regionY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/CharSequence;I)Z",
|
signature = "(Ljava/lang/CharSequence;I)I",
|
||||||
garbageValue = "403966383"
|
garbageValue = "493677830"
|
||||||
)
|
)
|
||||||
@Export("isNumber")
|
public static int method284(CharSequence var0) {
|
||||||
public static boolean isNumber(CharSequence var0) {
|
int var1 = var0.length();
|
||||||
boolean var2 = false;
|
int var2 = 0;
|
||||||
boolean var3 = false;
|
|
||||||
int var4 = 0;
|
|
||||||
int var5 = var0.length();
|
|
||||||
int var6 = 0;
|
|
||||||
|
|
||||||
boolean var1;
|
for (int var3 = 0; var3 < var1; ++var3) {
|
||||||
while (true) {
|
char var4 = var0.charAt(var3);
|
||||||
if (var6 >= var5) {
|
if (var4 <= 127) {
|
||||||
var1 = var3;
|
++var2;
|
||||||
break;
|
} else if (var4 <= 2047) {
|
||||||
}
|
var2 += 2;
|
||||||
|
|
||||||
label81: {
|
|
||||||
char var7 = var0.charAt(var6);
|
|
||||||
if (var6 == 0) {
|
|
||||||
if (var7 == '-') {
|
|
||||||
var2 = true;
|
|
||||||
break label81;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var7 == '+') {
|
|
||||||
break label81;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int var9;
|
|
||||||
if (var7 >= '0' && var7 <= '9') {
|
|
||||||
var9 = var7 - '0';
|
|
||||||
} else if (var7 >= 'A' && var7 <= 'Z') {
|
|
||||||
var9 = var7 - '7';
|
|
||||||
} else {
|
} else {
|
||||||
if (var7 < 'a' || var7 > 'z') {
|
var2 += 3;
|
||||||
var1 = false;
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var9 = var7 - 'W';
|
return var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var9 >= 10) {
|
@ObfuscatedName("w")
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(CI)Z",
|
||||||
garbageValue = "693586906"
|
garbageValue = "-858513722"
|
||||||
)
|
)
|
||||||
public static boolean method327(int var0) {
|
@Export("isDigit")
|
||||||
return (var0 >> 21 & 1) != 0;
|
public static boolean isDigit(char var0) {
|
||||||
}
|
return var0 >= '0' && var0 <= '9';
|
||||||
|
|
||||||
@ObfuscatedName("hp")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(ZLkf;I)V",
|
|
||||||
garbageValue = "1158282077"
|
|
||||||
)
|
|
||||||
@Export("updateNpcs")
|
|
||||||
static final void updateNpcs(boolean var0, PacketBuffer var1) {
|
|
||||||
Client.field752 = 0;
|
|
||||||
Client.field676 = 0;
|
|
||||||
class30.method606();
|
|
||||||
WorldMapManager.method710(var0, var1);
|
|
||||||
class160.method3586(var1);
|
|
||||||
|
|
||||||
int var2;
|
|
||||||
for (var2 = 0; var2 < Client.field752; ++var2) {
|
|
||||||
int var3 = Client.field870[var2];
|
|
||||||
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 (var2 = 0; var2 < Client.npcCount; ++var2) {
|
|
||||||
if (Client.npcs[Client.npcIndices[var2]] == null) {
|
|
||||||
throw new RuntimeException(var2 + "," + Client.npcCount);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("kw")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(III)V",
|
|
||||||
garbageValue = "2048365157"
|
|
||||||
)
|
|
||||||
static void method325(int var0, int var1) {
|
|
||||||
MenuAction var2 = StudioGame.tempMenuAction;
|
|
||||||
GrandExchangeOfferOwnWorldComparator.menuAction(var2.param0, var2.param1, var2.opcode, var2.identifier, var2.action, var2.action, var0, var1);
|
|
||||||
StudioGame.tempMenuAction = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("kx")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(II)V",
|
|
||||||
garbageValue = "871169152"
|
|
||||||
)
|
|
||||||
static final void method326(int var0) {
|
|
||||||
if (TextureProvider.loadInterface(var0)) {
|
|
||||||
HealthBarDefinition.drawModelComponents(Widget.Widget_interfaceComponents[var0], -1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,91 +3,102 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
import net.runelite.rs.ScriptOpcodes;
|
||||||
|
|
||||||
@ObfuscatedName("am")
|
@ObfuscatedName("aa")
|
||||||
@Implements("AbstractWorldMapIcon")
|
@Implements("AbstractWorldMapIcon")
|
||||||
public abstract class AbstractWorldMapIcon {
|
public abstract class AbstractWorldMapIcon {
|
||||||
@ObfuscatedName("qa")
|
@ObfuscatedName("qk")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedGetter(
|
||||||
signature = "Ldo;"
|
intValue = 1263704437
|
||||||
)
|
)
|
||||||
@Export("decimator")
|
static int field299;
|
||||||
static Decimator decimator;
|
@ObfuscatedName("as")
|
||||||
@ObfuscatedName("dz")
|
@Export("client")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "Lclient;"
|
||||||
|
)
|
||||||
|
static Client client;
|
||||||
|
@ObfuscatedName("ey")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lij;"
|
signature = "Lij;"
|
||||||
)
|
)
|
||||||
@Export("archive2")
|
@Export("archive17")
|
||||||
static Archive archive2;
|
static Archive archive17;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("ef")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 821874025
|
||||||
|
)
|
||||||
|
static int field292;
|
||||||
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lhf;"
|
signature = "Lhx;"
|
||||||
)
|
)
|
||||||
@Export("coord2")
|
@Export("coord2")
|
||||||
public final Coord coord2;
|
public final Coord coord2;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lhf;"
|
signature = "Lhx;"
|
||||||
)
|
)
|
||||||
@Export("coord1")
|
@Export("coord1")
|
||||||
public final Coord coord1;
|
public final Coord coord1;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 2101295301
|
intValue = 148025221
|
||||||
)
|
)
|
||||||
@Export("screenX")
|
@Export("screenX")
|
||||||
int screenX;
|
int screenX;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1809390745
|
intValue = 316665889
|
||||||
)
|
)
|
||||||
@Export("screenY")
|
@Export("screenY")
|
||||||
int screenY;
|
int screenY;
|
||||||
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lhf;Lhf;)V"
|
signature = "(Lhx;Lhx;)V"
|
||||||
)
|
)
|
||||||
AbstractWorldMapIcon(Coord var1, Coord var2) {
|
AbstractWorldMapIcon(Coord var1, Coord var2) {
|
||||||
this.coord1 = var1;
|
this.coord1 = var1;
|
||||||
this.coord2 = var2;
|
this.coord2 = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(I)I",
|
||||||
garbageValue = "-1878632225"
|
garbageValue = "-871583687"
|
||||||
)
|
)
|
||||||
@Export("getElement")
|
@Export("getElement")
|
||||||
public abstract int getElement();
|
public abstract int getElement();
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Lar;",
|
signature = "(I)Lam;",
|
||||||
garbageValue = "-77909992"
|
garbageValue = "969160497"
|
||||||
)
|
)
|
||||||
@Export("getLabel")
|
@Export("getLabel")
|
||||||
abstract WorldMapLabel getLabel();
|
abstract WorldMapLabel getLabel();
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(I)I",
|
||||||
garbageValue = "60677286"
|
garbageValue = "-55298135"
|
||||||
)
|
)
|
||||||
@Export("getSubWidth")
|
@Export("getSubWidth")
|
||||||
abstract int getSubWidth();
|
abstract int getSubWidth();
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "-92"
|
garbageValue = "-51"
|
||||||
)
|
)
|
||||||
@Export("getSubHeight")
|
@Export("getSubHeight")
|
||||||
abstract int getSubHeight();
|
abstract int getSubHeight();
|
||||||
|
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("c")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)Z",
|
signature = "(IIB)Z",
|
||||||
garbageValue = "1408503186"
|
garbageValue = "34"
|
||||||
)
|
)
|
||||||
@Export("fitsScreen")
|
@Export("fitsScreen")
|
||||||
boolean fitsScreen(int var1, int var2) {
|
boolean fitsScreen(int var1, int var2) {
|
||||||
@@ -101,47 +112,48 @@ public abstract class AbstractWorldMapIcon {
|
|||||||
@ObfuscatedName("s")
|
@ObfuscatedName("s")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "1618081006"
|
garbageValue = "1140208309"
|
||||||
)
|
)
|
||||||
@Export("hasValidElement")
|
@Export("hasValidElement")
|
||||||
boolean hasValidElement() {
|
boolean hasValidElement() {
|
||||||
return this.getElement() >= 0;
|
return this.getElement() >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("t")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)Z",
|
signature = "(IIB)Z",
|
||||||
garbageValue = "471623513"
|
garbageValue = "75"
|
||||||
)
|
)
|
||||||
@Export("elementFitsScreen")
|
@Export("elementFitsScreen")
|
||||||
boolean elementFitsScreen(int var1, int var2) {
|
boolean elementFitsScreen(int var1, int var2) {
|
||||||
if (!this.hasValidElement()) {
|
if (!this.hasValidElement()) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
WorldMapElement var3 = class65.WorldMapElement_get(this.getElement());
|
WorldMapElement var3 = Varcs.WorldMapElement_get(this.getElement());
|
||||||
int var4 = this.getSubWidth();
|
int var4 = this.getSubWidth();
|
||||||
int var5 = this.getSubHeight();
|
int var5 = this.getSubHeight();
|
||||||
switch(var3.horizontalAlignment.value) {
|
switch(var3.horizontalAlignment.value) {
|
||||||
case 0:
|
case 0:
|
||||||
if (var1 <= this.screenX - var4 || var1 > this.screenX) {
|
if (var1 >= this.screenX && var1 < var4 + this.screenX) {
|
||||||
return false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
case 1:
|
case 1:
|
||||||
if (var1 >= this.screenX - var4 / 2 && var1 <= var4 / 2 + this.screenX) {
|
if (var1 > this.screenX - var4 && var1 <= this.screenX) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
case 2:
|
case 2:
|
||||||
if (var1 < this.screenX || var1 >= var4 + this.screenX) {
|
if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(var3.verticalAlignment.value) {
|
switch(var3.verticalAlignment.value) {
|
||||||
case 0:
|
case 0:
|
||||||
if (var2 <= this.screenY - var5 || var2 > this.screenY) {
|
if (var2 < this.screenY || var2 >= var5 + this.screenY) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -151,7 +163,7 @@ public abstract class AbstractWorldMapIcon {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (var2 < this.screenY || var2 >= var5 + this.screenY) {
|
if (var2 <= this.screenY - var5 || var2 > this.screenY) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -160,10 +172,10 @@ public abstract class AbstractWorldMapIcon {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("w")
|
@ObfuscatedName("m")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)Z",
|
signature = "(III)Z",
|
||||||
garbageValue = "1082527847"
|
garbageValue = "-1821247860"
|
||||||
)
|
)
|
||||||
@Export("labelFitsScreen")
|
@Export("labelFitsScreen")
|
||||||
boolean labelFitsScreen(int var1, int var2) {
|
boolean labelFitsScreen(int var1, int var2) {
|
||||||
@@ -171,52 +183,89 @@ public abstract class AbstractWorldMapIcon {
|
|||||||
if (var3 == null) {
|
if (var3 == null) {
|
||||||
return false;
|
return false;
|
||||||
} else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) {
|
} else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) {
|
||||||
return var2 >= this.screenY && var2 <= var3.height + this.screenY;
|
return var2 >= this.screenY && var2 <= this.screenY + var3.height;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(CI)Z",
|
signature = "(Lhf;Lhf;ZB)V",
|
||||||
garbageValue = "93178768"
|
garbageValue = "28"
|
||||||
)
|
)
|
||||||
static boolean method679(char var0) {
|
public static void method625(AbstractArchive var0, AbstractArchive var1, boolean var2) {
|
||||||
return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var0) != -1;
|
ObjectDefinition.ObjectDefinition_archive = var0;
|
||||||
|
ObjectDefinition.ObjectDefinition_modelsArchive = var1;
|
||||||
|
ObjectDefinition.ObjectDefinition_isLowDetail = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("fa")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(B)V",
|
||||||
garbageValue = "30161399"
|
garbageValue = "1"
|
||||||
)
|
)
|
||||||
static final void method652() {
|
static void method623() {
|
||||||
if (Client.logoutTimer > 0) {
|
Messages.Messages_channels.clear();
|
||||||
class1.logOut();
|
Messages.Messages_hashTable.clear();
|
||||||
|
Messages.Messages_queue.clear();
|
||||||
|
Messages.Messages_count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("m")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(ILci;ZI)I",
|
||||||
|
garbageValue = "1136599608"
|
||||||
|
)
|
||||||
|
static int method618(int var0, Script var1, boolean var2) {
|
||||||
|
Widget var3 = Language.getWidget(Interpreter.Interpreter_intStack[--GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize]);
|
||||||
|
if (var0 == ScriptOpcodes.IF_GETSCROLLX) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.scrollX;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETSCROLLY) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.scrollY;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETTEXT) {
|
||||||
|
Interpreter.Interpreter_stringStack[++class43.Interpreter_stringStackSize - 1] = var3.text;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.scrollWidth;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.scrollHeight;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.modelZoom;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.modelAngleX;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.modelAngleZ;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.modelAngleY;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.transparencyTop;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.transparencyBot;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETCOLOUR) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.color;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.color2;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETFILLMODE) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal();
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
|
||||||
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
Client.timer.method5123();
|
return 2;
|
||||||
Tile.updateGameState(40);
|
|
||||||
Tiles.field499 = Client.packetWriter.getSocket();
|
|
||||||
Client.packetWriter.removeSocket();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("fo")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(II)V",
|
|
||||||
garbageValue = "542479713"
|
|
||||||
)
|
|
||||||
@Export("playSong")
|
|
||||||
static void playSong(int var0) {
|
|
||||||
if (var0 == -1 && !Client.field855) {
|
|
||||||
class197.midiPcmStream.clear();
|
|
||||||
class197.field2377 = 1;
|
|
||||||
class247.musicTrackArchive = null;
|
|
||||||
} else if (var0 != -1 && var0 != Client.currentTrackGroupId && Client.musicVolume != 0 && !Client.field855) {
|
|
||||||
WorldMapIcon_0.method253(2, class216.archive6, var0, 0, Client.musicVolume, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Client.currentTrackGroupId = var0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,21 +9,21 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("mh")
|
@ObfuscatedName("md")
|
||||||
@Implements("AccessFile")
|
@Implements("AccessFile")
|
||||||
public final class AccessFile {
|
public final class AccessFile {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("file")
|
@Export("file")
|
||||||
RandomAccessFile file;
|
RandomAccessFile file;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 6718173947913803383L
|
longValue = -1982697081356352199L
|
||||||
)
|
)
|
||||||
@Export("maxSize")
|
@Export("maxSize")
|
||||||
final long maxSize;
|
final long maxSize;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = -8033630762525345541L
|
longValue = 797587694615508853L
|
||||||
)
|
)
|
||||||
@Export("offset")
|
@Export("offset")
|
||||||
long offset;
|
long offset;
|
||||||
@@ -49,17 +49,17 @@ public final class AccessFile {
|
|||||||
this.file.seek(0L);
|
this.file.seek(0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("seek")
|
@Export("seek")
|
||||||
final void seek(long var1) throws IOException {
|
final void seek(long var1) throws IOException {
|
||||||
this.file.seek(var1);
|
this.file.seek(var1);
|
||||||
this.offset = var1;
|
this.offset = var1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIII)V",
|
||||||
garbageValue = "-1742010354"
|
garbageValue = "2100291593"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public final void write(byte[] var1, int var2, int var3) throws IOException {
|
public final void write(byte[] var1, int var2, int var3) throws IOException {
|
||||||
@@ -73,20 +73,20 @@ public final class AccessFile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(B)V",
|
||||||
garbageValue = "-87"
|
garbageValue = "-108"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
public final void close() throws IOException {
|
public final void close() throws IOException {
|
||||||
this.closeSync(false);
|
this.closeSync(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ZS)V",
|
signature = "(ZI)V",
|
||||||
garbageValue = "26740"
|
garbageValue = "-687857713"
|
||||||
)
|
)
|
||||||
@Export("closeSync")
|
@Export("closeSync")
|
||||||
public final void closeSync(boolean var1) throws IOException {
|
public final void closeSync(boolean var1) throws IOException {
|
||||||
@@ -104,20 +104,20 @@ public final class AccessFile {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)J",
|
signature = "(I)J",
|
||||||
garbageValue = "-60"
|
garbageValue = "-266154110"
|
||||||
)
|
)
|
||||||
@Export("length")
|
@Export("length")
|
||||||
public final long length() throws IOException {
|
public final long length() throws IOException {
|
||||||
return this.file.length();
|
return this.file.length();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIIB)I",
|
signature = "([BIII)I",
|
||||||
garbageValue = "2"
|
garbageValue = "-309112442"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
public final int read(byte[] var1, int var2, int var3) throws IOException {
|
public final int read(byte[] var1, int var2, int var3) throws IOException {
|
||||||
|
|||||||
@@ -3,327 +3,334 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
import net.runelite.rs.ScriptOpcodes;
|
||||||
|
|
||||||
@ObfuscatedName("bz")
|
@ObfuscatedName("bt")
|
||||||
@Implements("Actor")
|
@Implements("Actor")
|
||||||
public abstract class Actor extends Entity {
|
public abstract class Actor extends Entity {
|
||||||
@ObfuscatedName("eu")
|
@ObfuscatedName("el")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lij;"
|
signature = "Lku;"
|
||||||
)
|
)
|
||||||
@Export("archive20")
|
@Export("spriteIds")
|
||||||
static Archive archive20;
|
static GraphicsDefaults spriteIds;
|
||||||
@ObfuscatedName("aq")
|
@ObfuscatedName("mh")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1673440105
|
intValue = 1998357535
|
||||||
|
)
|
||||||
|
@Export("selectedSpellFlags")
|
||||||
|
static int selectedSpellFlags;
|
||||||
|
@ObfuscatedName("ai")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 1951571129
|
||||||
)
|
)
|
||||||
@Export("x")
|
@Export("x")
|
||||||
int x;
|
int x;
|
||||||
@ObfuscatedName("ad")
|
@ObfuscatedName("ag")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -86496457
|
intValue = -1702454117
|
||||||
)
|
)
|
||||||
@Export("y")
|
@Export("y")
|
||||||
int y;
|
int y;
|
||||||
@ObfuscatedName("ag")
|
@ObfuscatedName("ao")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1022004991
|
intValue = -1278261801
|
||||||
)
|
)
|
||||||
@Export("rotation")
|
@Export("rotation")
|
||||||
int rotation;
|
int rotation;
|
||||||
@ObfuscatedName("ak")
|
@ObfuscatedName("aw")
|
||||||
@Export("isWalking")
|
@Export("isWalking")
|
||||||
boolean isWalking;
|
boolean isWalking;
|
||||||
@ObfuscatedName("av")
|
@ObfuscatedName("ak")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1414687121
|
intValue = 401053777
|
||||||
)
|
)
|
||||||
int field927;
|
int field938;
|
||||||
@ObfuscatedName("am")
|
@ObfuscatedName("aa")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 222387089
|
intValue = 1537825747
|
||||||
)
|
)
|
||||||
@Export("playerCycle")
|
@Export("playerCycle")
|
||||||
int playerCycle;
|
int playerCycle;
|
||||||
@ObfuscatedName("ab")
|
@ObfuscatedName("ab")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1677804381
|
intValue = 1548693687
|
||||||
)
|
)
|
||||||
@Export("readySequence")
|
@Export("readySequence")
|
||||||
int readySequence;
|
int readySequence;
|
||||||
@ObfuscatedName("ax")
|
@ObfuscatedName("ar")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 594336323
|
intValue = 2043182385
|
||||||
)
|
)
|
||||||
@Export("turnLeftSequence")
|
@Export("turnLeftSequence")
|
||||||
int turnLeftSequence;
|
int turnLeftSequence;
|
||||||
@ObfuscatedName("al")
|
@ObfuscatedName("av")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1154441065
|
intValue = -1529323687
|
||||||
)
|
)
|
||||||
@Export("turnRightSequence")
|
@Export("turnRightSequence")
|
||||||
int turnRightSequence;
|
int turnRightSequence;
|
||||||
@ObfuscatedName("ap")
|
@ObfuscatedName("aq")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 83349541
|
intValue = -1702834689
|
||||||
)
|
)
|
||||||
@Export("walkSequence")
|
@Export("walkSequence")
|
||||||
int walkSequence;
|
int walkSequence;
|
||||||
@ObfuscatedName("aj")
|
@ObfuscatedName("ac")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1700088935
|
intValue = -1195328729
|
||||||
)
|
)
|
||||||
@Export("walkBackSequence")
|
@Export("walkBackSequence")
|
||||||
int walkBackSequence;
|
int walkBackSequence;
|
||||||
@ObfuscatedName("ae")
|
@ObfuscatedName("az")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -781057529
|
intValue = -551716323
|
||||||
)
|
)
|
||||||
@Export("walkLeftSequence")
|
@Export("walkLeftSequence")
|
||||||
int walkLeftSequence;
|
int walkLeftSequence;
|
||||||
@ObfuscatedName("au")
|
@ObfuscatedName("at")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1829521957
|
intValue = -588172397
|
||||||
)
|
)
|
||||||
@Export("walkRightSequence")
|
@Export("walkRightSequence")
|
||||||
int walkRightSequence;
|
int walkRightSequence;
|
||||||
@ObfuscatedName("ah")
|
@ObfuscatedName("ae")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -2016822393
|
intValue = 1934964713
|
||||||
)
|
)
|
||||||
@Export("runSequence")
|
@Export("runSequence")
|
||||||
int runSequence;
|
int runSequence;
|
||||||
@ObfuscatedName("an")
|
@ObfuscatedName("aj")
|
||||||
@Export("overheadText")
|
@Export("overheadText")
|
||||||
String overheadText;
|
String overheadText;
|
||||||
@ObfuscatedName("af")
|
@ObfuscatedName("ap")
|
||||||
@Export("isAutoChatting")
|
@Export("isAutoChatting")
|
||||||
boolean isAutoChatting;
|
boolean isAutoChatting;
|
||||||
@ObfuscatedName("ay")
|
@ObfuscatedName("an")
|
||||||
boolean field939;
|
boolean field950;
|
||||||
@ObfuscatedName("az")
|
@ObfuscatedName("al")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1235378121
|
intValue = -2071391287
|
||||||
)
|
)
|
||||||
@Export("overheadTextCyclesRemaining")
|
@Export("overheadTextCyclesRemaining")
|
||||||
int overheadTextCyclesRemaining;
|
int overheadTextCyclesRemaining;
|
||||||
@ObfuscatedName("ao")
|
@ObfuscatedName("ay")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -696280171
|
intValue = -1854297981
|
||||||
)
|
)
|
||||||
@Export("overheadTextColor")
|
@Export("overheadTextColor")
|
||||||
int overheadTextColor;
|
int overheadTextColor;
|
||||||
@ObfuscatedName("ai")
|
@ObfuscatedName("ax")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1688504189
|
intValue = -2046431957
|
||||||
)
|
)
|
||||||
@Export("overheadTextEffect")
|
@Export("overheadTextEffect")
|
||||||
int overheadTextEffect;
|
int overheadTextEffect;
|
||||||
@ObfuscatedName("at")
|
@ObfuscatedName("as")
|
||||||
@Export("hitSplatCount")
|
@Export("hitSplatCount")
|
||||||
byte hitSplatCount;
|
byte hitSplatCount;
|
||||||
@ObfuscatedName("as")
|
@ObfuscatedName("ah")
|
||||||
@Export("hitSplatTypes")
|
@Export("hitSplatTypes")
|
||||||
int[] hitSplatTypes;
|
int[] hitSplatTypes;
|
||||||
@ObfuscatedName("ba")
|
@ObfuscatedName("bi")
|
||||||
@Export("hitSplatValues")
|
@Export("hitSplatValues")
|
||||||
int[] hitSplatValues;
|
int[] hitSplatValues;
|
||||||
@ObfuscatedName("bg")
|
@ObfuscatedName("bo")
|
||||||
@Export("hitSplatCycles")
|
@Export("hitSplatCycles")
|
||||||
int[] hitSplatCycles;
|
int[] hitSplatCycles;
|
||||||
@ObfuscatedName("bc")
|
@ObfuscatedName("bx")
|
||||||
@Export("hitSplatTypes2")
|
@Export("hitSplatTypes2")
|
||||||
int[] hitSplatTypes2;
|
int[] hitSplatTypes2;
|
||||||
@ObfuscatedName("bd")
|
@ObfuscatedName("bu")
|
||||||
@Export("hitSplatValues2")
|
@Export("hitSplatValues2")
|
||||||
int[] hitSplatValues2;
|
int[] hitSplatValues2;
|
||||||
@ObfuscatedName("bx")
|
@ObfuscatedName("bd")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Ljm;"
|
signature = "Ljm;"
|
||||||
)
|
)
|
||||||
@Export("healthBars")
|
@Export("healthBars")
|
||||||
IterableNodeDeque healthBars;
|
IterableNodeDeque healthBars;
|
||||||
@ObfuscatedName("bl")
|
@ObfuscatedName("bn")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -2097579951
|
intValue = 2135432751
|
||||||
)
|
)
|
||||||
@Export("targetIndex")
|
@Export("targetIndex")
|
||||||
int targetIndex;
|
int targetIndex;
|
||||||
@ObfuscatedName("bh")
|
@ObfuscatedName("bj")
|
||||||
@Export("false0")
|
@Export("false0")
|
||||||
boolean false0;
|
boolean false0;
|
||||||
@ObfuscatedName("bu")
|
@ObfuscatedName("bm")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1107390821
|
intValue = 1522685125
|
||||||
)
|
)
|
||||||
int field934;
|
int field965;
|
||||||
@ObfuscatedName("br")
|
@ObfuscatedName("bq")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1581860297
|
intValue = -1971794141
|
||||||
)
|
)
|
||||||
@Export("movementSequence")
|
@Export("movementSequence")
|
||||||
int movementSequence;
|
int movementSequence;
|
||||||
@ObfuscatedName("bq")
|
@ObfuscatedName("bf")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1528888905
|
intValue = -1163192511
|
||||||
)
|
)
|
||||||
@Export("movementFrame")
|
@Export("movementFrame")
|
||||||
int movementFrame;
|
int movementFrame;
|
||||||
@ObfuscatedName("bi")
|
@ObfuscatedName("by")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -687202097
|
intValue = -705488337
|
||||||
)
|
)
|
||||||
@Export("movementFrameCycle")
|
@Export("movementFrameCycle")
|
||||||
int movementFrameCycle;
|
int movementFrameCycle;
|
||||||
@ObfuscatedName("be")
|
@ObfuscatedName("br")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 805247977
|
intValue = 980221
|
||||||
)
|
)
|
||||||
@Export("sequence")
|
@Export("sequence")
|
||||||
int sequence;
|
int sequence;
|
||||||
@ObfuscatedName("bt")
|
@ObfuscatedName("ba")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 736502107
|
intValue = 1531052871
|
||||||
)
|
)
|
||||||
@Export("sequenceFrame")
|
@Export("sequenceFrame")
|
||||||
int sequenceFrame;
|
int sequenceFrame;
|
||||||
@ObfuscatedName("bs")
|
@ObfuscatedName("bb")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -420296753
|
intValue = 2086339795
|
||||||
)
|
)
|
||||||
@Export("sequenceFrameCycle")
|
@Export("sequenceFrameCycle")
|
||||||
int sequenceFrameCycle;
|
int sequenceFrameCycle;
|
||||||
@ObfuscatedName("bj")
|
@ObfuscatedName("bg")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 336768917
|
intValue = 863905413
|
||||||
)
|
)
|
||||||
@Export("sequenceDelay")
|
@Export("sequenceDelay")
|
||||||
int sequenceDelay;
|
int sequenceDelay;
|
||||||
@ObfuscatedName("bm")
|
@ObfuscatedName("bw")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1410322499
|
intValue = -217068217
|
||||||
)
|
)
|
||||||
int field960;
|
int field971;
|
||||||
@ObfuscatedName("bn")
|
@ObfuscatedName("be")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1228903613
|
intValue = -1431332559
|
||||||
)
|
)
|
||||||
@Export("spotAnimation")
|
@Export("spotAnimation")
|
||||||
int spotAnimation;
|
int spotAnimation;
|
||||||
@ObfuscatedName("bz")
|
@ObfuscatedName("bt")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1265033073
|
intValue = -446541561
|
||||||
)
|
)
|
||||||
@Export("spotAnimationFrame")
|
@Export("spotAnimationFrame")
|
||||||
int spotAnimationFrame;
|
int spotAnimationFrame;
|
||||||
@ObfuscatedName("bo")
|
@ObfuscatedName("bl")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -663316133
|
intValue = -1428986091
|
||||||
)
|
)
|
||||||
@Export("spotAnimationFrameCycle")
|
@Export("spotAnimationFrameCycle")
|
||||||
int spotAnimationFrameCycle;
|
int spotAnimationFrameCycle;
|
||||||
@ObfuscatedName("bk")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = -1273295849
|
|
||||||
)
|
|
||||||
int field973;
|
|
||||||
@ObfuscatedName("bv")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 528591249
|
|
||||||
)
|
|
||||||
int field965;
|
|
||||||
@ObfuscatedName("bw")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 1608804509
|
|
||||||
)
|
|
||||||
int field966;
|
|
||||||
@ObfuscatedName("bb")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = -164988469
|
|
||||||
)
|
|
||||||
int field967;
|
|
||||||
@ObfuscatedName("bf")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = -1333983147
|
|
||||||
)
|
|
||||||
int field979;
|
|
||||||
@ObfuscatedName("by")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 105474701
|
|
||||||
)
|
|
||||||
int field969;
|
|
||||||
@ObfuscatedName("bp")
|
@ObfuscatedName("bp")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1769569101
|
intValue = 1351668501
|
||||||
)
|
)
|
||||||
int field925;
|
int field975;
|
||||||
@ObfuscatedName("cx")
|
@ObfuscatedName("bv")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1506809691
|
intValue = 639610433
|
||||||
)
|
)
|
||||||
int field971;
|
int field996;
|
||||||
|
@ObfuscatedName("bs")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 817107681
|
||||||
|
)
|
||||||
|
int field946;
|
||||||
|
@ObfuscatedName("bz")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 810384445
|
||||||
|
)
|
||||||
|
int field978;
|
||||||
|
@ObfuscatedName("bc")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 40503997
|
||||||
|
)
|
||||||
|
int field979;
|
||||||
|
@ObfuscatedName("bh")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 1623463931
|
||||||
|
)
|
||||||
|
int field980;
|
||||||
|
@ObfuscatedName("bk")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = -950690973
|
||||||
|
)
|
||||||
|
int field934;
|
||||||
|
@ObfuscatedName("cm")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 1712532071
|
||||||
|
)
|
||||||
|
int field982;
|
||||||
|
@ObfuscatedName("cd")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 1620214811
|
||||||
|
)
|
||||||
|
int field983;
|
||||||
@ObfuscatedName("cv")
|
@ObfuscatedName("cv")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1295543135
|
intValue = 1481734065
|
||||||
)
|
|
||||||
int field972;
|
|
||||||
@ObfuscatedName("ce")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 1559943605
|
|
||||||
)
|
)
|
||||||
@Export("npcCycle")
|
@Export("npcCycle")
|
||||||
int npcCycle;
|
int npcCycle;
|
||||||
@ObfuscatedName("cw")
|
@ObfuscatedName("cl")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 320863757
|
intValue = 1455392247
|
||||||
)
|
)
|
||||||
@Export("defaultHeight")
|
@Export("defaultHeight")
|
||||||
int defaultHeight;
|
int defaultHeight;
|
||||||
@ObfuscatedName("cd")
|
@ObfuscatedName("cg")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1451956301
|
intValue = -27617279
|
||||||
)
|
)
|
||||||
@Export("orientation")
|
@Export("orientation")
|
||||||
int orientation;
|
int orientation;
|
||||||
@ObfuscatedName("cn")
|
@ObfuscatedName("ch")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 477550871
|
intValue = 1781093081
|
||||||
)
|
)
|
||||||
int field948;
|
int field987;
|
||||||
|
@ObfuscatedName("co")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 860658493
|
||||||
|
)
|
||||||
|
int field988;
|
||||||
@ObfuscatedName("cr")
|
@ObfuscatedName("cr")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1785171989
|
intValue = 469579589
|
||||||
)
|
|
||||||
int field977;
|
|
||||||
@ObfuscatedName("ci")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 2075263543
|
|
||||||
)
|
)
|
||||||
@Export("pathLength")
|
@Export("pathLength")
|
||||||
int pathLength;
|
int pathLength;
|
||||||
@ObfuscatedName("cy")
|
@ObfuscatedName("ck")
|
||||||
@Export("pathX")
|
@Export("pathX")
|
||||||
int[] pathX;
|
int[] pathX;
|
||||||
@ObfuscatedName("cl")
|
@ObfuscatedName("cb")
|
||||||
@Export("pathY")
|
@Export("pathY")
|
||||||
int[] pathY;
|
int[] pathY;
|
||||||
@ObfuscatedName("co")
|
@ObfuscatedName("cy")
|
||||||
@Export("pathTraversed")
|
@Export("pathTraversed")
|
||||||
byte[] pathTraversed;
|
byte[] pathTraversed;
|
||||||
@ObfuscatedName("cu")
|
@ObfuscatedName("cn")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -2083065961
|
intValue = 1598784809
|
||||||
)
|
)
|
||||||
int field982;
|
int field976;
|
||||||
@ObfuscatedName("cz")
|
@ObfuscatedName("cj")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1810694977
|
intValue = 559009223
|
||||||
)
|
)
|
||||||
int field983;
|
int field994;
|
||||||
|
|
||||||
Actor() {
|
Actor() {
|
||||||
this.isWalking = false;
|
this.isWalking = false;
|
||||||
this.field927 = 1;
|
this.field938 = 1;
|
||||||
this.readySequence = -1;
|
this.readySequence = -1;
|
||||||
this.turnLeftSequence = -1;
|
this.turnLeftSequence = -1;
|
||||||
this.turnRightSequence = -1;
|
this.turnRightSequence = -1;
|
||||||
@@ -333,7 +340,7 @@ public abstract class Actor extends Entity {
|
|||||||
this.walkRightSequence = -1;
|
this.walkRightSequence = -1;
|
||||||
this.runSequence = -1;
|
this.runSequence = -1;
|
||||||
this.overheadText = null;
|
this.overheadText = null;
|
||||||
this.field939 = false;
|
this.field950 = false;
|
||||||
this.overheadTextCyclesRemaining = 100;
|
this.overheadTextCyclesRemaining = 100;
|
||||||
this.overheadTextColor = 0;
|
this.overheadTextColor = 0;
|
||||||
this.overheadTextEffect = 0;
|
this.overheadTextEffect = 0;
|
||||||
@@ -346,7 +353,7 @@ public abstract class Actor extends Entity {
|
|||||||
this.healthBars = new IterableNodeDeque();
|
this.healthBars = new IterableNodeDeque();
|
||||||
this.targetIndex = -1;
|
this.targetIndex = -1;
|
||||||
this.false0 = false;
|
this.false0 = false;
|
||||||
this.field934 = -1;
|
this.field965 = -1;
|
||||||
this.movementSequence = -1;
|
this.movementSequence = -1;
|
||||||
this.movementFrame = 0;
|
this.movementFrame = 0;
|
||||||
this.movementFrameCycle = 0;
|
this.movementFrameCycle = 0;
|
||||||
@@ -354,46 +361,46 @@ public abstract class Actor extends Entity {
|
|||||||
this.sequenceFrame = 0;
|
this.sequenceFrame = 0;
|
||||||
this.sequenceFrameCycle = 0;
|
this.sequenceFrameCycle = 0;
|
||||||
this.sequenceDelay = 0;
|
this.sequenceDelay = 0;
|
||||||
this.field960 = 0;
|
this.field971 = 0;
|
||||||
this.spotAnimation = -1;
|
this.spotAnimation = -1;
|
||||||
this.spotAnimationFrame = 0;
|
this.spotAnimationFrame = 0;
|
||||||
this.spotAnimationFrameCycle = 0;
|
this.spotAnimationFrameCycle = 0;
|
||||||
this.npcCycle = 0;
|
this.npcCycle = 0;
|
||||||
this.defaultHeight = 200;
|
this.defaultHeight = 200;
|
||||||
this.field948 = 0;
|
this.field987 = 0;
|
||||||
this.field977 = 32;
|
this.field988 = 32;
|
||||||
this.pathLength = 0;
|
this.pathLength = 0;
|
||||||
this.pathX = new int[10];
|
this.pathX = new int[10];
|
||||||
this.pathY = new int[10];
|
this.pathY = new int[10];
|
||||||
this.pathTraversed = new byte[10];
|
this.pathTraversed = new byte[10];
|
||||||
this.field982 = 0;
|
this.field976 = 0;
|
||||||
this.field983 = 0;
|
this.field994 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "-25"
|
garbageValue = "-968027489"
|
||||||
)
|
)
|
||||||
@Export("isVisible")
|
@Export("isVisible")
|
||||||
boolean isVisible() {
|
boolean isVisible() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("bu")
|
@ObfuscatedName("au")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(I)V",
|
||||||
garbageValue = "0"
|
garbageValue = "-2082426618"
|
||||||
)
|
)
|
||||||
final void method1862() {
|
final void method1759() {
|
||||||
this.pathLength = 0;
|
this.pathLength = 0;
|
||||||
this.field983 = 0;
|
this.field994 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("br")
|
@ObfuscatedName("as")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIIIIII)V",
|
signature = "(IIIIIII)V",
|
||||||
garbageValue = "-506913236"
|
garbageValue = "-666824571"
|
||||||
)
|
)
|
||||||
@Export("addHitSplat")
|
@Export("addHitSplat")
|
||||||
final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) {
|
final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
@@ -413,9 +420,9 @@ public abstract class Actor extends Entity {
|
|||||||
int var10 = -1;
|
int var10 = -1;
|
||||||
int var11 = 0;
|
int var11 = 0;
|
||||||
if (var1 >= 0) {
|
if (var1 >= 0) {
|
||||||
HitSplatDefinition var12 = NetFileRequest.method4298(var1);
|
HitSplatDefinition var12 = class42.method811(var1);
|
||||||
var10 = var12.field3313;
|
var10 = var12.field3347;
|
||||||
var11 = var12.field3314;
|
var11 = var12.field3338;
|
||||||
}
|
}
|
||||||
|
|
||||||
int var14;
|
int var14;
|
||||||
@@ -471,10 +478,10 @@ public abstract class Actor extends Entity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("bq")
|
@ObfuscatedName("ah")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIIIIIB)V",
|
signature = "(IIIIIII)V",
|
||||||
garbageValue = "-38"
|
garbageValue = "1706369606"
|
||||||
)
|
)
|
||||||
@Export("addHealthBar")
|
@Export("addHealthBar")
|
||||||
final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) {
|
final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) {
|
||||||
@@ -502,7 +509,7 @@ public abstract class Actor extends Entity {
|
|||||||
HealthBar var13;
|
HealthBar var13;
|
||||||
for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) {
|
for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) {
|
||||||
++var12;
|
++var12;
|
||||||
if (var13.definition.field3265 == var8.field3265) {
|
if (var13.definition.field3294 == var8.field3294) {
|
||||||
var13.put(var2 + var4, var5, var6, var3);
|
var13.put(var2 + var4, var5, var6, var3);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -536,114 +543,209 @@ public abstract class Actor extends Entity {
|
|||||||
@ObfuscatedName("bi")
|
@ObfuscatedName("bi")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)V",
|
signature = "(II)V",
|
||||||
garbageValue = "-1507831115"
|
garbageValue = "-1031768324"
|
||||||
)
|
)
|
||||||
@Export("removeHealthBar")
|
@Export("removeHealthBar")
|
||||||
final void removeHealthBar(int var1) {
|
final void removeHealthBar(int var1) {
|
||||||
HealthBarDefinition var3 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1);
|
HealthBarDefinition var2 = class42.method810(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));
|
|
||||||
}
|
|
||||||
|
|
||||||
HealthBarDefinition.HealthBarDefinition_cached.put(var3, (long)var1);
|
for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) {
|
||||||
var2 = var3;
|
if (var2 == var3.definition) {
|
||||||
}
|
var3.remove();
|
||||||
|
|
||||||
var3 = var2;
|
|
||||||
|
|
||||||
for (HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) {
|
|
||||||
if (var3 == var5.definition) {
|
|
||||||
var5.remove();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("gj")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lbz;S)V",
|
signature = "(Ljava/lang/CharSequence;I)J",
|
||||||
garbageValue = "16384"
|
garbageValue = "1807317311"
|
||||||
)
|
)
|
||||||
static final void method1873(Actor var0) {
|
static long method1773(CharSequence var0) {
|
||||||
if (var0.field977 != 0) {
|
long var1 = 0L;
|
||||||
if (var0.targetIndex != -1) {
|
int var3 = var0.length();
|
||||||
Object var1 = null;
|
|
||||||
if (var0.targetIndex < 32768) {
|
for (int var4 = 0; var4 < var3; ++var4) {
|
||||||
var1 = Client.npcs[var0.targetIndex];
|
var1 *= 37L;
|
||||||
} else if (var0.targetIndex >= 32768) {
|
char var5 = var0.charAt(var4);
|
||||||
var1 = Client.players[var0.targetIndex - 32768];
|
if (var5 >= 'A' && var5 <= 'Z') {
|
||||||
|
var1 += (long)(var5 + 1 - 65);
|
||||||
|
} else if (var5 >= 'a' && var5 <= 'z') {
|
||||||
|
var1 += (long)(var5 + 1 - 97);
|
||||||
|
} else if (var5 >= '0' && var5 <= '9') {
|
||||||
|
var1 += (long)(var5 + 27 - 48);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var1 != null) {
|
if (var1 >= 177917621779460413L) {
|
||||||
int var2 = var0.x - ((Actor)var1).x;
|
break;
|
||||||
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 (var0.field934 != -1 && (var0.pathLength == 0 || var0.field982 > 0)) {
|
while (0L == var1 % 37L && 0L != var1) {
|
||||||
var0.orientation = var0.field934;
|
var1 /= 37L;
|
||||||
var0.field934 = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int var4 = var0.orientation - var0.rotation & 2047;
|
return var1;
|
||||||
if (var4 == 0 && var0.false0) {
|
|
||||||
var0.targetIndex = -1;
|
|
||||||
var0.false0 = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4 != 0) {
|
@ObfuscatedName("s")
|
||||||
++var0.field948;
|
@ObfuscatedSignature(
|
||||||
boolean var6;
|
signature = "(ILci;ZB)I",
|
||||||
if (var4 > 1024) {
|
garbageValue = "-13"
|
||||||
var0.rotation -= var0.field977;
|
)
|
||||||
var6 = true;
|
static int method1774(int var0, Script var1, boolean var2) {
|
||||||
if (var4 < var0.field977 || var4 > 2048 - var0.field977) {
|
Widget var3;
|
||||||
var0.rotation = var0.orientation;
|
if (var0 >= 2000) {
|
||||||
var6 = false;
|
var0 -= 1000;
|
||||||
}
|
var3 = Language.getWidget(Interpreter.Interpreter_intStack[--GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize]);
|
||||||
|
|
||||||
if (var0.readySequence == var0.movementSequence && (var0.field948 > 25 || var6)) {
|
|
||||||
if (var0.turnLeftSequence != -1) {
|
|
||||||
var0.movementSequence = var0.turnLeftSequence;
|
|
||||||
} else {
|
} else {
|
||||||
var0.movementSequence = var0.walkSequence;
|
var3 = var2 ? Interpreter.field1090 : class188.field2352;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (var0 == ScriptOpcodes.CC_CALLONRESIZE) {
|
||||||
|
if (Interpreter.field1095 >= 10) {
|
||||||
|
throw new RuntimeException();
|
||||||
|
} else if (var3.onResize == null) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
ScriptEvent var4 = new ScriptEvent();
|
||||||
|
var4.widget = var3;
|
||||||
|
var4.args = var3.onResize;
|
||||||
|
var4.field577 = Interpreter.field1095 + 1;
|
||||||
|
Client.scriptEvents.addFirst(var4);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var0.rotation += var0.field977;
|
return 2;
|
||||||
var6 = true;
|
}
|
||||||
if (var4 < var0.field977 || var4 > 2048 - var0.field977) {
|
|
||||||
var0.rotation = var0.orientation;
|
|
||||||
var6 = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var0.readySequence == var0.movementSequence && (var0.field948 > 25 || var6)) {
|
@ObfuscatedName("hs")
|
||||||
if (var0.turnRightSequence != -1) {
|
@ObfuscatedSignature(
|
||||||
var0.movementSequence = var0.turnRightSequence;
|
signature = "(IIIIIIIB)V",
|
||||||
} else {
|
garbageValue = "-99"
|
||||||
var0.movementSequence = var0.walkSequence;
|
)
|
||||||
|
@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 != ClientPacket.Client_plane) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
long var7 = 0L;
|
||||||
|
boolean var9 = true;
|
||||||
|
boolean var10 = false;
|
||||||
|
boolean var11 = false;
|
||||||
|
if (var1 == 0) {
|
||||||
|
var7 = class2.scene.getBoundaryObjectTag(var0, var2, var3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var1 == 1) {
|
||||||
|
var7 = class2.scene.getWallDecorationTag(var0, var2, var3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var1 == 2) {
|
||||||
|
var7 = class2.scene.getGameObjectTag(var0, var2, var3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var1 == 3) {
|
||||||
|
var7 = class2.scene.getFloorDecorationTag(var0, var2, var3);
|
||||||
|
}
|
||||||
|
|
||||||
|
int var12;
|
||||||
|
if (var7 != 0L) {
|
||||||
|
var12 = class2.scene.getObjectFlags(var0, var2, var3, var7);
|
||||||
|
int var14 = ItemContainer.Entity_unpackID(var7);
|
||||||
|
int var15 = var12 & 31;
|
||||||
|
int var16 = var12 >> 6 & 3;
|
||||||
|
ObjectDefinition var13;
|
||||||
|
if (var1 == 0) {
|
||||||
|
class2.scene.removeBoundaryObject(var0, var2, var3);
|
||||||
|
var13 = Occluder.getObjectDefinition(var14);
|
||||||
|
if (var13.interactType != 0) {
|
||||||
|
Client.collisionMaps[var0].method3598(var2, var3, var15, var16, var13.boolean1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var1 == 1) {
|
||||||
|
class2.scene.removeWallDecoration(var0, var2, var3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var1 == 2) {
|
||||||
|
class2.scene.removeGameObject(var0, var2, var3);
|
||||||
|
var13 = Occluder.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) {
|
||||||
|
class2.scene.removeFloorDecoration(var0, var2, var3);
|
||||||
|
var13 = Occluder.getObjectDefinition(var14);
|
||||||
|
if (var13.interactType == 1) {
|
||||||
|
Client.collisionMaps[var0].method3601(var2, var3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var0.rotation &= 2047;
|
if (var4 >= 0) {
|
||||||
} else {
|
var12 = var0;
|
||||||
var0.field948 = 0;
|
if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) {
|
||||||
|
var12 = var0 + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuAction.method2088(var0, var12, var2, var3, var4, var5, var6, class2.scene, Client.collisionMaps[var0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("im")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(B)V",
|
||||||
|
garbageValue = "0"
|
||||||
|
)
|
||||||
|
@Export("Widget_runOnTargetLeave")
|
||||||
|
static void Widget_runOnTargetLeave() {
|
||||||
|
if (Client.isSpellSelected) {
|
||||||
|
Widget var0 = UserComparator3.getWidgetChild(WorldMapAreaData.selectedSpellWidget, Client.selectedSpellChildIndex);
|
||||||
|
if (var0 != null && var0.onTargetLeave != null) {
|
||||||
|
ScriptEvent var1 = new ScriptEvent();
|
||||||
|
var1.widget = var0;
|
||||||
|
var1.args = var0.onTargetLeave;
|
||||||
|
WorldMapLabel.runScriptEvent(var1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Client.isSpellSelected = false;
|
||||||
|
ScriptEvent.invalidateWidget(var0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("jg")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(B)V",
|
||||||
|
garbageValue = "3"
|
||||||
|
)
|
||||||
|
static final void method1756() {
|
||||||
|
PacketBufferNode var0 = ModelData0.getPacketBufferNode(ClientPacket.field2311, 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) {
|
||||||
|
class43.closeInterface(var1, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Client.meslayerContinueWidget != null) {
|
||||||
|
ScriptEvent.invalidateWidget(Client.meslayerContinueWidget);
|
||||||
|
Client.meslayerContinueWidget = null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,51 +3,51 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("dw")
|
@ObfuscatedName("dg")
|
||||||
@Implements("Animation")
|
@Implements("Animation")
|
||||||
public class Animation {
|
public class Animation {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
static int[] field1609;
|
static int[] field1634;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
static int[] field1611;
|
static int[] field1626;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
static int[] field1618;
|
static int[] field1627;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
static int[] field1610;
|
static int[] field1631;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lee;"
|
signature = "Lec;"
|
||||||
)
|
)
|
||||||
@Export("skeleton")
|
@Export("skeleton")
|
||||||
Skeleton skeleton;
|
Skeleton skeleton;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("transformCount")
|
@Export("transformCount")
|
||||||
int transformCount;
|
int transformCount;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("transformSkeletonLabels")
|
@Export("transformSkeletonLabels")
|
||||||
int[] transformSkeletonLabels;
|
int[] transformSkeletonLabels;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("transformXs")
|
@Export("transformXs")
|
||||||
int[] transformXs;
|
int[] transformXs;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@Export("transformYs")
|
@Export("transformYs")
|
||||||
int[] transformYs;
|
int[] transformYs;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@Export("transformZs")
|
@Export("transformZs")
|
||||||
int[] transformZs;
|
int[] transformZs;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@Export("hasAlphaTransform")
|
@Export("hasAlphaTransform")
|
||||||
boolean hasAlphaTransform;
|
boolean hasAlphaTransform;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
field1609 = new int[500];
|
field1634 = new int[500];
|
||||||
field1611 = new int[500];
|
field1626 = new int[500];
|
||||||
field1618 = new int[500];
|
field1627 = new int[500];
|
||||||
field1610 = new int[500];
|
field1631 = new int[500];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BLee;)V"
|
signature = "([BLec;)V"
|
||||||
)
|
)
|
||||||
Animation(byte[] var1, Skeleton var2) {
|
Animation(byte[] var1, Skeleton var2) {
|
||||||
this.skeleton = null;
|
this.skeleton = null;
|
||||||
@@ -69,38 +69,38 @@ public class Animation {
|
|||||||
if (this.skeleton.transformTypes[var8] != 0) {
|
if (this.skeleton.transformTypes[var8] != 0) {
|
||||||
for (int var10 = var8 - 1; var10 > var6; --var10) {
|
for (int var10 = var8 - 1; var10 > var6; --var10) {
|
||||||
if (this.skeleton.transformTypes[var10] == 0) {
|
if (this.skeleton.transformTypes[var10] == 0) {
|
||||||
field1609[var7] = var10;
|
field1634[var7] = var10;
|
||||||
field1611[var7] = 0;
|
field1626[var7] = 0;
|
||||||
field1618[var7] = 0;
|
field1627[var7] = 0;
|
||||||
field1610[var7] = 0;
|
field1631[var7] = 0;
|
||||||
++var7;
|
++var7;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
field1609[var7] = var8;
|
field1634[var7] = var8;
|
||||||
short var11 = 0;
|
short var11 = 0;
|
||||||
if (this.skeleton.transformTypes[var8] == 3) {
|
if (this.skeleton.transformTypes[var8] == 3) {
|
||||||
var11 = 128;
|
var11 = 128;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((var9 & 1) != 0) {
|
if ((var9 & 1) != 0) {
|
||||||
field1611[var7] = var4.readShortSmart();
|
field1626[var7] = var4.readShortSmart();
|
||||||
} else {
|
} else {
|
||||||
field1611[var7] = var11;
|
field1626[var7] = var11;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((var9 & 2) != 0) {
|
if ((var9 & 2) != 0) {
|
||||||
field1618[var7] = var4.readShortSmart();
|
field1627[var7] = var4.readShortSmart();
|
||||||
} else {
|
} else {
|
||||||
field1618[var7] = var11;
|
field1627[var7] = var11;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((var9 & 4) != 0) {
|
if ((var9 & 4) != 0) {
|
||||||
field1610[var7] = var4.readShortSmart();
|
field1631[var7] = var4.readShortSmart();
|
||||||
} else {
|
} else {
|
||||||
field1610[var7] = var11;
|
field1631[var7] = var11;
|
||||||
}
|
}
|
||||||
|
|
||||||
var6 = var8;
|
var6 = var8;
|
||||||
@@ -121,10 +121,10 @@ public class Animation {
|
|||||||
this.transformZs = new int[var7];
|
this.transformZs = new int[var7];
|
||||||
|
|
||||||
for (var8 = 0; var8 < var7; ++var8) {
|
for (var8 = 0; var8 < var7; ++var8) {
|
||||||
this.transformSkeletonLabels[var8] = field1609[var8];
|
this.transformSkeletonLabels[var8] = field1634[var8];
|
||||||
this.transformXs[var8] = field1611[var8];
|
this.transformXs[var8] = field1626[var8];
|
||||||
this.transformYs[var8] = field1618[var8];
|
this.transformYs[var8] = field1627[var8];
|
||||||
this.transformZs[var8] = field1610[var8];
|
this.transformZs[var8] = field1631[var8];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,51 +8,51 @@ import net.runelite.mapping.ObfuscatedSignature;
|
|||||||
@ObfuscatedName("ij")
|
@ObfuscatedName("ij")
|
||||||
@Implements("Archive")
|
@Implements("Archive")
|
||||||
public class Archive extends AbstractArchive {
|
public class Archive extends AbstractArchive {
|
||||||
@ObfuscatedName("ar")
|
@ObfuscatedName("am")
|
||||||
@Export("Archive_crc")
|
@Export("Archive_crc")
|
||||||
static CRC32 Archive_crc;
|
static CRC32 Archive_crc;
|
||||||
@ObfuscatedName("g")
|
@ObfuscatedName("v")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lke;"
|
signature = "Lke;"
|
||||||
)
|
)
|
||||||
@Export("archiveDisk")
|
@Export("archiveDisk")
|
||||||
ArchiveDisk archiveDisk;
|
ArchiveDisk archiveDisk;
|
||||||
@ObfuscatedName("w")
|
@ObfuscatedName("q")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lke;"
|
signature = "Lke;"
|
||||||
)
|
)
|
||||||
@Export("masterDisk")
|
@Export("masterDisk")
|
||||||
ArchiveDisk masterDisk;
|
ArchiveDisk masterDisk;
|
||||||
@ObfuscatedName("u")
|
@ObfuscatedName("l")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -697196869
|
intValue = -485019115
|
||||||
)
|
)
|
||||||
@Export("index")
|
@Export("index")
|
||||||
int index;
|
int index;
|
||||||
@ObfuscatedName("y")
|
@ObfuscatedName("j")
|
||||||
volatile boolean field3145;
|
volatile boolean field3158;
|
||||||
@ObfuscatedName("aa")
|
@ObfuscatedName("af")
|
||||||
boolean field3139;
|
boolean field3163;
|
||||||
@ObfuscatedName("aw")
|
@ObfuscatedName("ad")
|
||||||
@Export("validGroups")
|
@Export("validGroups")
|
||||||
volatile boolean[] validGroups;
|
volatile boolean[] validGroups;
|
||||||
@ObfuscatedName("aq")
|
@ObfuscatedName("ai")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1007467833
|
intValue = -811032565
|
||||||
)
|
)
|
||||||
@Export("indexCrc")
|
@Export("indexCrc")
|
||||||
int indexCrc;
|
int indexCrc;
|
||||||
@ObfuscatedName("ad")
|
@ObfuscatedName("ag")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -722952975
|
intValue = -714735647
|
||||||
)
|
)
|
||||||
@Export("indexVersion")
|
@Export("indexVersion")
|
||||||
int indexVersion;
|
int indexVersion;
|
||||||
@ObfuscatedName("ag")
|
@ObfuscatedName("ao")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 372476733
|
intValue = -1499508755
|
||||||
)
|
)
|
||||||
int field3148;
|
int field3168;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Archive_crc = new CRC32();
|
Archive_crc = new CRC32();
|
||||||
@@ -63,170 +63,142 @@ public class Archive extends AbstractArchive {
|
|||||||
)
|
)
|
||||||
public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) {
|
public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) {
|
||||||
super(var4, var5);
|
super(var4, var5);
|
||||||
this.field3145 = false;
|
this.field3158 = false;
|
||||||
this.field3139 = false;
|
this.field3163 = false;
|
||||||
this.field3148 = -1;
|
this.field3168 = -1;
|
||||||
this.archiveDisk = var1;
|
this.archiveDisk = var1;
|
||||||
this.masterDisk = var2;
|
this.masterDisk = var2;
|
||||||
this.index = var3;
|
this.index = var3;
|
||||||
this.field3139 = var6;
|
this.field3163 = var6;
|
||||||
int var8 = this.index;
|
WorldMapIcon_0.method224(this, this.index);
|
||||||
if (Calendar.NetCache_reference != null) {
|
|
||||||
Calendar.NetCache_reference.offset = var8 * 8 + 5;
|
|
||||||
int var9 = Calendar.NetCache_reference.readInt();
|
|
||||||
int var10 = Calendar.NetCache_reference.readInt();
|
|
||||||
this.loadIndex(var9, var10);
|
|
||||||
} else {
|
|
||||||
BuddyRankComparator.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true);
|
|
||||||
NetCache.NetCache_archives[var8] = this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
@ObfuscatedName("f")
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IB)V",
|
signature = "(II)V",
|
||||||
garbageValue = "117"
|
garbageValue = "-64779180"
|
||||||
)
|
)
|
||||||
@Export("loadRegionFromGroup")
|
@Export("loadRegionFromGroup")
|
||||||
void loadRegionFromGroup(int var1) {
|
void loadRegionFromGroup(int var1) {
|
||||||
Tile.method3021(this.index, var1);
|
int var2 = this.index;
|
||||||
|
long var3 = (long)((var2 << 16) + var1);
|
||||||
|
NetFileRequest var5 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var3);
|
||||||
|
if (var5 != null) {
|
||||||
|
NetCache.NetCache_pendingWritesQueue.addLast(var5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("i")
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)I",
|
signature = "(II)I",
|
||||||
garbageValue = "-778670663"
|
garbageValue = "-1387572162"
|
||||||
)
|
)
|
||||||
@Export("groupLoadPercent")
|
@Export("groupLoadPercent")
|
||||||
int groupLoadPercent(int var1) {
|
int groupLoadPercent(int var1) {
|
||||||
if (super.groups[var1] != null) {
|
if (super.groups[var1] != null) {
|
||||||
return 100;
|
return 100;
|
||||||
|
} else if (this.validGroups[var1]) {
|
||||||
|
return 100;
|
||||||
} else {
|
} else {
|
||||||
return this.validGroups[var1] ? 100 : PcmPlayer.method2638(this.index, var1);
|
int var3 = this.index;
|
||||||
|
long var4 = (long)((var3 << 16) + var1);
|
||||||
|
int var2;
|
||||||
|
if (NetCache.NetCache_currentResponse != null && NetCache.NetCache_currentResponse.key == var4) {
|
||||||
|
var2 = class32.NetCache_responseArchiveBuffer.offset * 99 / (class32.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1;
|
||||||
|
} else {
|
||||||
|
var2 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return var2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)V",
|
signature = "(II)V",
|
||||||
garbageValue = "664192835"
|
garbageValue = "130067407"
|
||||||
)
|
)
|
||||||
@Export("loadGroup")
|
@Export("loadGroup")
|
||||||
void loadGroup(int var1) {
|
void loadGroup(int var1) {
|
||||||
if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) {
|
if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) {
|
||||||
ArchiveDisk var2 = this.archiveDisk;
|
PlayerType.method4210(var1, this.archiveDisk, this);
|
||||||
byte[] var4 = null;
|
|
||||||
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
|
|
||||||
for (ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) {
|
|
||||||
if (var6.key == (long)var1 && var2 == var6.archiveDisk && var6.type == 0) {
|
|
||||||
var4 = var6.data;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var4 != null) {
|
|
||||||
this.load(var2, var1, var4, true);
|
|
||||||
} else {
|
} else {
|
||||||
byte[] var5 = var2.read(var1);
|
ClientPreferences.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true);
|
||||||
this.load(var2, var1, var5, true);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
BuddyRankComparator.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("dm")
|
@ObfuscatedName("dw")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(B)Z",
|
||||||
garbageValue = "1944128769"
|
garbageValue = "0"
|
||||||
)
|
)
|
||||||
public boolean method4409() {
|
public boolean method4345() {
|
||||||
return this.field3145;
|
return this.field3158;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("di")
|
@ObfuscatedName("de")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(B)I",
|
||||||
garbageValue = "1888934237"
|
garbageValue = "-77"
|
||||||
)
|
)
|
||||||
@Export("percentage")
|
@Export("percentage")
|
||||||
public int percentage() {
|
public int percentage() {
|
||||||
if (this.field3145) {
|
if (this.field3158) {
|
||||||
return 100;
|
return 100;
|
||||||
} else if (super.groups != null) {
|
} else if (super.groups != null) {
|
||||||
return 99;
|
return 99;
|
||||||
} else {
|
} else {
|
||||||
int var1 = PcmPlayer.method2638(255, this.index);
|
int var2 = this.index;
|
||||||
|
long var3 = (long)(var2 + 16711680);
|
||||||
|
int var1;
|
||||||
|
if (NetCache.NetCache_currentResponse != null && NetCache.NetCache_currentResponse.key == var3) {
|
||||||
|
var1 = class32.NetCache_responseArchiveBuffer.offset * 99 / (class32.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1;
|
||||||
|
} else {
|
||||||
|
var1 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int var5 = var1;
|
||||||
if (var1 >= 100) {
|
if (var1 >= 100) {
|
||||||
var1 = 99;
|
var5 = 99;
|
||||||
}
|
}
|
||||||
|
|
||||||
return var1;
|
return var5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("dn")
|
@ObfuscatedName("dx")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)V",
|
signature = "(III)V",
|
||||||
garbageValue = "1627267757"
|
garbageValue = "-1360359241"
|
||||||
)
|
)
|
||||||
@Export("loadIndex")
|
@Export("loadIndex")
|
||||||
public void loadIndex(int var1, int var2) {
|
void loadIndex(int var1, int var2) {
|
||||||
this.indexCrc = var1;
|
this.indexCrc = var1;
|
||||||
this.indexVersion = var2;
|
this.indexVersion = var2;
|
||||||
if (this.masterDisk != null) {
|
if (this.masterDisk != null) {
|
||||||
int var3 = this.index;
|
PlayerType.method4210(this.index, this.masterDisk, this);
|
||||||
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 (var8.key == (long)var3 && var4 == var8.archiveDisk && var8.type == 0) {
|
|
||||||
var6 = var8.data;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var6 != null) {
|
|
||||||
this.load(var4, var3, var6, true);
|
|
||||||
} else {
|
} else {
|
||||||
byte[] var7 = var4.read(var3);
|
ClientPreferences.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||||
this.load(var4, var3, var7, true);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
BuddyRankComparator.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("dr")
|
@ObfuscatedName("dc")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I[BZZB)V",
|
signature = "(I[BZZI)V",
|
||||||
garbageValue = "4"
|
garbageValue = "1341522635"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public void write(int var1, byte[] var2, boolean var3, boolean var4) {
|
void write(int var1, byte[] var2, boolean var3, boolean var4) {
|
||||||
if (var3) {
|
if (var3) {
|
||||||
if (this.field3145) {
|
if (this.field3158) {
|
||||||
throw new RuntimeException();
|
throw new RuntimeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.masterDisk != null) {
|
if (this.masterDisk != null) {
|
||||||
int var5 = this.index;
|
TileItem.method2144(this.index, var2, this.masterDisk);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemContainer.method1250();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.decodeIndex(var2);
|
this.decodeIndex(var2);
|
||||||
@@ -235,42 +207,44 @@ public class Archive extends AbstractArchive {
|
|||||||
var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8);
|
var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8);
|
||||||
var2[var2.length - 1] = (byte)super.groupVersions[var1];
|
var2[var2.length - 1] = (byte)super.groupVersions[var1];
|
||||||
if (this.archiveDisk != null) {
|
if (this.archiveDisk != null) {
|
||||||
ArchiveDisk var11 = this.archiveDisk;
|
TileItem.method2144(var1, var2, 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemContainer.method1250();
|
|
||||||
this.validGroups[var1] = true;
|
this.validGroups[var1] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4) {
|
if (var4) {
|
||||||
super.groups[var1] = MusicPatchPcmStream.method4064(var2, false);
|
Object[] var5 = super.groups;
|
||||||
|
Object var7;
|
||||||
|
if (var2 == null) {
|
||||||
|
var7 = null;
|
||||||
|
} else if (var2.length > 136) {
|
||||||
|
DirectByteArrayCopier var8 = new DirectByteArrayCopier();
|
||||||
|
var8.set(var2);
|
||||||
|
var7 = var8;
|
||||||
|
} else {
|
||||||
|
var7 = var2;
|
||||||
|
}
|
||||||
|
|
||||||
|
var5[var1] = var7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("do")
|
@ObfuscatedName("dk")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lke;I[BZI)V",
|
signature = "(Lke;I[BZB)V",
|
||||||
garbageValue = "-1897627904"
|
garbageValue = "45"
|
||||||
)
|
)
|
||||||
@Export("load")
|
@Export("load")
|
||||||
public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) {
|
void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) {
|
||||||
int var5;
|
int var5;
|
||||||
if (var1 == this.masterDisk) {
|
if (var1 == this.masterDisk) {
|
||||||
if (this.field3145) {
|
if (this.field3158) {
|
||||||
throw new RuntimeException();
|
throw new RuntimeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var3 == null) {
|
if (var3 == null) {
|
||||||
BuddyRankComparator.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
ClientPreferences.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,37 +252,37 @@ public class Archive extends AbstractArchive {
|
|||||||
Archive_crc.update(var3, 0, var3.length);
|
Archive_crc.update(var3, 0, var3.length);
|
||||||
var5 = (int)Archive_crc.getValue();
|
var5 = (int)Archive_crc.getValue();
|
||||||
if (var5 != this.indexCrc) {
|
if (var5 != this.indexCrc) {
|
||||||
BuddyRankComparator.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
ClientPreferences.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Buffer var9 = new Buffer(ArchiveLoader.decompressBytes(var3));
|
Buffer var11 = new Buffer(class226.decompressBytes(var3));
|
||||||
int var7 = var9.readUnsignedByte();
|
int var12 = var11.readUnsignedByte();
|
||||||
if (var7 != 5 && var7 != 6) {
|
if (var12 != 5 && var12 != 6) {
|
||||||
throw new RuntimeException(var7 + "," + this.index + "," + var2);
|
throw new RuntimeException(var12 + "," + this.index + "," + var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
int var8 = 0;
|
int var8 = 0;
|
||||||
if (var7 >= 6) {
|
if (var12 >= 6) {
|
||||||
var8 = var9.readInt();
|
var8 = var11.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var8 != this.indexVersion) {
|
if (var8 != this.indexVersion) {
|
||||||
BuddyRankComparator.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
ClientPreferences.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.decodeIndex(var3);
|
this.decodeIndex(var3);
|
||||||
this.loadAllLocal();
|
this.loadAllLocal();
|
||||||
} else {
|
} else {
|
||||||
if (!var4 && var2 == this.field3148) {
|
if (!var4 && var2 == this.field3168) {
|
||||||
this.field3145 = true;
|
this.field3158 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var3 == null || var3.length <= 2) {
|
if (var3 == null || var3.length <= 2) {
|
||||||
this.validGroups[var2] = false;
|
this.validGroups[var2] = false;
|
||||||
if (this.field3139 || var4) {
|
if (this.field3163 || var4) {
|
||||||
BuddyRankComparator.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
ClientPreferences.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -320,8 +294,8 @@ public class Archive extends AbstractArchive {
|
|||||||
int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
||||||
if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) {
|
if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) {
|
||||||
this.validGroups[var2] = false;
|
this.validGroups[var2] = false;
|
||||||
if (this.field3139 || var4) {
|
if (this.field3163 || var4) {
|
||||||
BuddyRankComparator.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
ClientPreferences.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -329,16 +303,28 @@ public class Archive extends AbstractArchive {
|
|||||||
|
|
||||||
this.validGroups[var2] = true;
|
this.validGroups[var2] = true;
|
||||||
if (var4) {
|
if (var4) {
|
||||||
super.groups[var2] = MusicPatchPcmStream.method4064(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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ds")
|
@ObfuscatedName("dj")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(I)V",
|
||||||
garbageValue = "0"
|
garbageValue = "-1169710133"
|
||||||
)
|
)
|
||||||
@Export("loadAllLocal")
|
@Export("loadAllLocal")
|
||||||
void loadAllLocal() {
|
void loadAllLocal() {
|
||||||
@@ -350,56 +336,46 @@ public class Archive extends AbstractArchive {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.archiveDisk == null) {
|
if (this.archiveDisk == null) {
|
||||||
this.field3145 = true;
|
this.field3158 = true;
|
||||||
} else {
|
} else {
|
||||||
this.field3148 = -1;
|
this.field3168 = -1;
|
||||||
|
|
||||||
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
||||||
if (super.fileCounts[var1] > 0) {
|
if (super.fileCounts[var1] > 0) {
|
||||||
ArchiveDisk var2 = this.archiveDisk;
|
class40.method780(var1, this.archiveDisk, this);
|
||||||
ArchiveDiskAction var4 = new ArchiveDiskAction();
|
this.field3168 = var1;
|
||||||
var4.type = 1;
|
|
||||||
var4.key = (long)var1;
|
|
||||||
var4.archiveDisk = var2;
|
|
||||||
var4.archive = this;
|
|
||||||
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
|
|
||||||
ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var4);
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemContainer.method1250();
|
|
||||||
this.field3148 = var1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.field3148 == -1) {
|
if (this.field3168 == -1) {
|
||||||
this.field3145 = true;
|
this.field3158 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("dz")
|
@ObfuscatedName("dp")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(II)Z",
|
||||||
garbageValue = "139739095"
|
garbageValue = "2065580050"
|
||||||
)
|
)
|
||||||
public boolean method4417(int var1) {
|
public boolean method4354(int var1) {
|
||||||
return this.validGroups[var1];
|
return this.validGroups[var1];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("dj")
|
@ObfuscatedName("di")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(II)Z",
|
||||||
garbageValue = "308980057"
|
garbageValue = "581589057"
|
||||||
)
|
)
|
||||||
public boolean method4436(int var1) {
|
public boolean method4355(int var1) {
|
||||||
return this.getGroupFileIds(var1) != null;
|
return this.getGroupFileIds(var1) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("df")
|
@ObfuscatedName("dn")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(I)I",
|
||||||
garbageValue = "52"
|
garbageValue = "1792861334"
|
||||||
)
|
)
|
||||||
@Export("loadPercent")
|
@Export("loadPercent")
|
||||||
public int loadPercent() {
|
public int loadPercent() {
|
||||||
|
|||||||
@@ -9,30 +9,30 @@ import net.runelite.mapping.ObfuscatedSignature;
|
|||||||
@ObfuscatedName("ke")
|
@ObfuscatedName("ke")
|
||||||
@Implements("ArchiveDisk")
|
@Implements("ArchiveDisk")
|
||||||
public final class ArchiveDisk {
|
public final class ArchiveDisk {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("ArchiveDisk_buffer")
|
@Export("ArchiveDisk_buffer")
|
||||||
static byte[] ArchiveDisk_buffer;
|
static byte[] ArchiveDisk_buffer;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lmz;"
|
signature = "Lmb;"
|
||||||
)
|
)
|
||||||
@Export("datFile")
|
@Export("datFile")
|
||||||
BufferedFile datFile;
|
BufferedFile datFile;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lmz;"
|
signature = "Lmb;"
|
||||||
)
|
)
|
||||||
@Export("idxFile")
|
@Export("idxFile")
|
||||||
BufferedFile idxFile;
|
BufferedFile idxFile;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 161703877
|
intValue = 417377451
|
||||||
)
|
)
|
||||||
@Export("archive")
|
@Export("archive")
|
||||||
int archive;
|
int archive;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1904076189
|
intValue = 1640009955
|
||||||
)
|
)
|
||||||
@Export("maxEntrySize")
|
@Export("maxEntrySize")
|
||||||
int maxEntrySize;
|
int maxEntrySize;
|
||||||
@@ -42,7 +42,7 @@ public final class ArchiveDisk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILmz;Lmz;I)V"
|
signature = "(ILmb;Lmb;I)V"
|
||||||
)
|
)
|
||||||
public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) {
|
public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) {
|
||||||
this.datFile = null;
|
this.datFile = null;
|
||||||
@@ -54,10 +54,10 @@ public final class ArchiveDisk {
|
|||||||
this.maxEntrySize = var4;
|
this.maxEntrySize = var4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)[B",
|
signature = "(II)[B",
|
||||||
garbageValue = "909989456"
|
garbageValue = "-2146892586"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
public byte[] read(int var1) {
|
public byte[] read(int var1) {
|
||||||
@@ -81,15 +81,14 @@ public final class ArchiveDisk {
|
|||||||
} else {
|
} else {
|
||||||
byte[] var5 = new byte[var3];
|
byte[] var5 = new byte[var3];
|
||||||
int var6 = 0;
|
int var6 = 0;
|
||||||
int var7 = 0;
|
|
||||||
|
|
||||||
while (var6 < var3) {
|
for (int var7 = 0; var6 < var3; ++var7) {
|
||||||
if (var4 == 0) {
|
if (var4 == 0) {
|
||||||
var10000 = null;
|
var10000 = null;
|
||||||
return (byte[])var10000;
|
return (byte[])var10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.datFile.seek(520L * (long)var4);
|
this.datFile.seek((long)var4 * 520L);
|
||||||
int var8 = var3 - var6;
|
int var8 = var3 - var6;
|
||||||
int var9;
|
int var9;
|
||||||
int var10;
|
int var10;
|
||||||
@@ -102,7 +101,7 @@ public final class ArchiveDisk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var13 = 10;
|
var13 = 10;
|
||||||
this.datFile.read(ArchiveDisk_buffer, 0, var13 + var8);
|
this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13);
|
||||||
var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
|
var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
|
||||||
var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8);
|
var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8);
|
||||||
var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16);
|
var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16);
|
||||||
@@ -120,25 +119,23 @@ public final class ArchiveDisk {
|
|||||||
var12 = ArchiveDisk_buffer[7] & 255;
|
var12 = ArchiveDisk_buffer[7] & 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var9 == var1 && var7 == var10 && var12 == this.archive) {
|
if (var9 != var1 || var10 != var7 || var12 != this.archive) {
|
||||||
if (var11 >= 0 && (long)var11 <= this.datFile.length() / 520L) {
|
var10000 = null;
|
||||||
int var14 = var13 + var8;
|
return (byte[])var10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) {
|
||||||
|
var10000 = null;
|
||||||
|
return (byte[])var10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
int var14 = var8 + var13;
|
||||||
|
|
||||||
for (int var15 = var13; var15 < var14; ++var15) {
|
for (int var15 = var13; var15 < var14; ++var15) {
|
||||||
var5[var6++] = ArchiveDisk_buffer[var15];
|
var5[var6++] = ArchiveDisk_buffer[var15];
|
||||||
}
|
}
|
||||||
|
|
||||||
var4 = var11;
|
var4 = var11;
|
||||||
++var7;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var10000 = null;
|
|
||||||
return (byte[])var10000;
|
|
||||||
}
|
|
||||||
|
|
||||||
var10000 = null;
|
|
||||||
return (byte[])var10000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] var20 = var5;
|
byte[] var20 = var5;
|
||||||
@@ -151,10 +148,10 @@ public final class ArchiveDisk {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I[BII)Z",
|
signature = "(I[BII)Z",
|
||||||
garbageValue = "434454104"
|
garbageValue = "-847322953"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public boolean write(int var1, byte[] var2, int var3) {
|
public boolean write(int var1, byte[] var2, int var3) {
|
||||||
@@ -172,10 +169,10 @@ public final class ArchiveDisk {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I[BIZI)Z",
|
signature = "(I[BIZB)Z",
|
||||||
garbageValue = "-498922457"
|
garbageValue = "127"
|
||||||
)
|
)
|
||||||
@Export("write0")
|
@Export("write0")
|
||||||
boolean write0(int var1, byte[] var2, int var3, boolean var4) {
|
boolean write0(int var1, byte[] var2, int var3, boolean var4) {
|
||||||
@@ -216,7 +213,7 @@ public final class ArchiveDisk {
|
|||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (var7 < var3) {
|
if (var7 < var3) {
|
||||||
label170: {
|
label172: {
|
||||||
int var9 = 0;
|
int var9 = 0;
|
||||||
int var10;
|
int var10;
|
||||||
if (var4) {
|
if (var4) {
|
||||||
@@ -227,7 +224,7 @@ public final class ArchiveDisk {
|
|||||||
try {
|
try {
|
||||||
this.datFile.read(ArchiveDisk_buffer, 0, 10);
|
this.datFile.read(ArchiveDisk_buffer, 0, 10);
|
||||||
} catch (EOFException var17) {
|
} catch (EOFException var17) {
|
||||||
break label170;
|
break label172;
|
||||||
}
|
}
|
||||||
|
|
||||||
var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
|
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 {
|
try {
|
||||||
this.datFile.read(ArchiveDisk_buffer, 0, 8);
|
this.datFile.read(ArchiveDisk_buffer, 0, 8);
|
||||||
} catch (EOFException var16) {
|
} catch (EOFException var16) {
|
||||||
break label170;
|
break label172;
|
||||||
}
|
}
|
||||||
|
|
||||||
var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8);
|
var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8);
|
||||||
@@ -285,7 +282,7 @@ public final class ArchiveDisk {
|
|||||||
ArchiveDisk_buffer[7] = (byte)(var9 >> 8);
|
ArchiveDisk_buffer[7] = (byte)(var9 >> 8);
|
||||||
ArchiveDisk_buffer[8] = (byte)var9;
|
ArchiveDisk_buffer[8] = (byte)var9;
|
||||||
ArchiveDisk_buffer[9] = (byte)this.archive;
|
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);
|
this.datFile.write(ArchiveDisk_buffer, 0, 10);
|
||||||
var10 = var3 - var7;
|
var10 = var3 - var7;
|
||||||
if (var10 > 510) {
|
if (var10 > 510) {
|
||||||
@@ -307,7 +304,7 @@ public final class ArchiveDisk {
|
|||||||
ArchiveDisk_buffer[5] = (byte)(var9 >> 8);
|
ArchiveDisk_buffer[5] = (byte)(var9 >> 8);
|
||||||
ArchiveDisk_buffer[6] = (byte)var9;
|
ArchiveDisk_buffer[6] = (byte)var9;
|
||||||
ArchiveDisk_buffer[7] = (byte)this.archive;
|
ArchiveDisk_buffer[7] = (byte)this.archive;
|
||||||
this.datFile.seek((long)var6 * 520L);
|
this.datFile.seek(520L * (long)var6);
|
||||||
this.datFile.write(ArchiveDisk_buffer, 0, 8);
|
this.datFile.write(ArchiveDisk_buffer, 0, 8);
|
||||||
var10 = var3 - var7;
|
var10 = var3 - var7;
|
||||||
if (var10 > 512) {
|
if (var10 > 512) {
|
||||||
|
|||||||
@@ -3,391 +3,58 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
import net.runelite.rs.ScriptOpcodes;
|
|
||||||
|
|
||||||
@ObfuscatedName("hs")
|
@ObfuscatedName("ho")
|
||||||
@Implements("ArchiveDiskAction")
|
@Implements("ArchiveDiskAction")
|
||||||
public class ArchiveDiskAction extends Node {
|
public class ArchiveDiskAction extends Node {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -114474261
|
intValue = 168002015
|
||||||
)
|
)
|
||||||
@Export("type")
|
@Export("type")
|
||||||
int type;
|
int type;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("data")
|
@Export("data")
|
||||||
public byte[] data;
|
byte[] data;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lke;"
|
signature = "Lke;"
|
||||||
)
|
)
|
||||||
@Export("archiveDisk")
|
@Export("archiveDisk")
|
||||||
public ArchiveDisk archiveDisk;
|
ArchiveDisk archiveDisk;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lij;"
|
signature = "Lij;"
|
||||||
)
|
)
|
||||||
@Export("archive")
|
@Export("archive")
|
||||||
public Archive archive;
|
Archive archive;
|
||||||
|
|
||||||
ArchiveDiskAction() {
|
ArchiveDiskAction() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgw;B)I",
|
signature = "([BILjava/lang/CharSequence;I)I",
|
||||||
garbageValue = "2"
|
garbageValue = "-1806066306"
|
||||||
)
|
)
|
||||||
@Export("compareStrings")
|
public static int method4229(byte[] var0, int var1, CharSequence var2) {
|
||||||
public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) {
|
int var3 = var2.length();
|
||||||
int var3 = var0.length();
|
int var4 = var1;
|
||||||
int var4 = var1.length();
|
|
||||||
int var5 = 0;
|
|
||||||
int var6 = 0;
|
|
||||||
char var7 = 0;
|
|
||||||
char var8 = 0;
|
|
||||||
|
|
||||||
while (var5 - var7 < var3 || var6 - var8 < var4) {
|
for (int var5 = 0; var5 < var3; ++var5) {
|
||||||
if (var5 - var7 >= var3) {
|
char var6 = var2.charAt(var5);
|
||||||
return -1;
|
if (var6 <= 127) {
|
||||||
}
|
var0[var4++] = (byte)var6;
|
||||||
|
} else if (var6 <= 2047) {
|
||||||
if (var6 - var8 >= var4) {
|
var0[var4++] = (byte)(192 | var6 >> 6);
|
||||||
return 1;
|
var0[var4++] = (byte)(128 | var6 & '?');
|
||||||
}
|
|
||||||
|
|
||||||
char var9;
|
|
||||||
if (var7 != 0) {
|
|
||||||
var9 = var7;
|
|
||||||
boolean var14 = false;
|
|
||||||
} else {
|
} else {
|
||||||
var9 = var0.charAt(var5++);
|
var0[var4++] = (byte)(224 | var6 >> '\f');
|
||||||
}
|
var0[var4++] = (byte)(128 | var6 >> 6 & 63);
|
||||||
|
var0[var4++] = (byte)(128 | var6 & '?');
|
||||||
char var10;
|
|
||||||
if (var8 != 0) {
|
|
||||||
var10 = var8;
|
|
||||||
boolean var15 = false;
|
|
||||||
} else {
|
|
||||||
var10 = var1.charAt(var6++);
|
|
||||||
}
|
|
||||||
|
|
||||||
var7 = WorldMapSectionType.method296(var9);
|
|
||||||
var8 = WorldMapSectionType.method296(var10);
|
|
||||||
var9 = class80.standardizeChar(var9, var2);
|
|
||||||
var10 = class80.standardizeChar(var10, var2);
|
|
||||||
if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) {
|
|
||||||
var9 = Character.toLowerCase(var9);
|
|
||||||
var10 = Character.toLowerCase(var10);
|
|
||||||
if (var10 != var9) {
|
|
||||||
return ScriptEvent.lowercaseChar(var9, var2) - ScriptEvent.lowercaseChar(var10, var2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 (var11 != var12) {
|
|
||||||
return ScriptEvent.lowercaseChar(var11, var2) - ScriptEvent.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 ScriptEvent.lowercaseChar(var12, var2) - ScriptEvent.lowercaseChar(var13, var2);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return var4 - var1;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("ay")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(ILcj;ZB)I",
|
|
||||||
garbageValue = "1"
|
|
||||||
)
|
|
||||||
static int method4296(int var0, Script var1, boolean var2) {
|
|
||||||
if (var0 == ScriptOpcodes.WORLDLIST_FETCH) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class43.loadWorlds() ? 1 : 0;
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
World var3;
|
|
||||||
if (var0 == ScriptOpcodes.WORLDLIST_START) {
|
|
||||||
var3 = WorldMapData_0.worldListStart();
|
|
||||||
if (var3 != null) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.id;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.properties;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var3.activity;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.location;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.population;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var3.host;
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) {
|
|
||||||
var3 = class1.getNextWorldListWorld();
|
|
||||||
if (var3 != null) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.id;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.properties;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var3.activity;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.location;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.population;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var3.host;
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
World var4;
|
|
||||||
int var5;
|
|
||||||
int var7;
|
|
||||||
if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) {
|
|
||||||
var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
|
|
||||||
var4 = null;
|
|
||||||
|
|
||||||
for (var5 = 0; var5 < World.World_count; ++var5) {
|
|
||||||
if (var7 == Username.World_worlds[var5].id) {
|
|
||||||
var4 = Username.World_worlds[var5];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var4 != null) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.id;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.properties;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var4.activity;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.location;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.population;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var4.host;
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.WORLDLIST_SORT) {
|
|
||||||
Interpreter.Interpreter_intStackSize -= 4;
|
|
||||||
var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
|
|
||||||
boolean var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1;
|
|
||||||
var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2];
|
|
||||||
boolean var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3] == 1;
|
|
||||||
class96.sortWorldList(var7, var10, var5, var6);
|
|
||||||
return 1;
|
|
||||||
} else if (var0 != ScriptOpcodes.GETWORLDINFO) {
|
|
||||||
if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) {
|
|
||||||
Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
int var8;
|
|
||||||
ParamDefinition var9;
|
|
||||||
if (var0 == ScriptOpcodes.NC_PARAM) {
|
|
||||||
Interpreter.Interpreter_intStackSize -= 2;
|
|
||||||
var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
|
|
||||||
var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
|
|
||||||
var9 = class162.getParamDefinition(var8);
|
|
||||||
if (var9.isString()) {
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = SecureRandomCallable.getNpcDefinition(var7).getStringParam(var8, var9.defaultStr);
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = SecureRandomCallable.getNpcDefinition(var7).getIntParam(var8, var9.defaultInt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.LC_PARAM) {
|
|
||||||
Interpreter.Interpreter_intStackSize -= 2;
|
|
||||||
var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
|
|
||||||
var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
|
|
||||||
var9 = class162.getParamDefinition(var8);
|
|
||||||
if (var9.isString()) {
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = WorldMapDecorationType.getObjectDefinition(var7).getStringParam(var8, var9.defaultStr);
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapDecorationType.getObjectDefinition(var7).getIntParam(var8, var9.defaultInt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.OC_PARAM) {
|
|
||||||
Interpreter.Interpreter_intStackSize -= 2;
|
|
||||||
var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
|
|
||||||
var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
|
|
||||||
var9 = class162.getParamDefinition(var8);
|
|
||||||
if (var9.isString()) {
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = class222.ItemDefinition_get(var7).getStringParam(var8, var9.defaultStr);
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class222.ItemDefinition_get(var7).getIntParam(var8, var9.defaultInt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.STRUCT_PARAM) {
|
|
||||||
Interpreter.Interpreter_intStackSize -= 2;
|
|
||||||
var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
|
|
||||||
var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
|
|
||||||
var9 = class162.getParamDefinition(var8);
|
|
||||||
if (var9.isString()) {
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = GrandExchangeOfferOwnWorldComparator.StructDefinition_getStructDefinition(var7).getStringParam(var8, var9.defaultStr);
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.StructDefinition_getStructDefinition(var7).getIntParam(var8, var9.defaultInt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.ON_MOBILE) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.CLIENTTYPE) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.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) {
|
|
||||||
--WorldMapDecoration.Interpreter_stringStackSize;
|
|
||||||
--Interpreter.Interpreter_intStackSize;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == 6523) {
|
|
||||||
--WorldMapDecoration.Interpreter_stringStackSize;
|
|
||||||
--Interpreter.Interpreter_intStackSize;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.BATTERYLEVEL) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.BATTERYCHARGING) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.WIFIAVAILABLE) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1;
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
|
|
||||||
if (var7 >= 0 && var7 < World.World_count) {
|
|
||||||
var4 = Username.World_worlds[var7];
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.id;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.properties;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var4.activity;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.location;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.population;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = var4.host;
|
|
||||||
} else {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0;
|
|
||||||
Interpreter.Interpreter_stringStack[++WorldMapDecoration.Interpreter_stringStackSize - 1] = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("ix")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V",
|
|
||||||
garbageValue = "-128903403"
|
|
||||||
)
|
|
||||||
@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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("kf")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lhi;I)V",
|
|
||||||
garbageValue = "774063316"
|
|
||||||
)
|
|
||||||
static final void method4297(Widget var0) {
|
|
||||||
int var1 = var0.contentType;
|
|
||||||
if (var1 == 324) {
|
|
||||||
if (Client.field818 == -1) {
|
|
||||||
Client.field818 = var0.spriteId2;
|
|
||||||
Client.field896 = var0.spriteId;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.playerAppearance.isFemale) {
|
|
||||||
var0.spriteId2 = Client.field818;
|
|
||||||
} else {
|
|
||||||
var0.spriteId2 = Client.field896;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (var1 == 325) {
|
|
||||||
if (Client.field818 == -1) {
|
|
||||||
Client.field818 = var0.spriteId2;
|
|
||||||
Client.field896 = var0.spriteId;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.playerAppearance.isFemale) {
|
|
||||||
var0.spriteId2 = Client.field896;
|
|
||||||
} else {
|
|
||||||
var0.spriteId2 = Client.field818;
|
|
||||||
}
|
|
||||||
|
|
||||||
} 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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,53 +4,37 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("ig")
|
@ObfuscatedName("ic")
|
||||||
@Implements("ArchiveDiskActionHandler")
|
@Implements("ArchiveDiskActionHandler")
|
||||||
public class ArchiveDiskActionHandler implements Runnable {
|
public class ArchiveDiskActionHandler implements Runnable {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Ljb;"
|
signature = "Ljd;"
|
||||||
)
|
)
|
||||||
@Export("ArchiveDiskActionHandler_requestQueue")
|
@Export("ArchiveDiskActionHandler_requestQueue")
|
||||||
public static NodeDeque ArchiveDiskActionHandler_requestQueue;
|
static NodeDeque ArchiveDiskActionHandler_requestQueue;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Ljb;"
|
signature = "Ljd;"
|
||||||
)
|
)
|
||||||
@Export("ArchiveDiskActionHandler_responseQueue")
|
@Export("ArchiveDiskActionHandler_responseQueue")
|
||||||
public static NodeDeque ArchiveDiskActionHandler_responseQueue;
|
static NodeDeque ArchiveDiskActionHandler_responseQueue;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -2025054069
|
intValue = 1217750145
|
||||||
)
|
)
|
||||||
static int field3132;
|
public static int field3155;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("g")
|
||||||
@Export("ArchiveDiskActionHandler_lock")
|
@Export("ArchiveDiskActionHandler_lock")
|
||||||
static Object ArchiveDiskActionHandler_lock;
|
public static Object ArchiveDiskActionHandler_lock;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("z")
|
||||||
@Export("ArchiveDiskActionHandler_thread")
|
@Export("ArchiveDiskActionHandler_thread")
|
||||||
static Thread ArchiveDiskActionHandler_thread;
|
static Thread ArchiveDiskActionHandler_thread;
|
||||||
@ObfuscatedName("c")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
intValue = 1867272823
|
|
||||||
)
|
|
||||||
static int field3133;
|
|
||||||
@ObfuscatedName("dr")
|
|
||||||
@ObfuscatedGetter(
|
|
||||||
longValue = -4581696908763214333L
|
|
||||||
)
|
|
||||||
static long field3130;
|
|
||||||
@ObfuscatedName("fk")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "Lks;"
|
|
||||||
)
|
|
||||||
@Export("fontPlain12")
|
|
||||||
static Font fontPlain12;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ArchiveDiskActionHandler_requestQueue = new NodeDeque();
|
ArchiveDiskActionHandler_requestQueue = new NodeDeque();
|
||||||
ArchiveDiskActionHandler_responseQueue = new NodeDeque();
|
ArchiveDiskActionHandler_responseQueue = new NodeDeque();
|
||||||
field3132 = 0;
|
field3155 = 0;
|
||||||
ArchiveDiskActionHandler_lock = new Object();
|
ArchiveDiskActionHandler_lock = new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,29 +63,162 @@ public class ArchiveDiskActionHandler implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
synchronized(ArchiveDiskActionHandler_lock) {
|
synchronized(ArchiveDiskActionHandler_lock) {
|
||||||
if (field3132 <= 1) {
|
if (field3155 <= 1) {
|
||||||
field3132 = 0;
|
field3155 = 0;
|
||||||
ArchiveDiskActionHandler_lock.notifyAll();
|
ArchiveDiskActionHandler_lock.notifyAll();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
field3132 = 600;
|
field3155 = 600;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ClanChat.method5367(100L);
|
long var8 = 99L;
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(var8);
|
||||||
|
} catch (InterruptedException var15) {
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(1L);
|
||||||
|
} catch (InterruptedException var14) {
|
||||||
|
}
|
||||||
|
|
||||||
synchronized(ArchiveDiskActionHandler_lock) {
|
synchronized(ArchiveDiskActionHandler_lock) {
|
||||||
if (field3132 <= 1) {
|
if (field3155 <= 1) {
|
||||||
field3132 = 0;
|
field3155 = 0;
|
||||||
ArchiveDiskActionHandler_lock.notifyAll();
|
ArchiveDiskActionHandler_lock.notifyAll();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
--field3132;
|
--field3155;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception var13) {
|
} catch (Exception var17) {
|
||||||
User.RunException_sendStackTrace((String)null, var13);
|
Calendar.RunException_sendStackTrace((String)null, var17);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("u")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgc;I)I",
|
||||||
|
garbageValue = "-1277174237"
|
||||||
|
)
|
||||||
|
@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;
|
||||||
|
byte var7 = 0;
|
||||||
|
byte var8 = 0;
|
||||||
|
|
||||||
|
while (var5 - var7 < var3 || var6 - var8 < var4) {
|
||||||
|
if (var5 - var7 >= var3) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (var6 - var8 >= var4) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
char var9;
|
||||||
|
if (var7 != 0) {
|
||||||
|
var9 = (char)var7;
|
||||||
|
boolean var14 = false;
|
||||||
|
} else {
|
||||||
|
var9 = var0.charAt(var5++);
|
||||||
|
}
|
||||||
|
|
||||||
|
char var10;
|
||||||
|
if (var8 != 0) {
|
||||||
|
var10 = (char)var8;
|
||||||
|
boolean var15 = false;
|
||||||
|
} else {
|
||||||
|
var10 = var1.charAt(var6++);
|
||||||
|
}
|
||||||
|
|
||||||
|
byte var11;
|
||||||
|
if (var9 == 198) {
|
||||||
|
var11 = 69;
|
||||||
|
} else if (var9 == 230) {
|
||||||
|
var11 = 101;
|
||||||
|
} else if (var9 == 223) {
|
||||||
|
var11 = 115;
|
||||||
|
} else if (var9 == 338) {
|
||||||
|
var11 = 69;
|
||||||
|
} else if (var9 == 339) {
|
||||||
|
var11 = 101;
|
||||||
|
} else {
|
||||||
|
var11 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
var7 = var11;
|
||||||
|
byte var12;
|
||||||
|
if (var10 == 198) {
|
||||||
|
var12 = 69;
|
||||||
|
} else if (var10 == 230) {
|
||||||
|
var12 = 101;
|
||||||
|
} else if (var10 == 223) {
|
||||||
|
var12 = 115;
|
||||||
|
} else if (var10 == 338) {
|
||||||
|
var12 = 69;
|
||||||
|
} else if (var10 == 339) {
|
||||||
|
var12 = 101;
|
||||||
|
} else {
|
||||||
|
var12 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
var8 = var12;
|
||||||
|
var9 = PacketWriter.standardizeChar(var9, var2);
|
||||||
|
var10 = PacketWriter.standardizeChar(var10, var2);
|
||||||
|
if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) {
|
||||||
|
var9 = Character.toLowerCase(var9);
|
||||||
|
var10 = Character.toLowerCase(var10);
|
||||||
|
if (var9 != var10) {
|
||||||
|
return StudioGame.lowercaseChar(var9, var2) - StudioGame.lowercaseChar(var10, var2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int var16 = Math.min(var3, var4);
|
||||||
|
|
||||||
|
int var17;
|
||||||
|
char var20;
|
||||||
|
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 var18 = var0.charAt(var5);
|
||||||
|
var20 = var1.charAt(var6);
|
||||||
|
if (var18 != var20 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) {
|
||||||
|
var18 = Character.toLowerCase(var18);
|
||||||
|
var20 = Character.toLowerCase(var20);
|
||||||
|
if (var20 != var18) {
|
||||||
|
return StudioGame.lowercaseChar(var18, var2) - StudioGame.lowercaseChar(var20, var2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var17 = var3 - var4;
|
||||||
|
if (var17 != 0) {
|
||||||
|
return var17;
|
||||||
|
} else {
|
||||||
|
for (int var19 = 0; var19 < var16; ++var19) {
|
||||||
|
var20 = var0.charAt(var19);
|
||||||
|
char var13 = var1.charAt(var19);
|
||||||
|
if (var20 != var13) {
|
||||||
|
return StudioGame.lowercaseChar(var20, var2) - StudioGame.lowercaseChar(var13, var2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,38 +3,30 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
import net.runelite.rs.ScriptOpcodes;
|
|
||||||
|
|
||||||
@ObfuscatedName("bh")
|
@ObfuscatedName("bj")
|
||||||
@Implements("ArchiveLoader")
|
@Implements("ArchiveLoader")
|
||||||
public class ArchiveLoader {
|
public class ArchiveLoader {
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedGetter(
|
public static short[][] field533;
|
||||||
intValue = 1109035575
|
@ObfuscatedName("k")
|
||||||
)
|
@Export("musicTrackBoolean")
|
||||||
@Export("gameCyclesToDo")
|
public static boolean musicTrackBoolean;
|
||||||
static int gameCyclesToDo;
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedName("x")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "[Lmz;"
|
|
||||||
)
|
|
||||||
@Export("JagexCache_idxFiles")
|
|
||||||
public static BufferedFile[] JagexCache_idxFiles;
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lij;"
|
signature = "Lij;"
|
||||||
)
|
)
|
||||||
@Export("archive")
|
@Export("archive")
|
||||||
final Archive archive;
|
final Archive archive;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1458094845
|
intValue = -1292831283
|
||||||
)
|
)
|
||||||
@Export("groupCount")
|
@Export("groupCount")
|
||||||
final int groupCount;
|
final int groupCount;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1936388269
|
intValue = -95708581
|
||||||
)
|
)
|
||||||
@Export("loadedCount")
|
@Export("loadedCount")
|
||||||
int loadedCount;
|
int loadedCount;
|
||||||
@@ -48,17 +40,17 @@ public class ArchiveLoader {
|
|||||||
this.groupCount = var1.getGroupCount();
|
this.groupCount = var1.getGroupCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "2053388584"
|
garbageValue = "-1362696328"
|
||||||
)
|
)
|
||||||
@Export("isLoaded")
|
@Export("isLoaded")
|
||||||
boolean isLoaded() {
|
boolean isLoaded() {
|
||||||
this.loadedCount = 0;
|
this.loadedCount = 0;
|
||||||
|
|
||||||
for (int var1 = 0; var1 < this.groupCount; ++var1) {
|
for (int var1 = 0; var1 < this.groupCount; ++var1) {
|
||||||
if (!this.archive.method4436(var1) || this.archive.method4417(var1)) {
|
if (!this.archive.method4355(var1) || this.archive.method4354(var1)) {
|
||||||
++this.loadedCount;
|
++this.loadedCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -66,822 +58,21 @@ public class ArchiveLoader {
|
|||||||
return this.loadedCount >= this.groupCount;
|
return this.loadedCount >= this.groupCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(I)[Lik;",
|
||||||
garbageValue = "145350821"
|
garbageValue = "141715201"
|
||||||
)
|
)
|
||||||
public static boolean method1239(int var0) {
|
static VerticalAlignment[] method1177() {
|
||||||
return var0 == WorldMapDecorationType.field2723.id;
|
return new VerticalAlignment[]{VerticalAlignment.field3200, VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field3201};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(III)I",
|
signature = "(B)V",
|
||||||
garbageValue = "-1915313873"
|
garbageValue = "-84"
|
||||||
)
|
)
|
||||||
static int method1237(int var0, int var1) {
|
public static void method1178() {
|
||||||
if (var0 == -2) {
|
class96.reflectionChecks = new IterableNodeDeque();
|
||||||
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("a")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lhq;I)V",
|
|
||||||
garbageValue = "1291572583"
|
|
||||||
)
|
|
||||||
public static void method1235(AbstractArchive var0) {
|
|
||||||
FloorOverlayDefinition.FloorOverlayDefinition_archive = var0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lkf;B)V",
|
|
||||||
garbageValue = "49"
|
|
||||||
)
|
|
||||||
@Export("updatePlayer")
|
|
||||||
static final void updatePlayer(PacketBuffer var0) {
|
|
||||||
var0.importIndex();
|
|
||||||
int var1 = Client.localPlayerIndex;
|
|
||||||
Player var2 = class215.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 - UserComparator8.baseX * 64;
|
|
||||||
var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6);
|
|
||||||
var2.pathY[0] = var6 - HealthBar.baseY * 64;
|
|
||||||
var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6);
|
|
||||||
Player.Client_plane = var2.plane = var4;
|
|
||||||
if (Players.field1229[var1] != null) {
|
|
||||||
var2.read(Players.field1229[var1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
Players.Players_count = 0;
|
|
||||||
Players.Players_indices[++Players.Players_count - 1] = var1;
|
|
||||||
Players.field1227[var1] = 0;
|
|
||||||
Players.Players_emptyIdxCount = 0;
|
|
||||||
|
|
||||||
for (int var7 = 1; var7 < 2048; ++var7) {
|
|
||||||
if (var1 != var7) {
|
|
||||||
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.field1227[var7] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var0.exportIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(IIII)I",
|
|
||||||
garbageValue = "-561019342"
|
|
||||||
)
|
|
||||||
static int method1230(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("n")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(IIB)Lhi;",
|
|
||||||
garbageValue = "-102"
|
|
||||||
)
|
|
||||||
@Export("getWidgetChild")
|
|
||||||
public static Widget getWidgetChild(int var0, int var1) {
|
|
||||||
Widget var2 = PacketBufferNode.getWidget(var0);
|
|
||||||
if (var1 == -1) {
|
|
||||||
return var2;
|
|
||||||
} else {
|
|
||||||
return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lkc;II)Ljava/lang/String;",
|
|
||||||
garbageValue = "1190041961"
|
|
||||||
)
|
|
||||||
static String method1234(Buffer var0, int var1) {
|
|
||||||
try {
|
|
||||||
int var2 = var0.readUShortSmart();
|
|
||||||
if (var2 > var1) {
|
|
||||||
var2 = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
byte[] var3 = new byte[var2];
|
|
||||||
var0.offset += class210.huffman.decompress(var0.array, var0.offset, var3, 0, var2);
|
|
||||||
String var4 = class160.decodeStringCp1252(var3, 0, var2);
|
|
||||||
return var4;
|
|
||||||
} catch (Exception var6) {
|
|
||||||
return "Cabbage";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("w")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Ljava/lang/String;II)V",
|
|
||||||
garbageValue = "2071952148"
|
|
||||||
)
|
|
||||||
static final void method1242(String var0, int var1) {
|
|
||||||
PacketBufferNode var2 = SoundSystem.getPacketBufferNode(ClientPacket.field2246, Client.packetWriter.isaacCipher);
|
|
||||||
var2.packetBuffer.writeByte(UserComparator6.stringCp1252NullTerminatedByteSize(var0) + 1);
|
|
||||||
var2.packetBuffer.writeStringCp1252NullTerminated(var0);
|
|
||||||
var2.packetBuffer.method5634(var1);
|
|
||||||
Client.packetWriter.addNode(var2);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("ax")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "([BI)[B",
|
|
||||||
garbageValue = "-79197837"
|
|
||||||
)
|
|
||||||
@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.field3128 != 0 && var3 > AbstractArchive.field3128) {
|
|
||||||
throw new RuntimeException();
|
|
||||||
} else if (var2 == 0) {
|
|
||||||
byte[] var4 = new byte[var3];
|
|
||||||
var1.readBytes(var4, 0, var3);
|
|
||||||
return var4;
|
|
||||||
} else {
|
|
||||||
int var6 = var1.readInt();
|
|
||||||
if (var6 < 0 || AbstractArchive.field3128 != 0 && var6 > AbstractArchive.field3128) {
|
|
||||||
throw new RuntimeException();
|
|
||||||
} else {
|
|
||||||
byte[] var5 = new byte[var6];
|
|
||||||
if (var2 == 1) {
|
|
||||||
BZip2Decompressor.BZip2Decompressor_decompress(var5, var6, var0, var3, 9);
|
|
||||||
} else {
|
|
||||||
AbstractArchive.gzipDecompressor.decompress(var1, var5);
|
|
||||||
}
|
|
||||||
|
|
||||||
return var5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("aj")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(ILcj;ZI)I",
|
|
||||||
garbageValue = "1460957872"
|
|
||||||
)
|
|
||||||
static int method1245(int var0, Script var1, boolean var2) {
|
|
||||||
if (var0 == ScriptOpcodes.GETWINDOWMODE) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WallDecoration.getWindowedMode();
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
int var3;
|
|
||||||
if (var0 == ScriptOpcodes.SETWINDOWMODE) {
|
|
||||||
var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
|
|
||||||
if (var3 == 1 || var3 == 2) {
|
|
||||||
FontName.setWindowedMode(var3);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
} else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) {
|
|
||||||
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ScriptEvent.clientPreferences.windowMode;
|
|
||||||
return 1;
|
|
||||||
} else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) {
|
|
||||||
if (var0 == 5310) {
|
|
||||||
--Interpreter.Interpreter_intStackSize;
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
|
|
||||||
if (var3 == 1 || var3 == 2) {
|
|
||||||
ScriptEvent.clientPreferences.windowMode = var3;
|
|
||||||
HitSplatDefinition.savePreferences();
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("jg")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(IIIIIB)V",
|
|
||||||
garbageValue = "-34"
|
|
||||||
)
|
|
||||||
@Export("drawScrollBar")
|
|
||||||
static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) {
|
|
||||||
NetSocket.scrollBarSprites[0].drawAt(var0, var1);
|
|
||||||
NetSocket.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16);
|
|
||||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field895);
|
|
||||||
int var5 = var3 * (var3 - 32) / var4;
|
|
||||||
if (var5 < 8) {
|
|
||||||
var5 = 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
int var6 = (var3 - 32 - var5) * var2 / (var4 - var3);
|
|
||||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field661);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field790);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field790);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field790);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field790);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field683);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field683);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field683);
|
|
||||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field683);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("jf")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "([Lhi;IIIIIIII)V",
|
|
||||||
garbageValue = "-954572124"
|
|
||||||
)
|
|
||||||
@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 || class195.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) {
|
|
||||||
if (var9.isIf3) {
|
|
||||||
if (WorldMapManager.isComponentHidden(var9)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else if (var9.type == 0 && var9 != ChatChannel.mousedOverWidgetIf1 && WorldMapManager.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.field695 = true;
|
|
||||||
Client.field846 = var10;
|
|
||||||
Client.field814 = var11;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean var32 = false;
|
|
||||||
if (var9.field2606) {
|
|
||||||
switch(Client.field828) {
|
|
||||||
case 0:
|
|
||||||
var32 = true;
|
|
||||||
case 1:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (Client.field794 == var9.id >>> 16) {
|
|
||||||
var32 = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (var9.id == Client.field794) {
|
|
||||||
var32 = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var32 || !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 (FloorDecoration.widgetDragDuration == 0) {
|
|
||||||
Client.clickedWidget = null;
|
|
||||||
Client.clickedWidgetParent = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Client.isMenuOpen) {
|
|
||||||
ClientPacket.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 var33 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15;
|
|
||||||
if (var9.contentType == 1337) {
|
|
||||||
if (!Client.isLoading && !Client.isMenuOpen && var33) {
|
|
||||||
GrandExchangeOfferNameComparator.addSceneMenuOptions(var17, var18, var12, var13);
|
|
||||||
}
|
|
||||||
} else if (var9.contentType == 1338) {
|
|
||||||
WorldMapIcon_1.checkIfMinimapClicked(var9, var10, var11);
|
|
||||||
} else {
|
|
||||||
if (var9.contentType == 1400) {
|
|
||||||
Login.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Client.isMenuOpen && var33) {
|
|
||||||
if (var9.contentType == 1400) {
|
|
||||||
Login.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18);
|
|
||||||
} else {
|
|
||||||
class80.method2197(var9, var17 - var10, var18 - var11);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean var21;
|
|
||||||
int var23;
|
|
||||||
if (var32) {
|
|
||||||
for (int var20 = 0; var20 < var9.field2623.length; ++var20) {
|
|
||||||
var21 = false;
|
|
||||||
boolean var22 = false;
|
|
||||||
if (!var21 && var9.field2623[var20] != null) {
|
|
||||||
for (var23 = 0; var23 < var9.field2623[var20].length; ++var23) {
|
|
||||||
boolean var24 = false;
|
|
||||||
if (var9.field2627 != null) {
|
|
||||||
var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2623[var20][var23]];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Frames.method3400(var9.field2623[var20][var23]) || var24) {
|
|
||||||
var21 = true;
|
|
||||||
if (var9.field2627 != null && var9.field2627[var20] > Client.cycle) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
byte var25 = var9.field2624[var20][var23];
|
|
||||||
if (var25 == 0 || ((var25 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var25 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var25 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var25 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) {
|
|
||||||
var22 = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var22) {
|
|
||||||
if (var20 < 10) {
|
|
||||||
class287.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, "");
|
|
||||||
} else if (var20 == 10) {
|
|
||||||
InterfaceParent.Widget_runOnTargetLeave();
|
|
||||||
class51.selectSpell(var9.id, var9.childIndex, UserComparator5.method3551(class195.getWidgetClickMask(var9)), var9.itemId);
|
|
||||||
Client.selectedSpellActionName = SoundCache.method2666(var9);
|
|
||||||
if (Client.selectedSpellActionName == null) {
|
|
||||||
Client.selectedSpellActionName = "null";
|
|
||||||
}
|
|
||||||
|
|
||||||
Client.selectedSpellName = var9.dataText + AbstractArchive.colorStartTag(16777215);
|
|
||||||
}
|
|
||||||
|
|
||||||
var23 = var9.field2628[var20];
|
|
||||||
if (var9.field2627 == null) {
|
|
||||||
var9.field2627 = new int[var9.field2623.length];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.field2626 == null) {
|
|
||||||
var9.field2626 = new int[var9.field2623.length];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var23 != 0) {
|
|
||||||
if (var9.field2627[var20] == 0) {
|
|
||||||
var9.field2627[var20] = var23 + Client.cycle + var9.field2626[var20];
|
|
||||||
} else {
|
|
||||||
var9.field2627[var20] = var23 + Client.cycle;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var9.field2627[var20] = Integer.MAX_VALUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!var21 && var9.field2627 != null) {
|
|
||||||
var9.field2627[var20] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.isIf3) {
|
|
||||||
if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
||||||
var33 = true;
|
|
||||||
} else {
|
|
||||||
var33 = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean var34 = false;
|
|
||||||
if ((MouseHandler.MouseHandler_currentButton == 1 || !WorldMapLabelSize.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) {
|
|
||||||
var34 = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
var21 = false;
|
|
||||||
if ((MouseHandler.MouseHandler_lastButton == 1 || !WorldMapLabelSize.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) {
|
|
||||||
class4.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.contentType == 1400) {
|
|
||||||
Login.worldMap.method6429(var17, var18, var33 & var34, var33 & var21);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && TextureProvider.method2931(class195.getWidgetClickMask(var9))) {
|
|
||||||
Client.draggedOnWidget = var9;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9 == Client.clickedWidgetParent) {
|
|
||||||
Client.field809 = true;
|
|
||||||
Client.field748 = var10;
|
|
||||||
Client.field751 = var11;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.hasListener) {
|
|
||||||
ScriptEvent var29;
|
|
||||||
if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseY = Client.mouseWheelRotation;
|
|
||||||
var29.args = var9.onScroll;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.clickedWidget != null || GrandExchangeOffer.dragInventoryWidget != null || Client.isMenuOpen) {
|
|
||||||
var21 = false;
|
|
||||||
var34 = false;
|
|
||||||
var33 = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!var9.isClicked && var21) {
|
|
||||||
var9.isClicked = true;
|
|
||||||
if (var9.onClick != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_lastPressedX - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_lastPressedY - var11;
|
|
||||||
var29.args = var9.onClick;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.isClicked && var34 && var9.onClickRepeat != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onClickRepeat;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.isClicked && !var34) {
|
|
||||||
var9.isClicked = false;
|
|
||||||
if (var9.onRelease != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onRelease;
|
|
||||||
Client.field832.addFirst(var29);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var34 && var9.onHold != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onHold;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!var9.containsMouse && var33) {
|
|
||||||
var9.containsMouse = true;
|
|
||||||
if (var9.onMouseOver != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onMouseOver;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.containsMouse && var33 && var9.onMouseRepeat != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onMouseRepeat;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.containsMouse && !var33) {
|
|
||||||
var9.containsMouse = false;
|
|
||||||
if (var9.onMouseLeave != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.isMouseInputEvent = true;
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.mouseX = MouseHandler.MouseHandler_x - var10;
|
|
||||||
var29.mouseY = MouseHandler.MouseHandler_y - var11;
|
|
||||||
var29.args = var9.onMouseLeave;
|
|
||||||
Client.field832.addFirst(var29);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.onTimer != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onTimer;
|
|
||||||
Client.field813.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
ScriptEvent var30;
|
|
||||||
int var35;
|
|
||||||
int var36;
|
|
||||||
if (var9.onVarTransmit != null && Client.field679 > var9.field2644) {
|
|
||||||
if (var9.varTransmitTriggers != null && Client.field679 - var9.field2644 <= 32) {
|
|
||||||
label886:
|
|
||||||
for (var35 = var9.field2644; var35 < Client.field679; ++var35) {
|
|
||||||
var23 = Client.field817[var35 & 31];
|
|
||||||
|
|
||||||
for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) {
|
|
||||||
if (var23 == var9.varTransmitTriggers[var36]) {
|
|
||||||
var30 = new ScriptEvent();
|
|
||||||
var30.widget = var9;
|
|
||||||
var30.args = var9.onVarTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var30);
|
|
||||||
break label886;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onVarTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
var9.field2644 = Client.field679;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.onInvTransmit != null && Client.field820 > var9.field2567) {
|
|
||||||
if (var9.invTransmitTriggers != null && Client.field820 - var9.field2567 <= 32) {
|
|
||||||
label862:
|
|
||||||
for (var35 = var9.field2567; var35 < Client.field820; ++var35) {
|
|
||||||
var23 = Client.changedItemContainers[var35 & 31];
|
|
||||||
|
|
||||||
for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) {
|
|
||||||
if (var23 == var9.invTransmitTriggers[var36]) {
|
|
||||||
var30 = new ScriptEvent();
|
|
||||||
var30.widget = var9;
|
|
||||||
var30.args = var9.onInvTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var30);
|
|
||||||
break label862;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onInvTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
var9.field2567 = Client.field820;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2684) {
|
|
||||||
if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2684 <= 32) {
|
|
||||||
label838:
|
|
||||||
for (var35 = var9.field2684; var35 < Client.changedSkillsCount; ++var35) {
|
|
||||||
var23 = Client.changedSkills[var35 & 31];
|
|
||||||
|
|
||||||
for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) {
|
|
||||||
if (var23 == var9.statTransmitTriggers[var36]) {
|
|
||||||
var30 = new ScriptEvent();
|
|
||||||
var30.widget = var9;
|
|
||||||
var30.args = var9.onStatTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var30);
|
|
||||||
break label838;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onStatTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
var9.field2684 = Client.changedSkillsCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.chatCycle > var9.field2681 && var9.onChatTransmit != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onChatTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.field824 > var9.field2681 && var9.onFriendTransmit != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onFriendTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.field825 > var9.field2681 && var9.onClanTransmit != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onClanTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.field826 > var9.field2681 && var9.onStockTransmit != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onStockTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.field652 > var9.field2681 && var9.field2665 != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.field2665;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Client.field834 > var9.field2681 && var9.onMiscTransmit != null) {
|
|
||||||
var29 = new ScriptEvent();
|
|
||||||
var29.widget = var9;
|
|
||||||
var29.args = var9.onMiscTransmit;
|
|
||||||
Client.scriptEvents.addFirst(var29);
|
|
||||||
}
|
|
||||||
|
|
||||||
var9.field2681 = Client.cycleCntr;
|
|
||||||
if (var9.onKey != null) {
|
|
||||||
for (var35 = 0; var35 < Client.field866; ++var35) {
|
|
||||||
ScriptEvent var31 = new ScriptEvent();
|
|
||||||
var31.widget = var9;
|
|
||||||
var31.keyTyped = Client.field854[var35];
|
|
||||||
var31.keyPressed = Client.field853[var35];
|
|
||||||
var31.args = var9.onKey;
|
|
||||||
Client.scriptEvents.addFirst(var31);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!var9.isIf3) {
|
|
||||||
if (Client.clickedWidget != null || GrandExchangeOffer.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) {
|
|
||||||
ChatChannel.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect];
|
|
||||||
} else {
|
|
||||||
ChatChannel.mousedOverWidgetIf1 = var9;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) {
|
|
||||||
GrandExchangeEvents.field39 = var9;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (var9.scrollHeight > var9.height) {
|
|
||||||
GrandExchangeOfferOwnWorldComparator.method1389(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 var27 = (InterfaceParent)Client.interfaceParents.get((long)var9.id);
|
|
||||||
if (var27 != null) {
|
|
||||||
if (var27.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) {
|
|
||||||
for (ScriptEvent var28 = (ScriptEvent)Client.scriptEvents.last(); var28 != null; var28 = (ScriptEvent)Client.scriptEvents.previous()) {
|
|
||||||
if (var28.isMouseInputEvent) {
|
|
||||||
var28.remove();
|
|
||||||
var28.widget.containsMouse = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (FloorDecoration.widgetDragDuration == 0) {
|
|
||||||
Client.clickedWidget = null;
|
|
||||||
Client.clickedWidgetParent = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Client.isMenuOpen) {
|
|
||||||
ClientPacket.addCancelMenuEntry();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ServerBuild.updateRootInterface(var27.group, var12, var13, var14, var15, var10, var11);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,48 +4,55 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("cr")
|
@ObfuscatedName("co")
|
||||||
@Implements("AttackOption")
|
@Implements("AttackOption")
|
||||||
public enum AttackOption implements Enumerated {
|
public enum AttackOption implements Enumerated {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lcr;"
|
signature = "Lco;"
|
||||||
)
|
)
|
||||||
@Export("AttackOption_dependsOnCombatLevels")
|
@Export("AttackOption_dependsOnCombatLevels")
|
||||||
AttackOption_dependsOnCombatLevels(0),
|
AttackOption_dependsOnCombatLevels(0),
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lcr;"
|
signature = "Lco;"
|
||||||
)
|
)
|
||||||
@Export("AttackOption_alwaysRightClick")
|
@Export("AttackOption_alwaysRightClick")
|
||||||
AttackOption_alwaysRightClick(1),
|
AttackOption_alwaysRightClick(1),
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lcr;"
|
signature = "Lco;"
|
||||||
)
|
)
|
||||||
@Export("AttackOption_leftClickWhereAvailable")
|
@Export("AttackOption_leftClickWhereAvailable")
|
||||||
AttackOption_leftClickWhereAvailable(2),
|
AttackOption_leftClickWhereAvailable(2),
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lcr;"
|
signature = "Lco;"
|
||||||
)
|
)
|
||||||
@Export("AttackOption_hidden")
|
@Export("AttackOption_hidden")
|
||||||
AttackOption_hidden(3);
|
AttackOption_hidden(3);
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("ox")
|
||||||
@Export("SpriteBuffer_spriteHeights")
|
|
||||||
public static int[] SpriteBuffer_spriteHeights;
|
|
||||||
@ObfuscatedName("h")
|
|
||||||
public static boolean field1151;
|
|
||||||
@ObfuscatedName("fp")
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lfw;"
|
signature = "Lcj;"
|
||||||
)
|
)
|
||||||
@Export("socketTask")
|
@Export("varcs")
|
||||||
static Task socketTask;
|
static Varcs varcs;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("fr")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "Lky;"
|
||||||
|
)
|
||||||
|
@Export("fontPlain11")
|
||||||
|
static Font fontPlain11;
|
||||||
|
@ObfuscatedName("gt")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "[Lln;"
|
||||||
|
)
|
||||||
|
@Export("mapMarkerSprites")
|
||||||
|
static Sprite[] mapMarkerSprites;
|
||||||
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -871271379
|
intValue = 2079114159
|
||||||
)
|
)
|
||||||
@Export("id")
|
@Export("id")
|
||||||
final int id;
|
final int id;
|
||||||
@@ -54,124 +61,43 @@ public enum AttackOption implements Enumerated {
|
|||||||
this.id = var3;
|
this.id = var3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(B)I",
|
||||||
garbageValue = "-1993081102"
|
garbageValue = "7"
|
||||||
)
|
)
|
||||||
@Export("rsOrdinal")
|
@Export("rsOrdinal")
|
||||||
public int rsOrdinal() {
|
public int rsOrdinal() {
|
||||||
return this.id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lhq;B)V",
|
signature = "(III)I",
|
||||||
garbageValue = "17"
|
garbageValue = "-573010380"
|
||||||
)
|
)
|
||||||
public static void method2221(AbstractArchive var0) {
|
static int method2098(int var0, int var1) {
|
||||||
VarbitDefinition.VarbitDefinition_archive = var0;
|
ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0);
|
||||||
}
|
if (var2 == null) {
|
||||||
|
return -1;
|
||||||
@ObfuscatedName("n")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Lhq;Lhq;ZIS)V",
|
|
||||||
garbageValue = "-32666"
|
|
||||||
)
|
|
||||||
static void method2218(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) {
|
|
||||||
if (Login.field1188) {
|
|
||||||
if (var3 == 4) {
|
|
||||||
Login.loginIndex = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Login.loginIndex = var3;
|
return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1;
|
||||||
Rasterizer2D.Rasterizer2D_clear();
|
|
||||||
byte[] var4 = var0.takeFileByNames("title.jpg", "");
|
|
||||||
Login.leftTitleSprite = WorldMapSection1.convertJpgToSprite(var4);
|
|
||||||
FontName.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally();
|
|
||||||
if ((Client.worldProperties & 536870912) != 0) {
|
|
||||||
Tiles.logoSprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", "");
|
|
||||||
} else if ((Client.worldProperties & 1073741824) != 0) {
|
|
||||||
Tiles.logoSprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", "");
|
|
||||||
} else {
|
|
||||||
Tiles.logoSprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "logo", "");
|
|
||||||
}
|
|
||||||
|
|
||||||
NPC.titleboxSprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", "");
|
|
||||||
UserComparator9.titlebuttonSprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", "");
|
|
||||||
class208.runesSprite = PlayerAppearance.method4160(var1, "runes", "");
|
|
||||||
Decimator.title_muteSprite = PlayerAppearance.method4160(var1, "title_mute", "");
|
|
||||||
UserComparator8.options_buttons_0Sprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", "");
|
|
||||||
class51.field412 = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", "");
|
|
||||||
Login.options_buttons_2Sprite = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", "");
|
|
||||||
class4.field23 = ClientPacket.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", "");
|
|
||||||
Login.field1174 = UserComparator8.options_buttons_0Sprite.subWidth;
|
|
||||||
Language.field2328 = UserComparator8.options_buttons_0Sprite.subHeight;
|
|
||||||
Login.loginScreenRunesAnimation = new LoginScreenAnimation(class208.runesSprite);
|
|
||||||
if (var2) {
|
|
||||||
Login.Login_username = "";
|
|
||||||
Login.Login_password = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
Huffman.field2491 = 0;
|
|
||||||
class268.otp = "";
|
|
||||||
Login.field1177 = true;
|
|
||||||
Login.worldSelectOpen = false;
|
|
||||||
if (!ScriptEvent.clientPreferences.titleMusicDisabled) {
|
|
||||||
Archive var5 = class216.archive6;
|
|
||||||
int var6 = var5.getGroupId("scape main");
|
|
||||||
int var7 = var5.getFileId(var6, "");
|
|
||||||
WorldMapIcon_0.method253(2, var5, var6, var7, 255, false);
|
|
||||||
} else {
|
|
||||||
class80.method2194(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
UrlRequester.method3428(false);
|
|
||||||
Login.field1188 = true;
|
|
||||||
Login.xPadding = (class286.canvasWidth - 765) / 2;
|
|
||||||
Login.loginBoxX = Login.xPadding + 202;
|
|
||||||
class192.loginBoxCenter = Login.loginBoxX + 180;
|
|
||||||
Login.leftTitleSprite.drawAt(Login.xPadding, 0);
|
|
||||||
FontName.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
|
|
||||||
Tiles.logoSprite.drawAt(Login.xPadding + 382 - Tiles.logoSprite.subWidth / 2, 18);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("fq")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)I",
|
signature = "(II)V",
|
||||||
garbageValue = "2026213000"
|
garbageValue = "-940191492"
|
||||||
)
|
)
|
||||||
@Export("Messages_getHistorySize")
|
@Export("playSong")
|
||||||
static int Messages_getHistorySize(int var0) {
|
static void playSong(int var0) {
|
||||||
ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0);
|
if (var0 == -1 && !Client.field742) {
|
||||||
return var1 == null ? 0 : var1.size();
|
TileItemPile.method2811();
|
||||||
|
} else if (var0 != -1 && var0 != Client.currentTrackGroupId && Client.musicVolume != 0 && !Client.field742) {
|
||||||
|
World.method1819(2, AbstractWorldMapData.archive6, var0, 0, Client.musicVolume, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("x")
|
Client.currentTrackGroupId = var0;
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(I)V",
|
|
||||||
garbageValue = "1182575987"
|
|
||||||
)
|
|
||||||
static void method2215() {
|
|
||||||
if (class43.loadWorlds()) {
|
|
||||||
Login.worldSelectOpen = true;
|
|
||||||
Login.worldSelectPage = 0;
|
|
||||||
Login.worldSelectPagesCount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("jj")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(III)V",
|
|
||||||
garbageValue = "2104552058"
|
|
||||||
)
|
|
||||||
@Export("runIntfCloseListeners")
|
|
||||||
static final void runIntfCloseListeners(int var0, int var1) {
|
|
||||||
if (TextureProvider.loadInterface(var0)) {
|
|
||||||
DirectByteArrayCopier.runComponentCloseListeners(Widget.Widget_interfaceComponents[var0], var1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,154 +3,154 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("dz")
|
@ObfuscatedName("dh")
|
||||||
@Implements("AudioFilter")
|
@Implements("AudioFilter")
|
||||||
public class AudioFilter {
|
public class AudioFilter {
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
static float[][] field1460;
|
static float[][] field1474;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("coefficients")
|
@Export("coefficients")
|
||||||
static int[][] coefficients;
|
static int[][] coefficients;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
static float field1458;
|
static float field1478;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@Export("forwardMultiplier")
|
@Export("forwardMultiplier")
|
||||||
static int forwardMultiplier;
|
static int forwardMultiplier;
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("pairs")
|
@Export("pairs")
|
||||||
int[] pairs;
|
int[] pairs;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
int[][][] field1457;
|
int[][][] field1473;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
int[][][] field1459;
|
int[][][] field1475;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
int[] field1455;
|
int[] field1471;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
field1460 = new float[2][8];
|
field1474 = new float[2][8];
|
||||||
coefficients = new int[2][8];
|
coefficients = new int[2][8];
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFilter() {
|
AudioFilter() {
|
||||||
this.pairs = new int[2];
|
this.pairs = new int[2];
|
||||||
this.field1457 = new int[2][2][4];
|
this.field1473 = new int[2][2][4];
|
||||||
this.field1459 = new int[2][2][4];
|
this.field1475 = new int[2][2][4];
|
||||||
this.field1455 = new int[2];
|
this.field1471 = new int[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
float method2857(int var1, int var2, float var3) {
|
float method2728(int var1, int var2, float var3) {
|
||||||
float var4 = (float)this.field1459[var1][0][var2] + var3 * (float)(this.field1459[var1][1][var2] - this.field1459[var1][0][var2]);
|
float var4 = (float)this.field1475[var1][0][var2] + var3 * (float)(this.field1475[var1][1][var2] - this.field1475[var1][0][var2]);
|
||||||
var4 *= 0.0015258789F;
|
var4 *= 0.0015258789F;
|
||||||
return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F));
|
return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
float method2854(int var1, int var2, float var3) {
|
float method2725(int var1, int var2, float var3) {
|
||||||
float var4 = (float)this.field1457[var1][0][var2] + var3 * (float)(this.field1457[var1][1][var2] - this.field1457[var1][0][var2]);
|
float var4 = (float)this.field1473[var1][0][var2] + var3 * (float)(this.field1473[var1][1][var2] - this.field1473[var1][0][var2]);
|
||||||
var4 *= 1.2207031E-4F;
|
var4 *= 1.2207031E-4F;
|
||||||
return normalize(var4);
|
return normalize(var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("compute")
|
@Export("compute")
|
||||||
int compute(int var1, float var2) {
|
int compute(int var1, float var2) {
|
||||||
float var3;
|
float var3;
|
||||||
if (var1 == 0) {
|
if (var1 == 0) {
|
||||||
var3 = (float)this.field1455[0] + (float)(this.field1455[1] - this.field1455[0]) * var2;
|
var3 = (float)this.field1471[0] + (float)(this.field1471[1] - this.field1471[0]) * var2;
|
||||||
var3 *= 0.0030517578F;
|
var3 *= 0.0030517578F;
|
||||||
field1458 = (float)Math.pow(0.1D, (double)(var3 / 20.0F));
|
field1478 = (float)Math.pow(0.1D, (double)(var3 / 20.0F));
|
||||||
forwardMultiplier = (int)(field1458 * 65536.0F);
|
forwardMultiplier = (int)(field1478 * 65536.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.pairs[var1] == 0) {
|
if (this.pairs[var1] == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
var3 = this.method2857(var1, 0, var2);
|
var3 = this.method2728(var1, 0, var2);
|
||||||
field1460[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2854(var1, 0, var2));
|
field1474[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2725(var1, 0, var2));
|
||||||
field1460[var1][1] = var3 * var3;
|
field1474[var1][1] = var3 * var3;
|
||||||
|
|
||||||
float[] var10000;
|
float[] var10000;
|
||||||
int var4;
|
int var4;
|
||||||
for (var4 = 1; var4 < this.pairs[var1]; ++var4) {
|
for (var4 = 1; var4 < this.pairs[var1]; ++var4) {
|
||||||
var3 = this.method2857(var1, var4, var2);
|
var3 = this.method2728(var1, var4, var2);
|
||||||
float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2854(var1, var4, var2));
|
float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2725(var1, var4, var2));
|
||||||
float var6 = var3 * var3;
|
float var6 = var3 * var3;
|
||||||
field1460[var1][var4 * 2 + 1] = field1460[var1][var4 * 2 - 1] * var6;
|
field1474[var1][var4 * 2 + 1] = field1474[var1][var4 * 2 - 1] * var6;
|
||||||
field1460[var1][var4 * 2] = field1460[var1][var4 * 2 - 1] * var5 + field1460[var1][var4 * 2 - 2] * var6;
|
field1474[var1][var4 * 2] = field1474[var1][var4 * 2 - 1] * var5 + field1474[var1][var4 * 2 - 2] * var6;
|
||||||
|
|
||||||
for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) {
|
for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) {
|
||||||
var10000 = field1460[var1];
|
var10000 = field1474[var1];
|
||||||
var10000[var7] += field1460[var1][var7 - 1] * var5 + field1460[var1][var7 - 2] * var6;
|
var10000[var7] += field1474[var1][var7 - 1] * var5 + field1474[var1][var7 - 2] * var6;
|
||||||
}
|
}
|
||||||
|
|
||||||
var10000 = field1460[var1];
|
var10000 = field1474[var1];
|
||||||
var10000[1] += field1460[var1][0] * var5 + var6;
|
var10000[1] += field1474[var1][0] * var5 + var6;
|
||||||
var10000 = field1460[var1];
|
var10000 = field1474[var1];
|
||||||
var10000[0] += var5;
|
var10000[0] += var5;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var1 == 0) {
|
if (var1 == 0) {
|
||||||
for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) {
|
for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) {
|
||||||
var10000 = field1460[0];
|
var10000 = field1474[0];
|
||||||
var10000[var4] *= field1458;
|
var10000[var4] *= field1478;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) {
|
for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) {
|
||||||
coefficients[var1][var4] = (int)(field1460[var1][var4] * 65536.0F);
|
coefficients[var1][var4] = (int)(field1474[var1][var4] * 65536.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.pairs[var1] * 2;
|
return this.pairs[var1] * 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lkc;Ldd;)V"
|
signature = "(Lkg;Ldx;)V"
|
||||||
)
|
)
|
||||||
final void method2852(Buffer var1, SoundEnvelope var2) {
|
final void method2729(Buffer var1, SoundEnvelope var2) {
|
||||||
int var3 = var1.readUnsignedByte();
|
int var3 = var1.readUnsignedByte();
|
||||||
this.pairs[0] = var3 >> 4;
|
this.pairs[0] = var3 >> 4;
|
||||||
this.pairs[1] = var3 & 15;
|
this.pairs[1] = var3 & 15;
|
||||||
if (var3 != 0) {
|
if (var3 != 0) {
|
||||||
this.field1455[0] = var1.readUnsignedShort();
|
this.field1471[0] = var1.readUnsignedShort();
|
||||||
this.field1455[1] = var1.readUnsignedShort();
|
this.field1471[1] = var1.readUnsignedShort();
|
||||||
int var4 = var1.readUnsignedByte();
|
int var4 = var1.readUnsignedByte();
|
||||||
|
|
||||||
int var5;
|
int var5;
|
||||||
int var6;
|
int var6;
|
||||||
for (var5 = 0; var5 < 2; ++var5) {
|
for (var5 = 0; var5 < 2; ++var5) {
|
||||||
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
|
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
|
||||||
this.field1457[var5][0][var6] = var1.readUnsignedShort();
|
this.field1473[var5][0][var6] = var1.readUnsignedShort();
|
||||||
this.field1459[var5][0][var6] = var1.readUnsignedShort();
|
this.field1475[var5][0][var6] = var1.readUnsignedShort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var5 = 0; var5 < 2; ++var5) {
|
for (var5 = 0; var5 < 2; ++var5) {
|
||||||
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
|
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
|
||||||
if ((var4 & 1 << var5 * 4 << var6) != 0) {
|
if ((var4 & 1 << var5 * 4 << var6) != 0) {
|
||||||
this.field1457[var5][1][var6] = var1.readUnsignedShort();
|
this.field1473[var5][1][var6] = var1.readUnsignedShort();
|
||||||
this.field1459[var5][1][var6] = var1.readUnsignedShort();
|
this.field1475[var5][1][var6] = var1.readUnsignedShort();
|
||||||
} else {
|
} else {
|
||||||
this.field1457[var5][1][var6] = this.field1457[var5][0][var6];
|
this.field1473[var5][1][var6] = this.field1473[var5][0][var6];
|
||||||
this.field1459[var5][1][var6] = this.field1459[var5][0][var6];
|
this.field1475[var5][1][var6] = this.field1475[var5][0][var6];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4 != 0 || this.field1455[1] != this.field1455[0]) {
|
if (var4 != 0 || this.field1471[1] != this.field1471[0]) {
|
||||||
var2.decodeSegments(var1);
|
var2.decodeSegments(var1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int[] var7 = this.field1455;
|
int[] var7 = this.field1471;
|
||||||
this.field1455[1] = 0;
|
this.field1471[1] = 0;
|
||||||
var7[0] = 0;
|
var7[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("normalize")
|
@Export("normalize")
|
||||||
static float normalize(float var0) {
|
static float normalize(float var0) {
|
||||||
float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0);
|
float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0);
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kd")
|
@ObfuscatedName("kq")
|
||||||
@Implements("BZip2Decompressor")
|
@Implements("BZip2Decompressor")
|
||||||
public final class BZip2Decompressor {
|
public final class BZip2Decompressor {
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lky;"
|
signature = "Lko;"
|
||||||
)
|
)
|
||||||
@Export("BZip2Decompressor_state")
|
@Export("BZip2Decompressor_state")
|
||||||
static BZip2State BZip2Decompressor_state;
|
static BZip2State BZip2Decompressor_state;
|
||||||
@@ -17,7 +17,7 @@ public final class BZip2Decompressor {
|
|||||||
BZip2Decompressor_state = new BZip2State();
|
BZip2Decompressor_state = new BZip2State();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("BZip2Decompressor_decompress")
|
@Export("BZip2Decompressor_decompress")
|
||||||
public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) {
|
public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) {
|
||||||
synchronized(BZip2Decompressor_state) {
|
synchronized(BZip2Decompressor_state) {
|
||||||
@@ -29,7 +29,7 @@ public final class BZip2Decompressor {
|
|||||||
BZip2Decompressor_state.bsLive = 0;
|
BZip2Decompressor_state.bsLive = 0;
|
||||||
BZip2Decompressor_state.bsBuff = 0;
|
BZip2Decompressor_state.bsBuff = 0;
|
||||||
BZip2Decompressor_state.nextBit_unused = 0;
|
BZip2Decompressor_state.nextBit_unused = 0;
|
||||||
BZip2Decompressor_state.field3718 = 0;
|
BZip2Decompressor_state.field3742 = 0;
|
||||||
BZip2Decompressor_decompress(BZip2Decompressor_state);
|
BZip2Decompressor_decompress(BZip2Decompressor_state);
|
||||||
var1 -= BZip2Decompressor_state.outputLength;
|
var1 -= BZip2Decompressor_state.outputLength;
|
||||||
BZip2Decompressor_state.inputArray = null;
|
BZip2Decompressor_state.inputArray = null;
|
||||||
@@ -38,21 +38,21 @@ public final class BZip2Decompressor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lky;)V"
|
signature = "(Lko;)V"
|
||||||
)
|
)
|
||||||
static void method5897(BZip2State var0) {
|
static void method5895(BZip2State var0) {
|
||||||
byte var2 = var0.out_char;
|
byte var2 = var0.out_char;
|
||||||
int var3 = var0.su_rNToGo;
|
int var3 = var0.su_rNToGo;
|
||||||
int var4 = var0.nblocks_used;
|
int var4 = var0.nblocks_used;
|
||||||
int var5 = var0.su_ch2;
|
int var5 = var0.su_ch2;
|
||||||
int[] var6 = class162.BZip2Decompressor_block;
|
int[] var6 = FillMode.BZip2Decompressor_block;
|
||||||
int var7 = var0.field3720;
|
int var7 = var0.field3738;
|
||||||
byte[] var8 = var0.outputArray;
|
byte[] var8 = var0.outputArray;
|
||||||
int var9 = var0.next_out;
|
int var9 = var0.next_out;
|
||||||
int var10 = var0.outputLength;
|
int var10 = var0.outputLength;
|
||||||
int var12 = var0.field3745 + 1;
|
int var12 = var0.field3756 + 1;
|
||||||
|
|
||||||
label61:
|
label61:
|
||||||
while (true) {
|
while (true) {
|
||||||
@@ -148,25 +148,25 @@ public final class BZip2Decompressor {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int var13 = var0.field3718;
|
int var13 = var0.field3742;
|
||||||
var0.field3718 += var10 - var10;
|
var0.field3742 += var10 - var10;
|
||||||
if (var0.field3718 < var13) {
|
if (var0.field3742 < var13) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var0.out_char = var2;
|
var0.out_char = var2;
|
||||||
var0.su_rNToGo = var3;
|
var0.su_rNToGo = var3;
|
||||||
var0.nblocks_used = var4;
|
var0.nblocks_used = var4;
|
||||||
var0.su_ch2 = var5;
|
var0.su_ch2 = var5;
|
||||||
class162.BZip2Decompressor_block = var6;
|
FillMode.BZip2Decompressor_block = var6;
|
||||||
var0.field3720 = var7;
|
var0.field3738 = var7;
|
||||||
var0.outputArray = var8;
|
var0.outputArray = var8;
|
||||||
var0.next_out = var9;
|
var0.next_out = var9;
|
||||||
var0.outputLength = var10;
|
var0.outputLength = var10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lky;)V"
|
signature = "(Lko;)V"
|
||||||
)
|
)
|
||||||
@Export("BZip2Decompressor_decompress")
|
@Export("BZip2Decompressor_decompress")
|
||||||
static void BZip2Decompressor_decompress(BZip2State var0) {
|
static void BZip2Decompressor_decompress(BZip2State var0) {
|
||||||
@@ -193,8 +193,8 @@ public final class BZip2Decompressor {
|
|||||||
int[] var24 = null;
|
int[] var24 = null;
|
||||||
int[] var25 = null;
|
int[] var25 = null;
|
||||||
var0.blockSize100k = 1410065408;
|
var0.blockSize100k = 1410065408;
|
||||||
if (class162.BZip2Decompressor_block == null) {
|
if (FillMode.BZip2Decompressor_block == null) {
|
||||||
class162.BZip2Decompressor_block = new int[var0.blockSize100k * 100000];
|
FillMode.BZip2Decompressor_block = new int[var0.blockSize100k * 100000];
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean var26 = true;
|
boolean var26 = true;
|
||||||
@@ -430,7 +430,7 @@ public final class BZip2Decompressor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++;
|
var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++;
|
||||||
class162.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255;
|
FillMode.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255;
|
||||||
++var47;
|
++var47;
|
||||||
if (var45 == 0) {
|
if (var45 == 0) {
|
||||||
++var43;
|
++var43;
|
||||||
@@ -489,7 +489,7 @@ public final class BZip2Decompressor {
|
|||||||
var10000 = var0.unzftab;
|
var10000 = var0.unzftab;
|
||||||
|
|
||||||
for (var10000[var1 & 255] += var48; var48 > 0; --var48) {
|
for (var10000[var1 & 255] += var48; var48 > 0; --var48) {
|
||||||
class162.BZip2Decompressor_block[var47] = var1 & 255;
|
FillMode.BZip2Decompressor_block[var47] = var1 & 255;
|
||||||
++var47;
|
++var47;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -509,22 +509,22 @@ public final class BZip2Decompressor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (var36 = 0; var36 < var47; ++var36) {
|
for (var36 = 0; var36 < var47; ++var36) {
|
||||||
var1 = (byte)(class162.BZip2Decompressor_block[var36] & 255);
|
var1 = (byte)(FillMode.BZip2Decompressor_block[var36] & 255);
|
||||||
var10000 = class162.BZip2Decompressor_block;
|
var10000 = FillMode.BZip2Decompressor_block;
|
||||||
int var10001 = var0.cftab[var1 & 255];
|
int var10001 = var0.cftab[var1 & 255];
|
||||||
var10000[var10001] |= var36 << 8;
|
var10000[var10001] |= var36 << 8;
|
||||||
var10002 = var0.cftab[var1 & 255]++;
|
var10002 = var0.cftab[var1 & 255]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
var0.field3720 = class162.BZip2Decompressor_block[var0.originalPointer] >> 8;
|
var0.field3738 = FillMode.BZip2Decompressor_block[var0.originalPointer] >> 8;
|
||||||
var0.nblocks_used = 0;
|
var0.nblocks_used = 0;
|
||||||
var0.field3720 = class162.BZip2Decompressor_block[var0.field3720];
|
var0.field3738 = FillMode.BZip2Decompressor_block[var0.field3738];
|
||||||
var0.su_ch2 = (byte)(var0.field3720 & 255);
|
var0.su_ch2 = (byte)(var0.field3738 & 255);
|
||||||
var0.field3720 >>= 8;
|
var0.field3738 >>= 8;
|
||||||
++var0.nblocks_used;
|
++var0.nblocks_used;
|
||||||
var0.field3745 = var47;
|
var0.field3756 = var47;
|
||||||
method5897(var0);
|
method5895(var0);
|
||||||
if (var0.field3745 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) {
|
if (var0.field3756 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) {
|
||||||
var26 = true;
|
var26 = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -538,27 +538,27 @@ public final class BZip2Decompressor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lky;)B"
|
signature = "(Lko;)B"
|
||||||
)
|
)
|
||||||
@Export("BZip2Decompressor_readNextByte")
|
@Export("BZip2Decompressor_readNextByte")
|
||||||
static byte BZip2Decompressor_readNextByte(BZip2State var0) {
|
static byte BZip2Decompressor_readNextByte(BZip2State var0) {
|
||||||
return (byte)BZip2Decompressor_readBits(8, var0);
|
return (byte)BZip2Decompressor_readBits(8, var0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lky;)B"
|
signature = "(Lko;)B"
|
||||||
)
|
)
|
||||||
@Export("BZip2Decompressor_readNextBit")
|
@Export("BZip2Decompressor_readNextBit")
|
||||||
static byte BZip2Decompressor_readNextBit(BZip2State var0) {
|
static byte BZip2Decompressor_readNextBit(BZip2State var0) {
|
||||||
return (byte)BZip2Decompressor_readBits(1, var0);
|
return (byte)BZip2Decompressor_readBits(1, var0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILky;)I"
|
signature = "(ILko;)I"
|
||||||
)
|
)
|
||||||
@Export("BZip2Decompressor_readBits")
|
@Export("BZip2Decompressor_readBits")
|
||||||
static int BZip2Decompressor_readBits(int var0, BZip2State var1) {
|
static int BZip2Decompressor_readBits(int var0, BZip2State var1) {
|
||||||
@@ -576,9 +576,9 @@ public final class BZip2Decompressor {
|
|||||||
return var2;
|
return var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lky;)V"
|
signature = "(Lko;)V"
|
||||||
)
|
)
|
||||||
@Export("makeMaps")
|
@Export("makeMaps")
|
||||||
static void makeMaps(BZip2State var0) {
|
static void makeMaps(BZip2State var0) {
|
||||||
@@ -593,7 +593,7 @@ public final class BZip2Decompressor {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("BZip2Decompressor_createHuffmanTables")
|
@Export("BZip2Decompressor_createHuffmanTables")
|
||||||
static void BZip2Decompressor_createHuffmanTables(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) {
|
static void BZip2Decompressor_createHuffmanTables(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) {
|
||||||
int var7 = 0;
|
int var7 = 0;
|
||||||
|
|||||||
@@ -2,168 +2,169 @@ import net.runelite.mapping.Export;
|
|||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("ky")
|
@ObfuscatedName("ko")
|
||||||
@Implements("BZip2State")
|
@Implements("BZip2State")
|
||||||
public final class BZip2State {
|
public final class BZip2State {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
final int field3709;
|
final int field3731;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
final int field3732;
|
final int field3720;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
final int field3734;
|
final int field3733;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
final int field3711;
|
final int field3722;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
final int field3712;
|
final int field3723;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
final int field3713;
|
final int field3724;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("inputArray")
|
@Export("inputArray")
|
||||||
byte[] inputArray;
|
byte[] inputArray;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -502427743
|
intValue = 2112153425
|
||||||
)
|
)
|
||||||
@Export("nextByte")
|
@Export("nextByte")
|
||||||
int nextByte;
|
int nextByte;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -561445913
|
intValue = -604029507
|
||||||
)
|
)
|
||||||
@Export("nextBit_unused")
|
@Export("nextBit_unused")
|
||||||
int nextBit_unused;
|
int nextBit_unused;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@Export("outputArray")
|
@Export("outputArray")
|
||||||
byte[] outputArray;
|
byte[] outputArray;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -871682081
|
intValue = 101751211
|
||||||
)
|
)
|
||||||
@Export("next_out")
|
@Export("next_out")
|
||||||
int next_out;
|
int next_out;
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -661840641
|
intValue = 1229248277
|
||||||
)
|
)
|
||||||
@Export("outputLength")
|
@Export("outputLength")
|
||||||
int outputLength;
|
int outputLength;
|
||||||
@ObfuscatedName("h")
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 77506983
|
intValue = 1913236213
|
||||||
)
|
)
|
||||||
int field3718;
|
int field3742;
|
||||||
@ObfuscatedName("k")
|
@ObfuscatedName("e")
|
||||||
@Export("out_char")
|
@Export("out_char")
|
||||||
byte out_char;
|
byte out_char;
|
||||||
@ObfuscatedName("x")
|
@ObfuscatedName("n")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -250901683
|
intValue = -975314591
|
||||||
)
|
)
|
||||||
@Export("su_rNToGo")
|
@Export("su_rNToGo")
|
||||||
int su_rNToGo;
|
int su_rNToGo;
|
||||||
@ObfuscatedName("j")
|
@ObfuscatedName("r")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 2016386947
|
intValue = 843438185
|
||||||
)
|
)
|
||||||
@Export("bsBuff")
|
@Export("bsBuff")
|
||||||
int bsBuff;
|
int bsBuff;
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("c")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1150627855
|
intValue = 1790725095
|
||||||
)
|
)
|
||||||
@Export("bsLive")
|
@Export("bsLive")
|
||||||
int bsLive;
|
int bsLive;
|
||||||
@ObfuscatedName("e")
|
@ObfuscatedName("a")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1637628928
|
intValue = 2072280064
|
||||||
)
|
)
|
||||||
@Export("blockSize100k")
|
@Export("blockSize100k")
|
||||||
int blockSize100k;
|
int blockSize100k;
|
||||||
@ObfuscatedName("s")
|
@ObfuscatedName("d")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1744345569
|
intValue = -233574369
|
||||||
)
|
)
|
||||||
@Export("originalPointer")
|
@Export("originalPointer")
|
||||||
int originalPointer;
|
int originalPointer;
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("s")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1139360211
|
intValue = 396288217
|
||||||
)
|
)
|
||||||
int field3720;
|
int field3738;
|
||||||
@ObfuscatedName("z")
|
@ObfuscatedName("t")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -2116705151
|
intValue = -1359010819
|
||||||
)
|
)
|
||||||
@Export("su_ch2")
|
@Export("su_ch2")
|
||||||
int su_ch2;
|
int su_ch2;
|
||||||
@ObfuscatedName("f")
|
@ObfuscatedName("m")
|
||||||
@Export("unzftab")
|
@Export("unzftab")
|
||||||
int[] unzftab;
|
int[] unzftab;
|
||||||
@ObfuscatedName("g")
|
@ObfuscatedName("v")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -271375789
|
intValue = -197163901
|
||||||
)
|
)
|
||||||
@Export("nblocks_used")
|
@Export("nblocks_used")
|
||||||
int nblocks_used;
|
int nblocks_used;
|
||||||
@ObfuscatedName("w")
|
@ObfuscatedName("q")
|
||||||
@Export("cftab")
|
@Export("cftab")
|
||||||
int[] cftab;
|
int[] cftab;
|
||||||
@ObfuscatedName("y")
|
@ObfuscatedName("j")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1457092991
|
intValue = 1651646591
|
||||||
)
|
)
|
||||||
@Export("nInUse")
|
@Export("nInUse")
|
||||||
int nInUse;
|
int nInUse;
|
||||||
@ObfuscatedName("aa")
|
@ObfuscatedName("af")
|
||||||
@Export("inUse")
|
@Export("inUse")
|
||||||
boolean[] inUse;
|
boolean[] inUse;
|
||||||
@ObfuscatedName("aw")
|
@ObfuscatedName("ad")
|
||||||
@Export("inUse16")
|
@Export("inUse16")
|
||||||
boolean[] inUse16;
|
boolean[] inUse16;
|
||||||
@ObfuscatedName("ar")
|
@ObfuscatedName("am")
|
||||||
@Export("seqToUnseq")
|
@Export("seqToUnseq")
|
||||||
byte[] seqToUnseq;
|
byte[] seqToUnseq;
|
||||||
@ObfuscatedName("aq")
|
@ObfuscatedName("ai")
|
||||||
@Export("ll8")
|
@Export("ll8")
|
||||||
byte[] ll8;
|
byte[] ll8;
|
||||||
@ObfuscatedName("ad")
|
@ObfuscatedName("ag")
|
||||||
@Export("getAndMoveToFrontDecode_yy")
|
@Export("getAndMoveToFrontDecode_yy")
|
||||||
int[] getAndMoveToFrontDecode_yy;
|
int[] getAndMoveToFrontDecode_yy;
|
||||||
@ObfuscatedName("ag")
|
@ObfuscatedName("ao")
|
||||||
@Export("selector")
|
@Export("selector")
|
||||||
byte[] selector;
|
byte[] selector;
|
||||||
@ObfuscatedName("ak")
|
@ObfuscatedName("aw")
|
||||||
@Export("selectorMtf")
|
@Export("selectorMtf")
|
||||||
byte[] selectorMtf;
|
byte[] selectorMtf;
|
||||||
@ObfuscatedName("av")
|
@ObfuscatedName("ak")
|
||||||
@Export("temp_charArray2d")
|
@Export("temp_charArray2d")
|
||||||
byte[][] temp_charArray2d;
|
byte[][] temp_charArray2d;
|
||||||
@ObfuscatedName("am")
|
@ObfuscatedName("aa")
|
||||||
@Export("limit")
|
@Export("limit")
|
||||||
int[][] limit;
|
int[][] limit;
|
||||||
@ObfuscatedName("ab")
|
@ObfuscatedName("ab")
|
||||||
@Export("base")
|
@Export("base")
|
||||||
int[][] base;
|
int[][] base;
|
||||||
@ObfuscatedName("ax")
|
@ObfuscatedName("ar")
|
||||||
@Export("perm")
|
@Export("perm")
|
||||||
int[][] perm;
|
int[][] perm;
|
||||||
@ObfuscatedName("al")
|
@ObfuscatedName("av")
|
||||||
@Export("minLens")
|
@Export("minLens")
|
||||||
int[] minLens;
|
int[] minLens;
|
||||||
@ObfuscatedName("ap")
|
@ObfuscatedName("aq")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1163964567
|
intValue = -1771574853
|
||||||
)
|
)
|
||||||
int field3745;
|
int field3756;
|
||||||
|
|
||||||
BZip2State() {
|
BZip2State() {
|
||||||
this.field3709 = 4096;
|
this.field3731 = 4096;
|
||||||
this.field3732 = 16;
|
this.field3720 = 16;
|
||||||
this.field3734 = 258;
|
this.field3733 = 258;
|
||||||
this.field3711 = 6;
|
this.field3722 = 6;
|
||||||
this.field3712 = 50;
|
this.field3723 = 50;
|
||||||
this.field3713 = 18002;
|
this.field3724 = 18002;
|
||||||
this.nextByte = 0;
|
this.nextByte = 0;
|
||||||
this.next_out = 0;
|
this.next_out = 0;
|
||||||
this.unzftab = new int[256];
|
this.unzftab = new int[256];
|
||||||
@@ -181,4 +182,16 @@ public final class BZip2State {
|
|||||||
this.perm = new int[6][258];
|
this.perm = new int[6][258];
|
||||||
this.minLens = new int[6];
|
this.minLens = new int[6];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("z")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(Lhf;Ljava/lang/String;Ljava/lang/String;I)Llm;",
|
||||||
|
garbageValue = "-972225948"
|
||||||
|
)
|
||||||
|
@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 UserComparator6.method3491(var0, var3, var4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,63 +3,68 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
import net.runelite.rs.ScriptOpcodes;
|
||||||
|
|
||||||
@ObfuscatedName("et")
|
@ObfuscatedName("eu")
|
||||||
@Implements("BoundaryObject")
|
@Implements("BoundaryObject")
|
||||||
public final class BoundaryObject {
|
public final class BoundaryObject {
|
||||||
@ObfuscatedName("r")
|
@ObfuscatedName("q")
|
||||||
static String[] field1859;
|
|
||||||
@ObfuscatedName("a")
|
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -14166733
|
intValue = -37914995
|
||||||
|
)
|
||||||
|
@Export("canvasWidth")
|
||||||
|
public static int canvasWidth;
|
||||||
|
@ObfuscatedName("u")
|
||||||
|
@ObfuscatedGetter(
|
||||||
|
intValue = 1092947403
|
||||||
)
|
)
|
||||||
@Export("tileHeight")
|
@Export("tileHeight")
|
||||||
int tileHeight;
|
int tileHeight;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -591706183
|
intValue = -1863121231
|
||||||
)
|
)
|
||||||
@Export("x")
|
@Export("x")
|
||||||
int x;
|
int x;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1799577875
|
intValue = 523556867
|
||||||
)
|
)
|
||||||
@Export("y")
|
@Export("y")
|
||||||
int y;
|
int y;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1720763557
|
intValue = -470947197
|
||||||
)
|
)
|
||||||
@Export("orientationA")
|
@Export("orientationA")
|
||||||
int orientationA;
|
int orientationA;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1635831629
|
intValue = 113063737
|
||||||
)
|
)
|
||||||
@Export("orientationB")
|
@Export("orientationB")
|
||||||
int orientationB;
|
int orientationB;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lep;"
|
signature = "Lee;"
|
||||||
)
|
)
|
||||||
@Export("entity1")
|
@Export("entity1")
|
||||||
public Entity entity1;
|
public Entity entity1;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lep;"
|
signature = "Lee;"
|
||||||
)
|
)
|
||||||
@Export("entity2")
|
@Export("entity2")
|
||||||
public Entity entity2;
|
public Entity entity2;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 7223116526443198487L
|
longValue = 667705109801803207L
|
||||||
)
|
)
|
||||||
@Export("tag")
|
@Export("tag")
|
||||||
public long tag;
|
public long tag;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1447474805
|
intValue = 1624595735
|
||||||
)
|
)
|
||||||
@Export("flags")
|
@Export("flags")
|
||||||
int flags;
|
int flags;
|
||||||
@@ -69,101 +74,245 @@ public final class BoundaryObject {
|
|||||||
this.flags = 0;
|
this.flags = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("ko")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(IB)I",
|
||||||
garbageValue = "1336245402"
|
garbageValue = "17"
|
||||||
)
|
)
|
||||||
static void method3393() {
|
public static int method3312(int var0) {
|
||||||
for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) {
|
var0 = (var0 & 1431655765) + (var0 >>> 1 & 1431655765);
|
||||||
int var1 = var0.group;
|
var0 = (var0 >>> 2 & 858993459) + (var0 & 858993459);
|
||||||
if (TextureProvider.loadInterface(var1)) {
|
var0 = var0 + (var0 >>> 4) & 252645135;
|
||||||
boolean var2 = true;
|
var0 += var0 >>> 8;
|
||||||
Widget[] var3 = Widget.Widget_interfaceComponents[var1];
|
var0 += var0 >>> 16;
|
||||||
|
return var0 & 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("b")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(Ljava/lang/CharSequence;II[BII)I",
|
||||||
|
garbageValue = "549909361"
|
||||||
|
)
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("p")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(B)V",
|
||||||
|
garbageValue = "-1"
|
||||||
|
)
|
||||||
|
public static void method3311() {
|
||||||
|
FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("ao")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(ILci;ZB)I",
|
||||||
|
garbageValue = "0"
|
||||||
|
)
|
||||||
|
static int method3313(int var0, Script var1, boolean var2) {
|
||||||
|
int var3;
|
||||||
int var4;
|
int var4;
|
||||||
for (var4 = 0; var4 < var3.length; ++var4) {
|
if (var0 == ScriptOpcodes.ADD) {
|
||||||
if (var3[var4] != null) {
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
var2 = var3[var4].isIf3;
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 + var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.SUB) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 - var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.MULTIPLY) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 * var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.DIV) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 / var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.RANDOM) {
|
||||||
|
var3 = Interpreter.Interpreter_intStack[--GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3);
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.RANDOMINC) {
|
||||||
|
var3 = Interpreter.Interpreter_intStack[--GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1));
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.INTERPOLATE) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 5;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
int var5 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 2];
|
||||||
|
int var6 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 3];
|
||||||
|
int var7 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 4];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 + (var7 - var5) * (var4 - var3) / (var6 - var5);
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.ADDPERCENT) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 + var3 * var4 / 100;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.SETBIT) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 | 1 << var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.CLEARBIT) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4);
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.TESTBIT) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.MOD) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 % var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.POW) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
if (var3 == 0) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = 0;
|
||||||
|
} else {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.INVPOW) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
if (var3 == 0) {
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = 0;
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
switch(var4) {
|
||||||
|
case 0:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = Integer.MAX_VALUE;
|
||||||
break;
|
break;
|
||||||
}
|
case 1:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!var2) {
|
return 1;
|
||||||
var4 = (int)var0.key;
|
|
||||||
Widget var5 = PacketBufferNode.getWidget(var4);
|
|
||||||
if (var5 != null) {
|
|
||||||
GrandExchangeOfferAgeComparator.invalidateWidget(var5);
|
|
||||||
}
|
}
|
||||||
|
} else if (var0 == ScriptOpcodes.AND) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 & var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.OR) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 2;
|
||||||
|
var3 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
var4 = Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3 | var4;
|
||||||
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.SCALE) {
|
||||||
|
GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize -= 3;
|
||||||
|
long var9 = (long)Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize];
|
||||||
|
long var11 = (long)Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 1];
|
||||||
|
long var13 = (long)Interpreter.Interpreter_intStack[GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize + 2];
|
||||||
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = (int)(var9 * var13 / var11);
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("lw")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Ljava/lang/String;ZI)V",
|
|
||||||
garbageValue = "-2087337765"
|
|
||||||
)
|
|
||||||
@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 < ItemDefinition.ItemDefinition_fileCount; ++var4) {
|
|
||||||
ItemDefinition var5 = class222.ItemDefinition_get(var4);
|
|
||||||
if ((!var1 || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(var0) != -1) {
|
|
||||||
if (var3 >= 250) {
|
|
||||||
MouseHandler.foundItemIdCount = -1;
|
|
||||||
UserComparator4.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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
UserComparator4.foundItemIds = var2;
|
|
||||||
WorldMapManager.foundItemIndex = 0;
|
|
||||||
MouseHandler.foundItemIdCount = var3;
|
|
||||||
String[] var8 = new String[MouseHandler.foundItemIdCount];
|
|
||||||
|
|
||||||
for (int var9 = 0; var9 < MouseHandler.foundItemIdCount; ++var9) {
|
|
||||||
var8[var9] = class222.ItemDefinition_get(var2[var9]).name;
|
|
||||||
}
|
|
||||||
|
|
||||||
short[] var10 = UserComparator4.foundItemIds;
|
|
||||||
RouteStrategy.sortItemsByName(var8, var10, 0, var8.length - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("lj")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(I)V",
|
|
||||||
garbageValue = "124156386"
|
|
||||||
)
|
|
||||||
static void method3394() {
|
|
||||||
if (GrandExchangeOfferWorldComparator.field30 != null) {
|
|
||||||
Client.field900 = Client.cycle;
|
|
||||||
GrandExchangeOfferWorldComparator.field30.method4482();
|
|
||||||
|
|
||||||
for (int var0 = 0; var0 < Client.players.length; ++var0) {
|
|
||||||
if (Client.players[var0] != null) {
|
|
||||||
GrandExchangeOfferWorldComparator.field30.method4476(UserComparator8.baseX * 64 + (Client.players[var0].x >> 7), HealthBar.baseY * 64 + (Client.players[var0].y >> 7));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,30 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("ls")
|
@ObfuscatedName("lw")
|
||||||
@Implements("Bounds")
|
@Implements("Bounds")
|
||||||
public class Bounds {
|
public class Bounds {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1735724601
|
intValue = -460052355
|
||||||
)
|
)
|
||||||
@Export("lowX")
|
@Export("lowX")
|
||||||
public int lowX;
|
public int lowX;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -701395687
|
intValue = -2012134471
|
||||||
)
|
)
|
||||||
@Export("lowY")
|
@Export("lowY")
|
||||||
public int lowY;
|
public int lowY;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -825003219
|
intValue = -295033527
|
||||||
)
|
)
|
||||||
@Export("highX")
|
@Export("highX")
|
||||||
public int highX;
|
public int highX;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1589322753
|
intValue = 168990255
|
||||||
)
|
)
|
||||||
@Export("highY")
|
@Export("highY")
|
||||||
public int highY;
|
public int highY;
|
||||||
@@ -41,10 +41,10 @@ public class Bounds {
|
|||||||
this(0, 0, var1, var2);
|
this(0, 0, var1, var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIB)V",
|
signature = "(III)V",
|
||||||
garbageValue = "0"
|
garbageValue = "2660177"
|
||||||
)
|
)
|
||||||
@Export("setLow")
|
@Export("setLow")
|
||||||
public void setLow(int var1, int var2) {
|
public void setLow(int var1, int var2) {
|
||||||
@@ -52,10 +52,10 @@ public class Bounds {
|
|||||||
this.lowY = var2;
|
this.lowY = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIB)V",
|
signature = "(III)V",
|
||||||
garbageValue = "-111"
|
garbageValue = "-2094067134"
|
||||||
)
|
)
|
||||||
@Export("setHigh")
|
@Export("setHigh")
|
||||||
public void setHigh(int var1, int var2) {
|
public void setHigh(int var1, int var2) {
|
||||||
@@ -63,22 +63,22 @@ public class Bounds {
|
|||||||
this.highY = var2;
|
this.highY = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lls;Lls;I)V",
|
signature = "(Llw;Llw;I)V",
|
||||||
garbageValue = "478225673"
|
garbageValue = "-1378813027"
|
||||||
)
|
)
|
||||||
public void method6081(Bounds var1, Bounds var2) {
|
public void method6069(Bounds var1, Bounds var2) {
|
||||||
this.method6097(var1, var2);
|
this.method6070(var1, var2);
|
||||||
this.method6085(var1, var2);
|
this.method6071(var1, var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lls;Lls;I)V",
|
signature = "(Llw;Llw;B)V",
|
||||||
garbageValue = "-1348909503"
|
garbageValue = "6"
|
||||||
)
|
)
|
||||||
void method6097(Bounds var1, Bounds var2) {
|
void method6070(Bounds var1, Bounds var2) {
|
||||||
var2.lowX = this.lowX;
|
var2.lowX = this.lowX;
|
||||||
var2.highX = this.highX;
|
var2.highX = this.highX;
|
||||||
if (this.lowX < var1.lowX) {
|
if (this.lowX < var1.lowX) {
|
||||||
@@ -96,12 +96,12 @@ public class Bounds {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lls;Lls;B)V",
|
signature = "(Llw;Llw;B)V",
|
||||||
garbageValue = "1"
|
garbageValue = "72"
|
||||||
)
|
)
|
||||||
void method6085(Bounds var1, Bounds var2) {
|
void method6071(Bounds var1, Bounds var2) {
|
||||||
var2.lowY = this.lowY;
|
var2.lowY = this.lowY;
|
||||||
var2.highY = this.highY;
|
var2.highY = this.highY;
|
||||||
if (this.lowY < var1.lowY) {
|
if (this.lowY < var1.lowY) {
|
||||||
@@ -109,8 +109,8 @@ public class Bounds {
|
|||||||
var2.lowY = var1.lowY;
|
var2.lowY = var1.lowY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var2.method6087() > var1.method6087()) {
|
if (var2.method6085() > var1.method6085()) {
|
||||||
var2.highY -= var2.method6087() - var1.method6087();
|
var2.highY -= var2.method6085() - var1.method6085();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var2.highY < 0) {
|
if (var2.highY < 0) {
|
||||||
@@ -119,22 +119,22 @@ public class Bounds {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(S)I",
|
||||||
garbageValue = "-20"
|
garbageValue = "-14495"
|
||||||
)
|
)
|
||||||
int method6086() {
|
int method6086() {
|
||||||
return this.highX + this.lowX;
|
return this.highX + this.lowX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(I)I",
|
||||||
garbageValue = "-30"
|
garbageValue = "-1630571197"
|
||||||
)
|
)
|
||||||
int method6087() {
|
int method6085() {
|
||||||
return this.lowY + this.highY;
|
return this.highY + this.lowY;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|||||||
@@ -4,24 +4,24 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("jx")
|
@ObfuscatedName("jt")
|
||||||
@Implements("Buddy")
|
@Implements("Buddy")
|
||||||
public class Buddy extends User {
|
public class Buddy extends User {
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1646057305
|
intValue = -1985676249
|
||||||
)
|
)
|
||||||
@Export("world")
|
@Export("world")
|
||||||
public int world;
|
public int world;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1797004239
|
intValue = 1502929201
|
||||||
)
|
)
|
||||||
@Export("int2")
|
@Export("int2")
|
||||||
public int int2;
|
public int int2;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 48717521
|
intValue = -588738279
|
||||||
)
|
)
|
||||||
@Export("rank")
|
@Export("rank")
|
||||||
public int rank;
|
public int rank;
|
||||||
@@ -30,10 +30,10 @@ public class Buddy extends User {
|
|||||||
this.world = -1;
|
this.world = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("bx")
|
@ObfuscatedName("ar")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIB)V",
|
signature = "(IIS)V",
|
||||||
garbageValue = "-15"
|
garbageValue = "13296"
|
||||||
)
|
)
|
||||||
@Export("set")
|
@Export("set")
|
||||||
void set(int var1, int var2) {
|
void set(int var1, int var2) {
|
||||||
@@ -41,120 +41,37 @@ public class Buddy extends User {
|
|||||||
this.int2 = var2;
|
this.int2 = var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("bl")
|
@ObfuscatedName("av")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(I)I",
|
||||||
garbageValue = "-319513783"
|
garbageValue = "1862219925"
|
||||||
)
|
)
|
||||||
@Export("getWorld")
|
@Export("getWorld")
|
||||||
public int getWorld() {
|
public int getWorld() {
|
||||||
return this.world;
|
return this.world;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("bh")
|
@ObfuscatedName("aq")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "0"
|
garbageValue = "-127464442"
|
||||||
)
|
)
|
||||||
@Export("hasWorld")
|
@Export("hasWorld")
|
||||||
public boolean hasWorld() {
|
public boolean hasWorld() {
|
||||||
return this.world > 0;
|
return this.world > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(CI)C",
|
signature = "(I)V",
|
||||||
garbageValue = "129853061"
|
garbageValue = "595265698"
|
||||||
)
|
)
|
||||||
public static char method5286(char var0) {
|
static void method5251() {
|
||||||
switch(var0) {
|
if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
|
||||||
case ' ':
|
Login.currentLoginField = 1;
|
||||||
case '-':
|
} else {
|
||||||
case '_':
|
Login.currentLoginField = 0;
|
||||||
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("ah")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(IB)I",
|
|
||||||
garbageValue = "116"
|
|
||||||
)
|
|
||||||
static int method5298(int var0) {
|
|
||||||
return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F));
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("bh")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Ljava/lang/String;I)I",
|
|
||||||
garbageValue = "-2095111578"
|
|
||||||
)
|
|
||||||
public static int method5297(String var0) {
|
|
||||||
return var0.length() + 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,27 @@
|
|||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("fs")
|
@ObfuscatedName("fj")
|
||||||
@Implements("BuddyRankComparator")
|
@Implements("BuddyRankComparator")
|
||||||
public class BuddyRankComparator extends AbstractUserComparator {
|
public class BuddyRankComparator extends AbstractUserComparator {
|
||||||
@ObfuscatedName("do")
|
@ObfuscatedName("rm")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedGetter(
|
||||||
signature = "Lij;"
|
intValue = -773868241
|
||||||
)
|
)
|
||||||
@Export("archive0")
|
static int field1998;
|
||||||
static Archive archive0;
|
@ObfuscatedName("e")
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedSignature(
|
||||||
|
signature = "Lfp;"
|
||||||
|
)
|
||||||
|
@Export("clock")
|
||||||
|
protected static Clock clock;
|
||||||
|
@ObfuscatedName("gd")
|
||||||
|
@Export("regionMapArchiveIds")
|
||||||
|
static int[] regionMapArchiveIds;
|
||||||
|
@ObfuscatedName("u")
|
||||||
@Export("reversed")
|
@Export("reversed")
|
||||||
final boolean reversed;
|
final boolean reversed;
|
||||||
|
|
||||||
@@ -20,10 +29,10 @@ public class BuddyRankComparator extends AbstractUserComparator {
|
|||||||
this.reversed = var1;
|
this.reversed = var1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Ljx;Ljx;I)I",
|
signature = "(Ljt;Ljt;I)I",
|
||||||
garbageValue = "63405397"
|
garbageValue = "-525022889"
|
||||||
)
|
)
|
||||||
@Export("compareBuddy")
|
@Export("compareBuddy")
|
||||||
int compareBuddy(Buddy var1, Buddy var2) {
|
int compareBuddy(Buddy var1, Buddy var2) {
|
||||||
@@ -38,60 +47,16 @@ public class BuddyRankComparator extends AbstractUserComparator {
|
|||||||
return this.compareBuddy((Buddy)var1, (Buddy)var2);
|
return this.compareBuddy((Buddy)var1, (Buddy)var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lij;IIIBZI)V",
|
signature = "(Lhf;Lhf;Lhf;Lgz;I)Z",
|
||||||
garbageValue = "-1505675157"
|
garbageValue = "-2130405669"
|
||||||
)
|
)
|
||||||
@Export("requestNetFile")
|
public static boolean method3483(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) {
|
||||||
static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) {
|
class197.musicPatchesArchive = var0;
|
||||||
long var6 = (long)((var1 << 16) + var2);
|
class197.musicSamplesArchive = var1;
|
||||||
NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6);
|
class197.soundEffectsArchive = var2;
|
||||||
if (var8 == null) {
|
FaceNormal.midiPcmStream = var3;
|
||||||
var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6);
|
return true;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("p")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(I)V",
|
|
||||||
garbageValue = "2092280519"
|
|
||||||
)
|
|
||||||
public static void method3568() {
|
|
||||||
SequenceDefinition.SequenceDefinition_cached.clear();
|
|
||||||
SequenceDefinition.SequenceDefinition_cachedFrames.clear();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -6,72 +6,72 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("mz")
|
@ObfuscatedName("mb")
|
||||||
@Implements("BufferedFile")
|
@Implements("BufferedFile")
|
||||||
public class BufferedFile {
|
public class BufferedFile {
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lmh;"
|
signature = "Lmd;"
|
||||||
)
|
)
|
||||||
@Export("accessFile")
|
@Export("accessFile")
|
||||||
AccessFile accessFile;
|
AccessFile accessFile;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@Export("readBuffer")
|
@Export("readBuffer")
|
||||||
byte[] readBuffer;
|
byte[] readBuffer;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = -3262164853072505693L
|
longValue = 4441824273806734931L
|
||||||
)
|
)
|
||||||
@Export("readBufferOffset")
|
@Export("readBufferOffset")
|
||||||
long readBufferOffset;
|
long readBufferOffset;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -773924091
|
intValue = 2129478493
|
||||||
)
|
)
|
||||||
@Export("readBufferLength")
|
@Export("readBufferLength")
|
||||||
int readBufferLength;
|
int readBufferLength;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("writeBuffer")
|
@Export("writeBuffer")
|
||||||
byte[] writeBuffer;
|
byte[] writeBuffer;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 2584269110563809293L
|
longValue = -8796048585263914235L
|
||||||
)
|
)
|
||||||
@Export("writeBufferOffset")
|
@Export("writeBufferOffset")
|
||||||
long writeBufferOffset;
|
long writeBufferOffset;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 2068321047
|
intValue = -585871581
|
||||||
)
|
)
|
||||||
@Export("writeBufferLength")
|
@Export("writeBufferLength")
|
||||||
int writeBufferLength;
|
int writeBufferLength;
|
||||||
@ObfuscatedName("i")
|
@ObfuscatedName("w")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 6372981625088766905L
|
longValue = -2340341034582279311L
|
||||||
)
|
)
|
||||||
@Export("offset")
|
@Export("offset")
|
||||||
long offset;
|
long offset;
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("i")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 7685888135171302975L
|
longValue = -5942828629537241469L
|
||||||
)
|
)
|
||||||
@Export("fileLength")
|
@Export("fileLength")
|
||||||
long fileLength;
|
long fileLength;
|
||||||
@ObfuscatedName("m")
|
@ObfuscatedName("k")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = -4038469138705030175L
|
longValue = 2651922969862605519L
|
||||||
)
|
)
|
||||||
@Export("length")
|
@Export("length")
|
||||||
long length;
|
long length;
|
||||||
@ObfuscatedName("p")
|
@ObfuscatedName("x")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
longValue = 8140662089348975089L
|
longValue = 9216989625367163093L
|
||||||
)
|
)
|
||||||
@Export("fileOffset")
|
@Export("fileOffset")
|
||||||
long fileOffset;
|
long fileOffset;
|
||||||
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(Lmh;II)V"
|
signature = "(Lmd;II)V"
|
||||||
)
|
)
|
||||||
public BufferedFile(AccessFile var1, int var2, int var3) throws IOException {
|
public BufferedFile(AccessFile var1, int var2, int var3) throws IOException {
|
||||||
this.readBufferOffset = -1L;
|
this.readBufferOffset = -1L;
|
||||||
@@ -84,10 +84,10 @@ public class BufferedFile {
|
|||||||
this.offset = 0L;
|
this.offset = 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(I)V",
|
||||||
garbageValue = "57"
|
garbageValue = "-394540595"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
@@ -95,7 +95,7 @@ public class BufferedFile {
|
|||||||
this.accessFile.close();
|
this.accessFile.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("seek")
|
@Export("seek")
|
||||||
public void seek(long var1) throws IOException {
|
public void seek(long var1) throws IOException {
|
||||||
if (var1 < 0L) {
|
if (var1 < 0L) {
|
||||||
@@ -105,30 +105,30 @@ public class BufferedFile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)J",
|
signature = "(B)J",
|
||||||
garbageValue = "87"
|
garbageValue = "-30"
|
||||||
)
|
)
|
||||||
@Export("length")
|
@Export("length")
|
||||||
public long length() {
|
public long length() {
|
||||||
return this.length;
|
return this.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BS)V",
|
signature = "([BI)V",
|
||||||
garbageValue = "1024"
|
garbageValue = "-2037969367"
|
||||||
)
|
)
|
||||||
@Export("readFully")
|
@Export("readFully")
|
||||||
public void readFully(byte[] var1) throws IOException {
|
public void readFully(byte[] var1) throws IOException {
|
||||||
this.read(var1, 0, var1.length);
|
this.read(var1, 0, var1.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIII)V",
|
||||||
garbageValue = "2116217795"
|
garbageValue = "2058467153"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
public void read(byte[] var1, int var2, int var3) throws IOException {
|
public void read(byte[] var1, int var2, int var3) throws IOException {
|
||||||
@@ -137,7 +137,7 @@ public class BufferedFile {
|
|||||||
throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length);
|
throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && this.offset + (long)var3 <= (long)this.writeBufferLength + this.writeBufferOffset) {
|
if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= (long)this.writeBufferLength + this.writeBufferOffset) {
|
||||||
System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3);
|
System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3);
|
||||||
this.offset += (long)var3;
|
this.offset += (long)var3;
|
||||||
return;
|
return;
|
||||||
@@ -146,7 +146,7 @@ public class BufferedFile {
|
|||||||
long var4 = this.offset;
|
long var4 = this.offset;
|
||||||
int var7 = var3;
|
int var7 = var3;
|
||||||
int var8;
|
int var8;
|
||||||
if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) {
|
if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) {
|
||||||
var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset));
|
var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset));
|
||||||
if (var8 > var3) {
|
if (var8 > var3) {
|
||||||
var8 = var3;
|
var8 = var3;
|
||||||
@@ -184,7 +184,7 @@ public class BufferedFile {
|
|||||||
this.offset += (long)var8;
|
this.offset += (long)var8;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-1L != this.writeBufferOffset) {
|
if (this.writeBufferOffset != -1L) {
|
||||||
if (this.writeBufferOffset > this.offset && var3 > 0) {
|
if (this.writeBufferOffset > this.offset && var3 > 0) {
|
||||||
var8 = var2 + (int)(this.writeBufferOffset - this.offset);
|
var8 = var2 + (int)(this.writeBufferOffset - this.offset);
|
||||||
if (var8 > var3 + var2) {
|
if (var8 > var3 + var2) {
|
||||||
@@ -207,7 +207,7 @@ public class BufferedFile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((long)this.writeBufferLength + this.writeBufferOffset > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= (long)var7 + var4) {
|
if ((long)this.writeBufferLength + this.writeBufferOffset > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= (long)var7 + var4) {
|
||||||
var10 = (long)this.writeBufferLength + this.writeBufferOffset;
|
var10 = this.writeBufferOffset + (long)this.writeBufferLength;
|
||||||
} else if ((long)var7 + var4 > this.writeBufferOffset && (long)var7 + var4 <= (long)this.writeBufferLength + this.writeBufferOffset) {
|
} else if ((long)var7 + var4 > this.writeBufferOffset && (long)var7 + var4 <= (long)this.writeBufferLength + this.writeBufferOffset) {
|
||||||
var10 = var4 + (long)var7;
|
var10 = var4 + (long)var7;
|
||||||
}
|
}
|
||||||
@@ -231,10 +231,10 @@ public class BufferedFile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(I)V",
|
||||||
garbageValue = "27"
|
garbageValue = "-1188509289"
|
||||||
)
|
)
|
||||||
@Export("load")
|
@Export("load")
|
||||||
void load() throws IOException {
|
void load() throws IOException {
|
||||||
@@ -261,15 +261,15 @@ public class BufferedFile {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIIS)V",
|
||||||
garbageValue = "2065277497"
|
garbageValue = "13009"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public void write(byte[] var1, int var2, int var3) throws IOException {
|
public void write(byte[] var1, int var2, int var3) throws IOException {
|
||||||
try {
|
try {
|
||||||
if (this.offset + (long)var3 > this.length) {
|
if ((long)var3 + this.offset > this.length) {
|
||||||
this.length = this.offset + (long)var3;
|
this.length = this.offset + (long)var3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ public class BufferedFile {
|
|||||||
this.flush();
|
this.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.writeBufferOffset != -1L && (long)var3 + this.offset > this.writeBufferOffset + (long)this.writeBuffer.length) {
|
if (-1L != this.writeBufferOffset && (long)var3 + this.offset > (long)this.writeBuffer.length + this.writeBufferOffset) {
|
||||||
int var4 = (int)((long)this.writeBuffer.length - (this.offset - 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);
|
System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4);
|
||||||
this.offset += (long)var4;
|
this.offset += (long)var4;
|
||||||
@@ -289,7 +289,7 @@ public class BufferedFile {
|
|||||||
|
|
||||||
if (var3 <= this.writeBuffer.length) {
|
if (var3 <= this.writeBuffer.length) {
|
||||||
if (var3 > 0) {
|
if (var3 > 0) {
|
||||||
if (this.writeBufferOffset == -1L) {
|
if (-1L == this.writeBufferOffset) {
|
||||||
this.writeBufferOffset = this.offset;
|
this.writeBufferOffset = this.offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +301,7 @@ public class BufferedFile {
|
|||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.fileOffset != this.offset) {
|
if (this.offset != this.fileOffset) {
|
||||||
this.accessFile.seek(this.offset);
|
this.accessFile.seek(this.offset);
|
||||||
this.fileOffset = this.offset;
|
this.fileOffset = this.offset;
|
||||||
}
|
}
|
||||||
@@ -314,16 +314,16 @@ public class BufferedFile {
|
|||||||
|
|
||||||
long var9 = -1L;
|
long var9 = -1L;
|
||||||
long var6 = -1L;
|
long var6 = -1L;
|
||||||
if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) {
|
if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) {
|
||||||
var9 = this.offset;
|
var9 = this.offset;
|
||||||
} else if (this.readBufferOffset >= this.offset && this.readBufferOffset < (long)var3 + this.offset) {
|
} else if (this.readBufferOffset >= this.offset && this.readBufferOffset < (long)var3 + this.offset) {
|
||||||
var9 = this.readBufferOffset;
|
var9 = this.readBufferOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.offset + (long)var3 > this.readBufferOffset && this.offset + (long)var3 <= (long)this.readBufferLength + this.readBufferOffset) {
|
if ((long)var3 + this.offset > this.readBufferOffset && (long)var3 + this.offset <= this.readBufferOffset + (long)this.readBufferLength) {
|
||||||
var6 = (long)var3 + this.offset;
|
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 && (long)this.readBufferLength + this.readBufferOffset <= (long)var3 + this.offset) {
|
||||||
var6 = this.readBufferOffset + (long)this.readBufferLength;
|
var6 = (long)this.readBufferLength + this.readBufferOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var9 > -1L && var6 > var9) {
|
if (var9 > -1L && var6 > var9) {
|
||||||
@@ -339,36 +339,36 @@ public class BufferedFile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)V",
|
signature = "(B)V",
|
||||||
garbageValue = "4"
|
garbageValue = "0"
|
||||||
)
|
)
|
||||||
@Export("flush")
|
@Export("flush")
|
||||||
void flush() throws IOException {
|
void flush() throws IOException {
|
||||||
if (this.writeBufferOffset != -1L) {
|
if (-1L != this.writeBufferOffset) {
|
||||||
if (this.fileOffset != this.writeBufferOffset) {
|
if (this.fileOffset != this.writeBufferOffset) {
|
||||||
this.accessFile.seek(this.writeBufferOffset);
|
this.accessFile.seek(this.writeBufferOffset);
|
||||||
this.fileOffset = this.writeBufferOffset;
|
this.fileOffset = this.writeBufferOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength);
|
this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength);
|
||||||
this.fileOffset += 2068321047L * (long)(this.writeBufferLength * 1929925799);
|
this.fileOffset += (long)(this.writeBufferLength * -520660853) * -585871581L;
|
||||||
if (this.fileOffset > this.fileLength) {
|
if (this.fileOffset > this.fileLength) {
|
||||||
this.fileLength = this.fileOffset;
|
this.fileLength = this.fileOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
long var1 = -1L;
|
long var1 = -1L;
|
||||||
long var3 = -1L;
|
long var3 = -1L;
|
||||||
if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < this.readBufferOffset + (long)this.readBufferLength) {
|
if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < (long)this.readBufferLength + this.readBufferOffset) {
|
||||||
var1 = this.writeBufferOffset;
|
var1 = this.writeBufferOffset;
|
||||||
} else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < (long)this.writeBufferLength + this.writeBufferOffset) {
|
} else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < (long)this.writeBufferLength + this.writeBufferOffset) {
|
||||||
var1 = this.readBufferOffset;
|
var1 = this.readBufferOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((long)this.writeBufferLength + this.writeBufferOffset > this.readBufferOffset && (long)this.writeBufferLength + this.writeBufferOffset <= (long)this.readBufferLength + this.readBufferOffset) {
|
if ((long)this.writeBufferLength + this.writeBufferOffset > this.readBufferOffset && (long)this.writeBufferLength + this.writeBufferOffset <= this.readBufferOffset + (long)this.readBufferLength) {
|
||||||
var3 = (long)this.writeBufferLength + this.writeBufferOffset;
|
var3 = (long)this.writeBufferLength + this.writeBufferOffset;
|
||||||
} else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= this.writeBufferOffset + (long)this.writeBufferLength) {
|
} else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= (long)this.writeBufferLength + this.writeBufferOffset) {
|
||||||
var3 = this.readBufferOffset + (long)this.readBufferLength;
|
var3 = this.readBufferOffset + (long)this.readBufferLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,21 +5,21 @@ import net.runelite.mapping.Implements;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kg")
|
@ObfuscatedName("ki")
|
||||||
@Implements("BufferedNetSocket")
|
@Implements("BufferedNetSocket")
|
||||||
public class BufferedNetSocket extends AbstractSocket {
|
public class BufferedNetSocket extends AbstractSocket {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("socket")
|
@Export("socket")
|
||||||
Socket socket;
|
Socket socket;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lkl;"
|
signature = "Lkt;"
|
||||||
)
|
)
|
||||||
@Export("source")
|
@Export("source")
|
||||||
BufferedSource source;
|
BufferedSource source;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lkn;"
|
signature = "Lkb;"
|
||||||
)
|
)
|
||||||
@Export("sink")
|
@Export("sink")
|
||||||
BufferedSink sink;
|
BufferedSink sink;
|
||||||
@@ -34,10 +34,10 @@ public class BufferedNetSocket extends AbstractSocket {
|
|||||||
this.sink = new BufferedSink(this.socket.getOutputStream(), var3);
|
this.sink = new BufferedSink(this.socket.getOutputStream(), var3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(B)V",
|
||||||
garbageValue = "1632517280"
|
garbageValue = "-29"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
public void close() {
|
public void close() {
|
||||||
@@ -51,50 +51,50 @@ public class BufferedNetSocket extends AbstractSocket {
|
|||||||
this.source.close();
|
this.source.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "0"
|
garbageValue = "27"
|
||||||
)
|
)
|
||||||
@Export("readUnsignedByte")
|
@Export("readUnsignedByte")
|
||||||
public int readUnsignedByte() throws IOException {
|
public int readUnsignedByte() throws IOException {
|
||||||
return this.source.readUnsignedByte();
|
return this.source.readUnsignedByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "-1"
|
garbageValue = "-53"
|
||||||
)
|
)
|
||||||
@Export("available")
|
@Export("available")
|
||||||
public int available() throws IOException {
|
public int available() throws IOException {
|
||||||
return this.source.available();
|
return this.source.available();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(II)Z",
|
||||||
garbageValue = "1174929907"
|
garbageValue = "-1591428004"
|
||||||
)
|
)
|
||||||
@Export("isAvailable")
|
@Export("isAvailable")
|
||||||
public boolean isAvailable(int var1) throws IOException {
|
public boolean isAvailable(int var1) throws IOException {
|
||||||
return this.source.isAvailable(var1);
|
return this.source.isAvailable(var1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)I",
|
signature = "([BIIB)I",
|
||||||
garbageValue = "1681485484"
|
garbageValue = "29"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
public int read(byte[] var1, int var2, int var3) throws IOException {
|
public int read(byte[] var1, int var2, int var3) throws IOException {
|
||||||
return this.source.read(var1, var2, var3);
|
return this.source.read(var1, var2, var3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIII)V",
|
||||||
garbageValue = "1989353375"
|
garbageValue = "-543253817"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
public void write(byte[] var1, int var2, int var3) throws IOException {
|
public void write(byte[] var1, int var2, int var3) throws IOException {
|
||||||
|
|||||||
@@ -6,40 +6,40 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kn")
|
@ObfuscatedName("kb")
|
||||||
@Implements("BufferedSink")
|
@Implements("BufferedSink")
|
||||||
public class BufferedSink implements Runnable {
|
public class BufferedSink implements Runnable {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("thread")
|
@Export("thread")
|
||||||
Thread thread;
|
Thread thread;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("outputStream")
|
@Export("outputStream")
|
||||||
OutputStream outputStream;
|
OutputStream outputStream;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1704761219
|
intValue = 904264235
|
||||||
)
|
)
|
||||||
@Export("capacity")
|
@Export("capacity")
|
||||||
int capacity;
|
int capacity;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("buffer")
|
@Export("buffer")
|
||||||
byte[] buffer;
|
byte[] buffer;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1398859285
|
intValue = -566617461
|
||||||
)
|
)
|
||||||
@Export("position")
|
@Export("position")
|
||||||
int position;
|
int position;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 1220399631
|
intValue = -217387211
|
||||||
)
|
)
|
||||||
@Export("limit")
|
@Export("limit")
|
||||||
int limit;
|
int limit;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("exception")
|
@Export("exception")
|
||||||
IOException exception;
|
IOException exception;
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("y")
|
||||||
@Export("closed")
|
@Export("closed")
|
||||||
boolean closed;
|
boolean closed;
|
||||||
|
|
||||||
@@ -54,10 +54,10 @@ public class BufferedSink implements Runnable {
|
|||||||
this.thread.start();
|
this.thread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)Z",
|
signature = "(I)Z",
|
||||||
garbageValue = "-1040331430"
|
garbageValue = "1508887687"
|
||||||
)
|
)
|
||||||
@Export("isClosed")
|
@Export("isClosed")
|
||||||
boolean isClosed() {
|
boolean isClosed() {
|
||||||
@@ -79,10 +79,10 @@ public class BufferedSink implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)V",
|
signature = "([BIIB)V",
|
||||||
garbageValue = "-2046611751"
|
garbageValue = "-22"
|
||||||
)
|
)
|
||||||
@Export("write")
|
@Export("write")
|
||||||
void write(byte[] var1, int var2, int var3) throws IOException {
|
void write(byte[] var1, int var2, int var3) throws IOException {
|
||||||
@@ -119,10 +119,10 @@ public class BufferedSink implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(I)V",
|
||||||
garbageValue = "96034687"
|
garbageValue = "1435553079"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
void close() {
|
void close() {
|
||||||
|
|||||||
@@ -7,37 +7,37 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kl")
|
@ObfuscatedName("kt")
|
||||||
@Implements("BufferedSource")
|
@Implements("BufferedSource")
|
||||||
public class BufferedSource implements Runnable {
|
public class BufferedSource implements Runnable {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("thread")
|
@Export("thread")
|
||||||
Thread thread;
|
Thread thread;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("inputStream")
|
@Export("inputStream")
|
||||||
InputStream inputStream;
|
InputStream inputStream;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1673259479
|
intValue = -290674023
|
||||||
)
|
)
|
||||||
@Export("capacity")
|
@Export("capacity")
|
||||||
int capacity;
|
int capacity;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("buffer")
|
@Export("buffer")
|
||||||
byte[] buffer;
|
byte[] buffer;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = 571240185
|
intValue = 1886229969
|
||||||
)
|
)
|
||||||
@Export("position")
|
@Export("position")
|
||||||
int position;
|
int position;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -143003191
|
intValue = 1533965281
|
||||||
)
|
)
|
||||||
@Export("limit")
|
@Export("limit")
|
||||||
int limit;
|
int limit;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("h")
|
||||||
@Export("exception")
|
@Export("exception")
|
||||||
IOException exception;
|
IOException exception;
|
||||||
|
|
||||||
@@ -52,10 +52,10 @@ public class BufferedSource implements Runnable {
|
|||||||
this.thread.start();
|
this.thread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Z",
|
signature = "(IB)Z",
|
||||||
garbageValue = "1194815492"
|
garbageValue = "-1"
|
||||||
)
|
)
|
||||||
@Export("isAvailable")
|
@Export("isAvailable")
|
||||||
boolean isAvailable(int var1) throws IOException {
|
boolean isAvailable(int var1) throws IOException {
|
||||||
@@ -86,10 +86,10 @@ public class BufferedSource implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(S)I",
|
signature = "(B)I",
|
||||||
garbageValue = "256"
|
garbageValue = "71"
|
||||||
)
|
)
|
||||||
@Export("available")
|
@Export("available")
|
||||||
int available() throws IOException {
|
int available() throws IOException {
|
||||||
@@ -110,15 +110,15 @@ public class BufferedSource implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(I)I",
|
||||||
garbageValue = "418616079"
|
garbageValue = "-245742191"
|
||||||
)
|
)
|
||||||
@Export("readUnsignedByte")
|
@Export("readUnsignedByte")
|
||||||
int readUnsignedByte() throws IOException {
|
int readUnsignedByte() throws IOException {
|
||||||
synchronized(this) {
|
synchronized(this) {
|
||||||
if (this.position == this.limit) {
|
if (this.limit == this.position) {
|
||||||
if (this.exception != null) {
|
if (this.exception != null) {
|
||||||
throw new IOException(this.exception.toString());
|
throw new IOException(this.exception.toString());
|
||||||
} else {
|
} else {
|
||||||
@@ -133,10 +133,10 @@ public class BufferedSource implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "([BIII)I",
|
signature = "([BIII)I",
|
||||||
garbageValue = "153221716"
|
garbageValue = "4492631"
|
||||||
)
|
)
|
||||||
@Export("read")
|
@Export("read")
|
||||||
int read(byte[] var1, int var2, int var3) throws IOException {
|
int read(byte[] var1, int var2, int var3) throws IOException {
|
||||||
@@ -174,10 +174,10 @@ public class BufferedSource implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(B)V",
|
||||||
garbageValue = "-206595375"
|
garbageValue = "34"
|
||||||
)
|
)
|
||||||
@Export("close")
|
@Export("close")
|
||||||
void close() {
|
void close() {
|
||||||
@@ -243,26 +243,4 @@ public class BufferedSource implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(II)Lio;",
|
|
||||||
garbageValue = "-139133141"
|
|
||||||
)
|
|
||||||
@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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import net.runelite.mapping.Export;
|
|||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
|
|
||||||
@ObfuscatedName("fq")
|
@ObfuscatedName("ff")
|
||||||
@Implements("ByteArrayNode")
|
@Implements("ByteArrayNode")
|
||||||
public class ByteArrayNode extends Node {
|
public class ByteArrayNode extends Node {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("byteArray")
|
@Export("byteArray")
|
||||||
public byte[] byteArray;
|
public byte[] byteArray;
|
||||||
|
|
||||||
|
|||||||
@@ -1,49 +1,42 @@
|
|||||||
import java.util.Iterator;
|
|
||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedGetter;
|
import net.runelite.mapping.ObfuscatedGetter;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("kz")
|
@ObfuscatedName("kv")
|
||||||
@Implements("ByteArrayPool")
|
@Implements("ByteArrayPool")
|
||||||
public class ByteArrayPool {
|
public class ByteArrayPool {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -261452537
|
intValue = 153239603
|
||||||
)
|
)
|
||||||
@Export("ByteArrayPool_smallCount")
|
@Export("ByteArrayPool_smallCount")
|
||||||
static int ByteArrayPool_smallCount;
|
static int ByteArrayPool_smallCount;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -718717257
|
intValue = -433125971
|
||||||
)
|
)
|
||||||
@Export("ByteArrayPool_mediumCount")
|
@Export("ByteArrayPool_mediumCount")
|
||||||
static int ByteArrayPool_mediumCount;
|
static int ByteArrayPool_mediumCount;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1909793595
|
intValue = -1031778889
|
||||||
)
|
)
|
||||||
@Export("ByteArrayPool_largeCount")
|
@Export("ByteArrayPool_largeCount")
|
||||||
static int ByteArrayPool_largeCount;
|
static int ByteArrayPool_largeCount;
|
||||||
@ObfuscatedName("q")
|
@ObfuscatedName("g")
|
||||||
@Export("ByteArrayPool_small")
|
@Export("ByteArrayPool_small")
|
||||||
static byte[][] ByteArrayPool_small;
|
static byte[][] ByteArrayPool_small;
|
||||||
@ObfuscatedName("v")
|
@ObfuscatedName("z")
|
||||||
@Export("ByteArrayPool_medium")
|
@Export("ByteArrayPool_medium")
|
||||||
static byte[][] ByteArrayPool_medium;
|
static byte[][] ByteArrayPool_medium;
|
||||||
@ObfuscatedName("l")
|
@ObfuscatedName("p")
|
||||||
@Export("ByteArrayPool_large")
|
@Export("ByteArrayPool_large")
|
||||||
static byte[][] ByteArrayPool_large;
|
static byte[][] ByteArrayPool_large;
|
||||||
@ObfuscatedName("c")
|
@ObfuscatedName("w")
|
||||||
@Export("ByteArrayPool_alternativeSizes")
|
@Export("ByteArrayPool_arrays")
|
||||||
static int[] ByteArrayPool_alternativeSizes;
|
static byte[][][] ByteArrayPool_arrays;
|
||||||
@ObfuscatedName("h")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "Ldm;"
|
|
||||||
)
|
|
||||||
@Export("soundCache")
|
|
||||||
public static SoundCache soundCache;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ByteArrayPool_smallCount = 0;
|
ByteArrayPool_smallCount = 0;
|
||||||
@@ -54,10 +47,10 @@ public class ByteArrayPool {
|
|||||||
ByteArrayPool_large = new byte[50][];
|
ByteArrayPool_large = new byte[50][];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IZI)[B",
|
signature = "(IZI)[B",
|
||||||
garbageValue = "77699142"
|
garbageValue = "-2110348593"
|
||||||
)
|
)
|
||||||
@Export("ByteArrayPool_getArrayBool")
|
@Export("ByteArrayPool_getArrayBool")
|
||||||
static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) {
|
static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) {
|
||||||
@@ -89,14 +82,14 @@ public class ByteArrayPool {
|
|||||||
return var2;
|
return var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HorizontalAlignment.ByteArrayPool_arrays != null) {
|
if (ByteArrayPool_arrays != null) {
|
||||||
for (int var4 = 0; var4 < ByteArrayPool_alternativeSizes.length; ++var4) {
|
for (int var4 = 0; var4 < WorldMapSprite.ByteArrayPool_alternativeSizes.length; ++var4) {
|
||||||
if (ByteArrayPool_alternativeSizes[var4] != var0) {
|
if (WorldMapSprite.ByteArrayPool_alternativeSizes[var4] != var0) {
|
||||||
if (var0 < ByteArrayPool_alternativeSizes[var4]) {
|
if (var0 < WorldMapSprite.ByteArrayPool_alternativeSizes[var4]) {
|
||||||
}
|
}
|
||||||
} else if (class222.ByteArrayPool_altSizeArrayCounts[var4] > 0) {
|
} else if (class216.ByteArrayPool_altSizeArrayCounts[var4] > 0) {
|
||||||
byte[] var3 = HorizontalAlignment.ByteArrayPool_arrays[var4][--class222.ByteArrayPool_altSizeArrayCounts[var4]];
|
byte[] var3 = ByteArrayPool_arrays[var4][--class216.ByteArrayPool_altSizeArrayCounts[var4]];
|
||||||
HorizontalAlignment.ByteArrayPool_arrays[var4][class222.ByteArrayPool_altSizeArrayCounts[var4]] = null;
|
ByteArrayPool_arrays[var4][class216.ByteArrayPool_altSizeArrayCounts[var4]] = null;
|
||||||
return var3;
|
return var3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -104,46 +97,4 @@ public class ByteArrayPool {
|
|||||||
|
|
||||||
return new byte[var0];
|
return new byte[var0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmf;"
|
|
||||||
)
|
|
||||||
@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 {
|
|
||||||
var2 = new RunException(var0, var1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return var2;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("ke")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(I)V",
|
|
||||||
garbageValue = "-1348959879"
|
|
||||||
)
|
|
||||||
@Export("FriendSystem_invalidateFriends")
|
|
||||||
static final void FriendSystem_invalidateFriends() {
|
|
||||||
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 (class4.clanChat != null) {
|
|
||||||
class4.clanChat.clearFriends();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,23 @@
|
|||||||
|
import java.io.DataInputStream;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("gi")
|
@ObfuscatedName("gf")
|
||||||
@Implements("Calendar")
|
@Implements("Calendar")
|
||||||
public class Calendar {
|
public class Calendar {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@Export("MONTH_NAMES_ENGLISH_GERMAN")
|
@Export("MONTH_NAMES_ENGLISH_GERMAN")
|
||||||
public static final String[][] MONTH_NAMES_ENGLISH_GERMAN;
|
static final String[][] MONTH_NAMES_ENGLISH_GERMAN;
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@Export("DAYS_OF_THE_WEEK")
|
@Export("DAYS_OF_THE_WEEK")
|
||||||
public static final String[] DAYS_OF_THE_WEEK;
|
static final String[] DAYS_OF_THE_WEEK;
|
||||||
@ObfuscatedName("n")
|
|
||||||
@Export("Calendar_calendar")
|
|
||||||
public static java.util.Calendar Calendar_calendar;
|
|
||||||
@ObfuscatedName("b")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@Export("Calendar_calendar")
|
||||||
signature = "Lkc;"
|
static java.util.Calendar Calendar_calendar;
|
||||||
)
|
|
||||||
@Export("NetCache_reference")
|
|
||||||
public static Buffer NetCache_reference;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}};
|
MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}};
|
||||||
@@ -30,86 +26,46 @@ public class Calendar {
|
|||||||
Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("d")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)I",
|
signature = "(Ljava/lang/String;Ljava/lang/Throwable;I)V",
|
||||||
garbageValue = "-2132557577"
|
garbageValue = "1722882053"
|
||||||
)
|
)
|
||||||
static final int method4102() {
|
@Export("RunException_sendStackTrace")
|
||||||
return ViewportMouse.ViewportMouse_x;
|
public static void RunException_sendStackTrace(String var0, Throwable var1) {
|
||||||
}
|
if (var1 != null) {
|
||||||
|
var1.printStackTrace();
|
||||||
@ObfuscatedName("gd")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(IIIIZI)V",
|
|
||||||
garbageValue = "399120527"
|
|
||||||
)
|
|
||||||
@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.field881;
|
|
||||||
} else if (var5 >= 100) {
|
|
||||||
var6 = Client.field882;
|
|
||||||
} else {
|
} else {
|
||||||
var6 = (Client.field882 - Client.field881) * var5 / 100 + Client.field881;
|
try {
|
||||||
|
String var2 = "";
|
||||||
|
if (var1 != null) {
|
||||||
|
var2 = SpriteMask.method4035(var1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int var7 = var3 * var6 * 512 / (var2 * 334);
|
if (var0 != null) {
|
||||||
int var8;
|
if (var1 != null) {
|
||||||
int var9;
|
var2 = var2 + " | ";
|
||||||
short var10;
|
|
||||||
if (var7 < Client.field844) {
|
|
||||||
var10 = Client.field844;
|
|
||||||
var6 = var10 * var2 * 334 / (var3 * 512);
|
|
||||||
if (var6 > Client.field886) {
|
|
||||||
var6 = Client.field886;
|
|
||||||
var8 = var3 * var6 * 512 / (var10 * 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 = var2 + var0;
|
||||||
var2 -= var9 * 2;
|
|
||||||
}
|
|
||||||
} else if (var7 > Client.field888) {
|
|
||||||
var10 = Client.field888;
|
|
||||||
var6 = var10 * var2 * 334 / (var3 * 512);
|
|
||||||
if (var6 < Client.field885) {
|
|
||||||
var6 = Client.field885;
|
|
||||||
var8 = var10 * 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;
|
System.out.println("Error: " + var2);
|
||||||
var3 -= var9 * 2;
|
var2 = var2.replace(':', '.');
|
||||||
}
|
var2 = var2.replace('@', '_');
|
||||||
|
var2 = var2.replace('&', '_');
|
||||||
|
var2 = var2.replace('#', '_');
|
||||||
|
if (RunException.RunException_applet == null) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Client.viewportZoom = var3 * var6 / 334;
|
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);
|
||||||
if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) {
|
DataInputStream var4 = new DataInputStream(var3.openStream());
|
||||||
class192.method3813(var2, var3);
|
var4.read();
|
||||||
|
var4.close();
|
||||||
|
} catch (Exception var5) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Client.viewportOffsetX = var0;
|
}
|
||||||
Client.viewportOffsetY = var1;
|
|
||||||
Client.viewportWidth = var2;
|
|
||||||
Client.viewportHeight = var3;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import net.runelite.mapping.Export;
|
import net.runelite.mapping.Export;
|
||||||
import net.runelite.mapping.Implements;
|
import net.runelite.mapping.Implements;
|
||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
import net.runelite.rs.ScriptOpcodes;
|
||||||
|
|
||||||
@ObfuscatedName("ai")
|
@ObfuscatedName("ax")
|
||||||
@Implements("Canvas")
|
@Implements("Canvas")
|
||||||
public final class Canvas extends java.awt.Canvas {
|
public final class Canvas extends java.awt.Canvas {
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("ek")
|
||||||
|
@Export("worldHost")
|
||||||
|
static String worldHost;
|
||||||
|
@ObfuscatedName("u")
|
||||||
@Export("component")
|
@Export("component")
|
||||||
Component component;
|
Component component;
|
||||||
|
|
||||||
@@ -16,82 +22,165 @@ public final class Canvas extends java.awt.Canvas {
|
|||||||
this.component = var1;
|
this.component = var1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void paint(Graphics var1) {
|
|
||||||
this.component.paint(var1);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void update(Graphics var1) {
|
public final void update(Graphics var1) {
|
||||||
this.component.update(var1);
|
this.component.update(var1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
public final void paint(Graphics var1) {
|
||||||
|
this.component.paint(var1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(IIB)I",
|
signature = "(I)Z",
|
||||||
garbageValue = "-116"
|
garbageValue = "-1452894334"
|
||||||
)
|
)
|
||||||
static int method935(int var0, int var1) {
|
@Export("loadWorlds")
|
||||||
ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0);
|
static boolean loadWorlds() {
|
||||||
if (var2 == null) {
|
try {
|
||||||
return 0;
|
if (GrandExchangeOfferOwnWorldComparator.World_request == null) {
|
||||||
} else if (var1 == -1) {
|
GrandExchangeOfferOwnWorldComparator.World_request = SpriteMask.urlRequester.request(new URL(WallDecoration.field1914));
|
||||||
return 0;
|
} else if (GrandExchangeOfferOwnWorldComparator.World_request.isDone()) {
|
||||||
|
byte[] var0 = GrandExchangeOfferOwnWorldComparator.World_request.getResponse();
|
||||||
|
Buffer var1 = new Buffer(var0);
|
||||||
|
var1.readInt();
|
||||||
|
World.World_count = var1.readUnsignedShort();
|
||||||
|
Skills.World_worlds = new World[World.World_count];
|
||||||
|
|
||||||
|
World var3;
|
||||||
|
for (int var2 = 0; var2 < World.World_count; var3.index = var2++) {
|
||||||
|
var3 = Skills.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();
|
||||||
|
}
|
||||||
|
|
||||||
|
Clock.sortWorlds(Skills.World_worlds, 0, Skills.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2);
|
||||||
|
GrandExchangeOfferOwnWorldComparator.World_request = null;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception var4) {
|
||||||
|
var4.printStackTrace();
|
||||||
|
GrandExchangeOfferOwnWorldComparator.World_request = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("k")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(II)Ler;",
|
||||||
|
garbageValue = "-1118777455"
|
||||||
|
)
|
||||||
|
@Export("getFrames")
|
||||||
|
static Frames getFrames(int var0) {
|
||||||
|
Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0);
|
||||||
|
if (var1 != null) {
|
||||||
|
return var1;
|
||||||
} else {
|
} else {
|
||||||
int var3 = 0;
|
AbstractArchive var3 = SequenceDefinition.SequenceDefinition_animationsArchive;
|
||||||
|
AbstractArchive var4 = SequenceDefinition.SequenceDefinition_skeletonsArchive;
|
||||||
|
boolean var5 = true;
|
||||||
|
int[] var6 = var3.getGroupFileIds(var0);
|
||||||
|
|
||||||
for (int var4 = 0; var4 < var2.quantities.length; ++var4) {
|
for (int var7 = 0; var7 < var6.length; ++var7) {
|
||||||
if (var2.ids[var4] == var1) {
|
byte[] var8 = var3.getFile(var0, var6[var7]);
|
||||||
var3 += var2.quantities[var4];
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return var3;
|
Frames var2;
|
||||||
|
if (!var5) {
|
||||||
|
var2 = null;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
var2 = new Frames(var3, var4, var0, false);
|
||||||
|
} catch (Exception var12) {
|
||||||
|
var2 = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("il")
|
if (var2 != null) {
|
||||||
|
SequenceDefinition.SequenceDefinition_cachedFrames.put(var2, (long)var0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return var2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("o")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILjava/lang/String;I)V",
|
signature = "(ILci;ZB)I",
|
||||||
garbageValue = "-1452803850"
|
garbageValue = "-7"
|
||||||
)
|
)
|
||||||
static void method934(int var0, String var1) {
|
static int method873(int var0, Script var1, boolean var2) {
|
||||||
int var2 = Players.Players_count;
|
Widget var3 = var2 ? Interpreter.field1090 : class188.field2352;
|
||||||
int[] var3 = Players.Players_indices;
|
if (var0 == ScriptOpcodes.CC_GETX) {
|
||||||
boolean var4 = false;
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.x;
|
||||||
Username var5 = new Username(var1, class60.loginType);
|
return 1;
|
||||||
|
} else if (var0 == ScriptOpcodes.CC_GETY) {
|
||||||
for (int var6 = 0; var6 < var2; ++var6) {
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.y;
|
||||||
Player var7 = Client.players[var3[var6]];
|
return 1;
|
||||||
if (var7 != null && var7 != class215.localPlayer && var7.username != null && var7.username.equals(var5)) {
|
} else if (var0 == ScriptOpcodes.CC_GETWIDTH) {
|
||||||
PacketBufferNode var8;
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.width;
|
||||||
if (var0 == 1) {
|
return 1;
|
||||||
var8 = SoundSystem.getPacketBufferNode(ClientPacket.field2193, Client.packetWriter.isaacCipher);
|
} else if (var0 == ScriptOpcodes.CC_GETHEIGHT) {
|
||||||
var8.packetBuffer.writeShort(var3[var6]);
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.height;
|
||||||
var8.packetBuffer.writeByte(0);
|
return 1;
|
||||||
Client.packetWriter.addNode(var8);
|
} else if (var0 == ScriptOpcodes.CC_GETHIDE) {
|
||||||
} else if (var0 == 4) {
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0;
|
||||||
var8 = SoundSystem.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher);
|
return 1;
|
||||||
var8.packetBuffer.writeShortLE(var3[var6]);
|
} else if (var0 == ScriptOpcodes.CC_GETLAYER) {
|
||||||
var8.packetBuffer.method5634(0);
|
Interpreter.Interpreter_intStack[++GrandExchangeOfferTotalQuantityComparator.Interpreter_intStackSize - 1] = var3.parentId;
|
||||||
Client.packetWriter.addNode(var8);
|
return 1;
|
||||||
} else if (var0 == 6) {
|
} else {
|
||||||
var8 = SoundSystem.getPacketBufferNode(ClientPacket.field2236, Client.packetWriter.isaacCipher);
|
return 2;
|
||||||
var8.packetBuffer.method5635(0);
|
|
||||||
var8.packetBuffer.writeShort(var3[var6]);
|
|
||||||
Client.packetWriter.addNode(var8);
|
|
||||||
} else if (var0 == 7) {
|
|
||||||
var8 = SoundSystem.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher);
|
|
||||||
var8.packetBuffer.method5643(var3[var6]);
|
|
||||||
var8.packetBuffer.writeByte(0);
|
|
||||||
Client.packetWriter.addNode(var8);
|
|
||||||
}
|
|
||||||
|
|
||||||
var4 = true;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!var4) {
|
@ObfuscatedName("ap")
|
||||||
class30.addGameMessage(4, "", "Unable to find " + var1);
|
@ObfuscatedSignature(
|
||||||
|
signature = "(ILhx;ZB)V",
|
||||||
|
garbageValue = "0"
|
||||||
|
)
|
||||||
|
static void method871(int var0, Coord var1, boolean var2) {
|
||||||
|
WorldMapArea var3 = Clock.getWorldMap().getMapArea(var0);
|
||||||
|
int var4 = class215.localPlayer.plane;
|
||||||
|
int var5 = class51.baseX * 64 + (class215.localPlayer.x >> 7);
|
||||||
|
int var6 = VarcInt.baseY * 64 + (class215.localPlayer.y >> 7);
|
||||||
|
Coord var7 = new Coord(var4, var5, var6);
|
||||||
|
Clock.getWorldMap().method6453(var3, var7, var1, var2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ObfuscatedName("fo")
|
||||||
|
@ObfuscatedSignature(
|
||||||
|
signature = "(ZB)V",
|
||||||
|
garbageValue = "-90"
|
||||||
|
)
|
||||||
|
static final void method872(boolean var0) {
|
||||||
|
if (var0) {
|
||||||
|
Client.field680 = Login.field1196 ? class160.field2008 : class160.field2005;
|
||||||
|
} else {
|
||||||
|
LinkedHashMap var1 = UserComparator10.clientPreferences.parameters;
|
||||||
|
String var3 = Login.Login_username;
|
||||||
|
int var4 = var3.length();
|
||||||
|
int var5 = 0;
|
||||||
|
|
||||||
|
for (int var6 = 0; var6 < var4; ++var6) {
|
||||||
|
var5 = (var5 << 5) - var5 + var3.charAt(var6);
|
||||||
|
}
|
||||||
|
|
||||||
|
Client.field680 = var1.containsKey(var5) ? class160.field2009 : class160.field2006;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,24 +4,18 @@ import net.runelite.mapping.ObfuscatedGetter;
|
|||||||
import net.runelite.mapping.ObfuscatedName;
|
import net.runelite.mapping.ObfuscatedName;
|
||||||
import net.runelite.mapping.ObfuscatedSignature;
|
import net.runelite.mapping.ObfuscatedSignature;
|
||||||
|
|
||||||
@ObfuscatedName("cb")
|
@ObfuscatedName("cs")
|
||||||
@Implements("ChatChannel")
|
@Implements("ChatChannel")
|
||||||
public class ChatChannel {
|
public class ChatChannel {
|
||||||
@ObfuscatedName("lb")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "Lhi;"
|
signature = "[Lba;"
|
||||||
)
|
|
||||||
@Export("mousedOverWidgetIf1")
|
|
||||||
static Widget mousedOverWidgetIf1;
|
|
||||||
@ObfuscatedName("t")
|
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "[Lbt;"
|
|
||||||
)
|
)
|
||||||
@Export("messages")
|
@Export("messages")
|
||||||
Message[] messages;
|
Message[] messages;
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedGetter(
|
@ObfuscatedGetter(
|
||||||
intValue = -1655773149
|
intValue = -2111791625
|
||||||
)
|
)
|
||||||
@Export("count")
|
@Export("count")
|
||||||
int count;
|
int count;
|
||||||
@@ -30,10 +24,10 @@ public class ChatChannel {
|
|||||||
this.messages = new Message[100];
|
this.messages = new Message[100];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("a")
|
@ObfuscatedName("u")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbt;",
|
signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lba;",
|
||||||
garbageValue = "-2124852367"
|
garbageValue = "1583297440"
|
||||||
)
|
)
|
||||||
@Export("addMessage")
|
@Export("addMessage")
|
||||||
Message addMessage(int var1, String var2, String var3, String var4) {
|
Message addMessage(int var1, String var2, String var3, String var4) {
|
||||||
@@ -61,49 +55,41 @@ public class ChatChannel {
|
|||||||
return var5;
|
return var5;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("t")
|
@ObfuscatedName("f")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(II)Lbt;",
|
signature = "(IB)Lba;",
|
||||||
garbageValue = "1546938937"
|
garbageValue = "-6"
|
||||||
)
|
)
|
||||||
@Export("getMessage")
|
@Export("getMessage")
|
||||||
Message getMessage(int var1) {
|
Message getMessage(int var1) {
|
||||||
return var1 >= 0 && var1 < this.count ? this.messages[var1] : null;
|
return var1 >= 0 && var1 < this.count ? this.messages[var1] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("n")
|
@ObfuscatedName("b")
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(B)I",
|
signature = "(B)I",
|
||||||
garbageValue = "126"
|
garbageValue = "0"
|
||||||
)
|
)
|
||||||
@Export("size")
|
@Export("size")
|
||||||
int size() {
|
int size() {
|
||||||
return this.count;
|
return this.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObfuscatedName("o")
|
@ObfuscatedName("ll")
|
||||||
@ObfuscatedSignature(
|
|
||||||
signature = "(CI)Z",
|
|
||||||
garbageValue = "1710830217"
|
|
||||||
)
|
|
||||||
@Export("isCharAlphabetic")
|
|
||||||
public static boolean isCharAlphabetic(char var0) {
|
|
||||||
return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z';
|
|
||||||
}
|
|
||||||
|
|
||||||
@ObfuscatedName("fz")
|
|
||||||
@ObfuscatedSignature(
|
@ObfuscatedSignature(
|
||||||
signature = "(I)V",
|
signature = "(I)V",
|
||||||
garbageValue = "-1507769653"
|
garbageValue = "-1059026202"
|
||||||
)
|
)
|
||||||
@Export("playPcmPlayers")
|
static void method2274() {
|
||||||
static final void playPcmPlayers() {
|
if (InvDefinition.field3210 != null) {
|
||||||
if (MenuAction.pcmPlayer1 != null) {
|
Client.field863 = Client.cycle;
|
||||||
MenuAction.pcmPlayer1.run();
|
InvDefinition.field3210.method4403();
|
||||||
}
|
|
||||||
|
|
||||||
if (class80.pcmPlayer0 != null) {
|
for (int var0 = 0; var0 < Client.players.length; ++var0) {
|
||||||
class80.pcmPlayer0.run();
|
if (Client.players[var0] != null) {
|
||||||
|
InvDefinition.field3210.method4406(class51.baseX * 64 + (Client.players[var0].x >> 7), VarcInt.baseY * 64 + (Client.players[var0].y >> 7));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user