Files
runelite/runescape-client/src/main/java/Frames.java
2020-12-11 06:14:29 +00:00

157 lines
4.8 KiB
Java

import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("ep")
@Implements("Frames")
public class Frames extends DualNode {
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "[Leu;"
)
@Export("frames")
Animation[] frames;
@ObfuscatedSignature(
descriptor = "(Lib;Lib;IZ)V"
)
Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
NodeDeque var5 = new NodeDeque();
int var6 = var1.getGroupFileCount(var3); // L: 36
this.frames = new Animation[var6]; // L: 37
int[] var7 = var1.getGroupFileIds(var3); // L: 38
for (int var8 = 0; var8 < var7.length; ++var8) { // L: 39
byte[] var9 = var1.takeFile(var3, var7[var8]); // L: 40
Skeleton var10 = null; // L: 41
int var11 = (var9[0] & 255) << 8 | var9[1] & 255; // L: 42
for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { // L: 43 44 49
if (var11 == var12.id) { // L: 45
var10 = var12; // L: 46
break;
}
}
if (var10 == null) { // L: 51
byte[] var13;
if (var4) { // L: 53
var13 = var2.getFile(0, var11);
} else {
var13 = var2.getFile(var11, 0); // L: 54
}
var10 = new Skeleton(var11, var13); // L: 55
var5.addFirst(var10); // L: 56
}
this.frames[var7[var8]] = new Animation(var9, var10); // L: 58
}
} // L: 60
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(II)Z",
garbageValue = "-1239705769"
)
@Export("hasAlphaTransform")
public boolean hasAlphaTransform(int var1) {
return this.frames[var1].hasAlphaTransform; // L: 63
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(IIB)I",
garbageValue = "-67"
)
static int method3356(int var0, int var1) {
ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 28
if (var2 == null) { // L: 29
return 0;
} else if (var1 == -1) { // L: 30
return 0;
} else {
int var3 = 0; // L: 31
for (int var4 = 0; var4 < var2.quantities.length; ++var4) { // L: 32
if (var2.ids[var4] == var1) {
var3 += var2.quantities[var4]; // L: 33
}
}
return var3; // L: 35
}
}
@ObfuscatedName("y")
@ObfuscatedSignature(
descriptor = "(ILcs;ZI)I",
garbageValue = "2053155417"
)
static int method3354(int var0, Script var1, boolean var2) {
Widget var6;
if (var0 != ScriptOpcodes.CC_CALLONRESIZE && var0 != ScriptOpcodes.IF_CALLONRESIZE) { // L: 1145
int var4;
if (var0 == 1928) { // L: 1162
var6 = var2 ? PlayerAppearance.field2561 : VarcInt.field3264; // L: 1163
var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1164
if (var4 >= 1 && var4 <= 10) { // L: 1165
class3.widgetDefaultMenuAction(var4, var6.id, var6.childIndex, var6.itemId, ""); // L: 1168
return 1; // L: 1169
} else {
throw new RuntimeException(); // L: 1166
}
} else if (var0 == 2928) { // L: 1171
VarcInt.Interpreter_intStackSize -= 3; // L: 1172
int var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1173
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1174
int var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1175
if (var5 >= 1 && var5 <= 10) { // L: 1176
class3.widgetDefaultMenuAction(var5, var3, var4, CollisionMap.getWidget(var3).itemId, ""); // L: 1179
return 1; // L: 1180
} else {
throw new RuntimeException(); // L: 1177
}
} else {
return 2; // L: 1182
}
} else if (Interpreter.field1097 >= 10) { // L: 1146
throw new RuntimeException(); // L: 1147
} else {
if (var0 >= 2000) { // L: 1150
var6 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1151
} else {
var6 = var2 ? PlayerAppearance.field2561 : VarcInt.field3264; // L: 1153
}
if (var6.onResize == null) { // L: 1154
return 0;
} else {
ScriptEvent var7 = new ScriptEvent(); // L: 1155
var7.widget = var6; // L: 1156
var7.args = var6.onResize; // L: 1157
var7.field569 = Interpreter.field1097 + 1; // L: 1158
Client.scriptEvents.addFirst(var7); // L: 1159
return 1; // L: 1160
}
}
}
@ObfuscatedName("id")
@ObfuscatedSignature(
descriptor = "(IIIIB)V",
garbageValue = "-41"
)
static final void method3352(int var0, int var1, int var2, int var3) {
for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { // L: 7336
if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetYs[var4] + Client.rootWidgetHeights[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { // L: 7337
Client.field901[var4] = true;
}
}
} // L: 7339
}