240 lines
7.1 KiB
Java
240 lines
7.1 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("ko")
|
|
@Implements("FriendsList")
|
|
public class FriendsList extends UserList {
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lmu;"
|
|
)
|
|
@Export("loginType")
|
|
final LoginType loginType;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = -1380465553
|
|
)
|
|
int field3657;
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Ljj;"
|
|
)
|
|
@Export("friendLoginUpdates")
|
|
public LinkDeque friendLoginUpdates;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lmu;)V"
|
|
)
|
|
public FriendsList(LoginType var1) {
|
|
super(400); // L: 17
|
|
this.field3657 = 1; // L: 13
|
|
this.friendLoginUpdates = new LinkDeque(); // L: 14
|
|
this.loginType = var1; // L: 18
|
|
} // L: 19
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)Lju;",
|
|
garbageValue = "-99"
|
|
)
|
|
@Export("newInstance")
|
|
User newInstance() {
|
|
return new Friend(); // L: 22
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)[Lju;",
|
|
garbageValue = "-1524839332"
|
|
)
|
|
@Export("newTypedArray")
|
|
User[] newTypedArray(int var1) {
|
|
return new Friend[var1]; // L: 26
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lki;ZB)Z",
|
|
garbageValue = "-6"
|
|
)
|
|
@Export("isFriended")
|
|
public boolean isFriended(Username var1, boolean var2) {
|
|
Friend var3 = (Friend)this.getByUsername(var1); // L: 30
|
|
if (var3 == null) { // L: 31
|
|
return false;
|
|
} else {
|
|
return !var2 || var3.world != 0; // L: 32
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lkj;II)V",
|
|
garbageValue = "-1122558022"
|
|
)
|
|
@Export("read")
|
|
public void read(Buffer var1, int var2) {
|
|
while (true) {
|
|
if (var1.offset < var2) { // L: 37
|
|
boolean var3 = var1.readUnsignedByte() == 1; // L: 38
|
|
Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 39
|
|
Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 40
|
|
int var6 = var1.readUnsignedShort(); // L: 41
|
|
int var7 = var1.readUnsignedByte(); // L: 42
|
|
int var8 = var1.readUnsignedByte(); // L: 43
|
|
boolean var9 = (var8 & 2) != 0; // L: 44
|
|
boolean var10 = (var8 & 1) != 0; // L: 45
|
|
if (var6 > 0) { // L: 46
|
|
var1.readStringCp1252NullTerminated(); // L: 47
|
|
var1.readUnsignedByte(); // L: 48
|
|
var1.readInt(); // L: 49
|
|
}
|
|
|
|
var1.readStringCp1252NullTerminated(); // L: 51
|
|
if (var4 != null && var4.hasCleanName()) { // L: 52
|
|
Friend var11 = (Friend)this.getByCurrentUsername(var4);
|
|
if (var3) {
|
|
Friend var12 = (Friend)this.getByCurrentUsername(var5);
|
|
if (var12 != null && var12 != var11) {
|
|
if (var11 != null) {
|
|
this.remove(var12);
|
|
} else {
|
|
var11 = var12;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var11 != null) {
|
|
this.changeName(var11, var4, var5);
|
|
if (var6 != var11.world) {
|
|
boolean var14 = true; // L: 68
|
|
|
|
for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) { // L: 69
|
|
if (var13.username.equals(var4)) { // L: 70
|
|
if (var6 != 0 && var13.world == 0) {
|
|
var13.remove();
|
|
var14 = false;
|
|
} else if (var6 == 0 && var13.world != 0) {
|
|
var13.remove();
|
|
var14 = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var14) {
|
|
this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6));
|
|
}
|
|
}
|
|
} else {
|
|
if (this.getSize() >= 400) { // L: 84
|
|
continue;
|
|
}
|
|
|
|
var11 = (Friend)this.addLast(var4, var5); // L: 85
|
|
}
|
|
|
|
if (var6 != var11.world) {
|
|
var11.int2 = ++this.field3657 - 1;
|
|
if (var11.world == -1 && var6 == 0) {
|
|
var11.int2 = -(var11.int2 * -579950033) * 503110863;
|
|
}
|
|
|
|
var11.world = var6;
|
|
}
|
|
|
|
var11.rank = var7;
|
|
var11.field3666 = var9;
|
|
var11.field3667 = var10;
|
|
continue;
|
|
}
|
|
|
|
throw new IllegalStateException();
|
|
}
|
|
|
|
this.sort();
|
|
return; // L: 98
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIIII)V",
|
|
garbageValue = "754468419"
|
|
)
|
|
static void method5222(int var0, int var1, int var2, int var3) {
|
|
for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 53
|
|
if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { // L: 54
|
|
int var5 = 0; // L: 55
|
|
if (var1 > var4.field1073) { // L: 56
|
|
var5 += var1 - var4.field1073;
|
|
} else if (var1 < var4.x) { // L: 57
|
|
var5 += var4.x - var1;
|
|
}
|
|
|
|
if (var2 > var4.field1078) { // L: 58
|
|
var5 += var2 - var4.field1078;
|
|
} else if (var2 < var4.y) { // L: 59
|
|
var5 += var4.y - var2;
|
|
}
|
|
|
|
if (var5 - 64 <= var4.field1086 && Timer.clientPreferences.areaSoundEffectsVolume != 0 && var0 == var4.plane) { // L: 60
|
|
var5 -= 64; // L: 71
|
|
if (var5 < 0) { // L: 72
|
|
var5 = 0;
|
|
}
|
|
|
|
int var6 = (var4.field1086 - var5) * Timer.clientPreferences.areaSoundEffectsVolume / var4.field1086; // L: 73
|
|
if (var4.stream1 == null) { // L: 74
|
|
if (var4.soundEffectId >= 0) { // L: 75
|
|
SoundEffect var7 = SoundEffect.readSoundEffect(class227.archive4, var4.soundEffectId, 0); // L: 76
|
|
if (var7 != null) { // L: 77
|
|
RawSound var8 = var7.toRawSound().resample(TileItemPile.decimator); // L: 78
|
|
RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); // L: 79
|
|
var9.setNumLoops(-1); // L: 80
|
|
WorldMapManager.pcmStreamMixer.addSubStream(var9); // L: 81
|
|
var4.stream1 = var9; // L: 82
|
|
}
|
|
}
|
|
} else {
|
|
var4.stream1.method2610(var6); // L: 86
|
|
}
|
|
|
|
if (var4.stream2 == null) { // L: 87
|
|
if (var4.soundEffectIds != null && (var4.field1081 -= var3) <= 0) { // L: 88
|
|
int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); // L: 89
|
|
SoundEffect var12 = SoundEffect.readSoundEffect(class227.archive4, var4.soundEffectIds[var11], 0); // L: 90
|
|
if (var12 != null) { // L: 91
|
|
RawSound var13 = var12.toRawSound().resample(TileItemPile.decimator); // L: 92
|
|
RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); // L: 93
|
|
var10.setNumLoops(0); // L: 94
|
|
WorldMapManager.pcmStreamMixer.addSubStream(var10); // L: 95
|
|
var4.stream2 = var10; // L: 96
|
|
var4.field1081 = var4.field1085 + (int)(Math.random() * (double)(var4.field1083 - var4.field1085)); // L: 97
|
|
}
|
|
}
|
|
} else {
|
|
var4.stream2.method2610(var6); // L: 102
|
|
if (!var4.stream2.hasNext()) { // L: 103
|
|
var4.stream2 = null; // L: 104
|
|
}
|
|
}
|
|
} else {
|
|
if (var4.stream1 != null) { // L: 61
|
|
WorldMapManager.pcmStreamMixer.removeSubStream(var4.stream1); // L: 62
|
|
var4.stream1 = null; // L: 63
|
|
}
|
|
|
|
if (var4.stream2 != null) { // L: 65
|
|
WorldMapManager.pcmStreamMixer.removeSubStream(var4.stream2); // L: 66
|
|
var4.stream2 = null; // L: 67
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} // L: 108
|
|
}
|