Merge remote-tracking branch 'origin/master'

This commit is contained in:
Ceikry 2021-03-31 18:23:46 -05:00
commit 180b1d50cf
89 changed files with 888 additions and 868 deletions

View file

@ -4,14 +4,17 @@ import org.rs09.client.util.ArrayUtils;
import java.awt.*;
class Class155 {
class AudioChannel {
public static boolean stereo;
static int[] anIntArray1969 = new int[100];
static int threadPriority;
static AudioThread aAudioThread_2613;
private final Class3_Sub24[] aClass3_Sub24Array1980 = new Class3_Sub24[8];
private final Class3_Sub24[] aClass3_Sub24Array1983 = new Class3_Sub24[8];
int[] anIntArray1975;
int anInt1989;
int anInt1990;
int[] samples;
int sampleRate;
int bufferSize;
private long aLong1972 = TimeUtils.time();
private Class3_Sub24 aClass3_Sub24_1973;
private long aLong1979 = 0L;
@ -22,6 +25,7 @@ class Class155 {
private int anInt1986;
private int anInt1987 = 0;
private int anInt1988 = 0;
private int anInt1968 = 32;
static void method2162(GameObject var0, int var1, int var2, int var3) {
Class3_Sub2 var4;
@ -55,27 +59,97 @@ class Class155 {
}
void method2149() {
static AudioChannel method1195(int sampleRate, Signlink signlink, Component component, int channelID) {
try {
if (Class21.sampleRate == 0) {
throw new IllegalStateException();
} else if (0 <= channelID && 2 > channelID) {
if (sampleRate < 256) {
sampleRate = 256;
}
try {
AudioChannel channel = new JavaAudioChannel();
channel.sampleRate = sampleRate;
channel.samples = new int[(!stereo ? 1 : 2) * 256];
channel.init(component);
channel.bufferSize = (sampleRate & 0xfffffc00) + 1024;
if (channel.bufferSize > 16384) {
channel.bufferSize = 16384;
}
channel.open(channel.bufferSize);
if (threadPriority > 0 && null == aAudioThread_2613) {
aAudioThread_2613 = new AudioThread();
aAudioThread_2613.aClass87_350 = signlink;
signlink.startThread(threadPriority, aAudioThread_2613);
}
if (aAudioThread_2613 != null) {
if (null != aAudioThread_2613.channels[channelID]) {
throw new IllegalArgumentException();
}
aAudioThread_2613.channels[channelID] = channel;
}
return channel;
} catch (Throwable var7) {
try {
SignLinkAudioChannel signLinkAudioChannel = new SignLinkAudioChannel(signlink, channelID);
signLinkAudioChannel.samples = new int[256 * (stereo ? 2 : 1)];
signLinkAudioChannel.sampleRate = sampleRate;
signLinkAudioChannel.init(component);
signLinkAudioChannel.bufferSize = 16384;
signLinkAudioChannel.open(signLinkAudioChannel.bufferSize);
if (threadPriority > 0 && null == aAudioThread_2613) {
aAudioThread_2613 = new AudioThread();
aAudioThread_2613.aClass87_350 = signlink;
signlink.startThread(threadPriority, aAudioThread_2613);
}
if (aAudioThread_2613 != null) {
if (aAudioThread_2613.channels[channelID] != null) {
throw new IllegalArgumentException();
}
aAudioThread_2613.channels[channelID] = signLinkAudioChannel;
}
return signLinkAudioChannel;
} catch (Throwable var6) {
return new AudioChannel();
}
}
} else {
throw new IllegalArgumentException();
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "id.D(" + sampleRate + ',' + (signlink != null ? "{...}" : "null") + ',' + (component != null ? "{...}" : "null") + ',' + channelID + ',' + 14 + ')');
}
}
void method2150(int var1) throws Exception {
void write() {
}
void method2151() throws Exception {
void open(int var1) throws Exception {
}
void flush() throws Exception {
}
private void method2152(int[] var1) {
int var3 = 256;
if (Unsorted.aBoolean2150) {
if (stereo) {
var3 = 256 << 1;
}
ArrayUtils.zero(var1, 0, var3);
this.anInt1987 -= 256;
if (this.aClass3_Sub24_1973 != null && this.anInt1987 <= 0) {
this.anInt1987 += Class21.anInt443 >> 4;
this.anInt1987 += Class21.sampleRate >> 4;
Class97.method1591(this.aClass3_Sub24_1973);
this.method2155(this.aClass3_Sub24_1973, this.aClass3_Sub24_1973.method412(), (byte) -24);
this.method2155(this.aClass3_Sub24_1973, this.aClass3_Sub24_1973.method412());
int var4 = 0;
int var5 = 255;
@ -85,15 +159,15 @@ class Class155 {
int var7;
int var8;
if (var6 < 0) {
var7 = var6 & 3;
var7 = var6 & 0x3;
var8 = -(var6 >> 2);
} else {
var7 = var6;
var8 = 0;
}
for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) {
if ((var9 & 1) != 0) {
for (int var9 = var5 >>> var7 & 0x11111111; var9 != 0; var9 >>>= 4) {
if ((var9 & 0x1) != 0) {
var5 &= ~(1 << var7);
Class3_Sub24 var10 = null;
Class3_Sub24 var11 = this.aClass3_Sub24Array1980[var7];
@ -112,7 +186,6 @@ class Class155 {
var12.anInt2374 += var13;
}
int anInt1968 = 32;
if (var4 >= anInt1968) {
break label101;
}
@ -120,7 +193,7 @@ class Class155 {
Class3_Sub24 var14 = var11.method411();
if (var14 != null) {
for (int var15 = var11.anInt2543; var14 != null; var14 = var11.method414()) {
this.method2155(var14, var15 * var14.method412() >> 8, (byte) -24);
this.method2155(var14, var15 * var14.method412() >> 8);
}
}
@ -170,7 +243,7 @@ class Class155 {
final synchronized void method2153() {
try {
if (null != this.anIntArray1975) {
if (null != this.samples) {
long var2 = TimeUtils.time();
try {
@ -179,7 +252,7 @@ class Class155 {
return;
}
this.method2150(this.anInt1990);
this.open(this.bufferSize);
this.aBoolean1984 = true;
this.aLong1982 = 0L;
}
@ -189,23 +262,23 @@ class Class155 {
this.anInt1981 = -var4 + this.anInt1985;
}
int var5 = this.anInt1989 - -this.anInt1986;
int var5 = this.sampleRate - -this.anInt1986;
if (256 + var5 > 16384) {
var5 = 16128;
}
if (this.anInt1990 < var5 + 256) {
this.anInt1990 += 1024;
if (this.anInt1990 > 16384) {
this.anInt1990 = 16384;
if (this.bufferSize < var5 + 256) {
this.bufferSize += 1024;
if (this.bufferSize > 16384) {
this.bufferSize = 16384;
}
this.method2160();
this.close();
var4 = 0;
this.method2150(this.anInt1990);
if (this.anInt1990 < 256 + var5) {
var5 = -256 + this.anInt1990;
this.anInt1986 = -this.anInt1989 + var5;
this.open(this.bufferSize);
if (this.bufferSize < 256 + var5) {
var5 = -256 + this.bufferSize;
this.anInt1986 = -this.sampleRate + var5;
}
this.aBoolean1984 = true;
@ -213,8 +286,8 @@ class Class155 {
while (var4 < var5) {
var4 += 256;
this.method2152(this.anIntArray1975);
this.method2149();
this.method2152(this.samples);
this.write();
}
if (this.aLong1979 < var2) {
@ -222,7 +295,7 @@ class Class155 {
this.aBoolean1984 = false;
} else {
if (this.anInt1981 == 0 && this.anInt1988 == 0) {
this.method2160();
this.close();
this.aLong1982 = var2 - -2000L;
return;
}
@ -237,7 +310,7 @@ class Class155 {
this.anInt1985 = var4;
} catch (Exception var7) {
this.method2160();
this.close();
this.aLong1982 = var2 + 2000L;
}
@ -248,7 +321,7 @@ class Class155 {
while (var2 > this.aLong1972 + 5000L) {
this.method2161();
this.aLong1972 += 256000 / Class21.anInt443;
this.aLong1972 += 256000 / Class21.sampleRate;
}
} catch (Exception var6) {
this.aLong1972 = var2;
@ -260,20 +333,12 @@ class Class155 {
}
}
final synchronized void method2154(int var1, Class3_Sub24 var2) {
try {
this.aClass3_Sub24_1973 = var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.I(" + var1 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
final synchronized void method2154(Class3_Sub24 var2) {
this.aClass3_Sub24_1973 = var2;
}
private void method2155(Class3_Sub24 var1, int var2, byte var3) {
private void method2155(Class3_Sub24 var1, int var2) {
try {
if (var3 != -24) {
this.method2155(null, -105, (byte) 87);
}
int var4 = var2 >> 5;
Class3_Sub24 var5 = this.aClass3_Sub24Array1983[var4];
if (null == var5) {
@ -285,13 +350,13 @@ class Class155 {
this.aClass3_Sub24Array1983[var4] = var1;
var1.anInt2543 = var2;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "vh.H(" + (var1 != null ? "{...}" : "null") + ',' + var2 + ',' + var3 + ')');
throw ClientErrorException.clientError(var6, "vh.H(" + (var1 != null ? "{...}" : "null") + ',' + var2 + ',' + (byte) -24 + ')');
}
}
int method2157() {
try {
return this.anInt1990;
return this.bufferSize;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "vh.B()");
}
@ -302,9 +367,9 @@ class Class155 {
this.aBoolean1984 = true;
try {
this.method2151();
this.flush();
} catch (Exception var3) {
this.method2160();
this.close();
this.aLong1982 = TimeUtils.time() + 2000L;
}
} catch (RuntimeException var4) {
@ -312,18 +377,11 @@ class Class155 {
}
}
final void method2159(int var1) {
try {
this.aBoolean1984 = true;
if (var1 <= 54) {
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vh.J(" + var1 + ')');
}
final void method2159() {
this.aBoolean1984 = true;
}
void method2160() {
void close() {
}
private void method2161() {
@ -344,38 +402,38 @@ class Class155 {
final synchronized void method2163() {
try {
if (null != Class38_Sub1.aClass15_2613) {
if (null != aAudioThread_2613) {
boolean var2 = true;
for (int var3 = 0; var3 < 2; ++var3) {
if (this == Class38_Sub1.aClass15_2613.aClass155Array352[var3]) {
Class38_Sub1.aClass15_2613.aClass155Array352[var3] = null;
if (this == aAudioThread_2613.channels[var3]) {
aAudioThread_2613.channels[var3] = null;
}
if (null != Class38_Sub1.aClass15_2613.aClass155Array352[var3]) {
if (null != aAudioThread_2613.channels[var3]) {
var2 = false;
}
}
if (var2) {
Class38_Sub1.aClass15_2613.aBoolean345 = true;
aAudioThread_2613.aBoolean345 = true;
while (Class38_Sub1.aClass15_2613.aBoolean353) {
while (aAudioThread_2613.aBoolean353) {
TimeUtils.sleep(50L);
}
Class38_Sub1.aClass15_2613 = null;
aAudioThread_2613 = null;
}
}
this.method2160();
this.anIntArray1975 = null;
this.close();
this.samples = null;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.P(" + false + ')');
}
}
void method2164(Component var1) throws Exception {
void init(Component var1) throws Exception {
}
}

View file

@ -5,7 +5,7 @@ import java.util.Objects;
public final class AudioHandler {
public static int[] anIntArray2157 = new int[50];
public static int[] soundEffectDelayArray = new int[50];
public static int musicVolume = 255;
static int currentSoundEffectCount = 0;
static int soundEffectVolume = 127;
@ -29,34 +29,35 @@ public final class AudioHandler {
}
}
static void soundEffectHandler(int soundEffectID, int soundEffectDelay, int soundEffectVolume) {
public static void soundEffectHandler(int soundEffectVolume, int soundEffectID, int soundEffectDelay) {
try {
if (soundEffectVolume != 0 && soundEffectID != 0 && currentSoundEffectCount < 50 && soundEffectDelay != -1) {
soundEffectVolumeArray[currentSoundEffectCount] = soundEffectID;
soundEffectIDs[currentSoundEffectCount] = soundEffectDelay;
anIntArray2157[currentSoundEffectCount] = soundEffectVolume;
System.out.println("Playing " + soundEffectID + " DELAY: " + soundEffectDelay + " VOLUME: " + soundEffectVolume);
if (soundEffectDelay != -1 && soundEffectVolume != 0 && currentSoundEffectCount < 50 && soundEffectID != -1) {
soundEffectVolumeArray[currentSoundEffectCount] = soundEffectVolume;
soundEffectIDs[currentSoundEffectCount] = soundEffectID;
soundEffectDelayArray[currentSoundEffectCount] = soundEffectDelay;
soundEffects[currentSoundEffectCount] = null;
soundEffectCoordinates[currentSoundEffectCount] = 0;
currentSoundEffectCount++;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ca.C(" + soundEffectID + ',' + soundEffectDelay + ',' + soundEffectVolume + ',' + -799 + ')');
throw ClientErrorException.clientError(var5, "ca.C(" + soundEffectVolume + ',' + soundEffectID + ',' + soundEffectDelay + ',' + -799 + ')');
}
}
static void method132() {
try {
for (int var1 = 0; var1 < currentSoundEffectCount; ++var1) {
--anIntArray2157[var1];
if (anIntArray2157[var1] < -10) {
--soundEffectDelayArray[var1];
if (soundEffectDelayArray[var1] < -10) {
--currentSoundEffectCount;
for (int var2 = var1; var2 < currentSoundEffectCount; ++var2) {
soundEffectIDs[var2] = soundEffectIDs[var2 + 1];
soundEffects[var2] = soundEffects[var2 + 1];
soundEffectVolumeArray[var2] = soundEffectVolumeArray[1 + var2];
anIntArray2157[var2] = anIntArray2157[1 + var2];
soundEffectDelayArray[var2] = soundEffectDelayArray[1 + var2];
soundEffectCoordinates[var2] = soundEffectCoordinates[var2 + 1];
}
@ -69,11 +70,11 @@ public final class AudioHandler {
continue;
}
anIntArray2157[var1] += var11.getStart();
soundEffectDelayArray[var1] += var11.getStart();
soundEffects[var1] = var11;
}
if (0 > anIntArray2157[var1]) {
if (0 > soundEffectDelayArray[var1]) {
int var3;
if (soundEffectCoordinates[var1] == 0) {
var3 = soundEffectVolume;
@ -93,7 +94,7 @@ public final class AudioHandler {
int var9 = -128 + var6 + var8;
if (var9 > var4) {
anIntArray2157[var1] = -100;
soundEffectDelayArray[var1] = -100;
continue;
}
@ -111,7 +112,7 @@ public final class AudioHandler {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method457(var13);
}
anIntArray2157[var1] = -100;
soundEffectDelayArray[var1] = -100;
}
}
}
@ -147,4 +148,15 @@ public final class AudioHandler {
throw ClientErrorException.clientError(var8, "v.Q(" + true + ',' + var1 + ',' + 0 + ',' + (var3 != null ? "{...}" : "null") + ',' + false + ',' + var5 + ',' + 2 + ')');
}
}
static void method897(Class3_Sub24_Sub4 var1, CacheIndex var2, CacheIndex var3, CacheIndex var4) {
try {
Class124.aClass153_1661 = var2;
Class40.aClass153_679 = var4;
Class3_Sub28_Sub20.aClass153_3786 = var3;
Class101.aClass3_Sub24_Sub4_1421 = var1;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ck.C(" + (var1 != null ? "{...}" : "null") + ',' + (var2 != null ? "{...}" : "null") + ',' + (var3 != null ? "{...}" : "null") + ',' + (var4 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -3,7 +3,7 @@ package org.runite.client;
import java.util.Calendar;
import java.util.Date;
public final class Class15 implements Runnable {
public final class AudioThread implements Runnable {
static short[][] aShortArrayArray344;
static int anInt4034 = -8 + (int) (17.0D * Math.random());
@ -12,11 +12,11 @@ public final class Class15 implements Runnable {
static Class64 aClass64_351;
volatile boolean aBoolean345 = false;
Signlink aClass87_350;
volatile Class155[] aClass155Array352 = new Class155[2];
volatile AudioChannel[] channels = new AudioChannel[2];
volatile boolean aBoolean353 = false;
static boolean method888(int var0, ObjectDefinition var1, int var3, int var4, int var5, int var6) {
static boolean method888(int var0, ObjectDefinition var1, int var3, int var5, int var6) {
try {
Class2 var7 = InterfaceWidget.c(var1.anInt1516);
if (var7.sprite == -1) {
@ -57,145 +57,7 @@ public final class Class15 implements Runnable {
}
}
} catch (RuntimeException var13) {
throw ClientErrorException.clientError(var13, "cj.D(" + var0 + ',' + (var1 != null ? "{...}" : "null") + ',' + false + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
static void method889(DataBuffer var1) {
try {
int var3 = Class158.anInt2010 >> 1;
int var2 = anInt4034 >> 2 << 10;
byte[][] var4 = new byte[Class23.anInt455][Class108.anInt1460];
int var6;
int var12;
int var14;
while (var1.index < var1.buffer.length) {
int var7 = 0;
var6 = 0;
boolean var5 = false;
if (var1.readUnsignedByte() == 1) {
var6 = var1.readUnsignedByte();
var7 = var1.readUnsignedByte();
var5 = true;
}
int var8 = var1.readUnsignedByte();
int var9 = var1.readUnsignedByte();
int var10 = -TextureOperation37.anInt3256 + var8 * 64;
int var11 = -1 + Class108.anInt1460 - var9 * 64 + Unsorted.anInt65;
if (var10 >= 0 && 0 <= -63 + var11 && Class23.anInt455 > var10 - -63 && var11 < Class108.anInt1460) {
for (var12 = 0; var12 < 64; ++var12) {
byte[] var13 = var4[var10 - -var12];
for (var14 = 0; 64 > var14; ++var14) {
if (!var5 || var12 >= 8 * var6 && 8 + 8 * var6 > var12 && var14 >= var7 * 8 && var14 < 8 + 8 * var7) {
var13[var11 - var14] = var1.readSignedByte();
}
}
}
} else if (var5) {
var1.index += 64;
} else {
var1.index += 4096;
}
}
int var27 = Class23.anInt455;
var6 = Class108.anInt1460;
int[] var29 = new int[var6];
int[] var28 = new int[var6];
int[] var30 = new int[var6];
int[] var32 = new int[var6];
int[] var31 = new int[var6];
for (var12 = -5; var27 > var12; ++var12) {
int var15;
int var35;
for (int var34 = 0; var6 > var34; ++var34) {
var14 = var12 + 5;
if (var27 > var14) {
var15 = 255 & var4[var14][var34];
if (var15 > 0) {
MapUnderlayColorDefinition var16 = MapUnderlayColorDefinition.method629(var15 - 1);
var28[var34] += var16.anInt1408;
var29[var34] += var16.anInt1406;
var30[var34] += var16.anInt1417;
var32[var34] += var16.anInt1418;
++var31[var34];
}
}
var15 = var12 + -5;
if (var15 >= 0) {
var35 = var4[var15][var34] & 0xFF;
if (0 < var35) {
MapUnderlayColorDefinition var17 = MapUnderlayColorDefinition.method629(-1 + var35);
var28[var34] -= var17.anInt1408;
var29[var34] -= var17.anInt1406;
var30[var34] -= var17.anInt1417;
var32[var34] -= var17.anInt1418;
--var31[var34];
}
}
}
if (var12 >= 0) {
int[][] var33 = Class146.anIntArrayArrayArray1903[var12 >> 6];
var14 = 0;
var15 = 0;
int var36 = 0;
int var18 = 0;
var35 = 0;
for (int var19 = -5; var6 > var19; ++var19) {
int var20 = var19 - -5;
if (var6 > var20) {
var18 += var31[var20];
var15 += var29[var20];
var35 += var30[var20];
var14 += var28[var20];
var36 += var32[var20];
}
int var21 = -5 + var19;
if (var21 >= 0) {
var35 -= var30[var21];
var36 -= var32[var21];
var14 -= var28[var21];
var18 -= var31[var21];
var15 -= var29[var21];
}
if (var19 >= 0 && 0 < var18) {
int[] var22 = var33[var19 >> 6];
int var23 = var36 != 0 ? Class3_Sub8.method129(var35 / var18, var15 / var18, var14 * 256 / var36) : 0;
if (var4[var12][var19] == 0) {
if (var22 != null) {
var22[Unsorted.bitwiseAnd(4032, var19 << 6) - -Unsorted.bitwiseAnd(var12, 63)] = 0;
}
} else {
if (var22 == null) {
var22 = var33[var19 >> 6] = new int[4096];
}
int var24 = var3 + (var23 & 127);
if (var24 < 0) {
var24 = 0;
} else if (var24 > 127) {
var24 = 127;
}
int var25 = var24 + (896 & var23) + (var23 + var2 & '\ufc00');
var22[Unsorted.bitwiseAnd(4032, var19 << 6) + Unsorted.bitwiseAnd(63, var12)] = Class51.anIntArray834[Unsorted.method1100(96, var25)];
}
}
}
}
}
} catch (RuntimeException var26) {
throw ClientErrorException.clientError(var26, "cj.H(" + (var1 != null ? "{...}" : "null") + ')');
throw ClientErrorException.clientError(var13, "cj.D(" + var0 + ',' + (var1 != null ? "{...}" : "null") + ',' + false + ',' + var3 + ',' + 0 + ',' + var5 + ',' + var6 + ')');
}
}
@ -274,7 +136,7 @@ public final class Class15 implements Runnable {
try {
while (!this.aBoolean345) {
for (int var1 = 0; var1 < 2; ++var1) {
Class155 var2 = this.aClass155Array352[var1];
AudioChannel var2 = this.channels[var1];
if (var2 != null) {
var2.method2153();
}

View file

@ -937,7 +937,7 @@ public final class CS2Script extends Linkable {
if (opcode < 3300) {
if (opcode == 3200) {
iStackCounter -= 3;
AudioHandler.soundEffectHandler(ItemDefinition.intsStack[iStackCounter - -1], ItemDefinition.intsStack[iStackCounter], ItemDefinition.intsStack[iStackCounter + 2]);
AudioHandler.soundEffectHandler(ItemDefinition.intsStack[iStackCounter + 1], ItemDefinition.intsStack[iStackCounter], ItemDefinition.intsStack[iStackCounter + 2]);
continue;
}
if (opcode == 3201) {
@ -2384,7 +2384,7 @@ public final class CS2Script extends Linkable {
} else {
Unsorted.aBoolean2154 = flag5;
TextureOperation5.aClass94_3295 = class94_64;
Class15.aClass64_351 = Class38.gameSignlink.method1452(new String(class94_64.method1568(), StandardCharsets.ISO_8859_1), true);
AudioThread.aClass64_351 = Class38.gameSignlink.method1452(new String(class94_64.method1568(), StandardCharsets.ISO_8859_1), true);
}
continue;
}
@ -2651,7 +2651,7 @@ public final class CS2Script extends Linkable {
continue;
}
if (opcode == 6017) {
TextureOperation17.aBoolean3184 = ItemDefinition.intsStack[--iStackCounter] == 1;
TextureOperation17.stereoSound = ItemDefinition.intsStack[--iStackCounter] == 1;
GameShell.method34();
Class119.method1730(Class38.gameSignlink);
aBoolean2705 = false;
@ -2795,7 +2795,7 @@ public final class CS2Script extends Linkable {
continue;
}
if (6117 == opcode) {
ItemDefinition.intsStack[iStackCounter++] = TextureOperation17.aBoolean3184 ? 1 : 0;
ItemDefinition.intsStack[iStackCounter++] = TextureOperation17.stereoSound ? 1 : 0;
continue;
}
if (opcode == 6118) {
@ -2978,13 +2978,13 @@ public final class CS2Script extends Linkable {
if (opcode >= 6700)
break;
if (6600 == opcode) {
Class15.aBoolean346 = ItemDefinition.intsStack[--iStackCounter] == 1;
AudioThread.aBoolean346 = ItemDefinition.intsStack[--iStackCounter] == 1;
Class119.method1730(Class38.gameSignlink);
continue;
}
if (opcode != 6601)
break;
ItemDefinition.intsStack[iStackCounter++] = Class15.aBoolean346 ? 1 : 0;
ItemDefinition.intsStack[iStackCounter++] = AudioThread.aBoolean346 ? 1 : 0;
continue;
}
if (6405 == opcode) {

View file

@ -124,7 +124,7 @@ public final class Class102 implements Interface2 {
int var9;
int var10;
for (var2 = 0; var2 < Class163.localNPCCount; ++var2) {
var3 = NPC.npcs[Class15.localNPCIndexes[var2]];
var3 = NPC.npcs[AudioThread.localNPCIndexes[var2]];
if (null != var3 && var3.hasDefinitions() && var3.definition.aBoolean1263 == var1 && var3.definition.method1472()) {
int var4 = var3.getSize();
int var5;
@ -168,8 +168,8 @@ public final class Class102 implements Interface2 {
label200:
for (var2 = 0; Class163.localNPCCount > var2; ++var2) {
var3 = NPC.npcs[Class15.localNPCIndexes[var2]];
long var15 = (long) Class15.localNPCIndexes[var2] << 32 | 536870912L;
var3 = NPC.npcs[AudioThread.localNPCIndexes[var2]];
long var15 = (long) AudioThread.localNPCIndexes[var2] << 32 | 536870912L;
if (var3 != null && var3.hasDefinitions() && !var3.definition.aBoolean1263 == !var1 && var3.definition.method1472()) {
var6 = var3.getSize();
if (var6 != 1) {

View file

@ -133,22 +133,22 @@ final class Class121 {
TextureOperation12.outgoingBuffer.writeByte(255);
TextureOperation12.outgoingBuffer.writeInt(wlUpdateStamp);
Class3_Sub15.activeConnection.sendBytes(TextureOperation12.outgoingBuffer.buffer, TextureOperation12.outgoingBuffer.index);
if (null != WorldListEntry.aClass155_2627) {
WorldListEntry.aClass155_2627.method2159(67);
if (null != WorldListEntry.aAudioChannel_2627) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(101);
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
var2 = Class3_Sub15.activeConnection.readByte();
//System.out.println(var2); //Not sure what this was debugging
if (WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(55);
if (WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(29984 ^ 30075);
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
if (var2 != 0) {

View file

@ -22,8 +22,8 @@ final class Class125 implements ShaderInterface {
GL var2 = HDToolKit.gl;
var2.glGenProgramsARB(1, var1, 0);
this.anInt2184 = var1[0];
int[][] var3 = Class15.method895(0);
int[][] var4 = Class15.method895(8);
int[][] var3 = AudioThread.method895(0);
int[][] var4 = AudioThread.method895(8);
DataBuffer var5 = new DataBuffer(262144);
for (int var6 = 0; var6 < 256; ++var6) {

View file

@ -161,7 +161,7 @@ final class Class128 {
Class12 var10 = var6.aClass12_2230;
if (var10 != null && var10.object.method1865()) {
Class155.method2162(var10.object, var3, var4, var5);
AudioChannel.method2162(var10.object, var3, var4, var5);
var10.object = var10.object.method1861();
}
}

View file

@ -198,9 +198,9 @@ final class Class140_Sub3 extends GameObject {
static void method1959(boolean var3) {
try {
Class3_Sub24_Sub4.anInt3507 = 2;
Unsorted.aBoolean2150 = var3;
Class21.anInt443 = 22050;
AudioChannel.threadPriority = 2;
AudioChannel.stereo = var3;
Class21.sampleRate = 22050;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "dc.D(" + 256 + ',' + 2 + ',' + 22050 + ',' + var3 + ')');
}
@ -264,7 +264,7 @@ final class Class140_Sub3 extends GameObject {
}
while (this.aClass142_2722.duration[this.anInt2726] < var4) {
Unsorted.method1470(var1, this.aClass142_2722, 183921384, var2, false, this.anInt2726);
Unsorted.method1470(var1, this.aClass142_2722, var2, false, this.anInt2726);
var4 -= this.aClass142_2722.duration[this.anInt2726];
++this.anInt2726;
if (this.anInt2726 >= this.aClass142_2722.frames.length) {

View file

@ -14,7 +14,7 @@ public class Class163_Sub1 extends Class163 {
static int anInt2993 = 0;
static void method2210(boolean var1) {
static void ping(boolean var1) {
try {
Class58.method1194();
if(30 == Class143.gameStage || Class143.gameStage == 25) {

View file

@ -90,20 +90,20 @@ public final class Class163_Sub1_Sub1 extends Class163_Sub1 {
Class3_Sub15.activeConnection = new Connection((Socket) Class3_Sub9.aClass64_2318.anObject974, Class38.gameSignlink);
Class3_Sub9.aClass64_2318 = null;
Class3_Sub15.activeConnection.sendBytes(TextureOperation12.outgoingBuffer.buffer, TextureOperation12.outgoingBuffer.index);
if (WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(83);
if (WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(120);
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
var1 = Class3_Sub15.activeConnection.readByte();
if (WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(59);
if (WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (Class3_Sub21.aClass155_2491 != null) {
Class3_Sub21.aClass155_2491.method2159(113);
if (Class3_Sub21.aAudioChannel_2491 != null) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
if (var1 != 101) {

View file

@ -21,62 +21,4 @@ class Class163_Sub2 extends Class163 {
return null;
}
static void method2219(DataBuffer var0) {
try {
while(var0.buffer.length > var0.index) {
int var4 = 0;
boolean var3 = false;
int var5 = 0;
if(var0.readUnsignedByte() == 1) {
var3 = true;
var4 = var0.readUnsignedByte();
var5 = var0.readUnsignedByte();
}
int var6 = var0.readUnsignedByte();
int var7 = var0.readUnsignedByte();
int var9 = -(var7 * 64) - (-Unsorted.anInt65 - Class108.anInt1460 + 1);
int var8 = var6 * 64 + -TextureOperation37.anInt3256;
byte var2;
int var10;
if(var8 >= 0 && (var9 - 63) >= 0 && Class23.anInt455 > (var8 + 63) && var9 < Class108.anInt1460) {
var10 = var8 >> 6;
int var11 = var9 >> 6;
for(int var12 = 0; var12 < 64; ++var12) {
for(int var13 = 0; var13 < 64; ++var13) {
if(!var3 || (8 * var4) <= var12 && var12 < 8 + var4 * 8 && var13 >= var5 * 8 && (8 + var5 * 8) > var13) {
var2 = var0.readSignedByte();
if(var2 != 0) {
if(RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] == null) {
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] = new byte[4096];
}
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11][var12 + (-var13 + 63 << 6)] = var2;
byte var14 = var0.readSignedByte();
if(Class3_Sub10.aByteArrayArrayArray2339[var10][var11] == null) {
Class3_Sub10.aByteArrayArrayArray2339[var10][var11] = new byte[4096];
}
Class3_Sub10.aByteArrayArrayArray2339[var10][var11][var12 + (63 - var13 << 6)] = var14;
}
}
}
}
} else {
for(var10 = 0; var10 < (var3 ? 64 : 4096); ++var10) {
var2 = var0.readSignedByte();
if(0 != var2) {
++var0.index;
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "dk.C(" + (var0 != null?"{...}":"null") + ',' + false + ')');
}
}
}

View file

@ -55,17 +55,6 @@ final class Class163_Sub2_Sub1 extends Class163_Sub2 {
}
}
// static void method2222() {
// try {
// Unsorted.aReferenceCache_4043.clearSoftReferences();
// CS2Script.aReferenceCache_2442.clearSoftReferences();
// Class154.aReferenceCache_1964.clearSoftReferences();
//
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "t.G(" + (byte) 127 + ')');
// }
// }
static void method2223(boolean var0, byte var1) {
try {
byte var3;

View file

@ -7,7 +7,7 @@ public final class Class21 {
static boolean aBoolean440 = false;
static int[] maskUpdateIndexes = new int[2048];
static int anInt443;
static int sampleRate;
public static int anInt3537;
public static int anInt3552;
public static int anInt3395;
@ -157,7 +157,7 @@ public final class Class21 {
try {
for (int var5 = 0; var5 < Class3_Sub28_Sub3.anInt3557; ++var5) {
if (var0 < Class3_Sub28_Sub18.anIntArray3768[var5] + Class155.anIntArray1969[var5] && Class155.anIntArray1969[var5] < var1 + var0 && Class140_Sub4.anIntArray2794[var5] + Player.anIntArray3954[var5] > var3 && Player.anIntArray3954[var5] < var3 - -var4) {
if (var0 < Class3_Sub28_Sub18.anIntArray3768[var5] + AudioChannel.anIntArray1969[var5] && AudioChannel.anIntArray1969[var5] < var1 + var0 && Class140_Sub4.anIntArray2794[var5] + Player.anIntArray3954[var5] > var3 && Player.anIntArray3954[var5] < var3 - -var4) {
Unsorted.aBooleanArray3674[var5] = true;
}
}

View file

@ -38,7 +38,7 @@ public final class Class23 {
var1.writeByte(Class128.aBoolean1685 ? 1 : 0);
var1.writeByte(Class38.aBoolean661 ? 1 : 0);
var1.writeByte(Class3_Sub28_Sub9.anInt3622);
var1.writeByte(!TextureOperation17.aBoolean3184 ? 0 : 1);
var1.writeByte(!TextureOperation17.stereoSound ? 0 : 1);
var1.writeByte(AudioHandler.soundEffectVolume);
var1.writeByte(AudioHandler.musicVolume);
var1.writeByte(Sprites.ambientVolume);
@ -48,7 +48,7 @@ public final class Class23 {
var1.writeInt(Unsorted.anInt2148);
var1.writeByte(Unsorted.anInt2577);
var1.writeByte(Unsorted.aBoolean2146 ? 1 : 0);
var1.writeByte(!Class15.aBoolean346 ? 0 : 1);
var1.writeByte(!AudioThread.aBoolean346 ? 0 : 1);
var1.writeByte(Class3_Sub20.anInt2488);
var1.writeByte(Unsorted.aBoolean1080 ? 1 : 0);
var1.writeByte(Class163_Sub3.aBoolean3004 ? 1 : 0);

View file

@ -5,7 +5,6 @@ public final class Class38_Sub1 extends Class38 {
static int[][][] anIntArrayArrayArray2609;
static String accRegistryIp;
static int anInt2612;
static Class15 aClass15_2613;
static int anInt2614 = 0;
static boolean aBoolean2615 = false;
static int anInt2617 = 0;

View file

@ -560,7 +560,7 @@ public final class Class39 {
if (var2 + -var28 <= Class102.player.anIntArray2767[0] && Class102.player.anIntArray2767[0] <= var28 + var2 && Class102.player.anIntArray2755[0] >= -var28 + var3 && Class102.player.anIntArray2755[0] <= var28 + var3 && 0 != Sprites.ambientVolume && var7 > 0 && 50 > AudioHandler.currentSoundEffectCount && var4 != -1) {
AudioHandler.soundEffectIDs[AudioHandler.currentSoundEffectCount] = var4;
AudioHandler.soundEffectVolumeArray[AudioHandler.currentSoundEffectCount] = var7;
AudioHandler.anIntArray2157[AudioHandler.currentSoundEffectCount] = var8;
AudioHandler.soundEffectDelayArray[AudioHandler.currentSoundEffectCount] = var8;
AudioHandler.soundEffects[AudioHandler.currentSoundEffectCount] = null;
AudioHandler.soundEffectCoordinates[AudioHandler.currentSoundEffectCount] = var6 + ((var2 << 16) - -(var3 << 8));
++AudioHandler.currentSoundEffectCount;

View file

@ -4,7 +4,7 @@ import org.rs09.client.Linkable;
final class Class3_Sub21 extends Linkable {
static Class155 aClass155_2491;
static AudioChannel aAudioChannel_2491;
int anInt2492;
static volatile int anInt2493 = -1;
int anInt2494;

View file

@ -318,12 +318,12 @@ final class Class3_Sub24_Sub1 extends Class3_Sub24 {
this.anInt3480 += var2;
if(this.anInt3470 == 256 && (this.anInt3474 & 0xFF) == 0) {
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
var2 = method426(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, var6, var3, this);
} else {
var2 = method428(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, var6, var3, this);
}
} else if(Unsorted.aBoolean2150) {
} else if(AudioChannel.stereo) {
var2 = method421(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, var6, var3, this, this.anInt3470, var5);
} else {
var2 = method422(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, var6, var3, this, this.anInt3470, var5);
@ -342,14 +342,14 @@ final class Class3_Sub24_Sub1 extends Class3_Sub24 {
}
if(this.anInt3470 == 256 && (this.anInt3474 & 0xFF) == 0) {
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
return method420(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, var4, var3, this);
}
return method424(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, var4, var3, this);
}
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
return method433(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, var4, var3, this, this.anInt3470, var5);
}
@ -1032,12 +1032,12 @@ final class Class3_Sub24_Sub1 extends Class3_Sub24 {
this.anInt3480 += var2;
if(this.anInt3470 == -256 && (this.anInt3474 & 0xFF) == 0) {
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
var2 = method435(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, var6, var3, this);
} else {
var2 = method427(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, var6, var3, this);
}
} else if(Unsorted.aBoolean2150) {
} else if(AudioChannel.stereo) {
var2 = method440(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, var6, var3, this, this.anInt3470, var5);
} else {
var2 = method448(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, var6, var3, this, this.anInt3470, var5);
@ -1056,14 +1056,14 @@ final class Class3_Sub24_Sub1 extends Class3_Sub24 {
}
if(this.anInt3470 == -256 && (this.anInt3474 & 0xFF) == 0) {
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
return method447(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, var4, var3, this);
}
return method446(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, var4, var3, this);
}
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
return method453(((PcmSound)this.aSound_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, var4, var3, this, this.anInt3470, var5);
}
@ -1072,7 +1072,7 @@ final class Class3_Sub24_Sub1 extends Class3_Sub24 {
}
static Class3_Sub24_Sub1 method437(PcmSound var0, int var2) {
return var0.aByteArray3030 != null && var0.aByteArray3030.length != 0?new Class3_Sub24_Sub1(var0, (int)((long)var0.anInt3034 * 256L * (long) 100 / (long)(100 * Class21.anInt443)), var2 << 6):null;
return var0.aByteArray3030 != null && var0.aByteArray3030.length != 0?new Class3_Sub24_Sub1(var0, (int)((long)var0.anInt3034 * 256L * (long) 100 / (long)(100 * Class21.sampleRate)), var2 << 6):null;
}
final synchronized int method438() {

View file

@ -40,7 +40,7 @@ final class Class3_Sub24_Sub3 extends Class3_Sub24 {
private void method464(Class3_Sub22 var1, int var3) {
try {
if((this.aClass3_Sub24_Sub4_3493.anIntArray3518[var1.anInt2514] & 4) != 0 && var1.anInt2506 < 0) {
int var4 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var1.anInt2514] / Class21.anInt443;
int var4 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var1.anInt2514] / Class21.sampleRate;
int var5 = (var4 + 1048575 + -var1.anInt2516) / var4;
var1.anInt2516 = 1048575 & var4 * var3 + var1.anInt2516;
if(var5 <= var3) {
@ -170,7 +170,7 @@ final class Class3_Sub24_Sub3 extends Class3_Sub24 {
private void method469(int[] var1, Class3_Sub22 var2, int var3, int var4, int var5) {
try {
if((4 & this.aClass3_Sub24_Sub4_3493.anIntArray3518[var2.anInt2514]) != 0 && var2.anInt2506 < 0) {
int var7 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var2.anInt2514] / Class21.anInt443;
int var7 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var2.anInt2514] / Class21.sampleRate;
while(true) {
int var8 = (-var2.anInt2516 + 1048575 + var7) / var7;
@ -181,7 +181,7 @@ final class Class3_Sub24_Sub3 extends Class3_Sub24 {
var4 -= var8;
var2.aClass3_Sub24_Sub1_2507.method413(var1, var3, var8);
int var9 = Class21.anInt443 / 100;
int var9 = Class21.sampleRate / 100;
Class3_Sub24_Sub1 var11 = var2.aClass3_Sub24_Sub1_2507;
int var10 = 262144 / var7;
if(var10 < var9) {

View file

@ -17,7 +17,6 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
private final int[] anIntArray3504 = new int[16];
private final Class78 aClass78_3505 = new Class78();
private final int[] anIntArray3506 = new int[16];
static int anInt3507;
private final HashTable aHashTable_3508;
int[] anIntArray3509 = new int[16];
private final int[] anIntArray3510 = new int[16];
@ -410,7 +409,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
for(Class3_Sub22 var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aLinkedList_3489.method1222(); null != var4; var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aLinkedList_3489.method1221()) {
if(var2 < 0 || var4.anInt2514 == var2) {
if(null != var4.aClass3_Sub24_Sub1_2507) {
var4.aClass3_Sub24_Sub1_2507.method417(Class21.anInt443 / 100);
var4.aClass3_Sub24_Sub1_2507.method417(Class21.sampleRate / 100);
if(var4.aClass3_Sub24_Sub1_2507.method445()) {
this.aClass3_Sub24_Sub3_3527.aClass3_Sub24_Sub2_3495.method457(var4.aClass3_Sub24_Sub1_2507);
}
@ -551,7 +550,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
static boolean method487(int var0, byte var1) {
try {
if(var1 != -85) {
anInt3507 = 56;
AudioChannel.threadPriority = 56;
}
return 97 <= var0 && var0 <= 122 || var0 >= 65 && var0 <= 90;
@ -776,7 +775,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
final synchronized void method413(int[] var1, int var2, int var3) {
try {
if(this.aClass78_3505.method1373()) {
int var4 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.anInt443;
int var4 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.sampleRate;
while(true) {
long var5 = this.aLong3526 - -((long)var3 * (long)var4);
@ -806,7 +805,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
final boolean method492(int var1, int var2, Class3_Sub22 var3, int[] var5) {
try {
var3.anInt2512 = Class21.anInt443 / 100;
var3.anInt2512 = Class21.sampleRate / 100;
if(var3.anInt2506 >= 0 && (var3.aClass3_Sub24_Sub1_2507 == null || var3.aClass3_Sub24_Sub1_2507.method444())) {
var3.method401();
var3.unlink();
@ -1029,7 +1028,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
final synchronized void method415(int var1) {
try {
if(this.aClass78_3505.method1373()) {
int var2 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.anInt443;
int var2 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.sampleRate;
while(true) {
long var3 = this.aLong3526 - -((long)var1 * (long)var2);
@ -1089,7 +1088,7 @@ final class Class3_Sub24_Sub4 extends Class3_Sub24 {
var3 += (int)((double)var5 * var7);
}
var5 = (int)(0.5D + (double)(256 * var2.aPcmSound_2509.anInt3034) * Math.pow(2.0D, (double)var3 * 3.255208333333333E-4D) / (double)Class21.anInt443);
var5 = (int)(0.5D + (double)(256 * var2.aPcmSound_2509.anInt3034) * Math.pow(2.0D, (double)var3 * 3.255208333333333E-4D) / (double)Class21.sampleRate);
return var5 >= 1?var5:1;
} catch (RuntimeException var9) {

View file

@ -59,7 +59,7 @@ public final class Class40 {
static void method1046() {
try {
Class163_Sub1.method2210(false);
Class163_Sub1.ping(false);
anInt3293 = 0;
boolean var1 = true;
@ -208,11 +208,11 @@ public final class Class40 {
Class58.method1194();
System.gc();
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class117.method1720(false, 105);
if (!LinkableRSString.isDynamicSceneGraph) {
Unsorted.method1091(false, -93);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
if (HDToolKit.highDetail) {
var12 = Class102.player.anIntArray2767[0] >> 3;
var4 = Class102.player.anIntArray2755[0] >> 3;
@ -221,13 +221,13 @@ public final class Class40 {
TextureOperation26.method198(false);
if (null != TextureOperation35.aByteArrayArray3335) {
TextureOperation37.method272((byte) -124);
TextureOperation37.displayNPCOnLoginRegion();
}
}
if (LinkableRSString.isDynamicSceneGraph) {
Class49.method1121(false, (byte) 98);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
if (HDToolKit.highDetail) {
var12 = Class102.player.anIntArray2767[0] >> 3;
var4 = Class102.player.anIntArray2755[0] >> 3;
@ -238,13 +238,13 @@ public final class Class40 {
}
TextureOperation13.method313((byte) 90);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
method2189(AtmosphereParser.aClass91Array1182, false, 66);
if (HDToolKit.highDetail) {
Class68.method1270();
}
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
var12 = Class85.anInt1174;
if (var12 > WorldListCountry.localPlane) {
var12 = WorldListCountry.localPlane;
@ -265,20 +265,20 @@ public final class Class40 {
Class117.method1720(true, 105);
if (!LinkableRSString.isDynamicSceneGraph) {
Unsorted.method1091(true, -121);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
TextureOperation26.method198(true);
}
if (LinkableRSString.isDynamicSceneGraph) {
Class49.method1121(true, (byte) 56);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class163_Sub2_Sub1.method2223(true, (byte) -105);
}
TextureOperation13.method313((byte) 102);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
method2189(AtmosphereParser.aClass91Array1182, true, 112);
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class56.method1188();
Class167.method2264(false);
}

View file

@ -266,10 +266,10 @@ public final class Class49 {
for (int var2 = 0; Class3_Sub28_Sub3.anInt3557 > var2; ++var2) {
if (!Unsorted.aBooleanArray1712[var2]) {
if (Class163_Sub1_Sub1.aBooleanArray4008[var2]) {
Toolkit.getActiveToolkit().fillRect(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711680, 128);
Toolkit.getActiveToolkit().fillRect(AudioChannel.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711680, 128);
}
} else {
Toolkit.getActiveToolkit().fillRect(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711935, 128);
Toolkit.getActiveToolkit().fillRect(AudioChannel.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711935, 128);
}
}
}

View file

@ -372,8 +372,8 @@ final class Class52 {
var14 = new Model_Sub1(var12, var13);
for (int var15 = 0; var15 < 5; ++var15) {
if (Class15.aShortArrayArray344[var15].length > this.anIntArray862[var15]) {
var14.method2016(Class3_Sub25.aShortArray2548[var15], Class15.aShortArrayArray344[var15][this.anIntArray862[var15]]);
if (AudioThread.aShortArrayArray344[var15].length > this.anIntArray862[var15]) {
var14.method2016(Class3_Sub25.aShortArray2548[var15], AudioThread.aShortArrayArray344[var15][this.anIntArray862[var15]]);
}
if (this.anIntArray862[var15] < Class101.aShortArrayArray1429[var15].length) {
@ -655,8 +655,8 @@ final class Class52 {
Model_Sub1 var43 = new Model_Sub1(var39, var39.length);
for (var45 = 0; 5 > var45; ++var45) {
if (Class15.aShortArrayArray344[var45].length > this.anIntArray862[var45]) {
var43.method2016(Class3_Sub25.aShortArray2548[var45], Class15.aShortArrayArray344[var45][this.anIntArray862[var45]]);
if (AudioThread.aShortArrayArray344[var45].length > this.anIntArray862[var45]) {
var43.method2016(Class3_Sub25.aShortArray2548[var45], AudioThread.aShortArrayArray344[var45][this.anIntArray862[var45]]);
}
if (Class101.aShortArrayArray1429[var45].length > this.anIntArray862[var45]) {
@ -875,8 +875,8 @@ final class Class52 {
Model_Sub1 var15 = new Model_Sub1(var14, var9);
for (var11 = 0; var11 < 5; ++var11) {
if (this.anIntArray862[var11] < Class15.aShortArrayArray344[var11].length) {
var15.method2016(Class3_Sub25.aShortArray2548[var11], Class15.aShortArrayArray344[var11][this.anIntArray862[var11]]);
if (this.anIntArray862[var11] < AudioThread.aShortArrayArray344[var11].length) {
var15.method2016(Class3_Sub25.aShortArray2548[var11], AudioThread.aShortArrayArray344[var11][this.anIntArray862[var11]]);
}
if (Class101.aShortArrayArray1429[var11].length > this.anIntArray862[var11]) {

View file

@ -1,8 +1,6 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
import java.awt.*;
public final class Class58 {
@ -17,12 +15,12 @@ public final class Class58 {
public static void method1194() {
try {
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2153();
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2153();
}
if (null != WorldListEntry.aClass155_2627) {
WorldListEntry.aClass155_2627.method2153();
if (null != WorldListEntry.aAudioChannel_2627) {
WorldListEntry.aAudioChannel_2627.method2153();
}
} catch (RuntimeException var2) {
@ -30,77 +28,6 @@ public final class Class58 {
}
}
static Class155 method1195(int var0, Signlink var1, Component var2, int var3) {
try {
if (Class21.anInt443 == 0) {
throw new IllegalStateException();
} else if (0 <= var3 && 2 > var3) {
if (var0 < 256) {
var0 = 256;
}
try {
Class155 var9 = (Class155) Class.forName(GameConfig.PACKAGE_NAME + ".Class155_Sub2").newInstance();
var9.anInt1989 = var0;
var9.anIntArray1975 = new int[(!Unsorted.aBoolean2150 ? 1 : 2) * 256];
var9.method2164(var2);
var9.anInt1990 = (var0 & -1024) - -1024;
if (var9.anInt1990 > 16384) {
var9.anInt1990 = 16384;
}
var9.method2150(var9.anInt1990);
if (Class3_Sub24_Sub4.anInt3507 > 0 && null == Class38_Sub1.aClass15_2613) {
Class38_Sub1.aClass15_2613 = new Class15();
Class38_Sub1.aClass15_2613.aClass87_350 = var1;
var1.startThread(Class3_Sub24_Sub4.anInt3507, Class38_Sub1.aClass15_2613);
}
if (Class38_Sub1.aClass15_2613 != null) {
if (null != Class38_Sub1.aClass15_2613.aClass155Array352[var3]) {
throw new IllegalArgumentException();
}
Class38_Sub1.aClass15_2613.aClass155Array352[var3] = var9;
}
return var9;
} catch (Throwable var7) {
try {
Class155_Sub1 var5 = new Class155_Sub1(var1, var3);
var5.anIntArray1975 = new int[256 * (Unsorted.aBoolean2150 ? 2 : 1)];
var5.anInt1989 = var0;
var5.method2164(var2);
var5.anInt1990 = 16384;
var5.method2150(var5.anInt1990);
if (Class3_Sub24_Sub4.anInt3507 > 0 && null == Class38_Sub1.aClass15_2613) {
Class38_Sub1.aClass15_2613 = new Class15();
Class38_Sub1.aClass15_2613.aClass87_350 = var1;
var1.startThread(Class3_Sub24_Sub4.anInt3507, Class38_Sub1.aClass15_2613);
}
if (Class38_Sub1.aClass15_2613 != null) {
if (Class38_Sub1.aClass15_2613.aClass155Array352[var3] != null) {
throw new IllegalArgumentException();
}
Class38_Sub1.aClass15_2613.aClass155Array352[var3] = var5;
}
return var5;
} catch (Throwable var6) {
return new Class155();
}
}
} else {
throw new IllegalArgumentException();
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "id.D(" + var0 + ',' + (var1 != null ? "{...}" : "null") + ',' + (var2 != null ? "{...}" : "null") + ',' + var3 + ',' + 14 + ')');
}
}
static void method1196(int var3, int var4) {
try {
Class3_Sub28_Sub18.anInt3765 = var4;

View file

@ -50,7 +50,7 @@ final class Class75_Sub1 extends Class75 {
var12.anInt1893 = 0;
var12.anInt1900 = var8;
var12.anInt1897 = 0;
Unsorted.method1470(var2.zAxis, var10, 183921384, var2.xAxis, var2 == Class102.player, 0);
Unsorted.method1470(var2.zAxis, var10, var2.xAxis, var2 == Class102.player, 0);
} else if (var11 == 2) {
var12.anInt1894 = 0;
}
@ -67,7 +67,7 @@ final class Class75_Sub1 extends Class75 {
var12.anInt1900 = var8;
var12.anInt1893 = 0;
var12.anInt1894 = 0;
Unsorted.method1470(var2.zAxis, var10, 183921384, var2.xAxis, var2 == Class102.player, 0);
Unsorted.method1470(var2.zAxis, var10, var2.xAxis, var2 == Class102.player, 0);
}
}
}

View file

@ -108,7 +108,7 @@ final class Class79 {
}
Unsorted.anInt3671 = Class3_Sub28_Sub9.anInt3622;
TextureOperation17.aBoolean3184 = var0.readUnsignedByte() == 1;
TextureOperation17.stereoSound = var0.readUnsignedByte() == 1;
AudioHandler.soundEffectVolume = var0.readUnsignedByte();
if (AudioHandler.soundEffectVolume > 127) {
AudioHandler.soundEffectVolume = 127;
@ -151,7 +151,7 @@ final class Class79 {
}
if (8 <= var2) {
Class15.aBoolean346 = var0.readUnsignedByte() == 1;
AudioThread.aBoolean346 = var0.readUnsignedByte() == 1;
}
if (9 <= var2) {

View file

@ -80,7 +80,7 @@ public final class Class84 {
static int method1421() {
try {
return ((TextureOperation17.aBoolean3184 ? 1 : 0) << 19) + (((Class38.aBoolean661 ? 1 : 0) << 16) + ((!Class128.aBoolean1685 ? 0 : 1) << 15) + ((!Class106.aBoolean1441 ? 0 : 1) << 13) + ((Class140_Sub6.aBoolean2910 ? 1 : 0) << 10) + ((Unsorted.aBoolean3275 ? 1 : 0) << 9) + ((RSInterface.aBoolean236 ? 1 : 0) << 7) + ((!Class25.aBoolean488 ? 0 : 1) << 6) + ((KeyboardListener.aBoolean1905 ? 1 : 0) << 5) + (((!Unsorted.aBoolean3665 ? 0 : 1) << 3) + (Unsorted.anInt3625 & 7) - (-((!Unsorted.aBoolean3604 ? 0 : 1) << 4) + -((WorldListEntry.aBoolean2623 ? 1 : 0) << 8)) - (-(Unsorted.anInt1137 << 11 & 6144) + -((AudioHandler.soundEffectVolume == 0 ? 0 : 1) << 20) - (((AudioHandler.musicVolume != 0 ? 1 : 0) << 21) + ((Sprites.ambientVolume == 0 ? 0 : 1) << 22)))) - -(Class127_Sub1.method1757() << 23));
return ((TextureOperation17.stereoSound ? 1 : 0) << 19) + (((Class38.aBoolean661 ? 1 : 0) << 16) + ((!Class128.aBoolean1685 ? 0 : 1) << 15) + ((!Class106.aBoolean1441 ? 0 : 1) << 13) + ((Class140_Sub6.aBoolean2910 ? 1 : 0) << 10) + ((Unsorted.aBoolean3275 ? 1 : 0) << 9) + ((RSInterface.aBoolean236 ? 1 : 0) << 7) + ((!Class25.aBoolean488 ? 0 : 1) << 6) + ((KeyboardListener.aBoolean1905 ? 1 : 0) << 5) + (((!Unsorted.aBoolean3665 ? 0 : 1) << 3) + (Unsorted.anInt3625 & 7) - (-((!Unsorted.aBoolean3604 ? 0 : 1) << 4) + -((WorldListEntry.aBoolean2623 ? 1 : 0) << 8)) - (-(Unsorted.anInt1137 << 11 & 6144) + -((AudioHandler.soundEffectVolume == 0 ? 0 : 1) << 20) - (((AudioHandler.musicVolume != 0 ? 1 : 0) << 21) + ((Sprites.ambientVolume == 0 ? 0 : 1) << 22)))) - -(Class127_Sub1.method1757() << 23));
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "lf.F(" + -2 + ')');
}

View file

@ -13,118 +13,4 @@ public final class Class96 {
public int anInt1359;
public int anInt1360;
static void method1587(DataBuffer var1) {
try {
label134:
while (true) {
if (var1.index < var1.buffer.length) {
boolean var18 = false;
int var5 = 0;
int var6 = 0;
if (var1.readUnsignedByte() == 1) {
var5 = var1.readUnsignedByte();
var18 = true;
var6 = var1.readUnsignedByte();
}
int var7 = var1.readUnsignedByte();
int var8 = var1.readUnsignedByte();
int var9 = -TextureOperation37.anInt3256 + 64 * var7;
int var10 = -(var8 * 64) - (-Unsorted.anInt65 - -1) + Class108.anInt1460;
int var11;
int var12;
if (var9 >= 0 && -63 + var10 >= 0 && Class23.anInt455 > var9 + 63 && var10 < Class108.anInt1460) {
var11 = var9 >> 6;
var12 = var10 >> 6;
int var13 = 0;
while (true) {
if (var13 >= 64) {
continue label134;
}
for (int var14 = 0; var14 < 64; ++var14) {
if (!var18 || var13 >= 8 * var5 && 8 * var5 - -8 > var13 && 8 * var6 <= var14 && var14 < var6 * 8 - -8) {
int var15 = var1.readUnsignedByte();
if (0 != var15) {
int var2;
if (1 == (1 & var15)) {
var2 = var1.readUnsignedByte();
if (Class36.aByteArrayArrayArray640[var11][var12] == null) {
Class36.aByteArrayArrayArray640[var11][var12] = new byte[4096];
}
Class36.aByteArrayArrayArray640[var11][var12][var13 + (-var14 + 63 << 6)] = (byte) var2;
}
if (2 == (var15 & 2)) {
var2 = var1.readMedium();
if (null == Class29.anIntArrayArrayArray558[var11][var12]) {
Class29.anIntArrayArrayArray558[var11][var12] = new int[4096];
}
Class29.anIntArrayArrayArray558[var11][var12][(-var14 + 63 << 6) + var13] = var2;
}
if (4 == (var15 & 4)) {
var2 = var1.readMedium();
if (null == Class44.anIntArrayArrayArray720[var11][var12]) {
Class44.anIntArrayArrayArray720[var11][var12] = new int[4096];
}
--var2;
ObjectDefinition var3 = ObjectDefinition.getObjectDefinition(var2);
if (null != var3.ChildrenIds) {
var3 = var3.method1685(0);
if (var3 == null || var3.MapIcon == -1) {
continue;
}
}
Class44.anIntArrayArrayArray720[var11][var12][(-var14 + 63 << 6) + var13] = 1 + var3.objectId;
Class3_Sub23 var16 = new Class3_Sub23();
var16.anInt2532 = var3.MapIcon;
var16.anInt2531 = var9;
var16.anInt2539 = var10;
Class84.aLinkedList_1162.method1215(var16);
}
}
}
}
++var13;
}
}
var11 = 0;
while (true) {
if (var11 >= (var18 ? 64 : 4096)) {
continue label134;
}
var12 = var1.readUnsignedByte();
if (var12 != 0) {
if ((var12 & 1) == 1) {
++var1.index;
}
if (2 == (var12 & 2)) {
var1.index += 2;
}
if (4 == (var12 & 4)) {
var1.index += 3;
}
}
++var11;
}
}
return;
}
} catch (RuntimeException var17) {
throw ClientErrorException.clientError(var17, "nc.A(" + (byte) -83 + ',' + (var1 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -747,8 +747,8 @@ public final class Client extends GameShell {
try {
if (Class143.gameStage != 1000) {
boolean var2 = NPC.method1988();
if (var2 && AudioHandler.musicEffectPlaying && WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2158();
if (var2 && AudioHandler.musicEffectPlaying && WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2158();
}
if ((Class143.gameStage == 30 || Class143.gameStage == 10) && (Class3_Sub28_Sub5.forceReplaceCanvasEnable || Class53.aLong866 != 0 && Class53.aLong866 < TimeUtils.time())) {
@ -855,7 +855,7 @@ public final class Client extends GameShell {
for (var5 = 0; Class3_Sub28_Sub3.anInt3557 > var5; ++var5) {
if (Class163_Sub1_Sub1.aBooleanArray4008[var5]) {
Unsorted.aClass158_3009.drawGraphics(Class3_Sub28_Sub18.anIntArray3768[var5], Class155.anIntArray1969[var5], Class140_Sub4.anIntArray2794[var5], var11, Player.anIntArray3954[var5]);
Unsorted.aClass158_3009.drawGraphics(Class3_Sub28_Sub18.anIntArray3768[var5], AudioChannel.anIntArray1969[var5], Class140_Sub4.anIntArray2794[var5], var11, Player.anIntArray3954[var5]);
Class163_Sub1_Sub1.aBooleanArray4008[var5] = false;
}
}
@ -932,12 +932,12 @@ public final class Client extends GameShell {
TextureOperation12.method167(0);
MouseListeningClass.method2090();
Class38.aClass146_668 = null;
if (null != WorldListEntry.aClass155_2627) {
WorldListEntry.aClass155_2627.method2163();
if (null != WorldListEntry.aAudioChannel_2627) {
WorldListEntry.aAudioChannel_2627.method2163();
}
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2163();
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2163();
}
Class58.aJs5Worker_917.close();
@ -1074,7 +1074,7 @@ public final class Client extends GameShell {
switch (Class158.paramGameTypeID) {
case GAME_TYPE_RUNESCAPE:
Class15.aShortArrayArray344 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray3654();
AudioThread.aShortArrayArray344 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray3654();
Class91.aShortArray1311 = RunescapeGameAppearance.INSTANCE.getAShortArray3349();
Class101.aShortArrayArray1429 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray435();
Class3_Sub25.aShortArray2548 = RunescapeGameAppearance.INSTANCE.getAShortArray3011();
@ -1084,7 +1084,7 @@ public final class Client extends GameShell {
ClientCommands.shiftClickEnabled = true;
Class92.defaultScreenColorRgb = 16777215;
Class92.defaultRegionAmbientRGB = 0;
Class15.aShortArrayArray344 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray1619();
AudioThread.aShortArrayArray344 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray1619();
Class101.aShortArrayArray1429 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray2634();
Class3_Sub25.aShortArray2548 = MechscapeGameAppearance.INSTANCE.getAShortArray63();
Class91.aShortArray1311 = MechscapeGameAppearance.INSTANCE.getAShortArray2219();
@ -1208,7 +1208,7 @@ public final class Client extends GameShell {
Unsorted.method1180((byte) -122, var4);
Class17.method904(65536, var4);
RenderAnimationDefinition.method900(var4, (byte) 1 ^ -11974);
RenderAnimationDefinition.method900(var4);
AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].method1489(var4.xAxis >> 7, false, (byte) 85, var4.zAxis >> 7, var4.getSize(), var4.getSize());
}
}
@ -1243,14 +1243,14 @@ public final class Client extends GameShell {
PacketParser.method829();
}
if (null != Class15.aClass64_351 && Class15.aClass64_351.anInt978 == 1) {
if (null != Class15.aClass64_351.anObject974) {
if (null != AudioThread.aClass64_351 && AudioThread.aClass64_351.anInt978 == 1) {
if (null != AudioThread.aClass64_351.anObject974) {
Class99.method1596(TextureOperation5.aClass94_3295, (byte) 126, Unsorted.aBoolean2154);
}
Unsorted.aBoolean2154 = false;
TextureOperation5.aClass94_3295 = null;
Class15.aClass64_351 = null;
AudioThread.aClass64_351 = null;
}
if (Class44.anInt719 % 1500 == 0) {
@ -1528,17 +1528,25 @@ public final class Client extends GameShell {
anInt1354 = 45;
}
} else if (anInt1354 == 45) {
Class140_Sub3.method1959(TextureOperation17.aBoolean3184);
Class140_Sub3.method1959(TextureOperation17.stereoSound);
aClass3_Sub24_Sub4_1193 = new Class3_Sub24_Sub4();
aClass3_Sub24_Sub4_1193.method479();
WorldListEntry.aClass155_2627 = Class58.method1195(22050, Class38.gameSignlink, GameShell.canvas, 0);
WorldListEntry.aClass155_2627.method2154(-116, aClass3_Sub24_Sub4_1193);
RenderAnimationDefinition.method897(aClass3_Sub24_Sub4_1193, CacheIndex.soundFX3Index, CacheIndex.soundFX2Index, CacheIndex.soundFXIndex);
Class3_Sub21.aClass155_2491 = Class58.method1195(2048, Class38.gameSignlink, GameShell.canvas, 1);
WorldListEntry.aAudioChannel_2627 = AudioChannel.method1195(22050, Class38.gameSignlink, GameShell.canvas, 0);
WorldListEntry.aAudioChannel_2627.method2154(aClass3_Sub24_Sub4_1193);
AudioHandler.method897(aClass3_Sub24_Sub4_1193, CacheIndex.soundFX3Index, CacheIndex.soundFX2Index, CacheIndex.soundFXIndex);
Class3_Sub21.aAudioChannel_2491 = AudioChannel.method1195(2048, Class38.gameSignlink, GameShell.canvas, 1);
Class3_Sub26.aClass3_Sub24_Sub2_2563 = new Class3_Sub24_Sub2();
Class3_Sub21.aClass155_2491.method2154(-128, Class3_Sub26.aClass3_Sub24_Sub2_2563);
Class27.resampler = new Class157(22050, Class21.anInt443);
KeyboardListener.loginThemeSongArchiveID = CacheIndex.musicIndex.getArchiveForName(RSString.parse(GameConfig.LOGIN_THEME));
Class3_Sub21.aAudioChannel_2491.method2154(Class3_Sub26.aClass3_Sub24_Sub2_2563);
Class27.resampler = new Class157(22050, Class21.sampleRate);
int loginThemeID;
if (GameConfig.EASTER_EVENT_ENABLED) {
loginThemeID = CacheIndex.musicIndex.getArchiveForName(RSString.parse("Funny Bunnies"));
} else {
loginThemeID = CacheIndex.musicIndex.getArchiveForName(RSString.parse(GameConfig.LOGIN_THEME));
}
KeyboardListener.loginThemeSongArchiveID = loginThemeID;
LoadingStageNumber = 30;
anInt1354 = 50;
loadingBarTextToDisplay = TextCore.PreparedSoundEngine;

View file

@ -30,19 +30,19 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
static void method34() {
try {
if (null != WorldListEntry.aClass155_2627) {
WorldListEntry.aClass155_2627.method2163();
if (null != WorldListEntry.aAudioChannel_2627) {
WorldListEntry.aAudioChannel_2627.method2163();
}
if (Class3_Sub21.aClass155_2491 != null) {
Class3_Sub21.aClass155_2491.method2163();
if (Class3_Sub21.aAudioChannel_2491 != null) {
Class3_Sub21.aAudioChannel_2491.method2163();
}
Class140_Sub3.method1959(TextureOperation17.aBoolean3184);
WorldListEntry.aClass155_2627 = Class58.method1195(22050, Class38.gameSignlink, canvas, 0);
WorldListEntry.aClass155_2627.method2154(114, Client.aClass3_Sub24_Sub4_1193);
Class3_Sub21.aClass155_2491 = Class58.method1195(2048, Class38.gameSignlink, canvas, 1);
Class3_Sub21.aClass155_2491.method2154(-126, Class3_Sub26.aClass3_Sub24_Sub2_2563);
Class140_Sub3.method1959(TextureOperation17.stereoSound);
WorldListEntry.aAudioChannel_2627 = AudioChannel.method1195(22050, Class38.gameSignlink, canvas, 0);
WorldListEntry.aAudioChannel_2627.method2154(Client.aClass3_Sub24_Sub4_1193);
Class3_Sub21.aAudioChannel_2491 = AudioChannel.method1195(2048, Class38.gameSignlink, canvas, 1);
Class3_Sub21.aAudioChannel_2491.method2154(Class3_Sub26.aClass3_Sub24_Sub2_2563);
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "rc.DA(" + -32589 + ')');
}

View file

@ -6,7 +6,7 @@ import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.Mixer.Info;
final class Class155_Sub2 extends Class155 {
final class JavaAudioChannel extends AudioChannel {
private int anInt2971;
private SourceDataLine aSourceDataLine2972;
@ -15,7 +15,7 @@ final class Class155_Sub2 extends Class155 {
private byte[] aByteArray2975;
final void method2160() {
final void close() {
if(null != this.aSourceDataLine2972) {
this.aSourceDataLine2972.close();
this.aSourceDataLine2972 = null;
@ -23,7 +23,7 @@ final class Class155_Sub2 extends Class155 {
}
final void method2164(Component var1) {
final void init(Component var1) {
Info[] var2 = AudioSystem.getMixerInfo();
if(null != var2) {
@ -38,13 +38,13 @@ final class Class155_Sub2 extends Class155 {
}
}
this.anAudioFormat2974 = new AudioFormat((float)Class21.anInt443, 16, !Unsorted.aBoolean2150?1:2, true, false);
this.aByteArray2975 = new byte[256 << (Unsorted.aBoolean2150?2:1)];
this.anAudioFormat2974 = new AudioFormat((float)Class21.sampleRate, 16, !AudioChannel.stereo ?1:2, true, false);
this.aByteArray2975 = new byte[256 << (AudioChannel.stereo ?2:1)];
}
final void method2150(int var1) throws LineUnavailableException {
final void open(int var1) throws LineUnavailableException {
try {
javax.sound.sampled.DataLine.Info var2 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, var1 << (!Unsorted.aBoolean2150?1:2));
javax.sound.sampled.DataLine.Info var2 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, var1 << (!AudioChannel.stereo ?1:2));
this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var2);
this.aSourceDataLine2972.open();
this.aSourceDataLine2972.start();
@ -54,17 +54,17 @@ final class Class155_Sub2 extends Class155 {
this.aSourceDataLine2972 = null;
throw var3;
} else {
this.method2150(Class95.method1585((byte)76, var1));
this.open(Class95.method1585((byte)76, var1));
}
}
}
final void method2151() throws LineUnavailableException {
final void flush() throws LineUnavailableException {
this.aSourceDataLine2972.flush();
if(this.aBoolean2973) {
this.aSourceDataLine2972.close();
this.aSourceDataLine2972 = null;
javax.sound.sampled.DataLine.Info var1 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, this.anInt2971 << (!Unsorted.aBoolean2150?1:2));
javax.sound.sampled.DataLine.Info var1 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, this.anInt2971 << (!AudioChannel.stereo ?1:2));
this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var1);
this.aSourceDataLine2972.open();
this.aSourceDataLine2972.start();
@ -73,17 +73,17 @@ final class Class155_Sub2 extends Class155 {
}
final int method2157() {
return this.anInt2971 - (this.aSourceDataLine2972.available() >> (!Unsorted.aBoolean2150?1:2));
return this.anInt2971 - (this.aSourceDataLine2972.available() >> (!AudioChannel.stereo ?1:2));
}
final void method2149() {
final void write() {
int var1 = 256;
if(Unsorted.aBoolean2150) {
if(AudioChannel.stereo) {
var1 <<= 1;
}
for(int var2 = 0; var2 < var1; ++var2) {
int var3 = this.anIntArray1975[var2];
int var3 = this.samples[var2];
if((var3 + 8388608 & -16777216) != 0) {
var3 = 8388607 ^ var3 >> 31;
}

View file

@ -129,7 +129,7 @@ public final class LinkableRSString extends Linkable {
if (0 == var1.length()) {
var4 = RSString.stringCombiner(new RSString[]{var4, TextCore.HasAgeExpire});
} else {
var4 = RSString.stringCombiner(new RSString[]{var4, TextCore.HasExpires, Class15.method894(94608000000L + TimeUtils.time()), TextCore.HasMaxAge, QuickChatDefinition.method612(94608000L)});
var4 = RSString.stringCombiner(new RSString[]{var4, TextCore.HasExpires, AudioThread.method894(94608000000L + TimeUtils.time()), TextCore.HasMaxAge, QuickChatDefinition.method612(94608000L)});
}
RSString.stringCombiner(new RSString[]{TextCore.aClass94_1694, var4, TextCore.aClass94_1698}).method1554(Class38.gameSignlink.gameApplet);

View file

@ -64,21 +64,21 @@ public class LoginHandler {
int nameHash = (int) (var1 >> 16 & 31L);
TextureOperation12.outgoingBuffer.writeByte(nameHash);
Class3_Sub15.activeConnection.sendBytes(TextureOperation12.outgoingBuffer.buffer, 2);
if (WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(106);
if (WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (Class3_Sub21.aClass155_2491 != null) {
Class3_Sub21.aClass155_2491.method2159(79);
if (Class3_Sub21.aAudioChannel_2491 != null) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
int var4 = Class3_Sub15.activeConnection.readByte();
if (WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(68);
if (WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if (null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(109);
if (null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
if (var4 != 0) {

View file

@ -133,7 +133,7 @@ public final class NPC extends Class140_Sub4 {
var12.anInt1891 = 1;
var12.anInt1897 = 0;
var12.anInt1900 = var8;
Unsorted.method1470(var2.zAxis, var10, 183921384, var2.xAxis, false, 0);
Unsorted.method1470(var2.zAxis, var10, var2.xAxis, false, 0);
} else if(var11 == 2) {
var12.anInt1894 = 0;
}
@ -147,7 +147,7 @@ public final class NPC extends Class140_Sub4 {
var12.animationId = var6;
var12.anInt1894 = 0;
var12.anInt1893 = 0;
Unsorted.method1470(var2.zAxis, var10, 183921384, var2.xAxis, false, 0);
Unsorted.method1470(var2.zAxis, var10, var2.xAxis, false, 0);
}
}
}

View file

@ -35,9 +35,9 @@ public final class NPCRendering {
if(Unsorted.incomingPacketLength == BufferedDataStream.incomingBuffer.index) {
for(var1 = 0; var1 < Class163.localNPCCount; ++var1) {
if(null == NPC.npcs[Class15.localNPCIndexes[var1]]) {
if(null == NPC.npcs[AudioThread.localNPCIndexes[var1]]) {
// System.err.println("gnp2 pos:" + var1 + " size:" + Class163.anInt2046);
System.err.println("Local NPC was null - index: " + Class15.localNPCIndexes[var1] + ", list index: " + var1 + ", list size: " + Class163.localNPCCount);
System.err.println("Local NPC was null - index: " + AudioThread.localNPCIndexes[var1] + ", list index: " + var1 + ", list size: " + Class163.localNPCCount);
}
}
@ -58,7 +58,7 @@ public final class NPCRendering {
int var2;
if (var1 < Class163.localNPCCount) {
for (var2 = var1; var2 < Class163.localNPCCount; ++var2) {
Class3_Sub7.anIntArray2292[Class139.anInt1829++] = Class15.localNPCIndexes[var2];
Class3_Sub7.anIntArray2292[Class139.anInt1829++] = AudioThread.localNPCIndexes[var2];
}
}
@ -68,23 +68,23 @@ public final class NPCRendering {
Class163.localNPCCount = 0;
for (var2 = 0; var1 > var2; ++var2) {
int var3 = Class15.localNPCIndexes[var2];
int var3 = AudioThread.localNPCIndexes[var2];
NPC var4 = NPC.npcs[var3];
int var5 = BufferedDataStream.incomingBuffer.getBits(1);
if (0 == var5) {
Class15.localNPCIndexes[Class163.localNPCCount++] = var3;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var3;
var4.anInt2838 = Class44.anInt719;
} else {
int var6 = BufferedDataStream.incomingBuffer.getBits(2);
if (var6 == 0) {
Class15.localNPCIndexes[Class163.localNPCCount++] = var3;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var3;
var4.anInt2838 = Class44.anInt719;
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var3;
} else {
int var7;
int var8;
if (1 == var6) {
Class15.localNPCIndexes[Class163.localNPCCount++] = var3;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var3;
var4.anInt2838 = Class44.anInt719;
var7 = BufferedDataStream.incomingBuffer.getBits(3);
var4.walkStep(1, (byte) 32, var7);
@ -93,7 +93,7 @@ public final class NPCRendering {
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var3;
}
} else if (var6 == 2) {
Class15.localNPCIndexes[Class163.localNPCCount++] = var3;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var3;
var4.anInt2838 = Class44.anInt719;
if (BufferedDataStream.incomingBuffer.getBits(1) == 1) {
var7 = BufferedDataStream.incomingBuffer.getBits(3);
@ -135,7 +135,7 @@ public final class NPCRendering {
}
NPC var3 = NPC.npcs[var1];
Class15.localNPCIndexes[Class163.localNPCCount++] = var1;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var1;
var3.anInt2838 = Class44.anInt719;
if (null != var3.definition && var3.definition.method1474()) {
Class3_Sub28_Sub8.method574(var3);
@ -264,7 +264,7 @@ public final class NPCRendering {
if (var8 != -1) {
SequenceDefinition var9 = SequenceDefinition.getAnimationDefinition(var8);
if (var9.frames != null) {
Unsorted.method1470(npc.zAxis, var9, 183921384, npc.xAxis, false, 0);
Unsorted.method1470(npc.zAxis, var9, npc.xAxis, false, 0);
}
}
}
@ -327,7 +327,7 @@ public final class NPCRendering {
static void updateNPCAreaArray() {
try {
for (int var1 = 0; Class163.localNPCCount > var1; ++var1) {
int var2 = Class15.localNPCIndexes[var1];
int var2 = AudioThread.localNPCIndexes[var1];
NPC var3 = NPC.npcs[var2];
if (null != var3) {
Unsorted.method68(var3.definition.size, var3);

View file

@ -589,7 +589,7 @@ public final class PacketParser {
if (var33 != -1) {
var53 = SequenceDefinition.getAnimationDefinition(var33);
if (null != var53.frames) {
Unsorted.method1470(var62.zAxis, var53, 183921384, var62.xAxis, false, 0);
Unsorted.method1470(var62.zAxis, var53, var62.xAxis, false, 0);
}
}
}
@ -627,7 +627,7 @@ public final class PacketParser {
if (var33 != -1) {
var53 = SequenceDefinition.getAnimationDefinition(var33);
if (null != var53.frames) {
Unsorted.method1470(var60.zAxis, var53, 183921384, var60.xAxis, var60 == Class102.player, 0);
Unsorted.method1470(var60.zAxis, var53, var60.xAxis, var60 == Class102.player, 0);
}
}
}
@ -1104,7 +1104,7 @@ public final class PacketParser {
} else {
TextureOperation5.aClass94_3295 = playerName;
Unsorted.aBoolean2154 = true;
Class15.aClass64_351 = Class38.gameSignlink.method1452(new String(playerName.method1568(), StandardCharsets.ISO_8859_1), true);
AudioThread.aClass64_351 = Class38.gameSignlink.method1452(new String(playerName.method1568(), StandardCharsets.ISO_8859_1), true);
}
Unsorted.incomingOpcode = -1;
@ -1362,14 +1362,17 @@ public final class PacketParser {
Unsorted.incomingOpcode = -1;
return true;
} else if (Unsorted.incomingOpcode == 172) {
nodeModelId = BufferedDataStream.incomingBuffer.readUnsignedShort();
var19 = BufferedDataStream.incomingBuffer.readUnsignedByte();
if (nodeModelId == 65535) {
nodeModelId = -1;
int soundEffectID;
int soundEffectDelay;
int soundEffectVolume;
soundEffectDelay = BufferedDataStream.incomingBuffer.readUnsignedShort();
soundEffectID = BufferedDataStream.incomingBuffer.readUnsignedByte();
if (soundEffectDelay == 65535) {
soundEffectDelay = -1;
}
modelId = BufferedDataStream.incomingBuffer.readUnsignedShort();
AudioHandler.soundEffectHandler(var19, nodeModelId, modelId);
soundEffectVolume = BufferedDataStream.incomingBuffer.readUnsignedShort();
AudioHandler.soundEffectHandler(soundEffectID, soundEffectDelay, soundEffectVolume);
Unsorted.incomingOpcode = -1;
return true;
} else if (Unsorted.incomingOpcode == 66) {

View file

@ -163,7 +163,7 @@ public final class Player extends Class140_Sub4 {
for (var11 = 0; var11 < 5; ++var11) {
var12 = buffer.readUnsignedByte();
if (var12 < 0 || var12 >= Class15.aShortArrayArray344[var11].length) {
if (var12 < 0 || var12 >= AudioThread.aShortArrayArray344[var11].length) {
var12 = 0;
}

View file

@ -377,7 +377,7 @@ public final class PlayerRendering {
if (var7 != -1) {
SequenceDefinition var24 = SequenceDefinition.getAnimationDefinition(var7);
if (var24.frames != null) {
Unsorted.method1470(var3.zAxis, var24, 183921384, var3.xAxis, var3 == Class102.player, 0);
Unsorted.method1470(var3.zAxis, var24, var3.xAxis, var3 == Class102.player, 0);
}
}
}
@ -407,7 +407,7 @@ public final class PlayerRendering {
var3.anInt2776 = 1;
var3.anInt2832 = 0;
var3.anInt2773 = 0;
Unsorted.method1470(var3.zAxis, var4, 183921384, var3.xAxis, Class102.player == var3, var3.anInt2832);
Unsorted.method1470(var3.zAxis, var4, var3.xAxis, Class102.player == var3, var3.anInt2832);
}
if (var5 == 2) {
@ -422,7 +422,7 @@ public final class PlayerRendering {
var3.anInt2760 = 0;
var3.anInt2771 = var2;
if (var3.anInt2771 != -1) {
Unsorted.method1470(var3.zAxis, SequenceDefinition.getAnimationDefinition(var3.anInt2771), 183921384, var3.xAxis, var3 == Class102.player, var3.anInt2832);
Unsorted.method1470(var3.zAxis, SequenceDefinition.getAnimationDefinition(var3.anInt2771), var3.xAxis, var3 == Class102.player, var3.anInt2832);
}
}

View file

@ -40,17 +40,6 @@ final class RenderAnimationDefinition {
int slow_walk_follow_ccw_turn_anim = -1;
int standing_cw_turn = -1;
static void method897(Class3_Sub24_Sub4 var1, CacheIndex var2, CacheIndex var3, CacheIndex var4) {
try {
Class124.aClass153_1661 = var2;
Class40.aClass153_679 = var4;
Class3_Sub28_Sub20.aClass153_3786 = var3;
Class101.aClass3_Sub24_Sub4_1421 = var1;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ck.C(" + (var1 != null ? "{...}" : "null") + ',' + (var2 != null ? "{...}" : "null") + ',' + (var3 != null ? "{...}" : "null") + ',' + (var4 != null ? "{...}" : "null") + ')');
}
}
final void method899() {
try {
@ -59,7 +48,7 @@ final class RenderAnimationDefinition {
}
}
static void method900(Class140_Sub4 var0, int var1) {
static void method900(Class140_Sub4 var0) {
try {
var0.aBoolean2810 = false;
SequenceDefinition var2;
@ -73,13 +62,13 @@ final class RenderAnimationDefinition {
var0.anInt2802 = 1;
++var0.anInt2813;
++var0.anInt2793;
Unsorted.method1470(var0.zAxis, var2, 183921384, var0.xAxis, var0 == Class102.player, var0.anInt2813);
Unsorted.method1470(var0.zAxis, var2, var0.xAxis, var0 == Class102.player, var0.anInt2813);
}
if (var2.frames.length <= var0.anInt2813) {
var0.anInt2813 = 0;
var0.anInt2802 = 0;
Unsorted.method1470(var0.zAxis, var2, 183921384, var0.xAxis, Class102.player == var0, var0.anInt2813);
Unsorted.method1470(var0.zAxis, var2, var0.xAxis, Class102.player == var0, var0.anInt2813);
}
var0.anInt2793 = var0.anInt2813 - -1;
@ -101,14 +90,14 @@ final class RenderAnimationDefinition {
} else {
if (0 > var0.anInt2805) {
var0.anInt2805 = 0;
Unsorted.method1470(var0.zAxis, var3, 183921384, var0.xAxis, Class102.player == var0, 0);
Unsorted.method1470(var0.zAxis, var3, var0.xAxis, Class102.player == var0, 0);
}
++var0.anInt2761;
if (var0.anInt2805 < var3.frames.length && var0.anInt2761 > var3.duration[var0.anInt2805]) {
++var0.anInt2805;
var0.anInt2761 = 1;
Unsorted.method1470(var0.zAxis, var3, var1 ^ -183911469, var0.xAxis, Class102.player == var0, var0.anInt2805);
Unsorted.method1470(var0.zAxis, var3, var0.xAxis, Class102.player == var0, var0.anInt2805);
}
if (var0.anInt2805 >= var3.frames.length) {
@ -131,103 +120,101 @@ final class RenderAnimationDefinition {
}
}
if (var1 == -11973) {
if (var0.anInt2771 != -1 && var0.anInt2828 == 0) {
var2 = SequenceDefinition.getAnimationDefinition(var0.anInt2771);
if (var2.frames == null) {
var0.anInt2771 = -1;
} else {
++var0.anInt2760;
if (var2.frames.length > var0.anInt2832 && var0.anInt2760 > var2.duration[var0.anInt2832]) {
var0.anInt2760 = 1;
++var0.anInt2832;
Unsorted.method1470(var0.zAxis, var2, 183921384, var0.xAxis, var0 == Class102.player, var0.anInt2832);
}
if (var0.anInt2771 != -1 && var0.anInt2828 == 0) {
var2 = SequenceDefinition.getAnimationDefinition(var0.anInt2771);
if (var2.frames == null) {
var0.anInt2771 = -1;
} else {
++var0.anInt2760;
if (var2.frames.length > var0.anInt2832 && var0.anInt2760 > var2.duration[var0.anInt2832]) {
var0.anInt2760 = 1;
++var0.anInt2832;
Unsorted.method1470(var0.zAxis, var2, var0.xAxis, var0 == Class102.player, var0.anInt2832);
}
if (var2.frames.length <= var0.anInt2832) {
var0.anInt2832 -= var2.anInt1865;
++var0.anInt2773;
if (var2.maxLoops > var0.anInt2773) {
if (var0.anInt2832 >= 0 && var0.anInt2832 < var2.frames.length) {
Unsorted.method1470(var0.zAxis, var2, var1 ^ -183911469, var0.xAxis, Class102.player == var0, var0.anInt2832);
} else {
var0.anInt2771 = -1;
}
if (var2.frames.length <= var0.anInt2832) {
var0.anInt2832 -= var2.anInt1865;
++var0.anInt2773;
if (var2.maxLoops > var0.anInt2773) {
if (var0.anInt2832 >= 0 && var0.anInt2832 < var2.frames.length) {
Unsorted.method1470(var0.zAxis, var2, var0.xAxis, Class102.player == var0, var0.anInt2832);
} else {
var0.anInt2771 = -1;
}
} else {
var0.anInt2771 = -1;
}
}
var0.anInt2776 = var0.anInt2832 + 1;
if (var0.anInt2776 >= var2.frames.length) {
var0.anInt2776 -= var2.anInt1865;
if (var2.maxLoops > var0.anInt2773 + 1) {
if (0 > var0.anInt2776 || var0.anInt2776 >= var2.frames.length) {
var0.anInt2776 = -1;
}
} else {
var0.anInt2776 = var0.anInt2832 + 1;
if (var0.anInt2776 >= var2.frames.length) {
var0.anInt2776 -= var2.anInt1865;
if (var2.maxLoops > var0.anInt2773 + 1) {
if (0 > var0.anInt2776 || var0.anInt2776 >= var2.frames.length) {
var0.anInt2776 = -1;
}
} else {
var0.anInt2776 = -1;
}
var0.aBoolean2810 = var2.aBoolean1859;
}
var0.aBoolean2810 = var2.aBoolean1859;
}
}
if (0 < var0.anInt2828) {
--var0.anInt2828;
}
if (0 < var0.anInt2828) {
--var0.anInt2828;
}
for (var6 = 0; var0.aClass145Array2809.length > var6; ++var6) {
Class145 var7 = var0.aClass145Array2809[var6];
if (null != var7) {
if (var7.anInt1900 <= 0) {
SequenceDefinition var4 = SequenceDefinition.getAnimationDefinition(var7.animationId);
if (var4.frames == null) {
var0.aClass145Array2809[var6] = null;
} else {
++var7.anInt1897;
if (var7.anInt1893 < var4.frames.length && var7.anInt1897 > var4.duration[var7.anInt1893]) {
++var7.anInt1893;
var7.anInt1897 = 1;
Unsorted.method1470(var0.zAxis, var4, 183921384, var0.xAxis, var0 == Class102.player, var7.anInt1893);
}
for (var6 = 0; var0.aClass145Array2809.length > var6; ++var6) {
Class145 var7 = var0.aClass145Array2809[var6];
if (null != var7) {
if (var7.anInt1900 <= 0) {
SequenceDefinition var4 = SequenceDefinition.getAnimationDefinition(var7.animationId);
if (var4.frames == null) {
var0.aClass145Array2809[var6] = null;
} else {
++var7.anInt1897;
if (var7.anInt1893 < var4.frames.length && var7.anInt1897 > var4.duration[var7.anInt1893]) {
++var7.anInt1893;
var7.anInt1897 = 1;
Unsorted.method1470(var0.zAxis, var4, var0.xAxis, var0 == Class102.player, var7.anInt1893);
}
if (var7.anInt1893 >= var4.frames.length) {
++var7.anInt1894;
var7.anInt1893 -= var4.anInt1865;
if (var4.maxLoops > var7.anInt1894) {
if (var7.anInt1893 >= 0 && var4.frames.length > var7.anInt1893) {
Unsorted.method1470(var0.zAxis, var4, 183921384, var0.xAxis, Class102.player == var0, var7.anInt1893);
} else {
var0.aClass145Array2809[var6] = null;
}
if (var7.anInt1893 >= var4.frames.length) {
++var7.anInt1894;
var7.anInt1893 -= var4.anInt1865;
if (var4.maxLoops > var7.anInt1894) {
if (var7.anInt1893 >= 0 && var4.frames.length > var7.anInt1893) {
Unsorted.method1470(var0.zAxis, var4, var0.xAxis, Class102.player == var0, var7.anInt1893);
} else {
var0.aClass145Array2809[var6] = null;
}
}
var7.anInt1891 = 1 + var7.anInt1893;
if (var4.frames.length <= var7.anInt1891) {
var7.anInt1891 -= var4.anInt1865;
if (1 + var7.anInt1894 < var4.maxLoops) {
if (var7.anInt1891 < 0 || var4.frames.length <= var7.anInt1891) {
var7.anInt1891 = -1;
}
} else {
var7.anInt1891 = -1;
}
} else {
var0.aClass145Array2809[var6] = null;
}
}
var7.anInt1891 = 1 + var7.anInt1893;
if (var4.frames.length <= var7.anInt1891) {
var7.anInt1891 -= var4.anInt1865;
if (1 + var7.anInt1894 < var4.maxLoops) {
if (var7.anInt1891 < 0 || var4.frames.length <= var7.anInt1891) {
var7.anInt1891 = -1;
}
} else {
var7.anInt1891 = -1;
}
}
} else {
--var7.anInt1900;
}
} else {
--var7.anInt1900;
}
}
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ck.F(" + (var0 != null ? "{...}" : "null") + ',' + var1 + ')');
throw ClientErrorException.clientError(var5, "ck.F(" + (var0 != null ? "{...}" : "null") + ',' + -11973 + ')');
}
}

View file

@ -1,7 +1,7 @@
package org.runite.client;
import java.awt.Component;
final class Class155_Sub1 extends Class155 {
final class SignLinkAudioChannel extends AudioChannel {
private final int anInt2969;
private static Interface1 anInterface1_2970;
@ -11,24 +11,24 @@ final class Class155_Sub1 extends Class155 {
return anInterface1_2970.method2((byte)118, this.anInt2969);
}
final void method2149() {
anInterface1_2970.method6(this.anInt2969, this.anIntArray1975);
final void write() {
anInterface1_2970.method6(this.anInt2969, this.samples);
}
final void method2164(Component var1) throws Exception {
anInterface1_2970.method5(Class21.anInt443, (byte)-39, var1, Unsorted.aBoolean2150);
final void init(Component var1) throws Exception {
anInterface1_2970.method5(Class21.sampleRate, (byte)-39, var1, AudioChannel.stereo);
}
final void method2151() {
final void flush() {
anInterface1_2970.method1(this.anInt2969, 28544);
}
Class155_Sub1(Signlink var1, int var2) {
SignLinkAudioChannel(Signlink var1, int var2) {
anInterface1_2970 = var1.method1446((byte)99);
this.anInt2969 = var2;
}
final void method2150(int var1) throws Exception {
final void open(int var1) throws Exception {
if(var1 > 32768) {
throw new IllegalArgumentException();
} else {
@ -36,7 +36,7 @@ final class Class155_Sub1 extends Class155 {
}
}
final void method2160() {
final void close() {
anInterface1_2970.method4((byte)20, this.anInt2969);
}
}

View file

@ -124,7 +124,7 @@ public final class Texture {
} else if (var7 < Class159.localPlayerCount) {
var8 = Unsorted.players[Class56.localPlayerIndexes[var7]];
} else {
var8 = NPC.npcs[Class15.localNPCIndexes[-Class159.localPlayerCount + var7]];
var8 = NPC.npcs[AudioThread.localNPCIndexes[-Class159.localPlayerCount + var7]];
}
if (null != var8 && var8.hasDefinitions()) {
@ -195,7 +195,7 @@ public final class Texture {
for (var21 = 0; var20.length > var21; ++var21) {
Class96 var24 = var20[var21];
if (null != var24 && var24.anInt1360 == 1 && Class15.localNPCIndexes[-Class159.localPlayerCount + var7] == var24.anInt1359 && Class44.anInt719 % 20 < 10) {
if (null != var24 && var24.anInt1360 == 1 && AudioThread.localNPCIndexes[-Class159.localPlayerCount + var7] == var24.anInt1359 && Class44.anInt719 % 20 < 10) {
if (-1 == var9.anInt1265) {
var29 = 15 + var8.method1975(var6 + '\u89b4');
} else {

View file

@ -13,7 +13,7 @@ final class TextureOperation17 extends TextureOperation {
private int anInt3180;
static int[] anIntArray3181;
private int anInt3182;
static boolean aBoolean3184 = true;
static boolean stereoSound = true;
static int[] anIntArray3185 = new int[25];
private int anInt3186;
private int anInt3188;

View file

@ -167,7 +167,7 @@ final class TextureOperation18 extends TextureOperation39 {
static AbstractSprite[] method286(int var2, CacheIndex var3) {
try {
//System.out.println("Class3_Sub13_Sub_23_Sub1 " + var2);
return !Class75_Sub4.method1351(var3, 0, var2)?null:Class15.method891(~4);
return !Class75_Sub4.method1351(var3, 0, var2)?null: AudioThread.method891(~4);
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "kd.F(" + -1 + ',' + 0 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')');
}

View file

@ -386,7 +386,7 @@ final class TextureOperation20 extends TextureOperation {
--anInt2212;
}
if(Class15.aBoolean346) {
if(AudioThread.aBoolean346) {
for(queuedVarpIndex = 0; Class3_Sub23.anInt2537 > queuedVarpIndex; ++queuedVarpIndex) {
var2 = Class133.inputTextCodeArray[queuedVarpIndex];
if(98 == var2 || var2 == 99 || var2 == 96 || var2 == 97) {
@ -790,13 +790,13 @@ final class TextureOperation20 extends TextureOperation {
TextureOperation12.outgoingBuffer.putOpcode(245);
}
if(Class15.aClass64_351 != null && Class15.aClass64_351.anInt978 == 1) {
if(null != Class15.aClass64_351.anObject974) {
if(AudioThread.aClass64_351 != null && AudioThread.aClass64_351.anInt978 == 1) {
if(null != AudioThread.aClass64_351.anObject974) {
Class99.method1596(TextureOperation5.aClass94_3295, (byte)126, Unsorted.aBoolean2154);
}
TextureOperation5.aClass94_3295 = null;
Class15.aClass64_351 = null;
AudioThread.aClass64_351 = null;
Unsorted.aBoolean2154 = false;
}

View file

@ -19,64 +19,6 @@ public final class TextureOperation25 extends TextureOperation {
static int anInt3417;
static void method328(DataBuffer var1) {
try {
while (var1.index < var1.buffer.length) {
int var4 = 0;
boolean var3 = false;
int var5 = 0;
if (var1.readUnsignedByte() == 1) {
var3 = true;
var4 = var1.readUnsignedByte();
var5 = var1.readUnsignedByte();
}
int var6 = var1.readUnsignedByte();
int var7 = var1.readUnsignedByte();
int var8 = -TextureOperation37.anInt3256 + var6 * 64;
int var9 = Class108.anInt1460 + -1 - -Unsorted.anInt65 - 64 * var7;
byte var2;
int var10;
if (var8 >= 0 && (var9 - 63) >= 0 && Class23.anInt455 > var8 + 63 && Class108.anInt1460 > var9) {
var10 = var8 >> 6;
int var11 = var9 >> 6;
for (int var12 = 0; 64 > var12; ++var12) {
for (int var13 = 0; var13 < 64; ++var13) {
if (!var3 || var12 >= (var4 * 8) && 8 + 8 * var4 > var12 && var13 >= var5 * 8 && 8 + var5 * 8 > var13) {
var2 = var1.readSignedByte();
if (var2 != 0) {
if (null == TextureOperation29.aByteArrayArrayArray3390[var10][var11]) {
TextureOperation29.aByteArrayArrayArray3390[var10][var11] = new byte[4096];
}
TextureOperation29.aByteArrayArrayArray3390[var10][var11][(63 + -var13 << 6) + var12] = var2;
byte var14 = var1.readSignedByte();
if (null == CS2Script.aByteArrayArrayArray2452[var10][var11]) {
CS2Script.aByteArrayArrayArray2452[var10][var11] = new byte[4096];
}
CS2Script.aByteArrayArrayArray2452[var10][var11][var12 + (-var13 + 63 << 6)] = var14;
}
}
}
}
} else {
for (var10 = 0; (!var3 ? 4096 : 64) > var10; ++var10) {
var2 = var1.readSignedByte();
if (var2 != 0) {
++var1.index;
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "sk.F(" + -21774 + ',' + (var1 != null ? "{...}" : "null") + ')');
}
}
static void method329(int var0, int var1, int var2, int var3, int var5, int var6, int var7) {
try {
int var8 = 0;

View file

@ -186,7 +186,7 @@ final class TextureOperation34 extends TextureOperation {
}
for(var1 = 0; var1 < Class163.localNPCCount; ++var1) {
var2 = Class15.localNPCIndexes[var1];
var2 = AudioThread.localNPCIndexes[var1];
NPC var6 = NPC.npcs[var2];
if(null != var6 && var6.textCycle > 0) {
--var6.textCycle;

View file

@ -140,11 +140,11 @@ public final class TextureOperation36 extends TextureOperation {
var18 = -((-1 + var31.definition.size) * 64) + var31.zAxis;
for(var37 = 0; var37 < Class163.localNPCCount; ++var37) {
var36 = NPC.npcs[Class15.localNPCIndexes[var37]];
var36 = NPC.npcs[AudioThread.localNPCIndexes[var37]];
var21 = -(var36.definition.size * 64) - -64 + var36.xAxis;
var22 = var36.zAxis + -(var36.definition.size * 64) - -64;
if(var31 != var36 && var33 <= var21 && var31.definition.size - (-var33 + var21 >> 7) >= var36.definition.size && var18 <= var22 && var36.definition.size <= -(-var18 + var22 >> 7) + var31.definition.size) {
Unsorted.drawNpcRightClickOptions(var36.definition, var12, -126, Class15.localNPCIndexes[var37], var27);
Unsorted.drawNpcRightClickOptions(var36.definition, var12, -126, AudioThread.localNPCIndexes[var37], var27);
}
}
@ -168,11 +168,11 @@ public final class TextureOperation36 extends TextureOperation {
var18 = var30.zAxis + 64 + -(var30.getSize() * 64);
for(var37 = 0; var37 < Class163.localNPCCount; ++var37) {
var36 = NPC.npcs[Class15.localNPCIndexes[var37]];
var36 = NPC.npcs[AudioThread.localNPCIndexes[var37]];
var21 = var36.xAxis + -(var36.definition.size * 64) - -64;
var22 = var36.zAxis - 64 * var36.definition.size - -64;
if(var21 >= var33 && var36.definition.size <= -(var21 - var33 >> 7) + var30.getSize() && var18 <= var22 && -(-var18 + var22 >> 7) + var30.getSize() >= var36.definition.size) {
Unsorted.drawNpcRightClickOptions(var36.definition, var12, -121, Class15.localNPCIndexes[var37], var27);
Unsorted.drawNpcRightClickOptions(var36.definition, var12, -121, AudioThread.localNPCIndexes[var37], var27);
}
}

View file

@ -1,4 +1,5 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
import org.rs09.client.net.Connection;
import java.io.IOException;
@ -91,19 +92,19 @@ final class TextureOperation37 extends TextureOperation {
Class3_Sub15.activeConnection = new Connection((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.gameSignlink);
Class3_Sub9.aClass64_2318 = null;
Class3_Sub15.activeConnection.sendBytes(TextureOperation12.outgoingBuffer.buffer, TextureOperation12.outgoingBuffer.index);
if(WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(63);
if(WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if(null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(66);
if(null != Class3_Sub21.aAudioChannel_2491) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
response = Class3_Sub15.activeConnection.readByte();
System.out.println("Response = " + response);
if(WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(64);
if(WorldListEntry.aAudioChannel_2627 != null) {
WorldListEntry.aAudioChannel_2627.method2159();
}
if(Class3_Sub21.aClass155_2491 != null) {
Class3_Sub21.aClass155_2491.method2159(111);
if(Class3_Sub21.aAudioChannel_2491 != null) {
Class3_Sub21.aAudioChannel_2491.method2159();
}
if(response != 21) {
Unsorted.anInt1711 = response;
@ -240,11 +241,8 @@ final class TextureOperation37 extends TextureOperation {
}
}
static void method272(byte var0) {
static void displayNPCOnLoginRegion() {
try {
if(var0 != -124) {
aClass3_Sub28_Sub3_3264 = null;
}
int var1 = TextureOperation35.aByteArrayArray3335.length;
@ -275,11 +273,17 @@ final class TextureOperation37 extends TextureOperation {
int var11 = var9 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var2] >> 8) - Class131.anInt1716;
int var10 = var7 & 63;
int var12 = var10 + -Texture.anInt1152 + 64 * (255 & Class3_Sub24_Sub3.anIntArray3494[var2]);
NPCDefinition var13 = NPCDefinition.getNPCDefinition(var16.readUnsignedShort());
int npcID = var16.readUnsignedShort();
if (GameConfig.EASTER_EVENT_ENABLED) {
npcID = 1321;
}
NPCDefinition var13 = NPCDefinition.getNPCDefinition(npcID);
if(NPC.npcs[var6] == null && (var13.aByte1267 & 1) > 0 && Class140_Sub3.anInt2745 == var8 && var11 >= 0 && 104 > var13.size + var11 && var12 >= 0 && 104 > var12 - -var13.size) {
NPC.npcs[var6] = new NPC();
NPC npc = NPC.npcs[var6];
Class15.localNPCIndexes[Class163.localNPCCount++] = var6;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var6;
npc.anInt2838 = Class44.anInt719;
npc.setDefinitions(var13);
npc.setSize(npc.definition.size, 2);
@ -297,7 +301,7 @@ final class TextureOperation37 extends TextureOperation {
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "mh.E(" + var0 + ')');
throw ClientErrorException.clientError(var15, "mh.E(" + (byte) -124 + ')');
}
}

View file

@ -20,7 +20,6 @@ public class Unsorted {
public static boolean aBoolean2146 = false;
public static int incomingOpcode = 0;
public static int anInt2148 = 0;
public static boolean aBoolean2150;
public static boolean aBoolean2154;
public static int[] anIntArray882 = new int[200];
public static int anInt144;
@ -187,7 +186,7 @@ public class Unsorted {
anInt3155 += (-anInt3155 + var1) / 16;
}
if (Class15.aBoolean346) {
if (AudioThread.aBoolean346) {
for (int var3 = 0; var3 < Class3_Sub23.anInt2537; ++var3) {
int var4 = Class133.inputTextCodeArray[var3];
if (98 == var4) {
@ -311,7 +310,7 @@ public class Unsorted {
var15[var16 + 1539] = var14;
}
}
} else if (Class15.method888(var1, var13, var0, 0, var3, var10)) {
} else if (AudioThread.method888(var1, var13, var0, var3, var10)) {
return false;
}
}
@ -323,7 +322,7 @@ public class Unsorted {
var12 = (int) (var8 >>> 32) & Integer.MAX_VALUE;
var13 = ObjectDefinition.getObjectDefinition(var12);
if (var13.anInt1516 != -1) {
if (Class15.method888(var1, var13, var0, 0, var3, var10)) {
if (AudioThread.method888(var1, var13, var0, var3, var10)) {
return false;
}
} else if (var11 == 9) {
@ -353,7 +352,7 @@ public class Unsorted {
var10 = (int) var8 >> 20 & 3;
var11 = (int) (var8 >>> 32) & Integer.MAX_VALUE;
ObjectDefinition var18 = ObjectDefinition.getObjectDefinition(var11);
return var18.anInt1516 == -1 || !Class15.method888(var1, var18, var0, 0, var3, var10);
return var18.anInt1516 == -1 || !AudioThread.method888(var1, var18, var0, var3, var10);
}
return true;
@ -653,7 +652,7 @@ public class Unsorted {
public static void method1282(int var0, int var2, int var3, int var4) {
try {
for (int var5 = 0; var5 < Class3_Sub28_Sub3.anInt3557; ++var5) {
if (var0 < Class155.anIntArray1969[var5] - -Class3_Sub28_Sub18.anIntArray3768[var5] && var0 + var4 > Class155.anIntArray1969[var5] && var2 < Player.anIntArray3954[var5] - -Class140_Sub4.anIntArray2794[var5] && var3 + var2 > Player.anIntArray3954[var5]) {
if (var0 < AudioChannel.anIntArray1969[var5] - -Class3_Sub28_Sub18.anIntArray3768[var5] && var0 + var4 > AudioChannel.anIntArray1969[var5] && var2 < Player.anIntArray3954[var5] - -Class140_Sub4.anIntArray2794[var5] && var3 + var2 > Player.anIntArray3954[var5]) {
Class163_Sub1_Sub1.aBooleanArray4008[var5] = true;
}
}
@ -881,13 +880,13 @@ public class Unsorted {
}
Class17.method904(65536, var2);
RenderAnimationDefinition.method900(var2, -11973);
RenderAnimationDefinition.method900(var2);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vg.C(" + var0 + ',' + 2279 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
}
public static void method1470(int var0, SequenceDefinition var1, int var2, int var3, boolean var4, int var5) {
public static void method1470(int var0, SequenceDefinition var1, int var3, boolean var4, int var5) {
try {
if (AudioHandler.currentSoundEffectCount < 50) {
if (var1.sounds != null && var1.sounds.length > var5 && null != var1.sounds[var5]) {
@ -913,12 +912,9 @@ public class Unsorted {
AudioHandler.soundEffectVolumeArray[AudioHandler.currentSoundEffectCount] = var8;
int var11 = (-64 + var0) / 128;
var10 = (var3 + -64) / 128;
AudioHandler.anIntArray2157[AudioHandler.currentSoundEffectCount] = 0;
AudioHandler.soundEffectDelayArray[AudioHandler.currentSoundEffectCount] = 0;
AudioHandler.soundEffects[AudioHandler.currentSoundEffectCount] = null;
AudioHandler.soundEffectCoordinates[AudioHandler.currentSoundEffectCount] = var9 + (var10 << 16) + (var11 << 8);
if (var2 != 183921384) {
aClass33_1238 = null;
}
++AudioHandler.currentSoundEffectCount;
}
@ -1152,7 +1148,7 @@ public class Unsorted {
var3.anInt2760 = 0;
var3.anInt2773 = 0;
var3.anInt2828 = plane;
method1470(var3.zAxis, var4, 183921384, var3.xAxis, false, var3.anInt2832);
method1470(var3.zAxis, var4, var3.xAxis, false, var3.anInt2832);
}
if (var5 == 2) {
@ -1167,7 +1163,7 @@ public class Unsorted {
var3.anInt2811 = var3.anInt2816;
var3.anInt2832 = 0;
if (var3.anInt2771 != -1) {
method1470(var3.zAxis, SequenceDefinition.getAnimationDefinition(var3.anInt2771), dummy + 183921345, var3.xAxis, false, var3.anInt2832);
method1470(var3.zAxis, SequenceDefinition.getAnimationDefinition(var3.anInt2771), var3.xAxis, false, var3.anInt2832);
}
}
@ -2112,7 +2108,7 @@ public class Unsorted {
var12.anIntArray2755[var13] -= var10;
}
Class15.localNPCIndexes[Class163.localNPCCount++] = var11;
AudioThread.localNPCIndexes[Class163.localNPCCount++] = var11;
} else {
NPC.npcs[var11].setDefinitions(null);
NPC.npcs[var11] = null;
@ -3649,7 +3645,7 @@ public class Unsorted {
if (var11 != null && (var5 == var11.parentId || var5 == -1412584499 && var11 == Class56.aClass11_886)) {
int var12;
if (var9 == -1) {
Class155.anIntArray1969[Class3_Sub28_Sub3.anInt3557] = var2 + var11.anInt306;
AudioChannel.anIntArray1969[Class3_Sub28_Sub3.anInt3557] = var2 + var11.anInt306;
Player.anIntArray3954[Class3_Sub28_Sub3.anInt3557] = var11.anInt210 - -var1;
Class3_Sub28_Sub18.anIntArray3768[Class3_Sub28_Sub3.anInt3557] = var11.width;
Class140_Sub4.anIntArray2794[Class3_Sub28_Sub3.anInt3557] = var11.height;
@ -4760,7 +4756,7 @@ public class Unsorted {
anInt3625 = 3;
Class25.method957(true);
aBoolean3604 = true;
TextureOperation17.aBoolean3184 = true;
TextureOperation17.stereoSound = true;
Class128.aBoolean1685 = true;
Class3_Sub28_Sub9.anInt3622 = 0;
anInt3071 = 0;
@ -4787,7 +4783,7 @@ public class Unsorted {
anInt2148 = 0;
Class3_Sub20.anInt2488 = 0;
Class15.aBoolean346 = false;
AudioThread.aBoolean346 = false;
Class163_Sub3.aBoolean3004 = true;
aBoolean2146 = false;
aBoolean1080 = false;

View file

@ -27,7 +27,7 @@ public final class WorldListEntry extends Class44 {
static boolean aBoolean2623 = true;
public RSString address;
static int anInt2626 = 20;
static Class155 aClass155_2627;
static AudioChannel aAudioChannel_2627;
static void method1076() {

View file

@ -98,28 +98,28 @@ final class WorldMap extends Node {
} else if (anInt2737 == 20) {
if (GameConfig.WORLD_MAP_DEBUG)
System.out.println("World Map Debug: World Map Stage 20: String given: " + Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561.properlyCapitalize().toString());
Class15.method889(new DataBuffer(aClass153_3210.method2123(RSString.parse("underlay"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map underlay
WorldMapUnderlayDecoder.decode(new DataBuffer(aClass153_3210.method2123(RSString.parse("underlay"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map underlay
anInt2737 = 30;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 30) {
if (GameConfig.WORLD_MAP_DEBUG)
System.out.println("World Map Debug: World Map Stage 30: String given: " + Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561.properlyCapitalize().toString());
Class163_Sub2.method2219(new DataBuffer(aClass153_3210.method2123(RSString.parse("overlay"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map overlay (water)
WorldMapOverlayDecoder.decode(new DataBuffer(aClass153_3210.method2123(RSString.parse("overlay"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map overlay (water)
anInt2737 = 40;
Class75_Sub4.method1355();
} else if (anInt2737 == 40) {
if (GameConfig.WORLD_MAP_DEBUG)
System.out.println("World Map Debug: World Map Stage 40: String given: " + Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561.properlyCapitalize().toString());
TextureOperation25.method328(new DataBuffer(aClass153_3210.method2123(RSString.parse("overlay2"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//unsure
WorldMapOverlay2Decoder.decode(new DataBuffer(aClass153_3210.method2123(RSString.parse("overlay2"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//unsure
anInt2737 = 50;
Class75_Sub4.method1355();
} else if (anInt2737 == 50) {
if (GameConfig.WORLD_MAP_DEBUG)
System.out.println("World Map Debug: World Map Stage 50: String given: " + Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561.properlyCapitalize().toString());
Class96.method1587(new DataBuffer(aClass153_3210.method2123(RSString.parse("loc"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map object drawing (buildings etc)
WorldMapLOCDecoder.decode(new DataBuffer(aClass153_3210.method2123(RSString.parse("loc"), Unsorted.aClass3_Sub28_Sub3_2600.aClass94_3561)));//This controls the world map object drawing (buildings etc)
anInt2737 = 60;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 60) {
if (GameConfig.WORLD_MAP_DEBUG)
@ -141,42 +141,42 @@ final class WorldMap extends Node {
} else if (anInt2737 == 70) {
Class164_Sub2.aClass33_3019 = new Class33(11, GameShell.canvas);//Sets the font size of *some* locations on the world map interface
anInt2737 = 73;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 73) {
Unsorted.aClass33_1238 = new Class33(12, GameShell.canvas);//Unsure
anInt2737 = 76;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 76) {
Class99.aClass33_1399 = new Class33(14, GameShell.canvas);//Sets the font size of *some* cities on the world map interface
anInt2737 = 79;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 79) {
Class75_Sub2.aClass33_2637 = new Class33(17, GameShell.canvas);//unsure
anInt2737 = 82;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (anInt2737 == 82) {
Class119.aClass33_1626 = new Class33(19, GameShell.canvas);//Sets the font size of the orange region names on the world map interface
anInt2737 = 85;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (85 == anInt2737) {
Class75_Sub2.aClass33_2648 = new Class33(22, GameShell.canvas);//unsure
anInt2737 = 88;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else if (88 == anInt2737) {
Class161.aClass33_2034 = new Class33(26, GameShell.canvas);//unsure
anInt2737 = 91;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
} else {
Class91.aClass33_1305 = new Class33(30, GameShell.canvas);//unsure
anInt2737 = 100;
Class163_Sub1.method2210(true);
Class163_Sub1.ping(true);
Class75_Sub4.method1355();
System.gc();
}

View file

@ -0,0 +1,119 @@
package org.runite.client;
public final class WorldMapLOCDecoder {
static void decode(DataBuffer var1) {
try {
label134:
while (true) {
if (var1.index < var1.buffer.length) {
boolean var18 = false;
int var5 = 0;
int var6 = 0;
if (var1.readUnsignedByte() == 1) {
var5 = var1.readUnsignedByte();
var18 = true;
var6 = var1.readUnsignedByte();
}
int var7 = var1.readUnsignedByte();
int var8 = var1.readUnsignedByte();
int var9 = -TextureOperation37.anInt3256 + 64 * var7;
int var10 = -(var8 * 64) - (-Unsorted.anInt65 - -1) + Class108.anInt1460;
int var11;
int var12;
if (var9 >= 0 && -63 + var10 >= 0 && Class23.anInt455 > var9 + 63 && var10 < Class108.anInt1460) {
var11 = var9 >> 6;
var12 = var10 >> 6;
int var13 = 0;
while (true) {
if (var13 >= 64) {
continue label134;
}
for (int var14 = 0; var14 < 64; ++var14) {
if (!var18 || var13 >= 8 * var5 && 8 * var5 - -8 > var13 && 8 * var6 <= var14 && var14 < var6 * 8 - -8) {
int var15 = var1.readUnsignedByte();
if (0 != var15) {
int var2;
if (1 == (1 & var15)) {
var2 = var1.readUnsignedByte();
if (Class36.aByteArrayArrayArray640[var11][var12] == null) {
Class36.aByteArrayArrayArray640[var11][var12] = new byte[4096];
}
Class36.aByteArrayArrayArray640[var11][var12][var13 + (-var14 + 63 << 6)] = (byte) var2;
}
if (2 == (var15 & 2)) {
var2 = var1.readMedium();
if (null == Class29.anIntArrayArrayArray558[var11][var12]) {
Class29.anIntArrayArrayArray558[var11][var12] = new int[4096];
}
Class29.anIntArrayArrayArray558[var11][var12][(-var14 + 63 << 6) + var13] = var2;
}
if (4 == (var15 & 4)) {
var2 = var1.readMedium();
if (null == Class44.anIntArrayArrayArray720[var11][var12]) {
Class44.anIntArrayArrayArray720[var11][var12] = new int[4096];
}
--var2;
ObjectDefinition var3 = ObjectDefinition.getObjectDefinition(var2);
if (null != var3.ChildrenIds) {
var3 = var3.method1685(0);
if (var3 == null || var3.MapIcon == -1) {
continue;
}
}
Class44.anIntArrayArrayArray720[var11][var12][(-var14 + 63 << 6) + var13] = 1 + var3.objectId;
Class3_Sub23 var16 = new Class3_Sub23();
var16.anInt2532 = var3.MapIcon;
var16.anInt2531 = var9;
var16.anInt2539 = var10;
Class84.aLinkedList_1162.method1215(var16);
}
}
}
}
++var13;
}
}
var11 = 0;
while (true) {
if (var11 >= (var18 ? 64 : 4096)) {
continue label134;
}
var12 = var1.readUnsignedByte();
if (var12 != 0) {
if ((var12 & 1) == 1) {
++var1.index;
}
if (2 == (var12 & 2)) {
var1.index += 2;
}
if (4 == (var12 & 4)) {
var1.index += 3;
}
}
++var11;
}
}
return;
}
} catch (RuntimeException var17) {
throw ClientErrorException.clientError(var17, "nc.A(" + (byte) -83 + ',' + (var1 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -0,0 +1,62 @@
package org.runite.client;
public final class WorldMapOverlay2Decoder {
static void decode(DataBuffer var1) {
try {
while (var1.index < var1.buffer.length) {
int var4 = 0;
boolean var3 = false;
int var5 = 0;
if (var1.readUnsignedByte() == 1) {
var3 = true;
var4 = var1.readUnsignedByte();
var5 = var1.readUnsignedByte();
}
int var6 = var1.readUnsignedByte();
int var7 = var1.readUnsignedByte();
int var8 = -TextureOperation37.anInt3256 + var6 * 64;
int var9 = Class108.anInt1460 + -1 - -Unsorted.anInt65 - 64 * var7;
byte var2;
int var10;
if (var8 >= 0 && (var9 - 63) >= 0 && Class23.anInt455 > var8 + 63 && Class108.anInt1460 > var9) {
var10 = var8 >> 6;
int var11 = var9 >> 6;
for (int var12 = 0; 64 > var12; ++var12) {
for (int var13 = 0; var13 < 64; ++var13) {
if (!var3 || var12 >= (var4 * 8) && 8 + 8 * var4 > var12 && var13 >= var5 * 8 && 8 + var5 * 8 > var13) {
var2 = var1.readSignedByte();
if (var2 != 0) {
if (null == TextureOperation29.aByteArrayArrayArray3390[var10][var11]) {
TextureOperation29.aByteArrayArrayArray3390[var10][var11] = new byte[4096];
}
TextureOperation29.aByteArrayArrayArray3390[var10][var11][(63 + -var13 << 6) + var12] = var2;
byte var14 = var1.readSignedByte();
if (null == CS2Script.aByteArrayArrayArray2452[var10][var11]) {
CS2Script.aByteArrayArrayArray2452[var10][var11] = new byte[4096];
}
CS2Script.aByteArrayArrayArray2452[var10][var11][var12 + (-var13 + 63 << 6)] = var14;
}
}
}
}
} else {
for (var10 = 0; (!var3 ? 4096 : 64) > var10; ++var10) {
var2 = var1.readSignedByte();
if (var2 != 0) {
++var1.index;
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "sk.F(" + -21774 + ',' + (var1 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -0,0 +1,62 @@
package org.runite.client;
public final class WorldMapOverlayDecoder {
static void decode(DataBuffer var0) {
try {
while(var0.buffer.length > var0.index) {
int var4 = 0;
boolean var3 = false;
int var5 = 0;
if(var0.readUnsignedByte() == 1) {
var3 = true;
var4 = var0.readUnsignedByte();
var5 = var0.readUnsignedByte();
}
int var6 = var0.readUnsignedByte();
int var7 = var0.readUnsignedByte();
int var9 = -(var7 * 64) - (-Unsorted.anInt65 - Class108.anInt1460 + 1);
int var8 = var6 * 64 + -TextureOperation37.anInt3256;
byte var2;
int var10;
if(var8 >= 0 && (var9 - 63) >= 0 && Class23.anInt455 > (var8 + 63) && var9 < Class108.anInt1460) {
var10 = var8 >> 6;
int var11 = var9 >> 6;
for(int var12 = 0; var12 < 64; ++var12) {
for(int var13 = 0; var13 < 64; ++var13) {
if(!var3 || (8 * var4) <= var12 && var12 < 8 + var4 * 8 && var13 >= var5 * 8 && (8 + var5 * 8) > var13) {
var2 = var0.readSignedByte();
if(var2 != 0) {
if(RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] == null) {
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] = new byte[4096];
}
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11][var12 + (-var13 + 63 << 6)] = var2;
byte var14 = var0.readSignedByte();
if(Class3_Sub10.aByteArrayArrayArray2339[var10][var11] == null) {
Class3_Sub10.aByteArrayArrayArray2339[var10][var11] = new byte[4096];
}
Class3_Sub10.aByteArrayArrayArray2339[var10][var11][var12 + (63 - var13 << 6)] = var14;
}
}
}
}
} else {
for(var10 = 0; var10 < (var3 ? 64 : 4096); ++var10) {
var2 = var0.readSignedByte();
if(0 != var2) {
++var0.index;
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "dk.C(" + (var0 != null?"{...}":"null") + ',' + false + ')');
}
}
}

View file

@ -0,0 +1,142 @@
package org.runite.client;
public final class WorldMapUnderlayDecoder {
static void decode(DataBuffer var1) {
try {
int var3 = Class158.anInt2010 >> 1;
int var2 = AudioThread.anInt4034 >> 2 << 10;
byte[][] var4 = new byte[Class23.anInt455][Class108.anInt1460];
int var6;
int var12;
int var14;
while (var1.index < var1.buffer.length) {
int var7 = 0;
var6 = 0;
boolean var5 = false;
if (var1.readUnsignedByte() == 1) {
var6 = var1.readUnsignedByte();
var7 = var1.readUnsignedByte();
var5 = true;
}
int var8 = var1.readUnsignedByte();
int var9 = var1.readUnsignedByte();
int var10 = -TextureOperation37.anInt3256 + var8 * 64;
int var11 = -1 + Class108.anInt1460 - var9 * 64 + Unsorted.anInt65;
if (var10 >= 0 && 0 <= -63 + var11 && Class23.anInt455 > var10 - -63 && var11 < Class108.anInt1460) {
for (var12 = 0; var12 < 64; ++var12) {
byte[] var13 = var4[var10 - -var12];
for (var14 = 0; 64 > var14; ++var14) {
if (!var5 || var12 >= 8 * var6 && 8 + 8 * var6 > var12 && var14 >= var7 * 8 && var14 < 8 + 8 * var7) {
var13[var11 - var14] = var1.readSignedByte();
}
}
}
} else if (var5) {
var1.index += 64;
} else {
var1.index += 4096;
}
}
int var27 = Class23.anInt455;
var6 = Class108.anInt1460;
int[] var29 = new int[var6];
int[] var28 = new int[var6];
int[] var30 = new int[var6];
int[] var32 = new int[var6];
int[] var31 = new int[var6];
for (var12 = -5; var27 > var12; ++var12) {
int var15;
int var35;
for (int var34 = 0; var6 > var34; ++var34) {
var14 = var12 + 5;
if (var27 > var14) {
var15 = 255 & var4[var14][var34];
if (var15 > 0) {
MapUnderlayColorDefinition var16 = MapUnderlayColorDefinition.method629(var15 - 1);
var28[var34] += var16.anInt1408;
var29[var34] += var16.anInt1406;
var30[var34] += var16.anInt1417;
var32[var34] += var16.anInt1418;
++var31[var34];
}
}
var15 = var12 + -5;
if (var15 >= 0) {
var35 = var4[var15][var34] & 0xFF;
if (0 < var35) {
MapUnderlayColorDefinition var17 = MapUnderlayColorDefinition.method629(-1 + var35);
var28[var34] -= var17.anInt1408;
var29[var34] -= var17.anInt1406;
var30[var34] -= var17.anInt1417;
var32[var34] -= var17.anInt1418;
--var31[var34];
}
}
}
if (var12 >= 0) {
int[][] var33 = Class146.anIntArrayArrayArray1903[var12 >> 6];
var14 = 0;
var15 = 0;
int var36 = 0;
int var18 = 0;
var35 = 0;
for (int var19 = -5; var6 > var19; ++var19) {
int var20 = var19 - -5;
if (var6 > var20) {
var18 += var31[var20];
var15 += var29[var20];
var35 += var30[var20];
var14 += var28[var20];
var36 += var32[var20];
}
int var21 = -5 + var19;
if (var21 >= 0) {
var35 -= var30[var21];
var36 -= var32[var21];
var14 -= var28[var21];
var18 -= var31[var21];
var15 -= var29[var21];
}
if (var19 >= 0 && 0 < var18) {
int[] var22 = var33[var19 >> 6];
int var23 = var36 != 0 ? Class3_Sub8.method129(var35 / var18, var15 / var18, var14 * 256 / var36) : 0;
if (var4[var12][var19] == 0) {
if (var22 != null) {
var22[Unsorted.bitwiseAnd(4032, var19 << 6) - -Unsorted.bitwiseAnd(var12, 63)] = 0;
}
} else {
if (var22 == null) {
var22 = var33[var19 >> 6] = new int[4096];
}
int var24 = var3 + (var23 & 127);
if (var24 < 0) {
var24 = 0;
} else if (var24 > 127) {
var24 = 127;
}
int var25 = var24 + (896 & var23) + (var23 + var2 & '\ufc00');
var22[Unsorted.bitwiseAnd(4032, var19 << 6) + Unsorted.bitwiseAnd(63, var12)] = Class51.anIntArray834[Unsorted.method1100(96, var25)];
}
}
}
}
}
} catch (RuntimeException var26) {
throw ClientErrorException.clientError(var26, "cj.H(" + (var1 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -105,7 +105,7 @@ public final class Minimap {
}
for (var9 = 0; var9 < Class163.localNPCCount; ++var9) {
NPC var21 = NPC.npcs[Class15.localNPCIndexes[var9]];
NPC var21 = NPC.npcs[AudioThread.localNPCIndexes[var9]];
if (var21 != null && var21.hasDefinitions()) {
NPCDefinition var22 = var21.definition;
if (null != var22 && null != var22.childNPCs) {

View file

@ -320,6 +320,8 @@ class GameConfig {
@JvmField
var HOLIDAYS_ENABLED = true
@JvmField
var EASTER_EVENT_ENABLED = false
/**
* Halloween event NPC Definitions are handled inside of NPCDefinition.java
*/
@ -334,11 +336,17 @@ class GameConfig {
private val calendar: Calendar = Calendar.getInstance()
private val month = calendar.get(Calendar.MONTH)
private val day = calendar.get(Calendar.DAY_OF_MONTH)
@JvmStatic
fun implementHoliday() {
if (HOLIDAYS_ENABLED) {
when (month) {
3 -> {
if (day <= 8) {
EASTER_EVENT_ENABLED = true
}
}
9 -> HALLOWEEN_EVENT_ENABLED = true
10 -> THANKSGIVING_EVENT_ENABLED = true
11 -> CHRISTMAS_EVENT_ENABLED = true

View file

@ -243,8 +243,19 @@ object DeveloperConsole {
println("Error. Displays error message on login, account creation. Use: errormsg #")
}
}
"playsound" -> {
if (argSize == 4) {
val soundID = if (clientCommand[1].toIntOrNull() == null) 0 else clientCommand[1].toInt()
val soundDelay = if (clientCommand[2].toIntOrNull() == null) 0 else clientCommand[2].toInt()
val soundVolume = if (clientCommand[3].toIntOrNull() == null) 0 else clientCommand[3].toInt()
AudioHandler.soundEffectHandler(soundVolume, soundID, soundDelay)
println("Playing sound: $soundID with delay: $soundDelay volume: $soundVolume")
} else {
println("Error. Plays sound effect. Use: playsound soundID soundDelay soundVolume")
}
}
"playsong" -> {
if (argSize in 2..4) {
if (argSize in 2..8) {
if (clientCommand[1].toIntOrNull() == null) {
clientCommand.removeFirst()
AudioHandler.musicHandler(

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -5199,7 +5199,7 @@
"attack_level": "1"
},
{
"examine": "Examine not added",
"examine": "An annoying flappy thing.",
"slayer_task": "5",
"attack_speed": "5",
"magic_level": "10",
@ -5207,6 +5207,9 @@
"weakness": "4",
"slayer_exp": "8",
"death_animation": "4918",
"melee_animation": "4915",
"range_animation": "4915",
"defence_animation": "4916",
"name": "Bat",
"defence_level": "2",
"safespot": null,

View file

@ -36,7 +36,6 @@ public final class DropItemHandler {
return true;
}
player.getDialogueInterpreter().close();
player.getAudioManager().send(new Audio(2393, 0, 0));
player.getPulseManager().clear();
if (option.equalsIgnoreCase("destroy") || option.equalsIgnoreCase("dissolve")) {
player.getDialogueInterpreter().open(9878, item);
@ -48,7 +47,7 @@ public final class DropItemHandler {
}
if (player.getInventory().replace(null, item.getSlot()) == item) {
item = item.getDropItem();
player.getAudioManager().send(new Audio(item.getId() == 995 ? 10 : 2739, 1, 0));
player.getAudioManager().send(new Audio(item.getId() == 995 ? 10 : 2739, 1, 0));//2739 ACTUAL DROP SOUND
GroundItemManager.create(item, player.getLocation(), player);
PlayerParser.save(player);
}