253 lines
7.2 KiB
Java
253 lines
7.2 KiB
Java
import java.util.Iterator;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map.Entry;
|
|
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("cd")
|
|
@Implements("ClientPreferences")
|
|
public class ClientPreferences {
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedGetter(
|
|
intValue = 1425200295
|
|
)
|
|
@Export("ClientPreferences_optionCount")
|
|
static int ClientPreferences_optionCount;
|
|
@ObfuscatedName("x")
|
|
@Export("roofsHidden")
|
|
boolean roofsHidden;
|
|
@ObfuscatedName("w")
|
|
@Export("titleMusicDisabled")
|
|
boolean titleMusicDisabled;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = 681335643
|
|
)
|
|
@Export("windowMode")
|
|
int windowMode;
|
|
@ObfuscatedName("j")
|
|
@Export("rememberedUsername")
|
|
String rememberedUsername;
|
|
@ObfuscatedName("n")
|
|
@Export("hideUsername")
|
|
boolean hideUsername;
|
|
@ObfuscatedName("p")
|
|
double field1057;
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedGetter(
|
|
intValue = 489243513
|
|
)
|
|
@Export("musicVolume")
|
|
int musicVolume;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = -482830731
|
|
)
|
|
@Export("soundEffectsVolume")
|
|
int soundEffectsVolume;
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedGetter(
|
|
intValue = 452733913
|
|
)
|
|
@Export("areaSoundEffectsVolume")
|
|
int areaSoundEffectsVolume;
|
|
@ObfuscatedName("e")
|
|
@Export("parameters")
|
|
LinkedHashMap parameters;
|
|
|
|
static {
|
|
ClientPreferences_optionCount = 7;
|
|
}
|
|
|
|
ClientPreferences() {
|
|
this.windowMode = 1;
|
|
this.rememberedUsername = null;
|
|
this.hideUsername = false;
|
|
this.field1057 = 0.8D;
|
|
this.musicVolume = 127;
|
|
this.soundEffectsVolume = 127;
|
|
this.areaSoundEffectsVolume = 127;
|
|
this.parameters = new LinkedHashMap();
|
|
this.method1908(true);
|
|
}
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lkj;)V"
|
|
)
|
|
ClientPreferences(Buffer var1) {
|
|
this.windowMode = 1;
|
|
this.rememberedUsername = null;
|
|
this.hideUsername = false;
|
|
this.field1057 = 0.8D;
|
|
this.musicVolume = 127;
|
|
this.soundEffectsVolume = 127;
|
|
this.areaSoundEffectsVolume = 127;
|
|
this.parameters = new LinkedHashMap();
|
|
if (var1 != null && var1.array != null) {
|
|
int var2 = var1.readUnsignedByte();
|
|
if (var2 >= 0 && var2 <= ClientPreferences_optionCount) {
|
|
if (var1.readUnsignedByte() == 1) {
|
|
this.roofsHidden = true;
|
|
}
|
|
|
|
if (var2 > 1) {
|
|
this.titleMusicDisabled = var1.readUnsignedByte() == 1;
|
|
}
|
|
|
|
if (var2 > 3) {
|
|
this.windowMode = var1.readUnsignedByte();
|
|
}
|
|
|
|
if (var2 > 2) {
|
|
int var3 = var1.readUnsignedByte();
|
|
|
|
for (int var4 = 0; var4 < var3; ++var4) {
|
|
int var5 = var1.readInt();
|
|
int var6 = var1.readInt();
|
|
this.parameters.put(var5, var6);
|
|
}
|
|
}
|
|
|
|
if (var2 > 4) {
|
|
this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull();
|
|
}
|
|
|
|
if (var2 > 5) {
|
|
this.hideUsername = var1.readBoolean();
|
|
}
|
|
|
|
if (var2 > 6) {
|
|
this.field1057 = (double)var1.readUnsignedByte() / 100.0D;
|
|
this.musicVolume = var1.readUnsignedByte();
|
|
this.soundEffectsVolume = var1.readUnsignedByte();
|
|
this.areaSoundEffectsVolume = var1.readUnsignedByte();
|
|
}
|
|
} else {
|
|
this.method1908(true);
|
|
}
|
|
} else {
|
|
this.method1908(true);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ZI)V",
|
|
garbageValue = "-1410665690"
|
|
)
|
|
void method1908(boolean var1) {
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)Lkj;",
|
|
garbageValue = "-99"
|
|
)
|
|
@Export("toBuffer")
|
|
Buffer toBuffer() {
|
|
Buffer var1 = new Buffer(100);
|
|
var1.writeByte(ClientPreferences_optionCount);
|
|
var1.writeByte(this.roofsHidden ? 1 : 0);
|
|
var1.writeByte(this.titleMusicDisabled ? 1 : 0);
|
|
var1.writeByte(this.windowMode);
|
|
var1.writeByte(this.parameters.size());
|
|
Iterator var2 = this.parameters.entrySet().iterator();
|
|
|
|
while (var2.hasNext()) {
|
|
Entry var3 = (Entry)var2.next();
|
|
var1.writeInt((Integer)var3.getKey());
|
|
var1.writeInt((Integer)var3.getValue());
|
|
}
|
|
|
|
var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : "");
|
|
var1.writeBoolean(this.hideUsername);
|
|
var1.writeByte((int)(100.0D * this.field1057));
|
|
var1.writeByte(this.musicVolume);
|
|
var1.writeByte(this.soundEffectsVolume);
|
|
var1.writeByte(this.areaSoundEffectsVolume);
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lib;IIB)[Llm;",
|
|
garbageValue = "93"
|
|
)
|
|
public static Sprite[] method1918(AbstractArchive var0, int var1, int var2) {
|
|
if (!class304.method5363(var0, var1, var2)) {
|
|
return null;
|
|
} else {
|
|
Sprite[] var4 = new Sprite[class336.SpriteBuffer_spriteCount];
|
|
|
|
for (int var5 = 0; var5 < class336.SpriteBuffer_spriteCount; ++var5) {
|
|
Sprite var6 = var4[var5] = new Sprite();
|
|
var6.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth;
|
|
var6.height = class336.SpriteBuffer_spriteHeight;
|
|
var6.xOffset = class336.SpriteBuffer_xOffsets[var5];
|
|
var6.yOffset = class336.SpriteBuffer_yOffsets[var5];
|
|
var6.subWidth = class336.SpriteBuffer_spriteWidths[var5];
|
|
var6.subHeight = class336.SpriteBuffer_spriteHeights[var5];
|
|
int var7 = var6.subHeight * var6.subWidth;
|
|
byte[] var8 = GrandExchangeEvents.SpriteBuffer_pixels[var5];
|
|
var6.pixels = new int[var7];
|
|
|
|
for (int var9 = 0; var9 < var7; ++var9) {
|
|
var6.pixels[var9] = class336.SpriteBuffer_spritePalette[var8[var9] & 255];
|
|
}
|
|
}
|
|
|
|
class336.SpriteBuffer_xOffsets = null;
|
|
class336.SpriteBuffer_yOffsets = null;
|
|
class336.SpriteBuffer_spriteWidths = null;
|
|
class336.SpriteBuffer_spriteHeights = null;
|
|
class336.SpriteBuffer_spritePalette = null;
|
|
GrandExchangeEvents.SpriteBuffer_pixels = null;
|
|
return var4;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("hq")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lbq;ZI)V",
|
|
garbageValue = "-864569617"
|
|
)
|
|
@Export("addPlayerToScene")
|
|
static void addPlayerToScene(Player var0, boolean var1) {
|
|
if (var0 != null && var0.isVisible() && !var0.isHidden) {
|
|
var0.isUnanimated = false;
|
|
if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.movementSequence == var0.idleSequence) {
|
|
var0.isUnanimated = true;
|
|
}
|
|
|
|
int var2 = var0.x >> 7;
|
|
int var3 = var0.y >> 7;
|
|
if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) {
|
|
long var4 = NPC.calculateTag(0, 0, 0, false, var0.index);
|
|
if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) {
|
|
var0.isUnanimated = false;
|
|
var0.tileHeight = SecureRandomFuture.getTileHeight(var0.x, var0.y, GameObject.Client_plane);
|
|
var0.playerCycle = Client.cycle;
|
|
ArchiveLoader.scene.addNullableObject(GameObject.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field620, var0.field606, var0.field622, var0.field623);
|
|
} else {
|
|
if ((var0.x & 127) == 64 && (var0.y & 127) == 64) {
|
|
if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) {
|
|
return;
|
|
}
|
|
|
|
Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount;
|
|
}
|
|
|
|
var0.tileHeight = SecureRandomFuture.getTileHeight(var0.x, var0.y, GameObject.Client_plane);
|
|
var0.playerCycle = Client.cycle;
|
|
ArchiveLoader.scene.drawEntity(GameObject.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|