417 lines
12 KiB
Java
417 lines
12 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("bc")
|
|
@Implements("FriendSystem")
|
|
public class FriendSystem {
|
|
@ObfuscatedName("br")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Llp;"
|
|
)
|
|
@Export("clientLanguage")
|
|
static Language clientLanguage;
|
|
@ObfuscatedName("hv")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lgs;"
|
|
)
|
|
@Export("scene")
|
|
static Scene scene;
|
|
@ObfuscatedName("he")
|
|
@ObfuscatedGetter(
|
|
intValue = 505945319
|
|
)
|
|
static int field803;
|
|
@ObfuscatedName("ig")
|
|
@ObfuscatedGetter(
|
|
intValue = -134669163
|
|
)
|
|
@Export("cameraY")
|
|
static int cameraY;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lpa;"
|
|
)
|
|
@Export("loginType")
|
|
final LoginType loginType;
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lnt;"
|
|
)
|
|
@Export("friendsList")
|
|
public final FriendsList friendsList;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmm;"
|
|
)
|
|
@Export("ignoreList")
|
|
public final IgnoreList ignoreList;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedGetter(
|
|
intValue = -244669207
|
|
)
|
|
int field801;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpa;)V"
|
|
)
|
|
FriendSystem(LoginType var1) {
|
|
this.field801 = 0; // L: 23
|
|
this.loginType = var1; // L: 26
|
|
this.friendsList = new FriendsList(var1); // L: 27
|
|
this.ignoreList = new IgnoreList(var1); // L: 28
|
|
} // L: 29
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(S)Z",
|
|
garbageValue = "215"
|
|
)
|
|
boolean method1657() {
|
|
return this.field801 == 2; // L: 32
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "16711935"
|
|
)
|
|
final void method1687() {
|
|
this.field801 = 1; // L: 36
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpd;II)V",
|
|
garbageValue = "-490203066"
|
|
)
|
|
@Export("readUpdate")
|
|
final void readUpdate(Buffer var1, int var2) {
|
|
this.friendsList.read(var1, var2); // L: 40
|
|
this.field801 = 2;
|
|
Strings.method5795();
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("processFriendUpdates")
|
|
final void processFriendUpdates() {
|
|
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
|
|
if ((long)var1.field4259 < WorldMapSprite.method4989() / 1000L - 5L) {
|
|
if (var1.world > 0) {
|
|
Login.addGameMessage(5, "", var1.username + " has logged in.");
|
|
}
|
|
|
|
if (var1.world == 0) {
|
|
Login.addGameMessage(5, "", var1.username + " has logged out.");
|
|
}
|
|
|
|
var1.remove(); // L: 50
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("clear")
|
|
final void clear() {
|
|
this.field801 = 0;
|
|
this.friendsList.clear(); // L: 57
|
|
this.ignoreList.clear();
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lqy;ZB)Z",
|
|
garbageValue = "-62"
|
|
)
|
|
@Export("isFriended")
|
|
final boolean isFriended(Username var1, boolean var2) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else if (var1.equals(class19.localPlayer.username)) { // L: 63
|
|
return true;
|
|
} else {
|
|
return this.friendsList.isFriended(var1, var2); // L: 64
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lqy;B)Z",
|
|
garbageValue = "33"
|
|
)
|
|
@Export("isIgnored")
|
|
final boolean isIgnored(Username var1) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else {
|
|
return this.ignoreList.contains(var1); // L: 70
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "957037997"
|
|
)
|
|
@Export("addFriend")
|
|
final void addFriend(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) { // L: 77
|
|
StringBuilder var10000;
|
|
String var4;
|
|
if (this.friendsListIsFull()) { // L: 78
|
|
var10000 = null;
|
|
var4 = "Your friend list is full. Max of 200 for free users, and 400 for members";
|
|
Login.addGameMessage(30, "", var4);
|
|
} else if (class19.localPlayer.username.equals(var2)) {
|
|
class33.method632();
|
|
} else if (this.isFriended(var2, false)) {
|
|
class241.method5001(var1);
|
|
} else if (this.isIgnored(var2)) { // L: 95
|
|
var10000 = new StringBuilder();
|
|
Object var10001 = null; // L: 97
|
|
var10000 = var10000.append("Please remove ").append(var1);
|
|
var10001 = null;
|
|
var4 = var10000.append(" from your ignore list first").toString();
|
|
Login.addGameMessage(30, "", var4); // L: 99
|
|
} else {
|
|
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2961, Client.packetWriter.isaacCipher); // L: 106
|
|
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 107
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 108
|
|
Client.packetWriter.addNode(var3); // L: 109
|
|
}
|
|
}
|
|
}
|
|
} // L: 89 102 111
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "146943112"
|
|
)
|
|
@Export("friendsListIsFull")
|
|
final boolean friendsListIsFull() {
|
|
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field607 != 1; // L: 128
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;B)V",
|
|
garbageValue = "32"
|
|
)
|
|
@Export("addIgnore")
|
|
final void addIgnore(String var1) {
|
|
if (var1 != null) { // L: 135
|
|
Username var2 = new Username(var1, this.loginType); // L: 136
|
|
if (var2.hasCleanName()) { // L: 137
|
|
StringBuilder var10000;
|
|
String var4;
|
|
if (this.canAddIgnore()) { // L: 138
|
|
var10000 = null; // L: 140
|
|
var4 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
|
|
Login.addGameMessage(30, "", var4); // L: 142
|
|
} else if (class19.localPlayer.username.equals(var2)) { // L: 147
|
|
var10000 = null; // L: 149
|
|
var4 = "You can't add yourself to your own ignore list";
|
|
Login.addGameMessage(30, "", var4); // L: 151
|
|
} else if (this.isIgnored(var2)) { // L: 156
|
|
var10000 = (new StringBuilder()).append(var1); // L: 158
|
|
Object var10001 = null;
|
|
var4 = var10000.append(" is already on your ignore list").toString();
|
|
Login.addGameMessage(30, "", var4); // L: 160
|
|
} else if (this.isFriended(var2, false)) { // L: 165
|
|
class10.method106(var1); // L: 166
|
|
} else {
|
|
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2923, Client.packetWriter.isaacCipher); // L: 171
|
|
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 172
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 173
|
|
Client.packetWriter.addNode(var3); // L: 174
|
|
}
|
|
}
|
|
}
|
|
} // L: 145 154 163 167 176
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)Z",
|
|
garbageValue = "117"
|
|
)
|
|
@Export("canAddIgnore")
|
|
final boolean canAddIgnore() {
|
|
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field607 != 1; // L: 186
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "-780712144"
|
|
)
|
|
@Export("removeFriend")
|
|
final void removeFriend(String var1) {
|
|
if (var1 != null) { // L: 193
|
|
Username var2 = new Username(var1, this.loginType); // L: 194
|
|
if (var2.hasCleanName()) { // L: 195
|
|
if (this.friendsList.removeByUsername(var2)) { // L: 196
|
|
Client.field685 = Client.cycleCntr; // L: 198
|
|
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2936, Client.packetWriter.isaacCipher); // L: 201
|
|
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 202
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 203
|
|
Client.packetWriter.addNode(var3); // L: 204
|
|
}
|
|
|
|
Strings.method5795(); // L: 206
|
|
}
|
|
}
|
|
} // L: 207
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;B)V",
|
|
garbageValue = "70"
|
|
)
|
|
@Export("removeIgnore")
|
|
final void removeIgnore(String var1) {
|
|
if (var1 != null) { // L: 210
|
|
Username var2 = new Username(var1, this.loginType); // L: 211
|
|
if (var2.hasCleanName()) { // L: 212
|
|
if (this.ignoreList.removeByUsername(var2)) { // L: 213
|
|
Client.field685 = Client.cycleCntr; // L: 215
|
|
PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2991, Client.packetWriter.isaacCipher); // L: 218
|
|
var3.packetBuffer.writeByte(ItemLayer.stringCp1252NullTerminatedByteSize(var1)); // L: 219
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 220
|
|
Client.packetWriter.addNode(var3); // L: 221
|
|
}
|
|
|
|
ObjectComposition.FriendSystem_invalidateIgnoreds(); // L: 223
|
|
}
|
|
}
|
|
} // L: 224
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lqy;I)Z",
|
|
garbageValue = "-1790043427"
|
|
)
|
|
@Export("isFriendAndHasWorld")
|
|
final boolean isFriendAndHasWorld(Username var1) {
|
|
Friend var2 = (Friend)this.friendsList.getByUsername(var1); // L: 236
|
|
return var2 != null && var2.hasWorld(); // L: 237
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIII)Lbo;",
|
|
garbageValue = "878673450"
|
|
)
|
|
@Export("getWorldMapScript")
|
|
static Script getWorldMapScript(int var0, int var1, int var2) {
|
|
int var3 = class401.method7247(var1, var0); // L: 38
|
|
Script var5 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 41
|
|
Script var4;
|
|
if (var5 != null) { // L: 42
|
|
var4 = var5; // L: 43
|
|
} else {
|
|
String var6 = String.valueOf(var3); // L: 46
|
|
int var7 = class135.archive12.getGroupId(var6); // L: 47
|
|
if (var7 == -1) {
|
|
var4 = null; // L: 49
|
|
} else {
|
|
label59: {
|
|
byte[] var8 = class135.archive12.takeFileFlat(var7);
|
|
if (var8 != null) {
|
|
if (var8.length <= 1) {
|
|
var4 = null; // L: 55
|
|
break label59; // L: 56
|
|
}
|
|
|
|
var5 = Message.newScript(var8); // L: 58
|
|
if (var5 != null) { // L: 59
|
|
Script.Script_cached.put(var5, (long)(var3 << 16)); // L: 60
|
|
var4 = var5; // L: 61
|
|
break label59; // L: 62
|
|
}
|
|
}
|
|
|
|
var4 = null; // L: 65
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var4 != null) { // L: 68
|
|
return var4; // L: 69
|
|
} else {
|
|
var3 = FloorUnderlayDefinition.method3536(var2, var0); // L: 71
|
|
Script var11 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 74
|
|
Script var12;
|
|
if (var11 != null) { // L: 75
|
|
var12 = var11; // L: 76
|
|
} else {
|
|
String var13 = String.valueOf(var3); // L: 79
|
|
int var9 = class135.archive12.getGroupId(var13); // L: 80
|
|
if (var9 == -1) { // L: 81
|
|
var12 = null; // L: 82
|
|
} else {
|
|
byte[] var10 = class135.archive12.takeFileFlat(var9); // L: 85
|
|
if (var10 != null) { // L: 86
|
|
if (var10.length <= 1) { // L: 87
|
|
var12 = null; // L: 88
|
|
return var12 != null ? var12 : null; // L: 101 104
|
|
}
|
|
|
|
var11 = Message.newScript(var10); // L: 91
|
|
if (var11 != null) { // L: 92
|
|
Script.Script_cached.put(var11, (long)(var3 << 16)); // L: 93
|
|
var12 = var11; // L: 94
|
|
return var12 != null ? var12 : null;
|
|
}
|
|
}
|
|
|
|
var12 = null; // L: 98
|
|
}
|
|
}
|
|
|
|
return var12 != null ? var12 : null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Ljt;",
|
|
garbageValue = "2041104179"
|
|
)
|
|
public static PacketBufferNode method1723() {
|
|
PacketBufferNode var0;
|
|
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { // L: 44
|
|
var0 = new PacketBufferNode(); // L: 45
|
|
} else {
|
|
var0 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; // L: 48
|
|
}
|
|
|
|
var0.clientPacket = null; // L: 51
|
|
var0.clientPacketLength = 0; // L: 52
|
|
var0.packetBuffer = new PacketBuffer(5000); // L: 53
|
|
return var0; // L: 54
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IB)Z",
|
|
garbageValue = "-92"
|
|
)
|
|
public static boolean method1658(int var0) {
|
|
return (var0 >> 30 & 1) != 0; // L: 37
|
|
}
|
|
}
|