Files
runelite/runescape-client/src/main/java/Decimator.java
ThatGamerBlue 38634fcad3 Merge remote-tracking branch 'upstream/master' into master
Nice insider info btw, be nice if you shared it, so-called "open source" client.
2021-05-28 21:39:25 +01:00

237 lines
6.2 KiB
Java

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("be")
@Implements("Decimator")
public class Decimator {
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "[Lop;"
)
@Export("title_muteSprite")
static IndexedSprite[] title_muteSprite;
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "Lop;"
)
static IndexedSprite field553;
@ObfuscatedName("dh")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("archive7")
static Archive archive7;
@ObfuscatedName("dw")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("archive13")
static Archive archive13;
@ObfuscatedName("mm")
@ObfuscatedGetter(
intValue = 1430642749
)
@Export("selectedSpellWidget")
static int selectedSpellWidget;
@ObfuscatedName("y")
@ObfuscatedGetter(
intValue = 1278002573
)
@Export("inputRate")
int inputRate;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = -308385855
)
@Export("outputRate")
int outputRate;
@ObfuscatedName("j")
@Export("table")
int[][] table;
public Decimator(int var1, int var2) {
if (var2 != var1) { // L: 14
int var3 = class386.method6818(var1, var2); // L: 15
var1 /= var3; // L: 16
var2 /= var3; // L: 17
this.inputRate = var1; // L: 18
this.outputRate = var2; // L: 19
this.table = new int[var1][14]; // L: 20
for (int var4 = 0; var4 < var1; ++var4) { // L: 21
int[] var5 = this.table[var4]; // L: 22
double var6 = (double)var4 / (double)var1 + 6.0D; // L: 23
int var8 = (int)Math.floor(1.0D + (var6 - 7.0D)); // L: 24
if (var8 < 0) { // L: 25
var8 = 0;
}
int var9 = (int)Math.ceil(var6 + 7.0D); // L: 26
if (var9 > 14) { // L: 27
var9 = 14;
}
for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) { // L: 28 29
double var12 = ((double)var8 - var6) * 3.141592653589793D; // L: 30
double var14 = var10; // L: 31
if (var12 < -1.0E-4D || var12 > 1.0E-4D) { // L: 32
var14 = var10 * (Math.sin(var12) / var12);
}
var14 *= 0.54D + 0.46D * Math.cos(0.2243994752564138D * ((double)var8 - var6)); // L: 33
var5[var8] = (int)Math.floor(var14 * 65536.0D + 0.5D); // L: 34
}
}
}
} // L: 37
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "([BI)[B",
garbageValue = "25186157"
)
@Export("resample")
byte[] resample(byte[] var1) {
if (this.table != null) { // L: 40
int var2 = (int)((long)var1.length * (long)this.outputRate / (long)this.inputRate) + 14; // L: 41
int[] var3 = new int[var2]; // L: 42
int var4 = 0; // L: 43
int var5 = 0; // L: 44
int var6;
for (var6 = 0; var6 < var1.length; ++var6) { // L: 45
byte var7 = var1[var6]; // L: 46
int[] var8 = this.table[var5]; // L: 47
int var9;
for (var9 = 0; var9 < 14; ++var9) { // L: 48
var3[var9 + var4] += var7 * var8[var9];
}
var5 += this.outputRate; // L: 49
var9 = var5 / this.inputRate; // L: 50
var4 += var9; // L: 51
var5 -= var9 * this.inputRate; // L: 52
}
var1 = new byte[var2]; // L: 54
for (var6 = 0; var6 < var2; ++var6) { // L: 55
int var10 = var3[var6] + 32768 >> 16; // L: 56
if (var10 < -128) { // L: 57
var1[var6] = -128;
} else if (var10 > 127) { // L: 58
var1[var6] = 127;
} else {
var1[var6] = (byte)var10; // L: 59
}
}
}
return var1; // L: 62
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(II)I",
garbageValue = "-202023878"
)
@Export("scaleRate")
int scaleRate(int var1) {
if (this.table != null) { // L: 66
var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate);
}
return var1; // L: 67
}
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "(II)I",
garbageValue = "1042913417"
)
@Export("scalePosition")
int scalePosition(int var1) {
if (this.table != null) { // L: 71
var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6;
}
return var1; // L: 72
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(Ljv;II)Z",
garbageValue = "-1461937174"
)
static boolean method1075(AbstractArchive var0, int var1) {
byte[] var2 = var0.takeFileFlat(var1); // L: 189
if (var2 == null) { // L: 190
return false;
} else {
ItemLayer.SpriteBuffer_decode(var2); // L: 191
return true; // L: 192
}
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1064690457"
)
public static void method1073() {
ItemComposition.ItemDefinition_cachedSprites.clear(); // L: 542
} // L: 543
@ObfuscatedName("fy")
@ObfuscatedSignature(
descriptor = "(Lfl;IIII)V",
garbageValue = "-1353639896"
)
static void method1074(SequenceDefinition var0, int var1, int var2, int var3) {
if (Client.soundEffectCount < 50 && ObjectComposition.clientPreferences.areaSoundEffectsVolume != 0) { // L: 3358
if (var0.soundEffects != null && var1 < var0.soundEffects.length) { // L: 3359
int var4 = var0.soundEffects[var1]; // L: 3360
if (var4 != 0) { // L: 3361
int var5 = var4 >> 8; // L: 3362
int var6 = var4 >> 4 & 7; // L: 3363
int var7 = var4 & 15; // L: 3364
Client.soundEffectIds[Client.soundEffectCount] = var5; // L: 3365
Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; // L: 3366
Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; // L: 3367
Client.soundEffects[Client.soundEffectCount] = null; // L: 3368
int var8 = (var2 - 64) / 128; // L: 3369
int var9 = (var3 - 64) / 128; // L: 3370
Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); // L: 3371
++Client.soundEffectCount; // L: 3372
}
}
}
} // L: 3373
@ObfuscatedName("gx")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "5"
)
static void method1068() {
if (Client.renderSelf) { // L: 4340
NetSocket.addPlayerToScene(class93.localPlayer, false); // L: 4341
}
} // L: 4343
@ObfuscatedName("kd")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-2146015753"
)
static final void method1071() {
Client.field836 = Client.cycleCntr; // L: 11276
} // L: 11277
}