Audio related update trying to track down why some sounds aren't playing properly/too fast.

This commit is contained in:
Woah 2021-03-25 15:32:26 -04:00
parent 0b498fc455
commit 98450d84a1
14 changed files with 72 additions and 67 deletions

View file

@ -20,19 +20,6 @@ public final class AtmosphereParser {
static int anInt1191;
static int screenLowerY;
public static void musicHandler(int var1) {
try {
if (-1 == var1 && !Class83.aBoolean1158) {
GameObject.method1870();
} else if (var1 != -1 && (Class129.anInt1691 != var1 || Class79.method1391(-1)) && Unsorted.anInt120 != 0 && !Class83.aBoolean1158) {
Unsorted.method2099(var1, CacheIndex.musicIndex, Unsorted.anInt120);
}
Class129.anInt1691 = var1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "li.B(" + true + ',' + var1 + ')');
}
}
static void method1428(int var0, int var2) {
try {
ItemDefinition.ram[var0] = var2;

View file

@ -0,0 +1,37 @@
package org.runite.client;
public final class AudioHandler {
static int currentSoundEffectCount = 0;
static int soundEffectVolume = 127;
public static void musicHandler(int var1) {
try {
if (-1 == var1 && !Class83.aBoolean1158) {
GameObject.method1870();
} else if (var1 != -1 && (Class129.anInt1691 != var1 || Class79.method1391(-1)) && Unsorted.anInt120 != 0 && !Class83.aBoolean1158) {
Unsorted.method2099(var1, CacheIndex.musicIndex, Unsorted.anInt120);
}
Class129.anInt1691 = var1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "li.B(" + true + ',' + var1 + ')');
}
}
static void soundEffectHandler(int soundEffectID, int soundEffectDelay, int soundEffectVolume) {
try {
if(soundEffectVolume != 0 && soundEffectID != 0 && currentSoundEffectCount < 50 && soundEffectDelay != -1) {
Class166.anIntArray2068[currentSoundEffectCount] = soundEffectID;
Class3_Sub25.anIntArray2550[currentSoundEffectCount] = soundEffectDelay;
Unsorted.anIntArray2157[currentSoundEffectCount] = soundEffectVolume;
Class102.aClass135Array2131[currentSoundEffectCount] = null;
Class3_Sub8.anIntArray3083[currentSoundEffectCount] = 0;
currentSoundEffectCount++;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ca.C(" + soundEffectID + ',' + soundEffectDelay + ',' + soundEffectVolume + ',' + -799 + ')');
}
}
}

View file

@ -29,7 +29,6 @@ public final class CS2Script extends Linkable {
static ReferenceCache aReferenceCache_2442 = new ReferenceCache(50);
static ReferenceCache aReferenceCache_2450 = new ReferenceCache(64);
static byte[][][] aByteArrayArrayArray2452;
static int anInt2453 = 127;
RSInterface aClass11_2438;
RSString aClass94_2439;
int scrollbarScrollAmount;
@ -938,11 +937,11 @@ public final class CS2Script extends Linkable {
if (opcode < 3300) {
if (opcode == 3200) {
iStackCounter -= 3;
TextureOperation26.method199(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) {
AtmosphereParser.musicHandler(ItemDefinition.intsStack[--iStackCounter]);
AudioHandler.musicHandler(ItemDefinition.intsStack[--iStackCounter]);
continue;
}
if (opcode != 3202)
@ -2664,7 +2663,7 @@ public final class CS2Script extends Linkable {
j35 = 0;
if (j35 > 127)
j35 = 127;
anInt2453 = j35;
AudioHandler.soundEffectVolume = j35;
Class119.method1730(Class38.signlink);
aBoolean2705 = false;
continue;
@ -2800,7 +2799,7 @@ public final class CS2Script extends Linkable {
continue;
}
if (opcode == 6118) {
ItemDefinition.intsStack[iStackCounter++] = anInt2453;
ItemDefinition.intsStack[iStackCounter++] = AudioHandler.soundEffectVolume;
continue;
}
if (6119 == opcode) {

View file

@ -3,7 +3,6 @@ package org.runite.client;
final class Class113 {
static int interfacePacketCounter = 0;
static int anInt1552 = 0;
static int anInt1559;
int anInt1544;
int anInt1545;

View file

@ -39,7 +39,7 @@ public final class Class23 {
var1.writeByte(Class38.aBoolean661 ? 1 : 0);
var1.writeByte(Class3_Sub28_Sub9.anInt3622);
var1.writeByte(!TextureOperation17.aBoolean3184 ? 0 : 1);
var1.writeByte(CS2Script.anInt2453);
var1.writeByte(AudioHandler.soundEffectVolume);
var1.writeByte(Unsorted.anInt120);
var1.writeByte(Sprites.anInt340);
var1.writeShort(TextureOperation.anInt2378);

View file

@ -557,13 +557,13 @@ public final class Class39 {
var7 = 7 & var5;
if (var2 >= 0 && var3 >= 0 && var2 < 104 && var3 < 104) {
var28 = 1 + var6;
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.anInt340 && var7 > 0 && 50 > Class113.anInt1552 && var4 != -1) {
Class3_Sub25.anIntArray2550[Class113.anInt1552] = var4;
Class166.anIntArray2068[Class113.anInt1552] = var7;
Unsorted.anIntArray2157[Class113.anInt1552] = var8;
Class102.aClass135Array2131[Class113.anInt1552] = null;
Class3_Sub8.anIntArray3083[Class113.anInt1552] = var6 + ((var2 << 16) - -(var3 << 8));
++Class113.anInt1552;
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.anInt340 && var7 > 0 && 50 > AudioHandler.currentSoundEffectCount && var4 != -1) {
Class3_Sub25.anIntArray2550[AudioHandler.currentSoundEffectCount] = var4;
Class166.anIntArray2068[AudioHandler.currentSoundEffectCount] = var7;
Unsorted.anIntArray2157[AudioHandler.currentSoundEffectCount] = var8;
Class102.aClass135Array2131[AudioHandler.currentSoundEffectCount] = null;
Class3_Sub8.anIntArray3083[AudioHandler.currentSoundEffectCount] = var6 + ((var2 << 16) - -(var3 << 8));
++AudioHandler.currentSoundEffectCount;
}
}

View file

@ -131,12 +131,12 @@ final class Class3_Sub8 extends Linkable {
static void method132() {
try {
for(int var1 = 0; var1 < Class113.anInt1552; ++var1) {
for(int var1 = 0; var1 < AudioHandler.currentSoundEffectCount; ++var1) {
--Unsorted.anIntArray2157[var1];
if(Unsorted.anIntArray2157[var1] < -10) {
--Class113.anInt1552;
--AudioHandler.currentSoundEffectCount;
for(int var2 = var1; var2 < Class113.anInt1552; ++var2) {
for(int var2 = var1; var2 < AudioHandler.currentSoundEffectCount; ++var2) {
Class3_Sub25.anIntArray2550[var2] = Class3_Sub25.anIntArray2550[var2 - -1];
Class102.aClass135Array2131[var2] = Class102.aClass135Array2131[var2 + 1];
Class166.anIntArray2068[var2] = Class166.anIntArray2068[1 + var2];
@ -160,7 +160,7 @@ final class Class3_Sub8 extends Linkable {
if(0 > Unsorted.anIntArray2157[var1]) {
int var3;
if(anIntArray3083[var1] == 0) {
var3 = CS2Script.anInt2453;
var3 = AudioHandler.soundEffectVolume;
} else {
int var4 = 128 * (255 & anIntArray3083[var1]);
int var7 = anIntArray3083[var1] >> 8 & 0xFF;

View file

@ -109,9 +109,9 @@ final class Class79 {
Unsorted.anInt3671 = Class3_Sub28_Sub9.anInt3622;
TextureOperation17.aBoolean3184 = var0.readUnsignedByte() == 1;
CS2Script.anInt2453 = var0.readUnsignedByte();
if (CS2Script.anInt2453 > 127) {
CS2Script.anInt2453 = 127;
AudioHandler.soundEffectVolume = var0.readUnsignedByte();
if (AudioHandler.soundEffectVolume > 127) {
AudioHandler.soundEffectVolume = 127;
}
Unsorted.anInt120 = var0.readUnsignedByte();

View file

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

View file

@ -1369,7 +1369,7 @@ public final class PacketParser {
}
modelId = BufferedDataStream.incomingBuffer.readUnsignedShort();
TextureOperation26.method199(var19, nodeModelId, modelId);
AudioHandler.soundEffectHandler(var19, nodeModelId, modelId);
Unsorted.incomingOpcode = -1;
return true;
} else if (Unsorted.incomingOpcode == 66) {
@ -1697,7 +1697,7 @@ public final class PacketParser {
nodeModelId = -1;
}
AtmosphereParser.musicHandler(nodeModelId);
AudioHandler.musicHandler(nodeModelId);
Unsorted.incomingOpcode = -1;
return true;
} else if (Unsorted.incomingOpcode == 208) {

View file

@ -447,7 +447,7 @@ public final class SequenceDefinition {
Unsorted.anInt42 = (int)(110.0D * Math.random()) + -55;
GameObject.aBoolean1837 = false;
Class164_Sub2.anInt3020 = -20 + (int)(30.0D * Math.random());
Class113.anInt1552 = 0;
AudioHandler.currentSoundEffectCount = 0;
Class65.anInt987 = 0;
TextureOperation9.anInt3102 = -60 + (int)(Math.random() * 120.0D);
TextureOperation16.anInt3114 = 0;

View file

@ -193,21 +193,4 @@ final class TextureOperation26 extends TextureOperation {
}
}
static void method199(int var0, int var1, int var2) {
try {
if(CS2Script.anInt2453 != 0 && var0 != 0 && Class113.anInt1552 < 50 && var1 != -1) {
Class3_Sub25.anIntArray2550[Class113.anInt1552] = var1;
Class166.anIntArray2068[Class113.anInt1552] = var0;
Unsorted.anIntArray2157[Class113.anInt1552] = var2;
Class102.aClass135Array2131[Class113.anInt1552] = null;
Class3_Sub8.anIntArray3083[Class113.anInt1552] = 0;
++Class113.anInt1552;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ca.C(" + var0 + ',' + var1 + ',' + var2 + ',' + -799 + ')');
}
}
}

View file

@ -895,7 +895,7 @@ public class Unsorted {
public static void method1470(int var0, SequenceDefinition var1, int var2, int var3, boolean var4, int var5) {
try {
if (Class113.anInt1552 < 50) {
if (AudioHandler.currentSoundEffectCount < 50) {
if (var1.sounds != null && var1.sounds.length > var5 && null != var1.sounds[var5]) {
int var6 = var1.sounds[var5][0];
int var7 = var6 >> 8;
@ -911,22 +911,22 @@ public class Unsorted {
int var9 = var6 & 31;
if (var9 == 0) {
if (var4) {
TextureOperation26.method199(var8, var7, 0);
AudioHandler.soundEffectHandler(var8, var7, 0);
}
} else if (0 != Sprites.anInt340) {
Class3_Sub25.anIntArray2550[Class113.anInt1552] = var7;
Class166.anIntArray2068[Class113.anInt1552] = var8;
Class3_Sub25.anIntArray2550[AudioHandler.currentSoundEffectCount] = var7;
Class166.anIntArray2068[AudioHandler.currentSoundEffectCount] = var8;
int var11 = (-64 + var0) / 128;
var10 = (var3 + -64) / 128;
anIntArray2157[Class113.anInt1552] = 0;
Class102.aClass135Array2131[Class113.anInt1552] = null;
Class3_Sub8.anIntArray3083[Class113.anInt1552] = var9 + (var10 << 16) + (var11 << 8);
anIntArray2157[AudioHandler.currentSoundEffectCount] = 0;
Class102.aClass135Array2131[AudioHandler.currentSoundEffectCount] = null;
Class3_Sub8.anIntArray3083[AudioHandler.currentSoundEffectCount] = var9 + (var10 << 16) + (var11 << 8);
if (var2 != 183921384) {
aClass33_1238 = null;
}
++Class113.anInt1552;
++AudioHandler.currentSoundEffectCount;
}
}
}
@ -2222,7 +2222,7 @@ public class Unsorted {
Class133.anInt1753 = 1;
}
Class113.anInt1552 = 0;
AudioHandler.currentSoundEffectCount = 0;
if (Class65.anInt987 != 0) {
Class45.anInt733 -= var10;
Class65.anInt987 -= var9;
@ -4799,7 +4799,7 @@ public class Unsorted {
Class25.aBoolean488 = true;
anInt3671 = 0;
RandomAccessFileWrapper var2 = null;
CS2Script.anInt2453 = 127;
AudioHandler.soundEffectVolume = 127;
if (Class3_Sub24_Sub3.maxClientMemory >= 96) {
Class127_Sub1.method1758(2);
} else {

View file

@ -247,7 +247,7 @@ object DeveloperConsole {
if (argSize in 2..4) {
if (clientCommand[1].toIntOrNull() == null) {
clientCommand.removeFirst()
AtmosphereParser.musicHandler(
AudioHandler.musicHandler(
CacheIndex.musicIndex.getArchiveForName(
RSString.of(
clientCommand.joinToString(
@ -258,7 +258,7 @@ object DeveloperConsole {
)
} else {
args = clientCommand[1].toInt()
AtmosphereParser.musicHandler(args)
AudioHandler.musicHandler(args)
}
} else {
println("Error. Plays music. Use: playsong # OR playsong songName")