371 lines
10 KiB
Java
371 lines
10 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("bj")
|
|
@Implements("FriendSystem")
|
|
public class FriendSystem {
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lnf;"
|
|
)
|
|
@Export("loginType")
|
|
final LoginType loginType;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Llg;"
|
|
)
|
|
@Export("friendsList")
|
|
public final FriendsList friendsList;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Llw;"
|
|
)
|
|
@Export("ignoreList")
|
|
public final IgnoreList ignoreList;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = 2077487873
|
|
)
|
|
int field793;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lnf;)V"
|
|
)
|
|
FriendSystem(LoginType var1) {
|
|
this.field793 = 0;
|
|
this.loginType = var1;
|
|
this.friendsList = new FriendsList(var1);
|
|
this.ignoreList = new IgnoreList(var1);
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "1042682832"
|
|
)
|
|
boolean method1682() {
|
|
return this.field793 == 2;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "80"
|
|
)
|
|
final void method1664() {
|
|
this.field793 = 1;
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lot;II)V",
|
|
garbageValue = "1294740095"
|
|
)
|
|
@Export("readUpdate")
|
|
final void readUpdate(Buffer var1, int var2) {
|
|
this.friendsList.read(var1, var2);
|
|
this.field793 = 2;
|
|
|
|
for (int var3 = 0; var3 < Players.Players_count; ++var3) {
|
|
Player var4 = Client.players[Players.Players_indices[var3]];
|
|
var4.clearIsFriend();
|
|
}
|
|
|
|
class17.method275();
|
|
if (class78.friendsChat != null) {
|
|
class78.friendsChat.clearFriends();
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "-71"
|
|
)
|
|
@Export("processFriendUpdates")
|
|
final void processFriendUpdates() {
|
|
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
|
|
if ((long)var1.field3943 < Occluder.method4335() / 1000L - 5L) {
|
|
if (var1.world > 0) {
|
|
SecureRandomCallable.addGameMessage(5, "", var1.username + " has logged in.");
|
|
}
|
|
|
|
if (var1.world == 0) {
|
|
SecureRandomCallable.addGameMessage(5, "", var1.username + " has logged out.");
|
|
}
|
|
|
|
var1.remove();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "15"
|
|
)
|
|
@Export("clear")
|
|
final void clear() {
|
|
this.field793 = 0;
|
|
this.friendsList.clear();
|
|
this.ignoreList.clear();
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpp;ZI)Z",
|
|
garbageValue = "-219417662"
|
|
)
|
|
@Export("isFriended")
|
|
final boolean isFriended(Username var1, boolean var2) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else if (var1.equals(class129.localPlayer.username)) {
|
|
return true;
|
|
} else {
|
|
return this.friendsList.isFriended(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpp;B)Z",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("isIgnored")
|
|
final boolean isIgnored(Username var1) {
|
|
if (var1 == null) {
|
|
return false;
|
|
} else {
|
|
return this.ignoreList.contains(var1);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-1"
|
|
)
|
|
@Export("addFriend")
|
|
final void addFriend(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.friendsListIsFull()) {
|
|
class274.method5065("Your friend list is full. Max of 200 for free users, and 400 for members");
|
|
} else if (class129.localPlayer.username.equals(var2)) {
|
|
class274.method5065("You can't add yourself to your own friend list");
|
|
} else if (this.isFriended(var2, false)) {
|
|
class274.method5065(var1 + " is already on your friend list");
|
|
} else if (this.isIgnored(var2)) {
|
|
class274.method5065("Please remove " + var1 + " from your ignore list first");
|
|
} else {
|
|
LoginPacket.method4573(var1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "1656178783"
|
|
)
|
|
@Export("friendsListIsFull")
|
|
final boolean friendsListIsFull() {
|
|
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field608 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("y")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1982011537"
|
|
)
|
|
@Export("addIgnore")
|
|
final void addIgnore(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.canAddIgnore()) {
|
|
class354.method6255();
|
|
} else if (class129.localPlayer.username.equals(var2)) {
|
|
class274.method5065("You can't add yourself to your own ignore list");
|
|
} else if (this.isIgnored(var2)) {
|
|
class274.method5065(var1 + " is already on your ignore list");
|
|
} else if (this.isFriended(var2, false)) {
|
|
class274.method5065("Please remove " + var1 + " from your friend list first");
|
|
} else {
|
|
TextureProvider.method4361(var1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "-76002213"
|
|
)
|
|
@Export("canAddIgnore")
|
|
final boolean canAddIgnore() {
|
|
return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field608 != 1;
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "262444453"
|
|
)
|
|
@Export("removeFriend")
|
|
final void removeFriend(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.friendsList.removeByUsername(var2)) {
|
|
Decimator.method1052();
|
|
PacketBufferNode var3 = getPacketBufferNode(ClientPacket.field2695, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
for (int var5 = 0; var5 < Players.Players_count; ++var5) {
|
|
Player var4 = Client.players[Players.Players_indices[var5]];
|
|
var4.clearIsFriend();
|
|
}
|
|
|
|
class17.method275();
|
|
if (class78.friendsChat != null) {
|
|
class78.friendsChat.clearFriends();
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "-451774086"
|
|
)
|
|
@Export("removeIgnore")
|
|
final void removeIgnore(String var1) {
|
|
if (var1 != null) {
|
|
Username var2 = new Username(var1, this.loginType);
|
|
if (var2.hasCleanName()) {
|
|
if (this.ignoreList.removeByUsername(var2)) {
|
|
Decimator.method1052();
|
|
PacketBufferNode var3 = getPacketBufferNode(ClientPacket.field2667, Client.packetWriter.isaacCipher);
|
|
var3.packetBuffer.writeByte(BufferedSink.stringCp1252NullTerminatedByteSize(var1));
|
|
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
|
Client.packetWriter.addNode(var3);
|
|
}
|
|
|
|
WorldMapCacheName.FriendSystem_invalidateIgnoreds();
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lpp;I)Z",
|
|
garbageValue = "-801266965"
|
|
)
|
|
@Export("isFriendAndHasWorld")
|
|
final boolean isFriendAndHasWorld(Username var1) {
|
|
Friend var2 = (Friend)this.friendsList.getByUsername(var1);
|
|
return var2 != null && var2.hasWorld();
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lix;Loe;S)Lil;",
|
|
garbageValue = "-12337"
|
|
)
|
|
@Export("getPacketBufferNode")
|
|
public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) {
|
|
PacketBufferNode var2;
|
|
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) {
|
|
var2 = new PacketBufferNode();
|
|
} else {
|
|
var2 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount];
|
|
}
|
|
|
|
var2.clientPacket = var0;
|
|
var2.clientPacketLength = var0.length;
|
|
if (var2.clientPacketLength == -1) {
|
|
var2.packetBuffer = new PacketBuffer(260);
|
|
} else if (var2.clientPacketLength == -2) {
|
|
var2.packetBuffer = new PacketBuffer(10000);
|
|
} else if (var2.clientPacketLength <= 18) {
|
|
var2.packetBuffer = new PacketBuffer(20);
|
|
} else if (var2.clientPacketLength <= 98) {
|
|
var2.packetBuffer = new PacketBuffer(100);
|
|
} else {
|
|
var2.packetBuffer = new PacketBuffer(260);
|
|
}
|
|
|
|
var2.packetBuffer.setIsaacCipher(var1);
|
|
var2.packetBuffer.writeByteIsaac(var2.clientPacket.id);
|
|
var2.index = 0;
|
|
return var2;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V",
|
|
garbageValue = "-1879853365"
|
|
)
|
|
@Export("addChatMessage")
|
|
static void addChatMessage(int var0, String var1, String var2, String var3) {
|
|
ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0);
|
|
if (var4 == null) {
|
|
var4 = new ChatChannel();
|
|
Messages.Messages_channels.put(var0, var4);
|
|
}
|
|
|
|
Message var5 = var4.addMessage(var0, var1, var2, var3);
|
|
Messages.Messages_hashTable.put(var5, (long)var5.count);
|
|
Messages.Messages_queue.add(var5);
|
|
Client.chatCycle = Client.cycleCntr;
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)Z",
|
|
garbageValue = "36"
|
|
)
|
|
public static boolean method1727() {
|
|
return class247.musicPlayerStatus != 0 ? true : class135.midiPcmStream.isReady();
|
|
}
|
|
|
|
@ObfuscatedName("fx")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IB)V",
|
|
garbageValue = "8"
|
|
)
|
|
@Export("playSong")
|
|
static void playSong(int var0) {
|
|
if (var0 == -1 && !Client.field728) {
|
|
Canvas.method371();
|
|
} else if (var0 != -1 && var0 != Client.currentTrackGroupId && VarbitComposition.clientPreferences.musicVolume != 0 && !Client.field728) {
|
|
Archive var1 = class276.archive6;
|
|
int var2 = VarbitComposition.clientPreferences.musicVolume;
|
|
class247.musicPlayerStatus = 1;
|
|
class247.musicTrackArchive = var1;
|
|
class247.musicTrackGroupId = var0;
|
|
GrandExchangeOfferOwnWorldComparator.musicTrackFileId = 0;
|
|
class196.musicTrackVolume = var2;
|
|
class20.musicTrackBoolean = false;
|
|
class130.pcmSampleLength = 2;
|
|
}
|
|
|
|
Client.currentTrackGroupId = var0;
|
|
}
|
|
}
|