624 lines
15 KiB
Java
624 lines
15 KiB
Java
import java.util.concurrent.ScheduledExecutorService;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ag")
|
|
@Implements("PcmPlayer")
|
|
public class PcmPlayer {
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedGetter(
|
|
intValue = -1282105105
|
|
)
|
|
public static int field305;
|
|
@ObfuscatedName("o")
|
|
@Export("PcmPlayer_stereo")
|
|
protected static boolean PcmPlayer_stereo;
|
|
@ObfuscatedName("w")
|
|
@Export("soundSystemExecutor")
|
|
static ScheduledExecutorService soundSystemExecutor;
|
|
@ObfuscatedName("az")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lpq;"
|
|
)
|
|
@Export("rasterProvider")
|
|
public static AbstractRasterProvider rasterProvider;
|
|
@ObfuscatedName("q")
|
|
@Export("samples")
|
|
protected int[] samples;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lan;"
|
|
)
|
|
@Export("stream")
|
|
PcmStream stream;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedGetter(
|
|
intValue = 505283827
|
|
)
|
|
int field293;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedGetter(
|
|
longValue = 2942857516536814513L
|
|
)
|
|
@Export("timeMs")
|
|
long timeMs;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedGetter(
|
|
intValue = 2146341369
|
|
)
|
|
@Export("capacity")
|
|
int capacity;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedGetter(
|
|
intValue = 617020007
|
|
)
|
|
int field296;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = -134597597
|
|
)
|
|
int field297;
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedGetter(
|
|
longValue = 3988394758568685751L
|
|
)
|
|
long field298;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedGetter(
|
|
intValue = 454965771
|
|
)
|
|
int field299;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = -435698239
|
|
)
|
|
int field288;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedGetter(
|
|
intValue = 1647257589
|
|
)
|
|
int field301;
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedGetter(
|
|
longValue = -3633081744103915623L
|
|
)
|
|
long field302;
|
|
@ObfuscatedName("z")
|
|
boolean field294;
|
|
@ObfuscatedName("al")
|
|
@ObfuscatedGetter(
|
|
intValue = 1386517767
|
|
)
|
|
int field304;
|
|
@ObfuscatedName("aa")
|
|
@ObfuscatedSignature(
|
|
descriptor = "[Lan;"
|
|
)
|
|
PcmStream[] field303;
|
|
@ObfuscatedName("ao")
|
|
@ObfuscatedSignature(
|
|
descriptor = "[Lan;"
|
|
)
|
|
PcmStream[] field306;
|
|
|
|
protected PcmPlayer() {
|
|
this.field293 = 32; // L: 22
|
|
this.timeMs = DirectByteArrayCopier.method5318();
|
|
this.field298 = 0L;
|
|
this.field299 = 0;
|
|
this.field288 = 0;
|
|
this.field301 = 0;
|
|
this.field302 = 0L;
|
|
this.field294 = true;
|
|
this.field304 = 0;
|
|
this.field303 = new PcmStream[8]; // L: 39
|
|
this.field306 = new PcmStream[8]; // L: 40
|
|
} // L: 42
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "62"
|
|
)
|
|
@Export("init")
|
|
protected void init() throws Exception {
|
|
} // L: 280
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)V",
|
|
garbageValue = "-1020940076"
|
|
)
|
|
@Export("open")
|
|
protected void open(int var1) throws Exception {
|
|
} // L: 281
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)I",
|
|
garbageValue = "2"
|
|
)
|
|
@Export("position")
|
|
protected int position() throws Exception {
|
|
return this.capacity; // L: 284
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@Export("write")
|
|
protected void write() throws Exception {
|
|
} // L: 287
|
|
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "-375742034"
|
|
)
|
|
@Export("close")
|
|
protected void close() {
|
|
} // L: 288
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "-128"
|
|
)
|
|
@Export("discard")
|
|
protected void discard() throws Exception {
|
|
} // L: 289
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lan;I)V",
|
|
garbageValue = "1934557281"
|
|
)
|
|
@Export("setStream")
|
|
public final synchronized void setStream(PcmStream var1) {
|
|
this.stream = var1; // L: 79
|
|
} // L: 80
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "1902527420"
|
|
)
|
|
@Export("run")
|
|
public final synchronized void run() {
|
|
if (this.samples != null) { // L: 83
|
|
long var1 = DirectByteArrayCopier.method5318(); // L: 84
|
|
|
|
try {
|
|
if (0L != this.field298) { // L: 86
|
|
if (var1 < this.field298) { // L: 87
|
|
return;
|
|
}
|
|
|
|
this.open(this.capacity); // L: 88
|
|
this.field298 = 0L; // L: 89
|
|
this.field294 = true; // L: 90
|
|
}
|
|
|
|
int var3 = this.position(); // L: 92
|
|
if (this.field301 - var3 > this.field299) { // L: 93
|
|
this.field299 = this.field301 - var3;
|
|
}
|
|
|
|
int var4 = this.field296 + this.field297; // L: 94
|
|
if (var4 + 256 > 16384) { // L: 95
|
|
var4 = 16128;
|
|
}
|
|
|
|
if (var4 + 256 > this.capacity) { // L: 96
|
|
this.capacity += 1024; // L: 97
|
|
if (this.capacity > 16384) { // L: 98
|
|
this.capacity = 16384;
|
|
}
|
|
|
|
this.close(); // L: 99
|
|
this.open(this.capacity); // L: 100
|
|
var3 = 0; // L: 101
|
|
this.field294 = true; // L: 102
|
|
if (var4 + 256 > this.capacity) { // L: 103
|
|
var4 = this.capacity - 256; // L: 104
|
|
this.field297 = var4 - this.field296; // L: 105
|
|
}
|
|
}
|
|
|
|
while (var3 < var4) { // L: 108
|
|
this.fill(this.samples, 256); // L: 109
|
|
this.write(); // L: 110
|
|
var3 += 256; // L: 111
|
|
}
|
|
|
|
if (var1 > this.field302) { // L: 113
|
|
if (!this.field294) { // L: 114
|
|
if (this.field299 == 0 && this.field288 == 0) { // L: 115
|
|
this.close(); // L: 116
|
|
this.field298 = 2000L + var1; // L: 117
|
|
return; // L: 118
|
|
}
|
|
|
|
this.field297 = Math.min(this.field288, this.field299); // L: 120
|
|
this.field288 = this.field299; // L: 121
|
|
} else {
|
|
this.field294 = false; // L: 123
|
|
}
|
|
|
|
this.field299 = 0; // L: 124
|
|
this.field302 = 2000L + var1; // L: 125
|
|
}
|
|
|
|
this.field301 = var3; // L: 127
|
|
} catch (Exception var7) { // L: 129
|
|
this.close(); // L: 130
|
|
this.field298 = var1 + 2000L; // L: 131
|
|
}
|
|
|
|
try {
|
|
if (var1 > 500000L + this.timeMs) { // L: 134
|
|
var1 = this.timeMs;
|
|
}
|
|
|
|
while (var1 > this.timeMs + 5000L) { // L: 135
|
|
this.skip(256); // L: 136
|
|
this.timeMs += (long)(256000 / field305); // L: 137
|
|
}
|
|
} catch (Exception var6) { // L: 140
|
|
this.timeMs = var1; // L: 141
|
|
}
|
|
|
|
}
|
|
} // L: 143
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "-670373790"
|
|
)
|
|
public final void method710() {
|
|
this.field294 = true; // L: 146
|
|
} // L: 147
|
|
|
|
@ObfuscatedName("ap")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "19"
|
|
)
|
|
@Export("tryDiscard")
|
|
public final synchronized void tryDiscard() {
|
|
this.field294 = true; // L: 150
|
|
|
|
try {
|
|
this.discard(); // L: 152
|
|
} catch (Exception var2) { // L: 154
|
|
this.close(); // L: 155
|
|
this.field298 = DirectByteArrayCopier.method5318() + 2000L; // L: 156
|
|
}
|
|
|
|
} // L: 158
|
|
|
|
@ObfuscatedName("af")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "117161958"
|
|
)
|
|
@Export("shutdown")
|
|
public final synchronized void shutdown() {
|
|
if (class415.soundSystem != null) { // L: 161
|
|
boolean var1 = true; // L: 162
|
|
|
|
for (int var2 = 0; var2 < 2; ++var2) { // L: 163
|
|
if (this == class415.soundSystem.players[var2]) {
|
|
class415.soundSystem.players[var2] = null; // L: 164
|
|
}
|
|
|
|
if (class415.soundSystem.players[var2] != null) { // L: 165
|
|
var1 = false;
|
|
}
|
|
}
|
|
|
|
if (var1) { // L: 167
|
|
soundSystemExecutor.shutdownNow(); // L: 168
|
|
soundSystemExecutor = null; // L: 169
|
|
class415.soundSystem = null; // L: 170
|
|
}
|
|
}
|
|
|
|
this.close(); // L: 173
|
|
this.samples = null; // L: 174
|
|
} // L: 175
|
|
|
|
@ObfuscatedName("ak")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)V",
|
|
garbageValue = "65280"
|
|
)
|
|
@Export("skip")
|
|
final void skip(int var1) {
|
|
this.field304 -= var1; // L: 178
|
|
if (this.field304 < 0) {
|
|
this.field304 = 0; // L: 179
|
|
}
|
|
|
|
if (this.stream != null) {
|
|
this.stream.skip(var1); // L: 180
|
|
}
|
|
|
|
} // L: 181
|
|
|
|
@ObfuscatedName("av")
|
|
@Export("fill")
|
|
final void fill(int[] var1, int var2) {
|
|
int var3 = var2; // L: 185
|
|
if (PcmPlayer_stereo) { // L: 186
|
|
var3 = var2 << 1;
|
|
}
|
|
|
|
class338.clearIntArray(var1, 0, var3); // L: 187
|
|
this.field304 -= var2; // L: 188
|
|
if (this.stream != null && this.field304 <= 0) { // L: 189
|
|
this.field304 += field305 >> 4; // L: 190
|
|
class7.PcmStream_disable(this.stream); // L: 191
|
|
this.method715(this.stream, this.stream.vmethod956()); // L: 192
|
|
int var4 = 0; // L: 193
|
|
int var5 = 255; // L: 194
|
|
|
|
int var6;
|
|
PcmStream var10;
|
|
label109:
|
|
for (var6 = 7; var5 != 0; --var6) { // L: 195
|
|
int var7;
|
|
int var8;
|
|
if (var6 < 0) { // L: 198
|
|
var7 = var6 & 3; // L: 199
|
|
var8 = -(var6 >> 2); // L: 200
|
|
} else {
|
|
var7 = var6; // L: 203
|
|
var8 = 0; // L: 204
|
|
}
|
|
|
|
for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { // L: 206 208
|
|
if ((var9 & 1) != 0) { // L: 211
|
|
var5 &= ~(1 << var7); // L: 214
|
|
var10 = null; // L: 215
|
|
PcmStream var11 = this.field303[var7]; // L: 216
|
|
|
|
label103:
|
|
while (true) {
|
|
while (true) {
|
|
if (var11 == null) { // L: 217
|
|
break label103;
|
|
}
|
|
|
|
AbstractSound var12 = var11.sound; // L: 218
|
|
if (var12 != null && var12.position > var8) { // L: 219
|
|
var5 |= 1 << var7; // L: 220
|
|
var10 = var11; // L: 221
|
|
var11 = var11.after; // L: 222
|
|
} else {
|
|
var11.active = true; // L: 225
|
|
int var13 = var11.vmethod5241(); // L: 226
|
|
var4 += var13; // L: 227
|
|
if (var12 != null) { // L: 228
|
|
var12.position += var13;
|
|
}
|
|
|
|
if (var4 >= this.field293) { // L: 229
|
|
break label109;
|
|
}
|
|
|
|
PcmStream var14 = var11.firstSubStream(); // L: 230
|
|
if (var14 != null) { // L: 231
|
|
for (int var15 = var11.field359; var14 != null; var14 = var11.nextSubStream()) { // L: 232 233 235
|
|
this.method715(var14, var15 * var14.vmethod956() >> 8); // L: 234
|
|
}
|
|
}
|
|
|
|
PcmStream var18 = var11.after; // L: 238
|
|
var11.after = null; // L: 239
|
|
if (var10 == null) { // L: 240
|
|
this.field303[var7] = var18;
|
|
} else {
|
|
var10.after = var18; // L: 241
|
|
}
|
|
|
|
if (var18 == null) { // L: 242
|
|
this.field306[var7] = var10;
|
|
}
|
|
|
|
var11 = var18; // L: 243
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
var7 += 4; // L: 207
|
|
++var8;
|
|
}
|
|
}
|
|
|
|
for (var6 = 0; var6 < 8; ++var6) { // L: 247
|
|
PcmStream var16 = this.field303[var6]; // L: 248
|
|
PcmStream[] var17 = this.field303; // L: 249
|
|
this.field306[var6] = null; // L: 251
|
|
|
|
for (var17[var6] = null; var16 != null; var16 = var10) { // L: 252 253 256
|
|
var10 = var16.after; // L: 254
|
|
var16.after = null; // L: 255
|
|
}
|
|
}
|
|
}
|
|
|
|
if (this.field304 < 0) { // L: 260
|
|
this.field304 = 0;
|
|
}
|
|
|
|
if (this.stream != null) {
|
|
this.stream.fill(var1, 0, var2); // L: 261
|
|
}
|
|
|
|
this.timeMs = DirectByteArrayCopier.method5318(); // L: 262
|
|
} // L: 263
|
|
|
|
@ObfuscatedName("al")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lan;II)V",
|
|
garbageValue = "-273686229"
|
|
)
|
|
final void method715(PcmStream var1, int var2) {
|
|
int var3 = var2 >> 5; // L: 272
|
|
PcmStream var4 = this.field306[var3]; // L: 273
|
|
if (var4 == null) { // L: 274
|
|
this.field303[var3] = var1;
|
|
} else {
|
|
var4.after = var1; // L: 275
|
|
}
|
|
|
|
this.field306[var3] = var1; // L: 276
|
|
var1.field359 = var2; // L: 277
|
|
} // L: 278
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ILpi;S)Lff;",
|
|
garbageValue = "27127"
|
|
)
|
|
public static class160 method744(int var0, Buffer var1) {
|
|
int var2 = var1.readUnsignedByte();
|
|
boolean var3 = (var2 & 1) != 0;
|
|
boolean var4 = (var2 & 2) != 0;
|
|
class160 var5 = new class160(var0);
|
|
int var6;
|
|
int[] var7;
|
|
boolean var8;
|
|
int var9;
|
|
short var10;
|
|
if (var3) {
|
|
var6 = var1.readUnsignedByte();
|
|
var7 = new int[]{var6 & 15, var6 >> 4 & 15}; // L: 30 31 32
|
|
var8 = var5.field1745 != null && var7.length == var5.field1745.length; // L: 33
|
|
|
|
for (var9 = 0; var9 < 2; ++var9) { // L: 34
|
|
if (var7[var9] != 15) {
|
|
var10 = (short)var1.readUnsignedShort();
|
|
if (var8) { // L: 37
|
|
var5.field1745[var7[var9]] = var10; // L: 38
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var4) { // L: 43
|
|
var6 = var1.readUnsignedByte(); // L: 44
|
|
var7 = new int[]{var6 & 15, var6 >> 4 & 15}; // L: 45 46 47
|
|
var8 = var5.field1746 != null && var7.length == var5.field1746.length;
|
|
|
|
for (var9 = 0; var9 < 2; ++var9) {
|
|
if (var7[var9] != 15) {
|
|
var10 = (short)var1.readUnsignedShort(); // L: 51
|
|
if (var8) { // L: 52
|
|
var5.field1746[var7[var9]] = var10;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return var5; // L: 58
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Lfp;",
|
|
garbageValue = "-1755865139"
|
|
)
|
|
@Export("VarpDefinition_get")
|
|
public static VarpDefinition VarpDefinition_get(int var0) {
|
|
VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); // L: 23
|
|
if (var1 != null) { // L: 24
|
|
return var1;
|
|
} else {
|
|
byte[] var2 = VarpDefinition.VarpDefinition_archive.takeFile(16, var0); // L: 25
|
|
var1 = new VarpDefinition(); // L: 26
|
|
if (var2 != null) { // L: 27
|
|
var1.decode(new Buffer(var2));
|
|
}
|
|
|
|
VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); // L: 28
|
|
return var1; // L: 29
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIB)V",
|
|
garbageValue = "28"
|
|
)
|
|
public static void method764(int var0, int var1) {
|
|
VarbitComposition var3 = (VarbitComposition)VarbitComposition.VarbitDefinition_cached.get((long)var0); // L: 48
|
|
VarbitComposition var2;
|
|
if (var3 != null) { // L: 49
|
|
var2 = var3; // L: 50
|
|
} else {
|
|
byte[] var4 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); // L: 53
|
|
var3 = new VarbitComposition(); // L: 54
|
|
if (var4 != null) { // L: 55
|
|
var3.decode(new Buffer(var4));
|
|
}
|
|
|
|
VarbitComposition.VarbitDefinition_cached.put(var3, (long)var0); // L: 56
|
|
var2 = var3; // L: 57
|
|
}
|
|
|
|
int var8 = var2.baseVar; // L: 60
|
|
int var5 = var2.startBit; // L: 61
|
|
int var6 = var2.endBit; // L: 62
|
|
int var7 = Varps.Varps_masks[var6 - var5]; // L: 63
|
|
if (var1 < 0 || var1 > var7) { // L: 64
|
|
var1 = 0;
|
|
}
|
|
|
|
var7 <<= var5; // L: 65
|
|
Varps.Varps_main[var8] = Varps.Varps_main[var8] & ~var7 | var1 << var5 & var7; // L: 66
|
|
} // L: 67
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(III)Lbd;",
|
|
garbageValue = "-1527078723"
|
|
)
|
|
@Export("Messages_getByChannelAndID")
|
|
static Message Messages_getByChannelAndID(int var0, int var1) {
|
|
ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); // L: 35
|
|
return var2.getMessage(var1); // L: 36
|
|
}
|
|
|
|
@ObfuscatedName("jg")
|
|
@ObfuscatedSignature(
|
|
descriptor = "([Ljz;Ljz;ZI)V",
|
|
garbageValue = "-953702217"
|
|
)
|
|
@Export("revalidateWidgetScroll")
|
|
static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) {
|
|
int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * 1839447183 * -112860561 : var1.width * 308678411 * -528431965; // L: 10300
|
|
int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * -857694431 * 54764769 : var1.height * 1501533581 * -1285507771; // L: 10301
|
|
class21.resizeInterface(var0, var1.id, var3, var4, var2); // L: 10302
|
|
if (var1.children != null) { // L: 10303
|
|
class21.resizeInterface(var1.children, var1.id, var3, var4, var2);
|
|
}
|
|
|
|
InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); // L: 10304
|
|
if (var5 != null) { // L: 10305
|
|
int var6 = var5.group; // L: 10306
|
|
if (class13.loadInterface(var6)) { // L: 10308
|
|
class21.resizeInterface(Widget.Widget_interfaceComponents[var6], -1, var3, var4, var2); // L: 10309
|
|
}
|
|
}
|
|
|
|
if (var1.contentType == 1337) { // L: 10312
|
|
}
|
|
|
|
} // L: 10313
|
|
}
|