rt4-client/client/src/main/java/rt4/Preferences.java
Pazaz 13c524f5a7 Created Cs1ScriptRunner, also no more static classes
Loooooots of organization to do. This "first pass" is "done"
2022-06-28 02:11:43 -04:00

328 lines
11 KiB
Java

package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
import java.io.IOException;
public class Preferences {
@OriginalMember(owner = "client!pa", name = "N", descriptor = "I")
public static int antiAliasingMode = 0;
@OriginalMember(owner = "client!na", name = "h", descriptor = "Z")
public static boolean safeMode = false;
@OriginalMember(owner = "client!il", name = "I", descriptor = "I")
public static int brightness = 3;
@OriginalMember(owner = "client!gf", name = "N", descriptor = "Z")
public static boolean removeRoofsSelectively = true;
@OriginalMember(owner = "client!hk", name = "eb", descriptor = "Z")
public static boolean stereo = true;
@OriginalMember(owner = "client!rm", name = "g", descriptor = "Z")
public static boolean highWaterDetail = true;
@OriginalMember(owner = "client!hn", name = "X", descriptor = "I")
public static int windowMode = 0;
@OriginalMember(owner = "client!bl", name = "W", descriptor = "I")
public static int fullScreenHeight = 0;
@OriginalMember(owner = "client!uf", name = "b", descriptor = "Z")
public static boolean showGroundDecorations = true;
@OriginalMember(owner = "client!ba", name = "x", descriptor = "Z")
public static boolean flickeringEffectsOn = true;
@OriginalMember(owner = "client!be", name = "Kb", descriptor = "Z")
public static boolean manyIdleAnimations = true;
@OriginalMember(owner = "client!cg", name = "f", descriptor = "I")
public static int ambientSoundsVolume = 127;
@OriginalMember(owner = "client!fk", name = "g", descriptor = "Z")
public static boolean fogEnabled = true;
@OriginalMember(owner = "client!ra", name = "R", descriptor = "Z")
public static boolean characterShadowsOn = true;
@OriginalMember(owner = "client!j", name = "v", descriptor = "I")
public static int fullScreenWidth = 0;
@OriginalMember(owner = "client!l", name = "k", descriptor = "I")
public static int sceneryShadowsType = 2;
@OriginalMember(owner = "client!mi", name = "ab", descriptor = "Z")
public static boolean manyGroundTextures = true;
@OriginalMember(owner = "client!od", name = "c", descriptor = "Z")
public static boolean highDetailLighting = true;
@OriginalMember(owner = "client!bb", name = "n", descriptor = "I")
public static int musicVolume = 255;
@OriginalMember(owner = "client!ec", name = "n", descriptor = "Z")
public static boolean highDetailTextures = true;
@OriginalMember(owner = "client!jl", name = "J", descriptor = "I")
public static int soundEffectVolume = 127;
@OriginalMember(owner = "client!na", name = "o", descriptor = "I")
public static int lastWorldId = 0;
@OriginalMember(owner = "client!lb", name = "A", descriptor = "I")
public static int buildArea = 0;
@OriginalMember(owner = "client!ml", name = "ab", descriptor = "Z")
public static boolean allLevelsVisible = true;
@OriginalMember(owner = "client!cj", name = "h", descriptor = "Z")
public static boolean aBoolean63;
@OriginalMember(owner = "client!fb", name = "m", descriptor = "Z")
public static boolean cursorsEnabled = true;
@OriginalMember(owner = "client!k", name = "c", descriptor = "Z")
public static boolean hdr = false;
@OriginalMember(owner = "client!rg", name = "F", descriptor = "I")
public static int favoriteWorlds = 0;
@OriginalMember(owner = "client!bh", name = "z", descriptor = "Z")
public static boolean sentToServer = true;
@OriginalMember(owner = "client!ga", name = "e", descriptor = "I")
static int particles = 2;
@OriginalMember(owner = "client!qh", name = "a", descriptor = "(Lsignlink!ll;B)V")
public static void write(@OriginalArg(0) SignLink arg0) {
@Pc(11) FileOnDisk local11 = null;
try {
@Pc(16) PrivilegedRequest local16 = arg0.openPreferences("runescape");
while (local16.status == 0) {
ThreadUtils.sleep(1L);
}
if (local16.status == 1) {
local11 = (FileOnDisk) local16.result;
@Pc(39) Buffer local39 = encode();
local11.write(local39.data, local39.offset, 0);
}
} catch (@Pc(49) Exception local49) {
}
try {
if (local11 != null) {
local11.close();
}
} catch (@Pc(56) Exception local56) {
}
}
@OriginalMember(owner = "client!gf", name = "a", descriptor = "(Lsignlink!ll;I)V")
public static void read(@OriginalArg(0) SignLink arg0) {
brightness = 3;
setAllVisibleLevels(true);
removeRoofsSelectively = true;
stereo = true;
highWaterDetail = true;
windowMode = 0;
fullScreenHeight = 0;
showGroundDecorations = true;
flickeringEffectsOn = true;
manyIdleAnimations = true;
ambientSoundsVolume = 127;
fogEnabled = true;
characterShadowsOn = true;
fullScreenWidth = 0;
sceneryShadowsType = 2;
manyGroundTextures = true;
highDetailLighting = true;
musicVolume = 255;
highDetailTextures = true;
antiAliasingMode = 0;
@Pc(48) FileOnDisk local48 = null;
soundEffectVolume = 127;
if (GameShell.maxMemory >= 96) {
setParticles(2);
} else {
setParticles(0);
}
lastWorldId = 0;
buildArea = 0;
aBoolean63 = false;
cursorsEnabled = true;
safeMode = false;
hdr = false;
favoriteWorlds = 0;
try {
@Pc(78) PrivilegedRequest request = arg0.openPreferences("runescape");
while (request.status == 0) {
ThreadUtils.sleep(1L);
}
if (request.status == 1) {
local48 = (FileOnDisk) request.result;
@Pc(106) byte[] local106 = new byte[(int) local48.length()];
@Pc(128) int local128;
for (@Pc(108) int local108 = 0; local108 < local106.length; local108 += local128) {
local128 = local48.read(local108, local106.length - local108, local106);
if (local128 == -1) {
throw new IOException("EOF");
}
}
decode(new Buffer(local106));
}
} catch (@Pc(151) Exception local151) {
}
try {
if (local48 != null) {
local48.close();
}
} catch (@Pc(158) Exception local158) {
}
}
@OriginalMember(owner = "client!ec", name = "a", descriptor = "(IZ)V")
public static void setAllVisibleLevels(@OriginalArg(1) boolean arg0) {
allLevelsVisible = arg0;
SceneGraph.aBoolean130 = !SceneGraph.allLevelsAreVisible();
}
@OriginalMember(owner = "client!ga", name = "b", descriptor = "(I)V")
public static void setParticles(@OriginalArg(0) int arg0) {
particles = arg0;
}
@OriginalMember(owner = "client!ga", name = "c", descriptor = "()I")
public static int getParticleSetting() {
return particles;
}
@OriginalMember(owner = "client!kk", name = "b", descriptor = "(Lclient!wa;I)V")
public static void decode(@OriginalArg(0) Buffer buffer) {
if (buffer.data.length - buffer.offset < 1) {
return;
}
@Pc(21) int version = buffer.g1();
if (version < 0 || version > 11) {
return;
}
@Pc(34) byte len;
if (version == 11) {
len = 33;
} else if (version == 10) {
len = 32;
} else if (version == 9) {
len = 31;
} else if (version == 8) {
len = 30;
} else if (version == 7) {
len = 29;
} else if (version == 6) {
len = 28;
} else if (version == 5) {
len = 28;
} else if (version == 4) {
len = 24;
} else if (version == 3) {
len = 23;
} else if (version == 2) {
len = 22;
} else if (version == 1) {
len = 23;
} else {
len = 19;
}
if (buffer.data.length - buffer.offset < len) {
return;
}
brightness = buffer.g1();
if (brightness < 1) {
brightness = 1;
} else if (brightness > 4) {
brightness = 4;
}
setAllVisibleLevels(buffer.g1() == 1);
removeRoofsSelectively = buffer.g1() == 1;
showGroundDecorations = buffer.g1() == 1;
highDetailTextures = buffer.g1() == 1;
manyIdleAnimations = buffer.g1() == 1;
flickeringEffectsOn = buffer.g1() == 1;
manyGroundTextures = buffer.g1() == 1;
characterShadowsOn = buffer.g1() == 1;
sceneryShadowsType = buffer.g1();
if (sceneryShadowsType > 2) {
sceneryShadowsType = 2;
}
if (version < 2) {
highDetailLighting = buffer.g1() == 1;
buffer.g1();
} else {
highDetailLighting = buffer.g1() == 1;
}
highWaterDetail = buffer.g1() == 1;
fogEnabled = buffer.g1() == 1;
windowMode = buffer.g1();
if (windowMode > 2) {
windowMode = 2;
}
antiAliasingMode = windowMode;
stereo = buffer.g1() == 1;
soundEffectVolume = buffer.g1();
if (soundEffectVolume > 127) {
soundEffectVolume = 127;
}
musicVolume = buffer.g1();
ambientSoundsVolume = buffer.g1();
if (ambientSoundsVolume > 127) {
ambientSoundsVolume = 127;
}
if (version >= 1) {
fullScreenWidth = buffer.g2();
fullScreenHeight = buffer.g2();
}
if (version >= 3 && version < 6) {
buffer.g1();
}
if (version >= 4) {
@Pc(386) int particles = buffer.g1();
if (GameShell.maxMemory < 96) {
particles = 0;
}
setParticles(particles);
}
if (version >= 5) {
lastWorldId = buffer.g4();
}
if (version >= 6) {
favoriteWorlds = buffer.g1();
}
if (version >= 7) {
safeMode = buffer.g1() == 1;
}
if (version >= 8) {
aBoolean63 = buffer.g1() == 1;
}
if (version >= 9) {
buildArea = buffer.g1();
}
if (version >= 10) {
hdr = buffer.g1() != 0;
}
if (version >= 11) {
cursorsEnabled = buffer.g1() != 0;
}
}
@OriginalMember(owner = "client!dl", name = "a", descriptor = "(B)Lclient!wa;")
public static Buffer encode() {
@Pc(4) Buffer local4 = new Buffer(34);
local4.p1(11);
local4.p1(brightness);
local4.p1(allLevelsVisible ? 1 : 0);
local4.p1(removeRoofsSelectively ? 1 : 0);
local4.p1(showGroundDecorations ? 1 : 0);
local4.p1(highDetailTextures ? 1 : 0);
local4.p1(manyIdleAnimations ? 1 : 0);
local4.p1(flickeringEffectsOn ? 1 : 0);
local4.p1(manyGroundTextures ? 1 : 0);
local4.p1(characterShadowsOn ? 1 : 0);
local4.p1(sceneryShadowsType);
local4.p1(highDetailLighting ? 1 : 0);
local4.p1(highWaterDetail ? 1 : 0);
local4.p1(fogEnabled ? 1 : 0);
local4.p1(windowMode);
local4.p1(stereo ? 1 : 0);
local4.p1(soundEffectVolume);
local4.p1(musicVolume);
local4.p1(ambientSoundsVolume);
local4.p2(fullScreenWidth);
local4.p2(fullScreenHeight);
local4.p1(getParticleSetting());
local4.p4(lastWorldId);
local4.p1(favoriteWorlds);
local4.p1(safeMode ? 1 : 0);
local4.p1(aBoolean63 ? 1 : 0);
local4.p1(buildArea);
local4.p1(hdr ? 1 : 0);
local4.p1(cursorsEnabled ? 1 : 0);
return local4;
}
@OriginalMember(owner = "client!lf", name = "c", descriptor = "(I)I")
public static int toInt() {
return ((stereo ? 1 : 0) << 19) + (((fogEnabled ? 1 : 0) << 16) + ((highWaterDetail ? 1 : 0) << 15) + ((highDetailLighting ? 1 : 0) << 13) + ((characterShadowsOn ? 1 : 0) << 10) + ((manyGroundTextures ? 1 : 0) << 9) + ((manyIdleAnimations ? 1 : 0) << 7) + ((highDetailTextures ? 1 : 0) << 6) + ((showGroundDecorations ? 1 : 0) << 5) + (((allLevelsVisible ? 1 : 0) << 3) + (brightness & 0x7) - (-((removeRoofsSelectively ? 1 : 0) << 4) + -((flickeringEffectsOn ? 1 : 0) << 8)) - (-((sceneryShadowsType & 0x3) << 11) + -((soundEffectVolume == 0 ? 0 : 1) << 20) - (((musicVolume == 0 ? 0 : 1) << 21) + ((ambientSoundsVolume == 0 ? 0 : 1) << 22)))) + (getParticleSetting() << 23));
}
}