rs-client/apis

This commit is contained in:
Lucwousin
2019-07-18 15:21:46 +02:00
parent aa5098aff5
commit 25ce6c2ee9
346 changed files with 78952 additions and 84408 deletions

View File

@@ -1,354 +1,261 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.Reflection;
@ObfuscatedName("cp")
@ObfuscatedName("cs")
@Implements("ChatChannel")
public class ChatChannel {
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "[Lbm;"
)
@Export("messages")
Message[] messages;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = 612486877
)
@Export("count")
int count;
@ObfuscatedName("gr")
@ObfuscatedGetter(
intValue = 1055466439
)
static int field1306;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Lbj;"
)
@Export("messages")
Message[] messages;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = 754027225
)
@Export("count")
int count;
ChatChannel() {
this.messages = new Message[100];
}
ChatChannel() {
this.messages = new Message[100];
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbm;",
garbageValue = "463993373"
)
@Export("addMessage")
Message addMessage(int type, String sender, String text, String prefix) {
Message var5 = this.messages[99];
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbj;",
garbageValue = "0"
)
@Export("addMessage")
Message addMessage(int var1, String var2, String var3, String var4) {
Message var5 = this.messages[99];
for (int var6 = this.count; var6 > 0; --var6) {
if (var6 != 100) {
this.messages[var6] = this.messages[var6 - 1];
}
}
for (int var6 = this.count; var6 > 0; --var6) {
if (var6 != 100) {
this.messages[var6] = this.messages[var6 - 1];
}
}
if (var5 == null) {
var5 = new Message(type, sender, prefix, text);
} else {
var5.remove();
var5.removeDual();
var5.set(type, sender, prefix, text);
}
if (var5 == null) {
var5 = new Message(var1, var2, var4, var3);
} else {
var5.remove();
var5.removeDual();
var5.set(var1, var2, var4, var3);
}
this.messages[0] = var5;
if (this.count < 100) {
++this.count;
}
this.messages[0] = var5;
if (this.count < 100) {
++this.count;
}
return var5;
}
return var5;
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(II)Lbm;",
garbageValue = "-195254780"
)
@Export("getMessage")
Message getMessage(int index) {
return index >= 0 && index < this.count ? this.messages[index] : null;
}
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "(II)Lbj;",
garbageValue = "-55997964"
)
@Export("getMessage")
Message getMessage(int var1) {
return var1 >= 0 && var1 < this.count ? this.messages[var1] : null;
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(I)I",
garbageValue = "-1274923506"
)
@Export("size")
int size() {
return this.count;
}
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(I)I",
garbageValue = "-410884165"
)
@Export("size")
int size() {
return this.count;
}
@ObfuscatedName("s")
@ObfuscatedSignature(
signature = "(CI)Z",
garbageValue = "-1857344803"
)
@Export("isCharPrintable")
public static boolean isCharPrintable(char var0) {
return var0 >= ' ' && var0 <= '~' ? true : (var0 >= 160 && var0 <= 255 ? true : var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376);
}
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "(Lkf;IB)V",
garbageValue = "67"
)
public static void method2213(Buffer var0, int var1) {
ReflectionCheck var2 = new ReflectionCheck();
var2.size = var0.readUnsignedByte();
var2.id = var0.readInt();
var2.operations = new int[var2.size];
var2.creationErrors = new int[var2.size];
var2.fields = new Field[var2.size];
var2.intReplaceValues = new int[var2.size];
var2.methods = new Method[var2.size];
var2.arguments = new byte[var2.size][][];
@ObfuscatedName("fk")
@ObfuscatedSignature(
signature = "(Lbz;I)V",
garbageValue = "911583338"
)
static final void method2225(Actor var0) {
var0.field10 = false;
SequenceDefinition var1;
if (var0.movementSequence != -1) {
var1 = WorldMapAreaData.getSequenceDefinition(var0.movementSequence);
if (var1 != null && var1.frameIds != null) {
++var0.movementFrameCycle;
if (var0.movementFrame < var1.frameIds.length && var0.movementFrameCycle > var1.frameLengths[var0.movementFrame]) {
var0.movementFrameCycle = 1;
++var0.movementFrame;
Script.method2201(var1, var0.movementFrame, var0.x, var0.y);
}
for (int var3 = 0; var3 < var2.size; ++var3) {
try {
int var4 = var0.readUnsignedByte();
String var5;
String var6;
int var7;
if (var4 != 0 && var4 != 1 && var4 != 2) {
if (var4 == 3 || var4 == 4) {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = var0.readUnsignedByte();
String[] var8 = new String[var7];
if (var0.movementFrame >= var1.frameIds.length) {
var0.movementFrameCycle = 0;
var0.movementFrame = 0;
Script.method2201(var1, var0.movementFrame, var0.x, var0.y);
}
} else {
var0.movementSequence = -1;
}
}
for (int var9 = 0; var9 < var7; ++var9) {
var8[var9] = var0.readStringCp1252NullTerminated();
}
if (var0.spotAnimation != -1 && Client.cycle >= var0.field14) {
if (var0.spotAnimationFrame < 0) {
var0.spotAnimationFrame = 0;
}
String var20 = var0.readStringCp1252NullTerminated();
byte[][] var10 = new byte[var7][];
int var12;
if (var4 == 3) {
for (int var11 = 0; var11 < var7; ++var11) {
var12 = var0.readInt();
var10[var11] = new byte[var12];
var0.readBytes(var10[var11], 0, var12);
}
}
int var2 = class50.getSpotAnimationDefinition(var0.spotAnimation).sequence;
if (var2 != -1) {
SequenceDefinition var3 = WorldMapAreaData.getSequenceDefinition(var2);
if (var3 != null && var3.frameIds != null) {
++var0.spotAnimationFrameCycle;
if (var0.spotAnimationFrame < var3.frameIds.length && var0.spotAnimationFrameCycle > var3.frameLengths[var0.spotAnimationFrame]) {
var0.spotAnimationFrameCycle = 1;
++var0.spotAnimationFrame;
Script.method2201(var3, var0.spotAnimationFrame, var0.x, var0.y);
}
var2.operations[var3] = var4;
Class[] var21 = new Class[var7];
if (var0.spotAnimationFrame >= var3.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var3.frameIds.length)) {
var0.spotAnimation = -1;
}
} else {
var0.spotAnimation = -1;
}
} else {
var0.spotAnimation = -1;
}
}
for (var12 = 0; var12 < var7; ++var12) {
var21[var12] = User.loadClassFromDescriptor(var8[var12]);
}
if (var0.sequence != -1 && var0.sequenceDelay <= 1) {
var1 = WorldMapAreaData.getSequenceDefinition(var0.sequence);
if (var1.field781 == 1 && var0.field25 > 0 && var0.field19 <= Client.cycle && var0.field20 < Client.cycle) {
var0.sequenceDelay = 1;
return;
}
}
Class var22 = User.loadClassFromDescriptor(var20);
if (User.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
if (var0.sequence != -1 && var0.sequenceDelay == 0) {
var1 = WorldMapAreaData.getSequenceDefinition(var0.sequence);
if (var1 != null && var1.frameIds != null) {
++var0.sequenceFrameCycle;
if (var0.sequenceFrame < var1.frameIds.length && var0.sequenceFrameCycle > var1.frameLengths[var0.sequenceFrame]) {
var0.sequenceFrameCycle = 1;
++var0.sequenceFrame;
Script.method2201(var1, var0.sequenceFrame, var0.x, var0.y);
}
Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods();
Method[] var14 = var13;
if (var0.sequenceFrame >= var1.frameIds.length) {
var0.sequenceFrame -= var1.frameCount;
++var0.field13;
if (var0.field13 >= var1.field780) {
var0.sequence = -1;
} else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) {
Script.method2201(var1, var0.sequenceFrame, var0.x, var0.y);
} else {
var0.sequence = -1;
}
}
for (int var15 = 0; var15 < var14.length; ++var15) {
Method var16 = var14[var15];
if (Reflection.getMethodName(var16).equals(var6)) {
Class[] var17 = Reflection.getParameterTypes(var16);
if (var17.length == var21.length) {
boolean var18 = true;
var0.field10 = var1.field778;
} else {
var0.sequence = -1;
}
}
for (int var19 = 0; var19 < var21.length; ++var19) {
if (var17[var19] != var21[var19]) {
var18 = false;
break;
}
}
if (var0.sequenceDelay > 0) {
--var0.sequenceDelay;
}
if (var18 && var22 == var16.getReturnType()) {
var2.methods[var3] = var16;
}
}
}
}
}
var2.arguments[var3] = var10;
}
} else {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = 0;
if (var4 == 1) {
var7 = var0.readInt();
}
@ObfuscatedName("ia")
@ObfuscatedSignature(
signature = "(Lho;IIB)V",
garbageValue = "94"
)
static final void method2237(Widget var0, int var1, int var2) {
if (var0.buttonType == 1) {
Tiles.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id);
}
var2.operations[var3] = var4;
var2.intReplaceValues[var3] = var7;
if (User.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
String var3;
if (var0.buttonType == 2 && !Client.isSpellSelected) {
var3 = class198.method3745(var0);
if (var3 != null) {
Tiles.insertMenuItemNoShift(var3, BufferedFile.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id);
}
}
var2.fields[var3] = Reflection.findField(User.loadClassFromDescriptor(var5), var6);
}
} catch (ClassNotFoundException var24) {
var2.creationErrors[var3] = -1;
} catch (SecurityException var25) {
var2.creationErrors[var3] = -2;
} catch (NullPointerException var26) {
var2.creationErrors[var3] = -3;
} catch (Exception var27) {
var2.creationErrors[var3] = -4;
} catch (Throwable var28) {
var2.creationErrors[var3] = -5;
}
}
if (var0.buttonType == 3) {
Tiles.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id);
}
class96.reflectionChecks.addFirst(var2);
}
if (var0.buttonType == 4) {
Tiles.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id);
}
@ObfuscatedName("r")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-4"
)
static void method2214() {
if (UserComparator3.loadWorlds()) {
Login.worldSelectOpen = true;
Login.worldSelectPage = 0;
Login.worldSelectPagesCount = 0;
}
if (var0.buttonType == 5) {
Tiles.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id);
}
}
if (var0.buttonType == 6 && Client.field127 == null) {
Tiles.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id);
}
@ObfuscatedName("hh")
@ObfuscatedSignature(
signature = "(IIIII)V",
garbageValue = "-2069013220"
)
static final void method2215(int var0, int var1, int var2, int var3) {
for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) {
if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetHeights[var4] + Client.rootWidgetYs[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) {
Client.field843[var4] = true;
}
}
int var4;
int var5;
int var6;
if (var0.type == 2) {
var6 = 0;
}
for (var4 = 0; var4 < var0.height; ++var4) {
for (var5 = 0; var5 < var0.width; ++var5) {
int var7 = (var0.paddingX + 32) * var5;
int var8 = (var0.paddingY + 32) * var4;
if (var6 < 20) {
var7 += var0.inventoryXOffsets[var6];
var8 += var0.inventoryYOffsets[var6];
}
@ObfuscatedName("ie")
@ObfuscatedSignature(
signature = "(Lhj;I)Z",
garbageValue = "-1045685499"
)
@Export("runCs1")
static final boolean runCs1(Widget var0) {
if (var0.cs1Comparisons == null) {
return false;
} else {
for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) {
int var2 = Varps.method3969(var0, var1);
int var3 = var0.cs1ComparisonValues[var1];
if (var0.cs1Comparisons[var1] == 2) {
if (var2 >= var3) {
return false;
}
} else if (var0.cs1Comparisons[var1] == 3) {
if (var2 <= var3) {
return false;
}
} else if (var0.cs1Comparisons[var1] == 4) {
if (var2 == var3) {
return false;
}
} else if (var2 != var3) {
return false;
}
}
if (var1 >= var7 && var2 >= var8 && var1 < var7 + 32 && var2 < var8 + 32) {
Client.dragItemSlotDestination = var6;
UserComparator6.field937 = var0;
if (var0.itemIds[var6] > 0) {
ItemDefinition var9 = Skills.getItemDefinition(var0.itemIds[var6] - 1);
if (Client.isItemSelected == 1 && WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) {
if (var0.id != ServerPacket.selectedItemWidget || var6 != HealthBarDefinition.selectedItemSlot) {
Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16748608) + var9.name, 31, var9.id, var6, var0.id);
}
} else if (Client.isSpellSelected && WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) {
if ((FloorDecoration.selectedSpellFlags & 16) == 16) {
Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16748608) + var9.name, 32, var9.id, var6, var0.id);
}
} else {
String[] var10 = var9.inventoryActions;
int var11 = -1;
if (Client.shiftClickDrop && WorldMapEvent.isShiftPressed()) {
var11 = var9.getShiftClickIndex();
}
int var12;
if (WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) {
for (var12 = 4; var12 >= 3; --var12) {
if (var11 != var12) {
AccessFile.addWidgetItemMenuItem(var0, var9, var6, var12, false);
}
}
}
if (SecureRandomFuture.method2101(class1.getWidgetClickMask(var0))) {
Tiles.insertMenuItemNoShift("Use", BufferedFile.colorStartTag(16748608) + var9.name, 38, var9.id, var6, var0.id);
}
if (WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) {
for (var12 = 2; var12 >= 0; --var12) {
if (var12 != var11) {
AccessFile.addWidgetItemMenuItem(var0, var9, var6, var12, false);
}
}
if (var11 >= 0) {
AccessFile.addWidgetItemMenuItem(var0, var9, var6, var11, true);
}
}
var10 = var0.itemActions;
if (var10 != null) {
for (var12 = 4; var12 >= 0; --var12) {
if (var10[var12] != null) {
byte var13 = 0;
if (var12 == 0) {
var13 = 39;
}
if (var12 == 1) {
var13 = 40;
}
if (var12 == 2) {
var13 = 41;
}
if (var12 == 3) {
var13 = 42;
}
if (var12 == 4) {
var13 = 43;
}
Tiles.insertMenuItemNoShift(var10[var12], BufferedFile.colorStartTag(16748608) + var9.name, var13, var9.id, var6, var0.id);
}
}
}
Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16748608) + var9.name, 1005, var9.id, var6, var0.id);
}
}
}
++var6;
}
}
}
if (var0.isIf3) {
if (Client.isSpellSelected) {
if (GrandExchangeOfferWorldComparator.method58(class1.getWidgetClickMask(var0)) && (FloorDecoration.selectedSpellFlags & 32) == 32) {
Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + var0.dataText, 58, 0, var0.childIndex, var0.id);
}
} else {
String var14;
for (var6 = 9; var6 >= 5; --var6) {
var14 = GameShell.method1060(var0, var6);
if (var14 != null) {
Tiles.insertMenuItemNoShift(var14, var0.dataText, 1007, var6 + 1, var0.childIndex, var0.id);
}
}
var3 = class198.method3745(var0);
if (var3 != null) {
Tiles.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id);
}
for (var4 = 4; var4 >= 0; --var4) {
var14 = GameShell.method1060(var0, var4);
if (var14 != null) {
class16.insertMenuItem(var14, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field985);
}
}
var5 = class1.getWidgetClickMask(var0);
boolean var15 = (var5 & 1) != 0;
if (var15) {
Tiles.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id);
}
}
}
}
return true;
}
}
}