Client sound fix (dropping still has sound issues)

Cache now includes all music + sfx + sound (taken from revision 550)
Drop item handler - removed useless send audio
This commit is contained in:
Woah 2021-03-31 06:23:23 -04:00
parent 8b1bcd3a4c
commit b6495f8d33
58 changed files with 855 additions and 847 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

@ -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;
@ -227,7 +227,7 @@ public final class Class40 {
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,16 +1528,16 @@ 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);
Class3_Sub21.aAudioChannel_2491.method2154(Class3_Sub26.aClass3_Sub24_Sub2_2563);
Class27.resampler = new Class157(22050, Class21.sampleRate);
KeyboardListener.loginThemeSongArchiveID = CacheIndex.musicIndex.getArchiveForName(RSString.parse(GameConfig.LOGIN_THEME));
LoadingStageNumber = 30;
anInt1354 = 50;

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

@ -91,19 +91,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;
@ -279,7 +279,7 @@ final class TextureOperation37 extends TextureOperation {
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);

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

@ -243,6 +243,17 @@ 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 (clientCommand[1].toIntOrNull() == null) {