diff --git a/Client/src/main/java/org/runite/client/Class155.java b/Client/src/main/java/org/runite/client/AudioChannel.java similarity index 64% rename from Client/src/main/java/org/runite/client/Class155.java rename to Client/src/main/java/org/runite/client/AudioChannel.java index 3d41a18ac..d08fe52f8 100644 --- a/Client/src/main/java/org/runite/client/Class155.java +++ b/Client/src/main/java/org/runite/client/AudioChannel.java @@ -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 { } } diff --git a/Client/src/main/java/org/runite/client/AudioHandler.java b/Client/src/main/java/org/runite/client/AudioHandler.java index 08b5f1bcf..b52670c1e 100644 --- a/Client/src/main/java/org/runite/client/AudioHandler.java +++ b/Client/src/main/java/org/runite/client/AudioHandler.java @@ -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") + ')'); + } + } } diff --git a/Client/src/main/java/org/runite/client/Class15.java b/Client/src/main/java/org/runite/client/AudioThread.java similarity index 50% rename from Client/src/main/java/org/runite/client/Class15.java rename to Client/src/main/java/org/runite/client/AudioThread.java index b60c53ac3..90cedbc09 100644 --- a/Client/src/main/java/org/runite/client/Class15.java +++ b/Client/src/main/java/org/runite/client/AudioThread.java @@ -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(); } diff --git a/Client/src/main/java/org/runite/client/CS2Script.java b/Client/src/main/java/org/runite/client/CS2Script.java index 990574b63..1ad655ab2 100644 --- a/Client/src/main/java/org/runite/client/CS2Script.java +++ b/Client/src/main/java/org/runite/client/CS2Script.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class102.java b/Client/src/main/java/org/runite/client/Class102.java index e3f24fd92..c778b1156 100644 --- a/Client/src/main/java/org/runite/client/Class102.java +++ b/Client/src/main/java/org/runite/client/Class102.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class121.java b/Client/src/main/java/org/runite/client/Class121.java index a141f8166..b45fbff11 100644 --- a/Client/src/main/java/org/runite/client/Class121.java +++ b/Client/src/main/java/org/runite/client/Class121.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class125.java b/Client/src/main/java/org/runite/client/Class125.java index 13ac98ebf..eca1b2134 100644 --- a/Client/src/main/java/org/runite/client/Class125.java +++ b/Client/src/main/java/org/runite/client/Class125.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class128.java b/Client/src/main/java/org/runite/client/Class128.java index 91ecb70bf..07e504bad 100644 --- a/Client/src/main/java/org/runite/client/Class128.java +++ b/Client/src/main/java/org/runite/client/Class128.java @@ -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(); } } diff --git a/Client/src/main/java/org/runite/client/Class140_Sub3.java b/Client/src/main/java/org/runite/client/Class140_Sub3.java index 8e07b6334..9c72d967a 100644 --- a/Client/src/main/java/org/runite/client/Class140_Sub3.java +++ b/Client/src/main/java/org/runite/client/Class140_Sub3.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class163_Sub1.java b/Client/src/main/java/org/runite/client/Class163_Sub1.java index cc08549a8..638565354 100644 --- a/Client/src/main/java/org/runite/client/Class163_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class163_Sub1.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class163_Sub1_Sub1.java b/Client/src/main/java/org/runite/client/Class163_Sub1_Sub1.java index 47284e40b..7472defea 100644 --- a/Client/src/main/java/org/runite/client/Class163_Sub1_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class163_Sub1_Sub1.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class163_Sub2.java b/Client/src/main/java/org/runite/client/Class163_Sub2.java index 1d7b8b45e..f4ef51665 100644 --- a/Client/src/main/java/org/runite/client/Class163_Sub2.java +++ b/Client/src/main/java/org/runite/client/Class163_Sub2.java @@ -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 + ')'); - } - } - } diff --git a/Client/src/main/java/org/runite/client/Class163_Sub2_Sub1.java b/Client/src/main/java/org/runite/client/Class163_Sub2_Sub1.java index fe6f19e0f..233e3520e 100644 --- a/Client/src/main/java/org/runite/client/Class163_Sub2_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class163_Sub2_Sub1.java @@ -55,17 +55,6 @@ final class Class163_Sub2_Sub1 extends Class163_Sub2 { } } -// static void method2222() { -// try { -// Unsorted.aReferenceCache_4043.clearSoftReferences(); -// CS2Script.aReferenceCache_2442.clearSoftReferences(); -// Class154.aReferenceCache_1964.clearSoftReferences(); -// -// } catch (RuntimeException var2) { -// throw ClientErrorException.clientError(var2, "t.G(" + (byte) 127 + ')'); -// } -// } - static void method2223(boolean var0, byte var1) { try { byte var3; diff --git a/Client/src/main/java/org/runite/client/Class21.java b/Client/src/main/java/org/runite/client/Class21.java index 547338ae7..ac0944c73 100644 --- a/Client/src/main/java/org/runite/client/Class21.java +++ b/Client/src/main/java/org/runite/client/Class21.java @@ -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; } } diff --git a/Client/src/main/java/org/runite/client/Class23.java b/Client/src/main/java/org/runite/client/Class23.java index baf8e1d95..b0d161cd4 100644 --- a/Client/src/main/java/org/runite/client/Class23.java +++ b/Client/src/main/java/org/runite/client/Class23.java @@ -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); diff --git a/Client/src/main/java/org/runite/client/Class38_Sub1.java b/Client/src/main/java/org/runite/client/Class38_Sub1.java index 1df82fee3..448a84f0e 100644 --- a/Client/src/main/java/org/runite/client/Class38_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class38_Sub1.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/Class39.java b/Client/src/main/java/org/runite/client/Class39.java index c6eebb894..ad540fca2 100644 --- a/Client/src/main/java/org/runite/client/Class39.java +++ b/Client/src/main/java/org/runite/client/Class39.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/Class3_Sub21.java b/Client/src/main/java/org/runite/client/Class3_Sub21.java index 3e863faf4..ce1e09355 100644 --- a/Client/src/main/java/org/runite/client/Class3_Sub21.java +++ b/Client/src/main/java/org/runite/client/Class3_Sub21.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub1.java b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub1.java index 095540687..ea50353ae 100644 --- a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub1.java @@ -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() { diff --git a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub3.java b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub3.java index 6be3790c8..24ef2489e 100644 --- a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub3.java +++ b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub3.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub4.java b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub4.java index 263088a0b..7b2cf199f 100644 --- a/Client/src/main/java/org/runite/client/Class3_Sub24_Sub4.java +++ b/Client/src/main/java/org/runite/client/Class3_Sub24_Sub4.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class40.java b/Client/src/main/java/org/runite/client/Class40.java index cc0e54a8e..c545be586 100644 --- a/Client/src/main/java/org/runite/client/Class40.java +++ b/Client/src/main/java/org/runite/client/Class40.java @@ -59,7 +59,7 @@ public final class Class40 { static void method1046() { try { - Class163_Sub1.method2210(false); + Class163_Sub1.ping(false); anInt3293 = 0; boolean var1 = true; @@ -208,11 +208,11 @@ public final class Class40 { Class58.method1194(); System.gc(); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); Class117.method1720(false, 105); if (!LinkableRSString.isDynamicSceneGraph) { Unsorted.method1091(false, -93); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); if (HDToolKit.highDetail) { var12 = Class102.player.anIntArray2767[0] >> 3; var4 = Class102.player.anIntArray2755[0] >> 3; @@ -221,13 +221,13 @@ public final class Class40 { TextureOperation26.method198(false); if (null != TextureOperation35.aByteArrayArray3335) { - TextureOperation37.method272((byte) -124); + TextureOperation37.displayNPCOnLoginRegion(); } } if (LinkableRSString.isDynamicSceneGraph) { Class49.method1121(false, (byte) 98); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); if (HDToolKit.highDetail) { var12 = Class102.player.anIntArray2767[0] >> 3; var4 = Class102.player.anIntArray2755[0] >> 3; @@ -238,13 +238,13 @@ public final class Class40 { } TextureOperation13.method313((byte) 90); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); method2189(AtmosphereParser.aClass91Array1182, false, 66); if (HDToolKit.highDetail) { Class68.method1270(); } - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); var12 = Class85.anInt1174; if (var12 > WorldListCountry.localPlane) { var12 = WorldListCountry.localPlane; @@ -265,20 +265,20 @@ public final class Class40 { Class117.method1720(true, 105); if (!LinkableRSString.isDynamicSceneGraph) { Unsorted.method1091(true, -121); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); TextureOperation26.method198(true); } if (LinkableRSString.isDynamicSceneGraph) { Class49.method1121(true, (byte) 56); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); Class163_Sub2_Sub1.method2223(true, (byte) -105); } TextureOperation13.method313((byte) 102); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); method2189(AtmosphereParser.aClass91Array1182, true, 112); - Class163_Sub1.method2210(true); + Class163_Sub1.ping(true); Class56.method1188(); Class167.method2264(false); } diff --git a/Client/src/main/java/org/runite/client/Class49.java b/Client/src/main/java/org/runite/client/Class49.java index 41441260b..c5dc562d4 100644 --- a/Client/src/main/java/org/runite/client/Class49.java +++ b/Client/src/main/java/org/runite/client/Class49.java @@ -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); } } } diff --git a/Client/src/main/java/org/runite/client/Class52.java b/Client/src/main/java/org/runite/client/Class52.java index ec578f2f8..c7ad28384 100644 --- a/Client/src/main/java/org/runite/client/Class52.java +++ b/Client/src/main/java/org/runite/client/Class52.java @@ -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]) { diff --git a/Client/src/main/java/org/runite/client/Class58.java b/Client/src/main/java/org/runite/client/Class58.java index ce30ff8a6..5da452c1a 100644 --- a/Client/src/main/java/org/runite/client/Class58.java +++ b/Client/src/main/java/org/runite/client/Class58.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/Class75_Sub1.java b/Client/src/main/java/org/runite/client/Class75_Sub1.java index 27aa7509c..28e9a6856 100644 --- a/Client/src/main/java/org/runite/client/Class75_Sub1.java +++ b/Client/src/main/java/org/runite/client/Class75_Sub1.java @@ -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); } } } diff --git a/Client/src/main/java/org/runite/client/Class79.java b/Client/src/main/java/org/runite/client/Class79.java index 49ae23654..043e62add 100644 --- a/Client/src/main/java/org/runite/client/Class79.java +++ b/Client/src/main/java/org/runite/client/Class79.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Class84.java b/Client/src/main/java/org/runite/client/Class84.java index 47b5cae95..461bd1124 100644 --- a/Client/src/main/java/org/runite/client/Class84.java +++ b/Client/src/main/java/org/runite/client/Class84.java @@ -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 + ')'); } diff --git a/Client/src/main/java/org/runite/client/Class96.java b/Client/src/main/java/org/runite/client/Class96.java index 83a755fc4..018245134 100644 --- a/Client/src/main/java/org/runite/client/Class96.java +++ b/Client/src/main/java/org/runite/client/Class96.java @@ -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") + ')'); - } - } } diff --git a/Client/src/main/java/org/runite/client/Client.java b/Client/src/main/java/org/runite/client/Client.java index 755b4ffaf..b0948df29 100644 --- a/Client/src/main/java/org/runite/client/Client.java +++ b/Client/src/main/java/org/runite/client/Client.java @@ -747,8 +747,8 @@ public final class Client extends GameShell { try { if (Class143.gameStage != 1000) { boolean var2 = NPC.method1988(); - if (var2 && AudioHandler.musicEffectPlaying && WorldListEntry.aClass155_2627 != null) { - WorldListEntry.aClass155_2627.method2158(); + if (var2 && AudioHandler.musicEffectPlaying && WorldListEntry.aAudioChannel_2627 != null) { + WorldListEntry.aAudioChannel_2627.method2158(); } if ((Class143.gameStage == 30 || Class143.gameStage == 10) && (Class3_Sub28_Sub5.forceReplaceCanvasEnable || Class53.aLong866 != 0 && Class53.aLong866 < TimeUtils.time())) { @@ -855,7 +855,7 @@ public final class Client extends GameShell { for (var5 = 0; Class3_Sub28_Sub3.anInt3557 > var5; ++var5) { if (Class163_Sub1_Sub1.aBooleanArray4008[var5]) { - Unsorted.aClass158_3009.drawGraphics(Class3_Sub28_Sub18.anIntArray3768[var5], Class155.anIntArray1969[var5], Class140_Sub4.anIntArray2794[var5], var11, Player.anIntArray3954[var5]); + Unsorted.aClass158_3009.drawGraphics(Class3_Sub28_Sub18.anIntArray3768[var5], AudioChannel.anIntArray1969[var5], Class140_Sub4.anIntArray2794[var5], var11, Player.anIntArray3954[var5]); Class163_Sub1_Sub1.aBooleanArray4008[var5] = false; } } @@ -932,12 +932,12 @@ public final class Client extends GameShell { TextureOperation12.method167(0); MouseListeningClass.method2090(); Class38.aClass146_668 = null; - if (null != WorldListEntry.aClass155_2627) { - WorldListEntry.aClass155_2627.method2163(); + if (null != WorldListEntry.aAudioChannel_2627) { + WorldListEntry.aAudioChannel_2627.method2163(); } - if (null != Class3_Sub21.aClass155_2491) { - Class3_Sub21.aClass155_2491.method2163(); + if (null != Class3_Sub21.aAudioChannel_2491) { + Class3_Sub21.aAudioChannel_2491.method2163(); } Class58.aJs5Worker_917.close(); @@ -1074,7 +1074,7 @@ public final class Client extends GameShell { switch (Class158.paramGameTypeID) { case GAME_TYPE_RUNESCAPE: - Class15.aShortArrayArray344 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray3654(); + AudioThread.aShortArrayArray344 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray3654(); Class91.aShortArray1311 = RunescapeGameAppearance.INSTANCE.getAShortArray3349(); Class101.aShortArrayArray1429 = RunescapeGameAppearance.INSTANCE.getAShortArrayArray435(); Class3_Sub25.aShortArray2548 = RunescapeGameAppearance.INSTANCE.getAShortArray3011(); @@ -1084,7 +1084,7 @@ public final class Client extends GameShell { ClientCommands.shiftClickEnabled = true; Class92.defaultScreenColorRgb = 16777215; Class92.defaultRegionAmbientRGB = 0; - Class15.aShortArrayArray344 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray1619(); + AudioThread.aShortArrayArray344 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray1619(); Class101.aShortArrayArray1429 = MechscapeGameAppearance.INSTANCE.getAShortArrayArray2634(); Class3_Sub25.aShortArray2548 = MechscapeGameAppearance.INSTANCE.getAShortArray63(); Class91.aShortArray1311 = MechscapeGameAppearance.INSTANCE.getAShortArray2219(); @@ -1208,7 +1208,7 @@ public final class Client extends GameShell { Unsorted.method1180((byte) -122, var4); Class17.method904(65536, var4); - RenderAnimationDefinition.method900(var4, (byte) 1 ^ -11974); + RenderAnimationDefinition.method900(var4); AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].method1489(var4.xAxis >> 7, false, (byte) 85, var4.zAxis >> 7, var4.getSize(), var4.getSize()); } } @@ -1243,14 +1243,14 @@ public final class Client extends GameShell { PacketParser.method829(); } - if (null != Class15.aClass64_351 && Class15.aClass64_351.anInt978 == 1) { - if (null != Class15.aClass64_351.anObject974) { + if (null != AudioThread.aClass64_351 && AudioThread.aClass64_351.anInt978 == 1) { + if (null != AudioThread.aClass64_351.anObject974) { Class99.method1596(TextureOperation5.aClass94_3295, (byte) 126, Unsorted.aBoolean2154); } Unsorted.aBoolean2154 = false; TextureOperation5.aClass94_3295 = null; - Class15.aClass64_351 = null; + AudioThread.aClass64_351 = null; } if (Class44.anInt719 % 1500 == 0) { @@ -1528,17 +1528,25 @@ public final class Client extends GameShell { anInt1354 = 45; } } else if (anInt1354 == 45) { - Class140_Sub3.method1959(TextureOperation17.aBoolean3184); + Class140_Sub3.method1959(TextureOperation17.stereoSound); aClass3_Sub24_Sub4_1193 = new Class3_Sub24_Sub4(); aClass3_Sub24_Sub4_1193.method479(); - WorldListEntry.aClass155_2627 = Class58.method1195(22050, Class38.gameSignlink, GameShell.canvas, 0); - WorldListEntry.aClass155_2627.method2154(-116, aClass3_Sub24_Sub4_1193); - RenderAnimationDefinition.method897(aClass3_Sub24_Sub4_1193, CacheIndex.soundFX3Index, CacheIndex.soundFX2Index, CacheIndex.soundFXIndex); - Class3_Sub21.aClass155_2491 = Class58.method1195(2048, Class38.gameSignlink, GameShell.canvas, 1); + WorldListEntry.aAudioChannel_2627 = AudioChannel.method1195(22050, Class38.gameSignlink, GameShell.canvas, 0); + WorldListEntry.aAudioChannel_2627.method2154(aClass3_Sub24_Sub4_1193); + AudioHandler.method897(aClass3_Sub24_Sub4_1193, CacheIndex.soundFX3Index, CacheIndex.soundFX2Index, CacheIndex.soundFXIndex); + Class3_Sub21.aAudioChannel_2491 = AudioChannel.method1195(2048, Class38.gameSignlink, GameShell.canvas, 1); Class3_Sub26.aClass3_Sub24_Sub2_2563 = new Class3_Sub24_Sub2(); - Class3_Sub21.aClass155_2491.method2154(-128, Class3_Sub26.aClass3_Sub24_Sub2_2563); - Class27.resampler = new Class157(22050, Class21.anInt443); - KeyboardListener.loginThemeSongArchiveID = CacheIndex.musicIndex.getArchiveForName(RSString.parse(GameConfig.LOGIN_THEME)); + Class3_Sub21.aAudioChannel_2491.method2154(Class3_Sub26.aClass3_Sub24_Sub2_2563); + Class27.resampler = new Class157(22050, Class21.sampleRate); + + int loginThemeID; + if (GameConfig.EASTER_EVENT_ENABLED) { + loginThemeID = CacheIndex.musicIndex.getArchiveForName(RSString.parse("Funny Bunnies")); + } else { + loginThemeID = CacheIndex.musicIndex.getArchiveForName(RSString.parse(GameConfig.LOGIN_THEME)); + } + + KeyboardListener.loginThemeSongArchiveID = loginThemeID; LoadingStageNumber = 30; anInt1354 = 50; loadingBarTextToDisplay = TextCore.PreparedSoundEngine; diff --git a/Client/src/main/java/org/runite/client/GameShell.java b/Client/src/main/java/org/runite/client/GameShell.java index 874dfd90c..11ef81a31 100644 --- a/Client/src/main/java/org/runite/client/GameShell.java +++ b/Client/src/main/java/org/runite/client/GameShell.java @@ -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 + ')'); } diff --git a/Client/src/main/java/org/runite/client/Class155_Sub2.java b/Client/src/main/java/org/runite/client/JavaAudioChannel.java similarity index 77% rename from Client/src/main/java/org/runite/client/Class155_Sub2.java rename to Client/src/main/java/org/runite/client/JavaAudioChannel.java index e296e5b50..e537f403b 100644 --- a/Client/src/main/java/org/runite/client/Class155_Sub2.java +++ b/Client/src/main/java/org/runite/client/JavaAudioChannel.java @@ -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; } diff --git a/Client/src/main/java/org/runite/client/LinkableRSString.java b/Client/src/main/java/org/runite/client/LinkableRSString.java index 40d9e5cf2..e03259013 100644 --- a/Client/src/main/java/org/runite/client/LinkableRSString.java +++ b/Client/src/main/java/org/runite/client/LinkableRSString.java @@ -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); diff --git a/Client/src/main/java/org/runite/client/LoginHandler.java b/Client/src/main/java/org/runite/client/LoginHandler.java index 428a8af03..d41ff501f 100644 --- a/Client/src/main/java/org/runite/client/LoginHandler.java +++ b/Client/src/main/java/org/runite/client/LoginHandler.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/NPC.java b/Client/src/main/java/org/runite/client/NPC.java index 9b9befd0e..e0fdd24ec 100644 --- a/Client/src/main/java/org/runite/client/NPC.java +++ b/Client/src/main/java/org/runite/client/NPC.java @@ -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); } } } diff --git a/Client/src/main/java/org/runite/client/NPCRendering.java b/Client/src/main/java/org/runite/client/NPCRendering.java index 58f8123f5..d867749de 100644 --- a/Client/src/main/java/org/runite/client/NPCRendering.java +++ b/Client/src/main/java/org/runite/client/NPCRendering.java @@ -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); diff --git a/Client/src/main/java/org/runite/client/PacketParser.java b/Client/src/main/java/org/runite/client/PacketParser.java index 41383888f..ee0475b1d 100644 --- a/Client/src/main/java/org/runite/client/PacketParser.java +++ b/Client/src/main/java/org/runite/client/PacketParser.java @@ -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) { diff --git a/Client/src/main/java/org/runite/client/Player.java b/Client/src/main/java/org/runite/client/Player.java index 9fefd6f2d..f008e12c9 100644 --- a/Client/src/main/java/org/runite/client/Player.java +++ b/Client/src/main/java/org/runite/client/Player.java @@ -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; } diff --git a/Client/src/main/java/org/runite/client/PlayerRendering.java b/Client/src/main/java/org/runite/client/PlayerRendering.java index 468b58669..342f76915 100644 --- a/Client/src/main/java/org/runite/client/PlayerRendering.java +++ b/Client/src/main/java/org/runite/client/PlayerRendering.java @@ -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); } } diff --git a/Client/src/main/java/org/runite/client/RenderAnimationDefinition.java b/Client/src/main/java/org/runite/client/RenderAnimationDefinition.java index 8e97971d2..eb08311b3 100644 --- a/Client/src/main/java/org/runite/client/RenderAnimationDefinition.java +++ b/Client/src/main/java/org/runite/client/RenderAnimationDefinition.java @@ -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 + ')'); } } diff --git a/Client/src/main/java/org/runite/client/Class155_Sub1.java b/Client/src/main/java/org/runite/client/SignLinkAudioChannel.java similarity index 58% rename from Client/src/main/java/org/runite/client/Class155_Sub1.java rename to Client/src/main/java/org/runite/client/SignLinkAudioChannel.java index 058853164..094e1a902 100644 --- a/Client/src/main/java/org/runite/client/Class155_Sub1.java +++ b/Client/src/main/java/org/runite/client/SignLinkAudioChannel.java @@ -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); } } diff --git a/Client/src/main/java/org/runite/client/Texture.java b/Client/src/main/java/org/runite/client/Texture.java index e9a0f9dc2..b73291c51 100644 --- a/Client/src/main/java/org/runite/client/Texture.java +++ b/Client/src/main/java/org/runite/client/Texture.java @@ -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 { diff --git a/Client/src/main/java/org/runite/client/TextureOperation17.java b/Client/src/main/java/org/runite/client/TextureOperation17.java index 5e688630f..dfc45faba 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation17.java +++ b/Client/src/main/java/org/runite/client/TextureOperation17.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/TextureOperation18.java b/Client/src/main/java/org/runite/client/TextureOperation18.java index aabdbf323..02d132d0a 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation18.java +++ b/Client/src/main/java/org/runite/client/TextureOperation18.java @@ -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") + ')'); } diff --git a/Client/src/main/java/org/runite/client/TextureOperation20.java b/Client/src/main/java/org/runite/client/TextureOperation20.java index d3a04fa88..14bee2ec1 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation20.java +++ b/Client/src/main/java/org/runite/client/TextureOperation20.java @@ -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; } diff --git a/Client/src/main/java/org/runite/client/TextureOperation25.java b/Client/src/main/java/org/runite/client/TextureOperation25.java index 4ddc38cf1..087413f4d 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation25.java +++ b/Client/src/main/java/org/runite/client/TextureOperation25.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/TextureOperation34.java b/Client/src/main/java/org/runite/client/TextureOperation34.java index 48ee0f281..bcaf7ac94 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation34.java +++ b/Client/src/main/java/org/runite/client/TextureOperation34.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/TextureOperation36.java b/Client/src/main/java/org/runite/client/TextureOperation36.java index ae55018cb..8ba725657 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation36.java +++ b/Client/src/main/java/org/runite/client/TextureOperation36.java @@ -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); } } diff --git a/Client/src/main/java/org/runite/client/TextureOperation37.java b/Client/src/main/java/org/runite/client/TextureOperation37.java index 7591bc1b0..f8dd00007 100644 --- a/Client/src/main/java/org/runite/client/TextureOperation37.java +++ b/Client/src/main/java/org/runite/client/TextureOperation37.java @@ -1,4 +1,5 @@ package org.runite.client; +import org.rs09.client.config.GameConfig; import org.rs09.client.net.Connection; import java.io.IOException; @@ -91,19 +92,19 @@ final class TextureOperation37 extends TextureOperation { Class3_Sub15.activeConnection = new Connection((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.gameSignlink); Class3_Sub9.aClass64_2318 = null; Class3_Sub15.activeConnection.sendBytes(TextureOperation12.outgoingBuffer.buffer, TextureOperation12.outgoingBuffer.index); - if(WorldListEntry.aClass155_2627 != null) { - WorldListEntry.aClass155_2627.method2159(63); + if(WorldListEntry.aAudioChannel_2627 != null) { + WorldListEntry.aAudioChannel_2627.method2159(); } - if(null != Class3_Sub21.aClass155_2491) { - Class3_Sub21.aClass155_2491.method2159(66); + if(null != Class3_Sub21.aAudioChannel_2491) { + Class3_Sub21.aAudioChannel_2491.method2159(); } response = Class3_Sub15.activeConnection.readByte(); System.out.println("Response = " + response); - if(WorldListEntry.aClass155_2627 != null) { - WorldListEntry.aClass155_2627.method2159(64); + if(WorldListEntry.aAudioChannel_2627 != null) { + WorldListEntry.aAudioChannel_2627.method2159(); } - if(Class3_Sub21.aClass155_2491 != null) { - Class3_Sub21.aClass155_2491.method2159(111); + if(Class3_Sub21.aAudioChannel_2491 != null) { + Class3_Sub21.aAudioChannel_2491.method2159(); } if(response != 21) { Unsorted.anInt1711 = response; @@ -240,11 +241,8 @@ final class TextureOperation37 extends TextureOperation { } } - static void method272(byte var0) { + static void displayNPCOnLoginRegion() { try { - if(var0 != -124) { - aClass3_Sub28_Sub3_3264 = null; - } int var1 = TextureOperation35.aByteArrayArray3335.length; @@ -275,11 +273,17 @@ final class TextureOperation37 extends TextureOperation { int var11 = var9 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var2] >> 8) - Class131.anInt1716; int var10 = var7 & 63; int var12 = var10 + -Texture.anInt1152 + 64 * (255 & Class3_Sub24_Sub3.anIntArray3494[var2]); - NPCDefinition var13 = NPCDefinition.getNPCDefinition(var16.readUnsignedShort()); + int npcID = var16.readUnsignedShort(); + + if (GameConfig.EASTER_EVENT_ENABLED) { + npcID = 1321; + } + + NPCDefinition var13 = NPCDefinition.getNPCDefinition(npcID); if(NPC.npcs[var6] == null && (var13.aByte1267 & 1) > 0 && Class140_Sub3.anInt2745 == var8 && var11 >= 0 && 104 > var13.size + var11 && var12 >= 0 && 104 > var12 - -var13.size) { NPC.npcs[var6] = new NPC(); NPC npc = NPC.npcs[var6]; - Class15.localNPCIndexes[Class163.localNPCCount++] = var6; + AudioThread.localNPCIndexes[Class163.localNPCCount++] = var6; npc.anInt2838 = Class44.anInt719; npc.setDefinitions(var13); npc.setSize(npc.definition.size, 2); @@ -297,7 +301,7 @@ final class TextureOperation37 extends TextureOperation { } } catch (RuntimeException var15) { - throw ClientErrorException.clientError(var15, "mh.E(" + var0 + ')'); + throw ClientErrorException.clientError(var15, "mh.E(" + (byte) -124 + ')'); } } diff --git a/Client/src/main/java/org/runite/client/Unsorted.java b/Client/src/main/java/org/runite/client/Unsorted.java index 46723ea27..5145cf2a8 100644 --- a/Client/src/main/java/org/runite/client/Unsorted.java +++ b/Client/src/main/java/org/runite/client/Unsorted.java @@ -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; diff --git a/Client/src/main/java/org/runite/client/WorldListEntry.java b/Client/src/main/java/org/runite/client/WorldListEntry.java index 988b04bb8..dd6887ad8 100644 --- a/Client/src/main/java/org/runite/client/WorldListEntry.java +++ b/Client/src/main/java/org/runite/client/WorldListEntry.java @@ -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() { diff --git a/Client/src/main/java/org/runite/client/WorldMap.java b/Client/src/main/java/org/runite/client/WorldMap.java index dfe57a706..8e8576aaa 100644 --- a/Client/src/main/java/org/runite/client/WorldMap.java +++ b/Client/src/main/java/org/runite/client/WorldMap.java @@ -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(); } diff --git a/Client/src/main/java/org/runite/client/WorldMapLOCDecoder.java b/Client/src/main/java/org/runite/client/WorldMapLOCDecoder.java new file mode 100644 index 000000000..f4e81b3f3 --- /dev/null +++ b/Client/src/main/java/org/runite/client/WorldMapLOCDecoder.java @@ -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") + ')'); + } + } +} diff --git a/Client/src/main/java/org/runite/client/WorldMapOverlay2Decoder.java b/Client/src/main/java/org/runite/client/WorldMapOverlay2Decoder.java new file mode 100644 index 000000000..e3371ad26 --- /dev/null +++ b/Client/src/main/java/org/runite/client/WorldMapOverlay2Decoder.java @@ -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") + ')'); + } + } +} diff --git a/Client/src/main/java/org/runite/client/WorldMapOverlayDecoder.java b/Client/src/main/java/org/runite/client/WorldMapOverlayDecoder.java new file mode 100644 index 000000000..e824af9cb --- /dev/null +++ b/Client/src/main/java/org/runite/client/WorldMapOverlayDecoder.java @@ -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 + ')'); + } + } +} diff --git a/Client/src/main/java/org/runite/client/WorldMapUnderlayDecoder.java b/Client/src/main/java/org/runite/client/WorldMapUnderlayDecoder.java new file mode 100644 index 000000000..e5a9c9924 --- /dev/null +++ b/Client/src/main/java/org/runite/client/WorldMapUnderlayDecoder.java @@ -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") + ')'); + } + } +} diff --git a/Client/src/main/java/org/runite/client/drawcalls/Minimap.java b/Client/src/main/java/org/runite/client/drawcalls/Minimap.java index f66c44c81..4da53b211 100644 --- a/Client/src/main/java/org/runite/client/drawcalls/Minimap.java +++ b/Client/src/main/java/org/runite/client/drawcalls/Minimap.java @@ -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) { diff --git a/Client/src/main/kotlin/org/rs09/client/config/GameConfig.kt b/Client/src/main/kotlin/org/rs09/client/config/GameConfig.kt index 61a7f1da7..0f5f9cb72 100644 --- a/Client/src/main/kotlin/org/rs09/client/config/GameConfig.kt +++ b/Client/src/main/kotlin/org/rs09/client/config/GameConfig.kt @@ -320,6 +320,8 @@ class GameConfig { @JvmField var HOLIDAYS_ENABLED = true + @JvmField + var EASTER_EVENT_ENABLED = false /** * Halloween event NPC Definitions are handled inside of NPCDefinition.java */ @@ -334,11 +336,17 @@ class GameConfig { private val calendar: Calendar = Calendar.getInstance() private val month = calendar.get(Calendar.MONTH) + private val day = calendar.get(Calendar.DAY_OF_MONTH) @JvmStatic fun implementHoliday() { if (HOLIDAYS_ENABLED) { when (month) { + 3 -> { + if (day <= 8) { + EASTER_EVENT_ENABLED = true + } + } 9 -> HALLOWEEN_EVENT_ENABLED = true 10 -> THANKSGIVING_EVENT_ENABLED = true 11 -> CHRISTMAS_EVENT_ENABLED = true diff --git a/Client/src/main/kotlin/org/rs09/client/console/DeveloperConsole.kt b/Client/src/main/kotlin/org/rs09/client/console/DeveloperConsole.kt index 1122b320d..e34d96546 100644 --- a/Client/src/main/kotlin/org/rs09/client/console/DeveloperConsole.kt +++ b/Client/src/main/kotlin/org/rs09/client/console/DeveloperConsole.kt @@ -243,8 +243,19 @@ object DeveloperConsole { println("Error. Displays error message on login, account creation. Use: errormsg #") } } + "playsound" -> { + if (argSize == 4) { + val soundID = if (clientCommand[1].toIntOrNull() == null) 0 else clientCommand[1].toInt() + val soundDelay = if (clientCommand[2].toIntOrNull() == null) 0 else clientCommand[2].toInt() + val soundVolume = if (clientCommand[3].toIntOrNull() == null) 0 else clientCommand[3].toInt() + AudioHandler.soundEffectHandler(soundVolume, soundID, soundDelay) + println("Playing sound: $soundID with delay: $soundDelay volume: $soundVolume") + } else { + println("Error. Plays sound effect. Use: playsound soundID soundDelay soundVolume") + } + } "playsong" -> { - if (argSize in 2..4) { + if (argSize in 2..8) { if (clientCommand[1].toIntOrNull() == null) { clientCommand.removeFirst() AudioHandler.musicHandler( diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json index 212006f9e..b967e4c3e 100644 --- a/Server/data/configs/npc_configs.json +++ b/Server/data/configs/npc_configs.json @@ -5199,7 +5199,7 @@ "attack_level": "1" }, { - "examine": "Examine not added", + "examine": "An annoying flappy thing.", "slayer_task": "5", "attack_speed": "5", "magic_level": "10", @@ -5207,6 +5207,9 @@ "weakness": "4", "slayer_exp": "8", "death_animation": "4918", + "melee_animation": "4915", + "range_animation": "4915", + "defence_animation": "4916", "name": "Bat", "defence_level": "2", "safespot": null, diff --git a/Server/src/main/java/core/game/content/global/action/DropItemHandler.java b/Server/src/main/java/core/game/content/global/action/DropItemHandler.java index 7801e62ba..6564310b8 100644 --- a/Server/src/main/java/core/game/content/global/action/DropItemHandler.java +++ b/Server/src/main/java/core/game/content/global/action/DropItemHandler.java @@ -36,7 +36,6 @@ public final class DropItemHandler { return true; } player.getDialogueInterpreter().close(); - player.getAudioManager().send(new Audio(2393, 0, 0)); player.getPulseManager().clear(); if (option.equalsIgnoreCase("destroy") || option.equalsIgnoreCase("dissolve")) { player.getDialogueInterpreter().open(9878, item); @@ -48,7 +47,7 @@ public final class DropItemHandler { } if (player.getInventory().replace(null, item.getSlot()) == item) { item = item.getDropItem(); - player.getAudioManager().send(new Audio(item.getId() == 995 ? 10 : 2739, 1, 0)); + player.getAudioManager().send(new Audio(item.getId() == 995 ? 10 : 2739, 1, 0));//2739 ACTUAL DROP SOUND GroundItemManager.create(item, player.getLocation(), player); PlayerParser.save(player); }