mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-27 21:35:17 -06:00
Renamed Vorbis methods/fields
This commit is contained in:
parent
b4353bc7db
commit
5aaf6a9ad0
7 changed files with 724 additions and 731 deletions
|
|
@ -32,4 +32,30 @@ public class IntUtils {
|
|||
@Pc(40) int local40 = local34 | local34 >>> 16;
|
||||
return local40 + 1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!qi", name = "b", descriptor = "(II)I")
|
||||
public static int bitCount(@OriginalArg(0) int arg0) {
|
||||
@Pc(5) int local5 = 0;
|
||||
if (arg0 < 0 || arg0 >= 65536) {
|
||||
local5 += 16;
|
||||
arg0 >>>= 0x10;
|
||||
}
|
||||
if (arg0 >= 256) {
|
||||
local5 += 8;
|
||||
arg0 >>>= 0x8;
|
||||
}
|
||||
if (arg0 >= 16) {
|
||||
local5 += 4;
|
||||
arg0 >>>= 0x4;
|
||||
}
|
||||
if (arg0 >= 4) {
|
||||
arg0 >>>= 0x2;
|
||||
local5 += 2;
|
||||
}
|
||||
if (arg0 >= 1) {
|
||||
arg0 >>>= 0x1;
|
||||
local5++;
|
||||
}
|
||||
return arg0 + local5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,83 +9,83 @@ import org.openrs2.deob.annotation.Pc;
|
|||
public final class VorbisCodebook {
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "f", descriptor = "[I")
|
||||
private int[] anIntArray288;
|
||||
private int[] entryTree;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "c", descriptor = "I")
|
||||
public final int anInt3055;
|
||||
public final int dimensions;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "e", descriptor = "I")
|
||||
private final int anInt3056;
|
||||
private final int entries;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "a", descriptor = "[I")
|
||||
private final int[] anIntArray286;
|
||||
private final int[] lengths;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "d", descriptor = "[I")
|
||||
private int[] anIntArray287;
|
||||
private int[] multiplicands;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "b", descriptor = "[[F")
|
||||
private float[][] aFloatArrayArray1;
|
||||
private float[][] valueVector;
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "<init>", descriptor = "()V")
|
||||
public VorbisCodebook() {
|
||||
VorbisSound.method2350(24);
|
||||
this.anInt3055 = VorbisSound.method2350(16);
|
||||
this.anInt3056 = VorbisSound.method2350(24);
|
||||
this.anIntArray286 = new int[this.anInt3056];
|
||||
@Pc(23) boolean local23 = VorbisSound.method2346() != 0;
|
||||
VorbisSound.readBits(24);
|
||||
this.dimensions = VorbisSound.readBits(16);
|
||||
this.entries = VorbisSound.readBits(24);
|
||||
this.lengths = new int[this.entries];
|
||||
@Pc(23) boolean local23 = VorbisSound.readBit() != 0;
|
||||
@Pc(27) int local27;
|
||||
@Pc(32) int local32;
|
||||
@Pc(46) int local46;
|
||||
if (local23) {
|
||||
local27 = 0;
|
||||
local32 = VorbisSound.method2350(5) + 1;
|
||||
while (local27 < this.anInt3056) {
|
||||
@Pc(44) int local44 = VorbisSound.method2350(method3674(this.anInt3056 - local27));
|
||||
local32 = VorbisSound.readBits(5) + 1;
|
||||
while (local27 < this.entries) {
|
||||
@Pc(44) int local44 = VorbisSound.readBits(IntUtils.bitCount(this.entries - local27));
|
||||
for (local46 = 0; local46 < local44; local46++) {
|
||||
this.anIntArray286[local27++] = local32;
|
||||
this.lengths[local27++] = local32;
|
||||
}
|
||||
local32++;
|
||||
}
|
||||
} else {
|
||||
@Pc(66) boolean local66 = VorbisSound.method2346() != 0;
|
||||
for (local32 = 0; local32 < this.anInt3056; local32++) {
|
||||
if (local66 && VorbisSound.method2346() == 0) {
|
||||
this.anIntArray286[local32] = 0;
|
||||
@Pc(66) boolean local66 = VorbisSound.readBit() != 0;
|
||||
for (local32 = 0; local32 < this.entries; local32++) {
|
||||
if (local66 && VorbisSound.readBit() == 0) {
|
||||
this.lengths[local32] = 0;
|
||||
} else {
|
||||
this.anIntArray286[local32] = VorbisSound.method2350(5) + 1;
|
||||
this.lengths[local32] = VorbisSound.readBits(5) + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.method2414();
|
||||
local27 = VorbisSound.method2350(4);
|
||||
this.createEntryTree();
|
||||
local27 = VorbisSound.readBits(4);
|
||||
if (local27 > 0) {
|
||||
@Pc(103) float local103 = VorbisSound.method2340(VorbisSound.method2350(32));
|
||||
@Pc(107) float local107 = VorbisSound.method2340(VorbisSound.method2350(32));
|
||||
local46 = VorbisSound.method2350(4) + 1;
|
||||
@Pc(118) boolean local118 = VorbisSound.method2346() != 0;
|
||||
@Pc(103) float local103 = VorbisSound.float32Unpack(VorbisSound.readBits(32));
|
||||
@Pc(107) float local107 = VorbisSound.float32Unpack(VorbisSound.readBits(32));
|
||||
local46 = VorbisSound.readBits(4) + 1;
|
||||
@Pc(118) boolean local118 = VorbisSound.readBit() != 0;
|
||||
@Pc(127) int local127;
|
||||
if (local27 == 1) {
|
||||
local127 = lookup1Values(this.anInt3056, this.anInt3055);
|
||||
local127 = lookup1Values(this.entries, this.dimensions);
|
||||
} else {
|
||||
local127 = this.anInt3056 * this.anInt3055;
|
||||
local127 = this.entries * this.dimensions;
|
||||
}
|
||||
this.anIntArray287 = new int[local127];
|
||||
this.multiplicands = new int[local127];
|
||||
@Pc(140) int local140;
|
||||
for (local140 = 0; local140 < local127; local140++) {
|
||||
this.anIntArray287[local140] = VorbisSound.method2350(local46);
|
||||
this.multiplicands[local140] = VorbisSound.readBits(local46);
|
||||
}
|
||||
this.aFloatArrayArray1 = new float[this.anInt3056][this.anInt3055];
|
||||
this.valueVector = new float[this.entries][this.dimensions];
|
||||
@Pc(169) float local169;
|
||||
@Pc(171) int local171;
|
||||
@Pc(173) int local173;
|
||||
if (local27 == 1) {
|
||||
for (local140 = 0; local140 < this.anInt3056; local140++) {
|
||||
for (local140 = 0; local140 < this.entries; local140++) {
|
||||
local169 = 0.0F;
|
||||
local171 = 1;
|
||||
for (local173 = 0; local173 < this.anInt3055; local173++) {
|
||||
for (local173 = 0; local173 < this.dimensions; local173++) {
|
||||
@Pc(183) int local183 = local140 / local171 % local127;
|
||||
@Pc(195) float local195 = (float) this.anIntArray287[local183] * local107 + local103 + local169;
|
||||
this.aFloatArrayArray1[local140][local173] = local195;
|
||||
@Pc(195) float local195 = (float) this.multiplicands[local183] * local107 + local103 + local169;
|
||||
this.valueVector[local140][local173] = local195;
|
||||
if (local118) {
|
||||
local169 = local195;
|
||||
}
|
||||
|
|
@ -93,12 +93,12 @@ public final class VorbisCodebook {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
for (local140 = 0; local140 < this.anInt3056; local140++) {
|
||||
for (local140 = 0; local140 < this.entries; local140++) {
|
||||
local169 = 0.0F;
|
||||
local171 = local140 * this.anInt3055;
|
||||
for (local173 = 0; local173 < this.anInt3055; local173++) {
|
||||
@Pc(246) float local246 = (float) this.anIntArray287[local171] * local107 + local103 + local169;
|
||||
this.aFloatArrayArray1[local140][local173] = local246;
|
||||
local171 = local140 * this.dimensions;
|
||||
for (local173 = 0; local173 < this.dimensions; local173++) {
|
||||
@Pc(246) float local246 = (float) this.multiplicands[local171] * local107 + local103 + local169;
|
||||
this.valueVector[local140][local173] = local246;
|
||||
if (local118) {
|
||||
local169 = local246;
|
||||
}
|
||||
|
|
@ -117,40 +117,14 @@ public final class VorbisCodebook {
|
|||
return returnValue;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!qi", name = "b", descriptor = "(II)I")
|
||||
public static int method3674(@OriginalArg(0) int arg0) {
|
||||
@Pc(5) int local5 = 0;
|
||||
if (arg0 < 0 || arg0 >= 65536) {
|
||||
local5 += 16;
|
||||
arg0 >>>= 0x10;
|
||||
}
|
||||
if (arg0 >= 256) {
|
||||
local5 += 8;
|
||||
arg0 >>>= 0x8;
|
||||
}
|
||||
if (arg0 >= 16) {
|
||||
local5 += 4;
|
||||
arg0 >>>= 0x4;
|
||||
}
|
||||
if (arg0 >= 4) {
|
||||
arg0 >>>= 0x2;
|
||||
local5 += 2;
|
||||
}
|
||||
if (arg0 >= 1) {
|
||||
arg0 >>>= 0x1;
|
||||
local5++;
|
||||
}
|
||||
return arg0 + local5;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "a", descriptor = "()[F")
|
||||
public final float[] method2413() {
|
||||
return this.aFloatArrayArray1[this.method2415()];
|
||||
@OriginalMember(owner = "client!ji", name = "a", descriptor = "()[F")
|
||||
public final float[] decodeVq() {
|
||||
return this.valueVector[this.decodeScalar()];
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "b", descriptor = "()V")
|
||||
private void method2414() {
|
||||
@Pc(3) int[] local3 = new int[this.anInt3056];
|
||||
private void createEntryTree() {
|
||||
@Pc(3) int[] local3 = new int[this.entries];
|
||||
@Pc(6) int[] local6 = new int[33];
|
||||
@Pc(8) int local8;
|
||||
@Pc(17) int local17;
|
||||
|
|
@ -159,8 +133,8 @@ public final class VorbisCodebook {
|
|||
@Pc(44) int local44;
|
||||
@Pc(53) int local53;
|
||||
@Pc(69) int local69;
|
||||
for (local8 = 0; local8 < this.anInt3056; local8++) {
|
||||
local17 = this.anIntArray286[local8];
|
||||
for (local8 = 0; local8 < this.entries; local8++) {
|
||||
local17 = this.lengths[local8];
|
||||
if (local17 != 0) {
|
||||
local26 = 0x1 << 32 - local17;
|
||||
local30 = local6[local17];
|
||||
|
|
@ -192,10 +166,10 @@ public final class VorbisCodebook {
|
|||
}
|
||||
}
|
||||
}
|
||||
this.anIntArray288 = new int[8];
|
||||
this.entryTree = new int[8];
|
||||
@Pc(122) int local122 = 0;
|
||||
for (local8 = 0; local8 < this.anInt3056; local8++) {
|
||||
local17 = this.anIntArray286[local8];
|
||||
for (local8 = 0; local8 < this.entries; local8++) {
|
||||
local17 = this.lengths[local8];
|
||||
if (local17 != 0) {
|
||||
local26 = local3[local8];
|
||||
local30 = 0;
|
||||
|
|
@ -204,20 +178,20 @@ public final class VorbisCodebook {
|
|||
if ((local26 & local53) == 0) {
|
||||
local30++;
|
||||
} else {
|
||||
if (this.anIntArray288[local30] == 0) {
|
||||
this.anIntArray288[local30] = local122;
|
||||
if (this.entryTree[local30] == 0) {
|
||||
this.entryTree[local30] = local122;
|
||||
}
|
||||
local30 = this.anIntArray288[local30];
|
||||
local30 = this.entryTree[local30];
|
||||
}
|
||||
if (local30 >= this.anIntArray288.length) {
|
||||
@Pc(184) int[] local184 = new int[this.anIntArray288.length * 2];
|
||||
for (local69 = 0; local69 < this.anIntArray288.length; local69++) {
|
||||
local184[local69] = this.anIntArray288[local69];
|
||||
if (local30 >= this.entryTree.length) {
|
||||
@Pc(184) int[] local184 = new int[this.entryTree.length * 2];
|
||||
for (local69 = 0; local69 < this.entryTree.length; local69++) {
|
||||
local184[local69] = this.entryTree[local69];
|
||||
}
|
||||
this.anIntArray288 = local184;
|
||||
this.entryTree = local184;
|
||||
}
|
||||
}
|
||||
this.anIntArray288[local30] = ~local8;
|
||||
this.entryTree[local30] = ~local8;
|
||||
if (local30 >= local122) {
|
||||
local122 = local30 + 1;
|
||||
}
|
||||
|
|
@ -226,10 +200,10 @@ public final class VorbisCodebook {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ji", name = "c", descriptor = "()I")
|
||||
public final int method2415() {
|
||||
public final int decodeScalar() {
|
||||
@Pc(1) int local1;
|
||||
for (local1 = 0; this.anIntArray288[local1] >= 0; local1 = VorbisSound.method2346() == 0 ? local1 + 1 : this.anIntArray288[local1]) {
|
||||
for (local1 = 0; this.entryTree[local1] >= 0; local1 = VorbisSound.readBit() == 0 ? local1 + 1 : this.entryTree[local1]) {
|
||||
}
|
||||
return ~this.anIntArray288[local1];
|
||||
return ~this.entryTree[local1];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,280 @@
|
|||
package rt4;
|
||||
|
||||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalClass;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class VorbisFloor {
|
||||
@OriginalMember(owner = "client!ie", name = "l", descriptor = "[F")
|
||||
public static final float[] INVERSE_DB_TABLE = new float[] { 1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F };
|
||||
@OriginalClass("client!ie")
|
||||
public final class VorbisFloor {
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "k", descriptor = "[I")
|
||||
public static final int[] RANGES = new int[] { 256, 128, 86, 64 };
|
||||
@OriginalMember(owner = "client!ie", name = "l", descriptor = "[F")
|
||||
public static final float[] INVERSE_DB_TABLE = new float[] { 1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F };
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "[Z")
|
||||
public static boolean[] step2Flag;
|
||||
@OriginalMember(owner = "client!ie", name = "h", descriptor = "[I")
|
||||
public static int[] currentXList;
|
||||
@OriginalMember(owner = "client!ie", name = "j", descriptor = "[I")
|
||||
public static int[] y;
|
||||
@OriginalMember(owner = "client!ie", name = "e", descriptor = "[I")
|
||||
private final int[] classList;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "i", descriptor = "[I")
|
||||
private final int[] classDimensions;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "g", descriptor = "[I")
|
||||
private final int[] subclasses;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "[I")
|
||||
private final int[] classMasterBooks;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "c", descriptor = "[[I")
|
||||
private final int[][] subclassBooks;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "f", descriptor = "I")
|
||||
private final int multiplier;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "d", descriptor = "[I")
|
||||
private final int[] xList;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "<init>", descriptor = "()V")
|
||||
public VorbisFloor() {
|
||||
@Pc(4) int type = VorbisSound.readBits(16);
|
||||
if (type != 1) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
@Pc(14) int local14 = VorbisSound.readBits(5);
|
||||
@Pc(16) int local16 = 0;
|
||||
this.classList = new int[local14];
|
||||
@Pc(22) int local22;
|
||||
@Pc(28) int local28;
|
||||
for (local22 = 0; local22 < local14; local22++) {
|
||||
local28 = VorbisSound.readBits(4);
|
||||
this.classList[local22] = local28;
|
||||
if (local28 >= local16) {
|
||||
local16 = local28 + 1;
|
||||
}
|
||||
}
|
||||
this.classDimensions = new int[local16];
|
||||
this.subclasses = new int[local16];
|
||||
this.classMasterBooks = new int[local16];
|
||||
this.subclassBooks = new int[local16][];
|
||||
@Pc(101) int local101;
|
||||
for (local22 = 0; local22 < local16; local22++) {
|
||||
this.classDimensions[local22] = VorbisSound.readBits(3) + 1;
|
||||
local28 = this.subclasses[local22] = VorbisSound.readBits(2);
|
||||
if (local28 != 0) {
|
||||
this.classMasterBooks[local22] = VorbisSound.readBits(8);
|
||||
}
|
||||
local28 = 0x1 << local28;
|
||||
@Pc(94) int[] local94 = new int[local28];
|
||||
this.subclassBooks[local22] = local94;
|
||||
for (local101 = 0; local101 < local28; local101++) {
|
||||
local94[local101] = VorbisSound.readBits(8) - 1;
|
||||
}
|
||||
}
|
||||
this.multiplier = VorbisSound.readBits(2) + 1;
|
||||
local22 = VorbisSound.readBits(4);
|
||||
local28 = 2;
|
||||
@Pc(128) int local128;
|
||||
for (local128 = 0; local128 < local14; local128++) {
|
||||
local28 += this.classDimensions[this.classList[local128]];
|
||||
}
|
||||
this.xList = new int[local28];
|
||||
this.xList[0] = 0;
|
||||
this.xList[1] = 0x1 << local22;
|
||||
local28 = 2;
|
||||
for (local128 = 0; local128 < local14; local128++) {
|
||||
local101 = this.classList[local128];
|
||||
for (@Pc(173) int local173 = 0; local173 < this.classDimensions[local101]; local173++) {
|
||||
this.xList[local28++] = VorbisSound.readBits(local22);
|
||||
}
|
||||
}
|
||||
if (currentXList == null || currentXList.length < local28) {
|
||||
currentXList = new int[local28];
|
||||
y = new int[local28];
|
||||
step2Flag = new boolean[local28];
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "([II)I")
|
||||
public static int lowNeighbour(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = arg0[arg1];
|
||||
@Pc(5) int local5 = -1;
|
||||
@Pc(7) int local7 = Integer.MIN_VALUE;
|
||||
for (@Pc(9) int local9 = 0; local9 < arg1; local9++) {
|
||||
@Pc(16) int local16 = arg0[local9];
|
||||
if (local16 < local3 && local16 > local7) {
|
||||
local5 = local9;
|
||||
local7 = local16;
|
||||
}
|
||||
}
|
||||
return local5;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "([II)I")
|
||||
public static int highNeighbour(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = arg0[arg1];
|
||||
@Pc(5) int local5 = -1;
|
||||
@Pc(7) int local7 = Integer.MAX_VALUE;
|
||||
for (@Pc(9) int local9 = 0; local9 < arg1; local9++) {
|
||||
@Pc(16) int local16 = arg0[local9];
|
||||
if (local16 > local3 && local16 < local7) {
|
||||
local5 = local9;
|
||||
local7 = local16;
|
||||
}
|
||||
}
|
||||
return local5;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(IIII[FI)V")
|
||||
private void renderLine(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) float[] arg4, @OriginalArg(5) int arg5) {
|
||||
@Pc(3) int local3 = arg3 - arg1;
|
||||
@Pc(7) int local7 = arg2 - arg0;
|
||||
@Pc(14) int local14 = local3 < 0 ? -local3 : local3;
|
||||
@Pc(18) int local18 = local3 / local7;
|
||||
@Pc(20) int local20 = arg1;
|
||||
@Pc(22) int local22 = 0;
|
||||
@Pc(32) int local32 = local3 < 0 ? local18 - 1 : local18 + 1;
|
||||
@Pc(43) int local43 = local14 - (local18 < 0 ? -local18 : local18) * local7;
|
||||
arg4[arg0] *= INVERSE_DB_TABLE[arg1];
|
||||
if (arg2 > arg5) {
|
||||
arg2 = arg5;
|
||||
}
|
||||
for (@Pc(61) int local61 = arg0 + 1; local61 < arg2; local61++) {
|
||||
local22 += local43;
|
||||
if (local22 >= local7) {
|
||||
local22 -= local7;
|
||||
local20 += local32;
|
||||
} else {
|
||||
local20 += local18;
|
||||
}
|
||||
arg4[local61] *= INVERSE_DB_TABLE[local20];
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(II)V")
|
||||
private void sort(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
|
||||
if (arg0 >= arg1) {
|
||||
return;
|
||||
}
|
||||
@Pc(5) int local5 = arg0;
|
||||
@Pc(9) int local9 = currentXList[arg0];
|
||||
@Pc(13) int local13 = y[arg0];
|
||||
@Pc(17) boolean local17 = step2Flag[arg0];
|
||||
for (@Pc(21) int local21 = arg0 + 1; local21 <= arg1; local21++) {
|
||||
@Pc(28) int local28 = currentXList[local21];
|
||||
if (local28 < local9) {
|
||||
currentXList[local5] = local28;
|
||||
y[local5] = y[local21];
|
||||
step2Flag[local5] = step2Flag[local21];
|
||||
local5++;
|
||||
currentXList[local21] = currentXList[local5];
|
||||
y[local21] = y[local5];
|
||||
step2Flag[local21] = step2Flag[local5];
|
||||
}
|
||||
}
|
||||
currentXList[local5] = local9;
|
||||
y[local5] = local13;
|
||||
step2Flag[local5] = local17;
|
||||
this.sort(arg0, local5 - 1);
|
||||
this.sort(local5 + 1, arg1);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(IIIII)I")
|
||||
private int renderPoint(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
||||
@Pc(3) int local3 = arg3 - arg1;
|
||||
@Pc(7) int local7 = arg2 - arg0;
|
||||
@Pc(14) int local14 = local3 < 0 ? -local3 : local3;
|
||||
@Pc(20) int local20 = local14 * (arg4 - arg0);
|
||||
@Pc(24) int local24 = local20 / local7;
|
||||
return local3 < 0 ? arg1 - local24 : arg1 + local24;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "([FI)V")
|
||||
public final void synthesize(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = this.xList.length;
|
||||
@Pc(10) int local10 = RANGES[this.multiplier - 1];
|
||||
step2Flag[0] = step2Flag[1] = true;
|
||||
@Pc(20) int local20;
|
||||
@Pc(27) int local27;
|
||||
@Pc(31) int local31;
|
||||
@Pc(49) int local49;
|
||||
@Pc(53) int local53;
|
||||
for (local20 = 2; local20 < local3; local20++) {
|
||||
local27 = lowNeighbour(currentXList, local20);
|
||||
local31 = highNeighbour(currentXList, local20);
|
||||
local49 = this.renderPoint(currentXList[local27], y[local27], currentXList[local31], y[local31], currentXList[local20]);
|
||||
local53 = y[local20];
|
||||
@Pc(57) int local57 = local10 - local49;
|
||||
@Pc(68) int local68 = (local57 < local49 ? local57 : local49) << 1;
|
||||
if (local53 == 0) {
|
||||
step2Flag[local20] = false;
|
||||
y[local20] = local49;
|
||||
} else {
|
||||
step2Flag[local27] = step2Flag[local31] = true;
|
||||
step2Flag[local20] = true;
|
||||
if (local53 >= local68) {
|
||||
y[local20] = local57 > local49 ? local53 + local49 - local49 : local49 - local53 + local57 - 1;
|
||||
} else {
|
||||
y[local20] = (local53 & 0x1) == 0 ? local49 + local53 / 2 : local49 - (local53 + 1) / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.sort(0, local3 - 1);
|
||||
local20 = 0;
|
||||
local27 = y[0] * this.multiplier;
|
||||
for (local31 = 1; local31 < local3; local31++) {
|
||||
if (step2Flag[local31]) {
|
||||
local49 = currentXList[local31];
|
||||
local53 = y[local31] * this.multiplier;
|
||||
this.renderLine(local20, local27, local49, local53, arg0, arg1);
|
||||
if (local49 >= arg1) {
|
||||
return;
|
||||
}
|
||||
local20 = local49;
|
||||
local27 = local53;
|
||||
}
|
||||
}
|
||||
@Pc(193) float local193 = INVERSE_DB_TABLE[local27];
|
||||
for (local49 = local20; local49 < arg1; local49++) {
|
||||
arg0[local49] *= local193;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "()Z")
|
||||
public final boolean decodePacket() {
|
||||
@Pc(5) boolean local5 = VorbisSound.readBit() != 0;
|
||||
if (!local5) {
|
||||
return false;
|
||||
}
|
||||
@Pc(13) int local13 = this.xList.length;
|
||||
@Pc(15) int local15;
|
||||
for (local15 = 0; local15 < local13; local15++) {
|
||||
currentXList[local15] = this.xList[local15];
|
||||
}
|
||||
local15 = RANGES[this.multiplier - 1];
|
||||
@Pc(40) int local40 = IntUtils.bitCount(local15 - 1);
|
||||
y[0] = VorbisSound.readBits(local40);
|
||||
y[1] = VorbisSound.readBits(local40);
|
||||
@Pc(52) int local52 = 2;
|
||||
for (@Pc(54) int local54 = 0; local54 < this.classList.length; local54++) {
|
||||
@Pc(64) int local64 = this.classList[local54];
|
||||
@Pc(69) int local69 = this.classDimensions[local64];
|
||||
@Pc(74) int local74 = this.subclasses[local64];
|
||||
@Pc(80) int local80 = (0x1 << local74) - 1;
|
||||
@Pc(82) int local82 = 0;
|
||||
if (local74 > 0) {
|
||||
local82 = VorbisSound.codebooks[this.classMasterBooks[local64]].decodeScalar();
|
||||
}
|
||||
for (@Pc(94) int local94 = 0; local94 < local69; local94++) {
|
||||
@Pc(106) int local106 = this.subclassBooks[local64][local82 & local80];
|
||||
local82 >>>= local74;
|
||||
y[local52++] = local106 >= 0 ? VorbisSound.codebooks[local106].decodeScalar() : 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,34 +8,34 @@ import org.openrs2.deob.annotation.Pc;
|
|||
public final class VorbisMapping {
|
||||
|
||||
@OriginalMember(owner = "client!uk", name = "d", descriptor = "I")
|
||||
public final int anInt5563;
|
||||
public final int submaps;
|
||||
|
||||
@OriginalMember(owner = "client!uk", name = "a", descriptor = "I")
|
||||
public int anInt5562;
|
||||
public int mux;
|
||||
|
||||
@OriginalMember(owner = "client!uk", name = "b", descriptor = "[I")
|
||||
public final int[] anIntArray490;
|
||||
public final int[] submapFloor;
|
||||
|
||||
@OriginalMember(owner = "client!uk", name = "c", descriptor = "[I")
|
||||
public final int[] anIntArray491;
|
||||
public final int[] submapResidue;
|
||||
|
||||
@OriginalMember(owner = "client!uk", name = "<init>", descriptor = "()V")
|
||||
public VorbisMapping() {
|
||||
VorbisSound.method2350(16);
|
||||
this.anInt5563 = VorbisSound.method2346() == 0 ? 1 : VorbisSound.method2350(4) + 1;
|
||||
if (VorbisSound.method2346() != 0) {
|
||||
VorbisSound.method2350(8);
|
||||
VorbisSound.readBits(16);
|
||||
this.submaps = VorbisSound.readBit() == 0 ? 1 : VorbisSound.readBits(4) + 1;
|
||||
if (VorbisSound.readBit() != 0) {
|
||||
VorbisSound.readBits(8);
|
||||
}
|
||||
VorbisSound.method2350(2);
|
||||
if (this.anInt5563 > 1) {
|
||||
this.anInt5562 = VorbisSound.method2350(4);
|
||||
VorbisSound.readBits(2);
|
||||
if (this.submaps > 1) {
|
||||
this.mux = VorbisSound.readBits(4);
|
||||
}
|
||||
this.anIntArray490 = new int[this.anInt5563];
|
||||
this.anIntArray491 = new int[this.anInt5563];
|
||||
for (@Pc(42) int local42 = 0; local42 < this.anInt5563; local42++) {
|
||||
VorbisSound.method2350(8);
|
||||
this.anIntArray490[local42] = VorbisSound.method2350(8);
|
||||
this.anIntArray491[local42] = VorbisSound.method2350(8);
|
||||
this.submapFloor = new int[this.submaps];
|
||||
this.submapResidue = new int[this.submaps];
|
||||
for (@Pc(42) int local42 = 0; local42 < this.submaps; local42++) {
|
||||
VorbisSound.readBits(8);
|
||||
this.submapFloor[local42] = VorbisSound.readBits(8);
|
||||
this.submapResidue[local42] = VorbisSound.readBits(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,278 +0,0 @@
|
|||
package rt4;
|
||||
|
||||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalClass;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
@OriginalClass("client!ie")
|
||||
public final class VorbisRange {
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "k", descriptor = "[I")
|
||||
public static final int[] anIntArray267 = new int[] { 256, 128, 86, 64 };
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "[Z")
|
||||
public static boolean[] aBooleanArray60;
|
||||
@OriginalMember(owner = "client!ie", name = "h", descriptor = "[I")
|
||||
public static int[] anIntArray264;
|
||||
@OriginalMember(owner = "client!ie", name = "j", descriptor = "[I")
|
||||
public static int[] anIntArray266;
|
||||
@OriginalMember(owner = "client!ie", name = "e", descriptor = "[I")
|
||||
private final int[] anIntArray262;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "i", descriptor = "[I")
|
||||
private final int[] anIntArray265;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "g", descriptor = "[I")
|
||||
private final int[] anIntArray263;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "[I")
|
||||
private final int[] anIntArray260;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "c", descriptor = "[[I")
|
||||
private final int[][] anIntArrayArray20;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "f", descriptor = "I")
|
||||
private final int anInt2880;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "d", descriptor = "[I")
|
||||
private final int[] anIntArray261;
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "<init>", descriptor = "()V")
|
||||
public VorbisRange() {
|
||||
@Pc(4) int local4 = VorbisSound.method2350(16);
|
||||
if (local4 != 1) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
@Pc(14) int local14 = VorbisSound.method2350(5);
|
||||
@Pc(16) int local16 = 0;
|
||||
this.anIntArray262 = new int[local14];
|
||||
@Pc(22) int local22;
|
||||
@Pc(28) int local28;
|
||||
for (local22 = 0; local22 < local14; local22++) {
|
||||
local28 = VorbisSound.method2350(4);
|
||||
this.anIntArray262[local22] = local28;
|
||||
if (local28 >= local16) {
|
||||
local16 = local28 + 1;
|
||||
}
|
||||
}
|
||||
this.anIntArray265 = new int[local16];
|
||||
this.anIntArray263 = new int[local16];
|
||||
this.anIntArray260 = new int[local16];
|
||||
this.anIntArrayArray20 = new int[local16][];
|
||||
@Pc(101) int local101;
|
||||
for (local22 = 0; local22 < local16; local22++) {
|
||||
this.anIntArray265[local22] = VorbisSound.method2350(3) + 1;
|
||||
local28 = this.anIntArray263[local22] = VorbisSound.method2350(2);
|
||||
if (local28 != 0) {
|
||||
this.anIntArray260[local22] = VorbisSound.method2350(8);
|
||||
}
|
||||
local28 = 0x1 << local28;
|
||||
@Pc(94) int[] local94 = new int[local28];
|
||||
this.anIntArrayArray20[local22] = local94;
|
||||
for (local101 = 0; local101 < local28; local101++) {
|
||||
local94[local101] = VorbisSound.method2350(8) - 1;
|
||||
}
|
||||
}
|
||||
this.anInt2880 = VorbisSound.method2350(2) + 1;
|
||||
local22 = VorbisSound.method2350(4);
|
||||
local28 = 2;
|
||||
@Pc(128) int local128;
|
||||
for (local128 = 0; local128 < local14; local128++) {
|
||||
local28 += this.anIntArray265[this.anIntArray262[local128]];
|
||||
}
|
||||
this.anIntArray261 = new int[local28];
|
||||
this.anIntArray261[0] = 0;
|
||||
this.anIntArray261[1] = 0x1 << local22;
|
||||
local28 = 2;
|
||||
for (local128 = 0; local128 < local14; local128++) {
|
||||
local101 = this.anIntArray262[local128];
|
||||
for (@Pc(173) int local173 = 0; local173 < this.anIntArray265[local101]; local173++) {
|
||||
this.anIntArray261[local28++] = VorbisSound.method2350(local22);
|
||||
}
|
||||
}
|
||||
if (anIntArray264 == null || anIntArray264.length < local28) {
|
||||
anIntArray264 = new int[local28];
|
||||
anIntArray266 = new int[local28];
|
||||
aBooleanArray60 = new boolean[local28];
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "([II)I")
|
||||
public static int method2268(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = arg0[arg1];
|
||||
@Pc(5) int local5 = -1;
|
||||
@Pc(7) int local7 = Integer.MIN_VALUE;
|
||||
for (@Pc(9) int local9 = 0; local9 < arg1; local9++) {
|
||||
@Pc(16) int local16 = arg0[local9];
|
||||
if (local16 < local3 && local16 > local7) {
|
||||
local5 = local9;
|
||||
local7 = local16;
|
||||
}
|
||||
}
|
||||
return local5;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "([II)I")
|
||||
public static int method2270(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = arg0[arg1];
|
||||
@Pc(5) int local5 = -1;
|
||||
@Pc(7) int local7 = Integer.MAX_VALUE;
|
||||
for (@Pc(9) int local9 = 0; local9 < arg1; local9++) {
|
||||
@Pc(16) int local16 = arg0[local9];
|
||||
if (local16 > local3 && local16 < local7) {
|
||||
local5 = local9;
|
||||
local7 = local16;
|
||||
}
|
||||
}
|
||||
return local5;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(IIII[FI)V")
|
||||
private void method2265(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) float[] arg4, @OriginalArg(5) int arg5) {
|
||||
@Pc(3) int local3 = arg3 - arg1;
|
||||
@Pc(7) int local7 = arg2 - arg0;
|
||||
@Pc(14) int local14 = local3 < 0 ? -local3 : local3;
|
||||
@Pc(18) int local18 = local3 / local7;
|
||||
@Pc(20) int local20 = arg1;
|
||||
@Pc(22) int local22 = 0;
|
||||
@Pc(32) int local32 = local3 < 0 ? local18 - 1 : local18 + 1;
|
||||
@Pc(43) int local43 = local14 - (local18 < 0 ? -local18 : local18) * local7;
|
||||
arg4[arg0] *= VorbisFloor.INVERSE_DB_TABLE[arg1];
|
||||
if (arg2 > arg5) {
|
||||
arg2 = arg5;
|
||||
}
|
||||
for (@Pc(61) int local61 = arg0 + 1; local61 < arg2; local61++) {
|
||||
local22 += local43;
|
||||
if (local22 >= local7) {
|
||||
local22 -= local7;
|
||||
local20 += local32;
|
||||
} else {
|
||||
local20 += local18;
|
||||
}
|
||||
arg4[local61] *= VorbisFloor.INVERSE_DB_TABLE[local20];
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(II)V")
|
||||
private void method2266(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
|
||||
if (arg0 >= arg1) {
|
||||
return;
|
||||
}
|
||||
@Pc(5) int local5 = arg0;
|
||||
@Pc(9) int local9 = anIntArray264[arg0];
|
||||
@Pc(13) int local13 = anIntArray266[arg0];
|
||||
@Pc(17) boolean local17 = aBooleanArray60[arg0];
|
||||
for (@Pc(21) int local21 = arg0 + 1; local21 <= arg1; local21++) {
|
||||
@Pc(28) int local28 = anIntArray264[local21];
|
||||
if (local28 < local9) {
|
||||
anIntArray264[local5] = local28;
|
||||
anIntArray266[local5] = anIntArray266[local21];
|
||||
aBooleanArray60[local5] = aBooleanArray60[local21];
|
||||
local5++;
|
||||
anIntArray264[local21] = anIntArray264[local5];
|
||||
anIntArray266[local21] = anIntArray266[local5];
|
||||
aBooleanArray60[local21] = aBooleanArray60[local5];
|
||||
}
|
||||
}
|
||||
anIntArray264[local5] = local9;
|
||||
anIntArray266[local5] = local13;
|
||||
aBooleanArray60[local5] = local17;
|
||||
this.method2266(arg0, local5 - 1);
|
||||
this.method2266(local5 + 1, arg1);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "(IIIII)I")
|
||||
private int method2267(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
||||
@Pc(3) int local3 = arg3 - arg1;
|
||||
@Pc(7) int local7 = arg2 - arg0;
|
||||
@Pc(14) int local14 = local3 < 0 ? -local3 : local3;
|
||||
@Pc(20) int local20 = local14 * (arg4 - arg0);
|
||||
@Pc(24) int local24 = local20 / local7;
|
||||
return local3 < 0 ? arg1 - local24 : arg1 + local24;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "a", descriptor = "([FI)V")
|
||||
public final void method2269(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1) {
|
||||
@Pc(3) int local3 = this.anIntArray261.length;
|
||||
@Pc(10) int local10 = anIntArray267[this.anInt2880 - 1];
|
||||
aBooleanArray60[0] = aBooleanArray60[1] = true;
|
||||
@Pc(20) int local20;
|
||||
@Pc(27) int local27;
|
||||
@Pc(31) int local31;
|
||||
@Pc(49) int local49;
|
||||
@Pc(53) int local53;
|
||||
for (local20 = 2; local20 < local3; local20++) {
|
||||
local27 = method2268(anIntArray264, local20);
|
||||
local31 = method2270(anIntArray264, local20);
|
||||
local49 = this.method2267(anIntArray264[local27], anIntArray266[local27], anIntArray264[local31], anIntArray266[local31], anIntArray264[local20]);
|
||||
local53 = anIntArray266[local20];
|
||||
@Pc(57) int local57 = local10 - local49;
|
||||
@Pc(68) int local68 = (local57 < local49 ? local57 : local49) << 1;
|
||||
if (local53 == 0) {
|
||||
aBooleanArray60[local20] = false;
|
||||
anIntArray266[local20] = local49;
|
||||
} else {
|
||||
aBooleanArray60[local27] = aBooleanArray60[local31] = true;
|
||||
aBooleanArray60[local20] = true;
|
||||
if (local53 >= local68) {
|
||||
anIntArray266[local20] = local57 > local49 ? local53 + local49 - local49 : local49 - local53 + local57 - 1;
|
||||
} else {
|
||||
anIntArray266[local20] = (local53 & 0x1) == 0 ? local49 + local53 / 2 : local49 - (local53 + 1) / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.method2266(0, local3 - 1);
|
||||
local20 = 0;
|
||||
local27 = anIntArray266[0] * this.anInt2880;
|
||||
for (local31 = 1; local31 < local3; local31++) {
|
||||
if (aBooleanArray60[local31]) {
|
||||
local49 = anIntArray264[local31];
|
||||
local53 = anIntArray266[local31] * this.anInt2880;
|
||||
this.method2265(local20, local27, local49, local53, arg0, arg1);
|
||||
if (local49 >= arg1) {
|
||||
return;
|
||||
}
|
||||
local20 = local49;
|
||||
local27 = local53;
|
||||
}
|
||||
}
|
||||
@Pc(193) float local193 = VorbisFloor.INVERSE_DB_TABLE[local27];
|
||||
for (local49 = local20; local49 < arg1; local49++) {
|
||||
arg0[local49] *= local193;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ie", name = "b", descriptor = "()Z")
|
||||
public final boolean method2272() {
|
||||
@Pc(5) boolean local5 = VorbisSound.method2346() != 0;
|
||||
if (!local5) {
|
||||
return false;
|
||||
}
|
||||
@Pc(13) int local13 = this.anIntArray261.length;
|
||||
@Pc(15) int local15;
|
||||
for (local15 = 0; local15 < local13; local15++) {
|
||||
anIntArray264[local15] = this.anIntArray261[local15];
|
||||
}
|
||||
local15 = anIntArray267[this.anInt2880 - 1];
|
||||
@Pc(40) int local40 = VorbisCodebook.method3674(local15 - 1);
|
||||
anIntArray266[0] = VorbisSound.method2350(local40);
|
||||
anIntArray266[1] = VorbisSound.method2350(local40);
|
||||
@Pc(52) int local52 = 2;
|
||||
for (@Pc(54) int local54 = 0; local54 < this.anIntArray262.length; local54++) {
|
||||
@Pc(64) int local64 = this.anIntArray262[local54];
|
||||
@Pc(69) int local69 = this.anIntArray265[local64];
|
||||
@Pc(74) int local74 = this.anIntArray263[local64];
|
||||
@Pc(80) int local80 = (0x1 << local74) - 1;
|
||||
@Pc(82) int local82 = 0;
|
||||
if (local74 > 0) {
|
||||
local82 = VorbisSound.aClass78Array1[this.anIntArray260[local64]].method2415();
|
||||
}
|
||||
for (@Pc(94) int local94 = 0; local94 < local69; local94++) {
|
||||
@Pc(106) int local106 = this.anIntArrayArray20[local64][local82 & local80];
|
||||
local82 >>>= local74;
|
||||
anIntArray266[local52++] = local106 >= 0 ? VorbisSound.aClass78Array1[local106].method2415() : 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,47 +9,47 @@ import org.openrs2.deob.annotation.Pc;
|
|||
public final class VorbisResidue {
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "c", descriptor = "I")
|
||||
private final int anInt5679 = VorbisSound.method2350(16);
|
||||
private final int type = VorbisSound.readBits(16);
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "b", descriptor = "I")
|
||||
private final int anInt5678 = VorbisSound.method2350(24);
|
||||
private final int begin = VorbisSound.readBits(24);
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "d", descriptor = "I")
|
||||
private final int anInt5680 = VorbisSound.method2350(24);
|
||||
private final int end = VorbisSound.readBits(24);
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "e", descriptor = "I")
|
||||
private final int anInt5681 = VorbisSound.method2350(24) + 1;
|
||||
private final int partitionSize = VorbisSound.readBits(24) + 1;
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "g", descriptor = "I")
|
||||
private final int anInt5682 = VorbisSound.method2350(6) + 1;
|
||||
private final int classifications = VorbisSound.readBits(6) + 1;
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "a", descriptor = "I")
|
||||
private final int anInt5677 = VorbisSound.method2350(8);
|
||||
private final int classBook = VorbisSound.readBits(8);
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "f", descriptor = "[I")
|
||||
private final int[] anIntArray511;
|
||||
private final int[] books;
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "<init>", descriptor = "()V")
|
||||
public VorbisResidue() {
|
||||
@Pc(33) int[] local33 = new int[this.anInt5682];
|
||||
@Pc(33) int[] local33 = new int[this.classifications];
|
||||
@Pc(35) int local35;
|
||||
for (local35 = 0; local35 < this.anInt5682; local35++) {
|
||||
for (local35 = 0; local35 < this.classifications; local35++) {
|
||||
@Pc(41) int local41 = 0;
|
||||
@Pc(44) int local44 = VorbisSound.method2350(3);
|
||||
@Pc(50) boolean local50 = VorbisSound.method2346() != 0;
|
||||
@Pc(44) int local44 = VorbisSound.readBits(3);
|
||||
@Pc(50) boolean local50 = VorbisSound.readBit() != 0;
|
||||
if (local50) {
|
||||
local41 = VorbisSound.method2350(5);
|
||||
local41 = VorbisSound.readBits(5);
|
||||
}
|
||||
local33[local35] = local41 << 3 | local44;
|
||||
}
|
||||
this.anIntArray511 = new int[this.anInt5682 * 8];
|
||||
for (local35 = 0; local35 < this.anInt5682 * 8; local35++) {
|
||||
this.anIntArray511[local35] = (local33[local35 >> 3] & 0x1 << (local35 & 0x7)) == 0 ? -1 : VorbisSound.method2350(8);
|
||||
this.books = new int[this.classifications * 8];
|
||||
for (local35 = 0; local35 < this.classifications * 8; local35++) {
|
||||
this.books[local35] = (local33[local35 >> 3] & 0x1 << (local35 & 0x7)) == 0 ? -1 : VorbisSound.readBits(8);
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!vb", name = "a", descriptor = "([FIZ)V")
|
||||
public final void method4450(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) boolean arg2) {
|
||||
public final void synthesize(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) boolean arg2) {
|
||||
@Pc(1) int local1;
|
||||
for (local1 = 0; local1 < arg1; local1++) {
|
||||
arg0[local1] = 0.0F;
|
||||
|
|
@ -57,9 +57,9 @@ public final class VorbisResidue {
|
|||
if (arg2) {
|
||||
return;
|
||||
}
|
||||
local1 = VorbisSound.aClass78Array1[this.anInt5677].anInt3055;
|
||||
@Pc(25) int local25 = this.anInt5680 - this.anInt5678;
|
||||
@Pc(30) int local30 = local25 / this.anInt5681;
|
||||
local1 = VorbisSound.codebooks[this.classBook].dimensions;
|
||||
@Pc(25) int local25 = this.end - this.begin;
|
||||
@Pc(30) int local30 = local25 / this.partitionSize;
|
||||
@Pc(33) int[] local33 = new int[local30];
|
||||
for (@Pc(35) int local35 = 0; local35 < 8; local35++) {
|
||||
@Pc(40) int local40 = 0;
|
||||
|
|
@ -67,34 +67,34 @@ public final class VorbisResidue {
|
|||
@Pc(51) int local51;
|
||||
@Pc(55) int local55;
|
||||
if (local35 == 0) {
|
||||
local51 = VorbisSound.aClass78Array1[this.anInt5677].method2415();
|
||||
local51 = VorbisSound.codebooks[this.classBook].decodeScalar();
|
||||
for (local55 = local1 - 1; local55 >= 0; local55--) {
|
||||
if (local40 + local55 < local30) {
|
||||
local33[local40 + local55] = local51 % this.anInt5682;
|
||||
local33[local40 + local55] = local51 % this.classifications;
|
||||
}
|
||||
local51 /= this.anInt5682;
|
||||
local51 /= this.classifications;
|
||||
}
|
||||
}
|
||||
for (local51 = 0; local51 < local1; local51++) {
|
||||
local55 = local33[local40];
|
||||
@Pc(96) int local96 = this.anIntArray511[local55 * 8 + local35];
|
||||
@Pc(96) int local96 = this.books[local55 * 8 + local35];
|
||||
if (local96 >= 0) {
|
||||
@Pc(106) int local106 = this.anInt5678 + local40 * this.anInt5681;
|
||||
@Pc(110) VorbisCodebook local110 = VorbisSound.aClass78Array1[local96];
|
||||
@Pc(106) int local106 = this.begin + local40 * this.partitionSize;
|
||||
@Pc(110) VorbisCodebook local110 = VorbisSound.codebooks[local96];
|
||||
@Pc(119) int local119;
|
||||
if (this.anInt5679 == 0) {
|
||||
local119 = this.anInt5681 / local110.anInt3055;
|
||||
if (this.type == 0) {
|
||||
local119 = this.partitionSize / local110.dimensions;
|
||||
for (@Pc(121) int local121 = 0; local121 < local119; local121++) {
|
||||
@Pc(127) float[] local127 = local110.method2413();
|
||||
for (@Pc(129) int local129 = 0; local129 < local110.anInt3055; local129++) {
|
||||
@Pc(127) float[] local127 = local110.decodeVq();
|
||||
for (@Pc(129) int local129 = 0; local129 < local110.dimensions; local129++) {
|
||||
arg0[local106 + local121 + local129 * local119] += local127[local129];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
local119 = 0;
|
||||
while (local119 < this.anInt5681) {
|
||||
@Pc(162) float[] local162 = local110.method2413();
|
||||
for (@Pc(164) int local164 = 0; local164 < local110.anInt3055; local164++) {
|
||||
while (local119 < this.partitionSize) {
|
||||
@Pc(162) float[] local162 = local110.decodeVq();
|
||||
for (@Pc(164) int local164 = 0; local164 < local110.dimensions; local164++) {
|
||||
arg0[local106 + local119] += local162[local164];
|
||||
local119++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,100 +9,100 @@ import org.openrs2.deob.annotation.Pc;
|
|||
public final class VorbisSound extends Node {
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "p", descriptor = "[F")
|
||||
public static float[] aFloatArray9;
|
||||
public static float[] trigB1;
|
||||
@OriginalMember(owner = "client!jc", name = "q", descriptor = "[F")
|
||||
public static float[] aFloatArray10;
|
||||
public static float[] trigC1;
|
||||
@OriginalMember(owner = "client!jc", name = "t", descriptor = "[I")
|
||||
public static int[] anIntArray276;
|
||||
public static int[] bitReverse0;
|
||||
@OriginalMember(owner = "client!jc", name = "u", descriptor = "[Lclient!vb;")
|
||||
public static VorbisResidue[] aClass152Array1;
|
||||
public static VorbisResidue[] residues;
|
||||
@OriginalMember(owner = "client!jc", name = "v", descriptor = "[Z")
|
||||
public static boolean[] aBooleanArray63;
|
||||
public static boolean[] modeBlockFlags;
|
||||
@OriginalMember(owner = "client!jc", name = "y", descriptor = "I")
|
||||
public static int anInt2975;
|
||||
public static int blockSize1;
|
||||
@OriginalMember(owner = "client!jc", name = "A", descriptor = "[Lclient!uk;")
|
||||
public static VorbisMapping[] aClass151Array1;
|
||||
public static VorbisMapping[] mappings;
|
||||
@OriginalMember(owner = "client!jc", name = "B", descriptor = "[F")
|
||||
public static float[] aFloatArray12;
|
||||
public static float[] trigA1;
|
||||
@OriginalMember(owner = "client!jc", name = "C", descriptor = "[F")
|
||||
public static float[] aFloatArray13;
|
||||
public static float[] trigA0;
|
||||
@OriginalMember(owner = "client!jc", name = "E", descriptor = "I")
|
||||
public static int anInt2978;
|
||||
public static int blockSize0;
|
||||
@OriginalMember(owner = "client!jc", name = "F", descriptor = "[F")
|
||||
public static float[] aFloatArray14;
|
||||
public static float[] vector;
|
||||
@OriginalMember(owner = "client!jc", name = "I", descriptor = "[Lclient!ji;")
|
||||
public static VorbisCodebook[] aClass78Array1;
|
||||
public static VorbisCodebook[] codebooks;
|
||||
@OriginalMember(owner = "client!jc", name = "J", descriptor = "[Lclient!ie;")
|
||||
public static VorbisRange[] aClass67Array1;
|
||||
public static VorbisFloor[] floors;
|
||||
@OriginalMember(owner = "client!jc", name = "L", descriptor = "[I")
|
||||
public static int[] anIntArray277;
|
||||
public static int[] bitReverse1;
|
||||
@OriginalMember(owner = "client!jc", name = "P", descriptor = "[F")
|
||||
public static float[] aFloatArray15;
|
||||
public static float[] trigB0;
|
||||
@OriginalMember(owner = "client!jc", name = "S", descriptor = "[F")
|
||||
public static float[] aFloatArray16;
|
||||
public static float[] trigC0;
|
||||
@OriginalMember(owner = "client!jc", name = "W", descriptor = "[I")
|
||||
public static int[] anIntArray278;
|
||||
public static int[] modeMappings;
|
||||
@OriginalMember(owner = "client!jc", name = "G", descriptor = "I")
|
||||
private static int anInt2979;
|
||||
private static int position;
|
||||
@OriginalMember(owner = "client!jc", name = "Q", descriptor = "I")
|
||||
private static int anInt2982;
|
||||
private static int bitPosition;
|
||||
@OriginalMember(owner = "client!jc", name = "T", descriptor = "[B")
|
||||
private static byte[] aByteArray42;
|
||||
private static byte[] bytes;
|
||||
@OriginalMember(owner = "client!jc", name = "H", descriptor = "Z")
|
||||
private static boolean aBoolean149 = false;
|
||||
@OriginalMember(owner = "client!jc", name = "r", descriptor = "I")
|
||||
private int anInt2973;
|
||||
private int prevN;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "s", descriptor = "I")
|
||||
private int anInt2974;
|
||||
private int samplesLen;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "w", descriptor = "[F")
|
||||
private float[] aFloatArray11;
|
||||
private float[] prevVector;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "x", descriptor = "Z")
|
||||
private boolean aBoolean148;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "z", descriptor = "I")
|
||||
private int anInt2976;
|
||||
private int start;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "D", descriptor = "I")
|
||||
private int anInt2977;
|
||||
private int end;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "K", descriptor = "I")
|
||||
private int anInt2980;
|
||||
private int rate;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "M", descriptor = "[[B")
|
||||
private byte[][] aByteArrayArray10;
|
||||
private byte[][] packets;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "N", descriptor = "Z")
|
||||
private boolean aBoolean150;
|
||||
private boolean prevNoResidue;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "O", descriptor = "I")
|
||||
private int anInt2981;
|
||||
private int prevQuarter;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "R", descriptor = "[B")
|
||||
private byte[] aByteArray41;
|
||||
private byte[] samples;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "U", descriptor = "I")
|
||||
private int anInt2983;
|
||||
private int packetIndex;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "V", descriptor = "I")
|
||||
private int anInt2984;
|
||||
private int sampleIndex;
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "<init>", descriptor = "([B)V")
|
||||
public VorbisSound(@OriginalArg(0) byte[] arg0) {
|
||||
this.method2342(arg0);
|
||||
public VorbisSound(@OriginalArg(0) byte[] bytes) {
|
||||
this.decode(bytes);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "c", descriptor = "(I)F")
|
||||
public static float method2340(@OriginalArg(0) int arg0) {
|
||||
@Pc(3) int local3 = arg0 & 0x1FFFFF;
|
||||
@Pc(7) int local7 = arg0 & Integer.MIN_VALUE;
|
||||
@Pc(13) int local13 = arg0 >> 21 & 0x3FF;
|
||||
if (local7 != 0) {
|
||||
local3 = -local3;
|
||||
public static float float32Unpack(@OriginalArg(0) int x) {
|
||||
@Pc(3) int mantissa = x & 0x1FFFFF;
|
||||
@Pc(7) int sign = x & Integer.MIN_VALUE;
|
||||
@Pc(13) int exponent = x >> 21 & 0x3FF;
|
||||
if (sign != 0) {
|
||||
mantissa = -mantissa;
|
||||
}
|
||||
return (float) ((double) local3 * Math.pow(2.0D, (double) (local13 - 788)));
|
||||
return (float) ((double) mantissa * Math.pow(2.0D, exponent - 788));
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "a", descriptor = "(Lclient!ve;)Z")
|
||||
|
|
@ -130,34 +130,34 @@ public final class VorbisSound extends Node {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "b", descriptor = "()I")
|
||||
public static int method2346() {
|
||||
@Pc(7) int local7 = aByteArray42[anInt2979] >> anInt2982 & 0x1;
|
||||
anInt2982++;
|
||||
anInt2979 += anInt2982 >> 3;
|
||||
anInt2982 &= 0x7;
|
||||
public static int readBit() {
|
||||
@Pc(7) int local7 = bytes[position] >> bitPosition & 0x1;
|
||||
bitPosition++;
|
||||
position += bitPosition >> 3;
|
||||
bitPosition &= 0x7;
|
||||
return local7;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "a", descriptor = "([BI)V")
|
||||
public static void method2347(@OriginalArg(0) byte[] arg0) {
|
||||
aByteArray42 = arg0;
|
||||
anInt2979 = 0;
|
||||
anInt2982 = 0;
|
||||
public static void setBytes(@OriginalArg(0) byte[] arg0) {
|
||||
bytes = arg0;
|
||||
position = 0;
|
||||
bitPosition = 0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "b", descriptor = "([B)V")
|
||||
private static void method2349(@OriginalArg(0) byte[] arg0) {
|
||||
method2347(arg0);
|
||||
anInt2978 = 0x1 << method2350(4);
|
||||
anInt2975 = 0x1 << method2350(4);
|
||||
aFloatArray14 = new float[anInt2975];
|
||||
setBytes(arg0);
|
||||
blockSize0 = 0x1 << readBits(4);
|
||||
blockSize1 = 0x1 << readBits(4);
|
||||
vector = new float[blockSize1];
|
||||
@Pc(17) int local17;
|
||||
@Pc(26) int local26;
|
||||
@Pc(30) int local30;
|
||||
@Pc(34) int local34;
|
||||
@Pc(38) int local38;
|
||||
for (local17 = 0; local17 < 2; local17++) {
|
||||
local26 = local17 == 0 ? anInt2978 : anInt2975;
|
||||
local26 = local17 == 0 ? blockSize0 : blockSize1;
|
||||
local30 = local26 >> 1;
|
||||
local34 = local26 >> 2;
|
||||
local38 = local26 >> 3;
|
||||
|
|
@ -177,75 +177,75 @@ public final class VorbisSound extends Node {
|
|||
local138[local140 * 2 + 1] = -((float) Math.sin((double) (local140 * 4 + 2) * 3.141592653589793D / (double) local26));
|
||||
}
|
||||
@Pc(187) int[] local187 = new int[local38];
|
||||
@Pc(193) int local193 = VorbisCodebook.method3674(local38 - 1);
|
||||
@Pc(193) int local193 = IntUtils.bitCount(local38 - 1);
|
||||
for (@Pc(195) int local195 = 0; local195 < local38; local195++) {
|
||||
local187[local195] = method667(local193, local195);
|
||||
}
|
||||
if (local17 == 0) {
|
||||
aFloatArray13 = local41;
|
||||
aFloatArray15 = local86;
|
||||
aFloatArray16 = local138;
|
||||
anIntArray276 = local187;
|
||||
trigA0 = local41;
|
||||
trigB0 = local86;
|
||||
trigC0 = local138;
|
||||
bitReverse0 = local187;
|
||||
} else {
|
||||
aFloatArray12 = local41;
|
||||
aFloatArray9 = local86;
|
||||
aFloatArray10 = local138;
|
||||
anIntArray277 = local187;
|
||||
trigA1 = local41;
|
||||
trigB1 = local86;
|
||||
trigC1 = local138;
|
||||
bitReverse1 = local187;
|
||||
}
|
||||
}
|
||||
local17 = method2350(8) + 1;
|
||||
aClass78Array1 = new VorbisCodebook[local17];
|
||||
local17 = readBits(8) + 1;
|
||||
codebooks = new VorbisCodebook[local17];
|
||||
for (local26 = 0; local26 < local17; local26++) {
|
||||
aClass78Array1[local26] = new VorbisCodebook();
|
||||
codebooks[local26] = new VorbisCodebook();
|
||||
}
|
||||
local26 = method2350(6) + 1;
|
||||
local26 = readBits(6) + 1;
|
||||
for (local30 = 0; local30 < local26; local30++) {
|
||||
method2350(16);
|
||||
readBits(16);
|
||||
}
|
||||
local26 = method2350(6) + 1;
|
||||
aClass67Array1 = new VorbisRange[local26];
|
||||
local26 = readBits(6) + 1;
|
||||
floors = new VorbisFloor[local26];
|
||||
for (local30 = 0; local30 < local26; local30++) {
|
||||
aClass67Array1[local30] = new VorbisRange();
|
||||
floors[local30] = new VorbisFloor();
|
||||
}
|
||||
local30 = method2350(6) + 1;
|
||||
aClass152Array1 = new VorbisResidue[local30];
|
||||
local30 = readBits(6) + 1;
|
||||
residues = new VorbisResidue[local30];
|
||||
for (local34 = 0; local34 < local30; local34++) {
|
||||
aClass152Array1[local34] = new VorbisResidue();
|
||||
residues[local34] = new VorbisResidue();
|
||||
}
|
||||
local34 = method2350(6) + 1;
|
||||
aClass151Array1 = new VorbisMapping[local34];
|
||||
local34 = readBits(6) + 1;
|
||||
mappings = new VorbisMapping[local34];
|
||||
for (local38 = 0; local38 < local34; local38++) {
|
||||
aClass151Array1[local38] = new VorbisMapping();
|
||||
mappings[local38] = new VorbisMapping();
|
||||
}
|
||||
local38 = method2350(6) + 1;
|
||||
aBooleanArray63 = new boolean[local38];
|
||||
anIntArray278 = new int[local38];
|
||||
local38 = readBits(6) + 1;
|
||||
modeBlockFlags = new boolean[local38];
|
||||
modeMappings = new int[local38];
|
||||
for (@Pc(340) int local340 = 0; local340 < local38; local340++) {
|
||||
aBooleanArray63[local340] = method2346() != 0;
|
||||
method2350(16);
|
||||
method2350(16);
|
||||
anIntArray278[local340] = method2350(8);
|
||||
modeBlockFlags[local340] = readBit() != 0;
|
||||
readBits(16);
|
||||
readBits(16);
|
||||
modeMappings[local340] = readBits(8);
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "e", descriptor = "(I)I")
|
||||
public static int method2350(@OriginalArg(0) int arg0) {
|
||||
public static int readBits(@OriginalArg(0) int len) {
|
||||
@Pc(1) int local1 = 0;
|
||||
@Pc(3) int local3 = 0;
|
||||
@Pc(12) int local12;
|
||||
while (arg0 >= 8 - anInt2982) {
|
||||
local12 = 8 - anInt2982;
|
||||
while (len >= 8 - bitPosition) {
|
||||
local12 = 8 - bitPosition;
|
||||
@Pc(18) int local18 = (0x1 << local12) - 1;
|
||||
local1 += (aByteArray42[anInt2979] >> anInt2982 & local18) << local3;
|
||||
anInt2982 = 0;
|
||||
anInt2979++;
|
||||
local1 += (bytes[position] >> bitPosition & local18) << local3;
|
||||
bitPosition = 0;
|
||||
position++;
|
||||
local3 += local12;
|
||||
arg0 -= local12;
|
||||
len -= local12;
|
||||
}
|
||||
if (arg0 > 0) {
|
||||
local12 = (0x1 << arg0) - 1;
|
||||
local1 += (aByteArray42[anInt2979] >> anInt2982 & local12) << local3;
|
||||
anInt2982 += arg0;
|
||||
if (len > 0) {
|
||||
local12 = (0x1 << len) - 1;
|
||||
local1 += (bytes[position] >> bitPosition & local12) << local3;
|
||||
bitPosition += len;
|
||||
}
|
||||
return local1;
|
||||
}
|
||||
|
|
@ -266,288 +266,287 @@ public final class VorbisSound extends Node {
|
|||
if (arg0 != null && arg0[0] <= 0) {
|
||||
return null;
|
||||
}
|
||||
if (this.aByteArray41 == null) {
|
||||
this.anInt2973 = 0;
|
||||
this.aFloatArray11 = new float[anInt2975];
|
||||
this.aByteArray41 = new byte[this.anInt2974];
|
||||
this.anInt2984 = 0;
|
||||
this.anInt2983 = 0;
|
||||
if (this.samples == null) {
|
||||
this.prevN = 0;
|
||||
this.prevVector = new float[blockSize1];
|
||||
this.samples = new byte[this.samplesLen];
|
||||
this.sampleIndex = 0;
|
||||
this.packetIndex = 0;
|
||||
}
|
||||
while (this.anInt2983 < this.aByteArrayArray10.length) {
|
||||
while (this.packetIndex < this.packets.length) {
|
||||
if (arg0 != null && arg0[0] <= 0) {
|
||||
return null;
|
||||
}
|
||||
@Pc(47) float[] local47 = this.method2348(this.anInt2983);
|
||||
@Pc(47) float[] local47 = this.decodePacket(this.packetIndex);
|
||||
if (local47 != null) {
|
||||
@Pc(52) int local52 = this.anInt2984;
|
||||
@Pc(52) int local52 = this.sampleIndex;
|
||||
@Pc(55) int local55 = local47.length;
|
||||
if (local55 > this.anInt2974 - local52) {
|
||||
local55 = this.anInt2974 - local52;
|
||||
if (local55 > this.samplesLen - local52) {
|
||||
local55 = this.samplesLen - local52;
|
||||
}
|
||||
for (@Pc(68) int local68 = 0; local68 < local55; local68++) {
|
||||
@Pc(80) int local80 = (int) (local47[local68] * 128.0F + 128.0F);
|
||||
if ((local80 & 0xFFFFFF00) != 0) {
|
||||
local80 = ~local80 >> 31;
|
||||
}
|
||||
this.aByteArray41[local52++] = (byte) (local80 - 128);
|
||||
this.samples[local52++] = (byte) (local80 - 128);
|
||||
}
|
||||
if (arg0 != null) {
|
||||
arg0[0] -= local52 - this.anInt2984;
|
||||
arg0[0] -= local52 - this.sampleIndex;
|
||||
}
|
||||
this.anInt2984 = local52;
|
||||
this.sampleIndex = local52;
|
||||
}
|
||||
this.anInt2983++;
|
||||
this.packetIndex++;
|
||||
}
|
||||
this.aFloatArray11 = null;
|
||||
@Pc(129) byte[] local129 = this.aByteArray41;
|
||||
this.aByteArray41 = null;
|
||||
return new PcmSound(this.anInt2980, local129, this.anInt2976, this.anInt2977, this.aBoolean148);
|
||||
this.prevVector = null;
|
||||
@Pc(129) byte[] local129 = this.samples;
|
||||
this.samples = null;
|
||||
return new PcmSound(this.rate, local129, this.start, this.end, this.aBoolean148);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "a", descriptor = "([B)V")
|
||||
private void method2342(@OriginalArg(0) byte[] arg0) {
|
||||
@Pc(4) Buffer local4 = new Buffer(arg0);
|
||||
this.anInt2980 = local4.g4();
|
||||
this.anInt2974 = local4.g4();
|
||||
this.anInt2976 = local4.g4();
|
||||
this.anInt2977 = local4.g4();
|
||||
if (this.anInt2977 < 0) {
|
||||
this.anInt2977 = ~this.anInt2977;
|
||||
private void decode(@OriginalArg(0) byte[] arg0) {
|
||||
@Pc(4) Buffer buffer = new Buffer(arg0);
|
||||
this.rate = buffer.g4();
|
||||
this.samplesLen = buffer.g4();
|
||||
this.start = buffer.g4();
|
||||
this.end = buffer.g4();
|
||||
if (this.end < 0) {
|
||||
this.end = ~this.end;
|
||||
this.aBoolean148 = true;
|
||||
}
|
||||
@Pc(40) int local40 = local4.g4();
|
||||
this.aByteArrayArray10 = new byte[local40][];
|
||||
for (@Pc(46) int local46 = 0; local46 < local40; local46++) {
|
||||
@Pc(51) int local51 = 0;
|
||||
@Pc(55) int local55;
|
||||
@Pc(40) int packetsLen = buffer.g4();
|
||||
this.packets = new byte[packetsLen][];
|
||||
for (@Pc(46) int i = 0; i < packetsLen; i++) {
|
||||
@Pc(51) int len = 0;
|
||||
@Pc(55) int n;
|
||||
do {
|
||||
local55 = local4.g1();
|
||||
local51 += local55;
|
||||
} while (local55 >= 255);
|
||||
@Pc(67) byte[] local67 = new byte[local51];
|
||||
local4.gdata(local51, local67);
|
||||
this.aByteArrayArray10[local46] = local67;
|
||||
n = buffer.g1();
|
||||
len += n;
|
||||
} while (n >= 255);
|
||||
@Pc(67) byte[] packet = new byte[len];
|
||||
buffer.gdata(len, packet);
|
||||
this.packets[i] = packet;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jc", name = "d", descriptor = "(I)[F")
|
||||
private float[] method2348(@OriginalArg(0) int arg0) {
|
||||
method2347(this.aByteArrayArray10[arg0]);
|
||||
method2346();
|
||||
@Pc(15) int local15 = method2350(VorbisCodebook.method3674(anIntArray278.length - 1));
|
||||
@Pc(19) boolean local19 = aBooleanArray63[local15];
|
||||
@Pc(25) int local25 = local19 ? anInt2975 : anInt2978;
|
||||
@Pc(27) boolean local27 = false;
|
||||
@Pc(29) boolean local29 = false;
|
||||
if (local19) {
|
||||
local27 = method2346() != 0;
|
||||
local29 = method2346() != 0;
|
||||
private float[] decodePacket(@OriginalArg(0) int index) {
|
||||
setBytes(this.packets[index]);
|
||||
readBit();
|
||||
@Pc(15) int modeNumber = readBits(IntUtils.bitCount(modeMappings.length - 1));
|
||||
@Pc(19) boolean modeBlockFlag = modeBlockFlags[modeNumber];
|
||||
@Pc(25) int n = modeBlockFlag ? blockSize1 : blockSize0;
|
||||
@Pc(27) boolean previousWindowFlag = false;
|
||||
@Pc(29) boolean nextWindowFlag = false;
|
||||
if (modeBlockFlag) {
|
||||
previousWindowFlag = readBit() != 0;
|
||||
nextWindowFlag = readBit() != 0;
|
||||
}
|
||||
@Pc(47) int local47 = local25 >> 1;
|
||||
@Pc(59) int local59;
|
||||
@Pc(67) int local67;
|
||||
@Pc(71) int local71;
|
||||
if (local19 && !local27) {
|
||||
local59 = (local25 >> 2) - (anInt2978 >> 2);
|
||||
local67 = (local25 >> 2) + (anInt2978 >> 2);
|
||||
local71 = anInt2978 >> 1;
|
||||
@Pc(47) int windowCenter = n >> 1;
|
||||
@Pc(59) int leftWindowStart;
|
||||
@Pc(67) int leftWindowEnd;
|
||||
@Pc(71) int leftN;
|
||||
if (modeBlockFlag && !previousWindowFlag) {
|
||||
leftWindowStart = (n >> 2) - (blockSize0 >> 2);
|
||||
leftWindowEnd = (n >> 2) + (blockSize0 >> 2);
|
||||
leftN = blockSize0 >> 1;
|
||||
} else {
|
||||
local59 = 0;
|
||||
local67 = local47;
|
||||
local71 = local25 >> 1;
|
||||
leftWindowStart = 0;
|
||||
leftWindowEnd = windowCenter;
|
||||
leftN = n >> 1;
|
||||
}
|
||||
@Pc(94) int local94;
|
||||
@Pc(104) int local104;
|
||||
@Pc(108) int local108;
|
||||
if (local19 && !local29) {
|
||||
local94 = local25 - (local25 >> 2) - (anInt2978 >> 2);
|
||||
local104 = local25 + (anInt2978 >> 2) - (local25 >> 2);
|
||||
local108 = anInt2978 >> 1;
|
||||
@Pc(94) int rightWindowStart;
|
||||
@Pc(104) int rightWindowEnd;
|
||||
@Pc(108) int rightN;
|
||||
if (modeBlockFlag && !nextWindowFlag) {
|
||||
rightWindowStart = n - (n >> 2) - (blockSize0 >> 2);
|
||||
rightWindowEnd = n + (blockSize0 >> 2) - (n >> 2);
|
||||
rightN = blockSize0 >> 1;
|
||||
} else {
|
||||
local94 = local47;
|
||||
local104 = local25;
|
||||
local108 = local25 >> 1;
|
||||
rightWindowStart = windowCenter;
|
||||
rightWindowEnd = n;
|
||||
rightN = n >> 1;
|
||||
}
|
||||
@Pc(123) VorbisMapping local123 = aClass151Array1[anIntArray278[local15]];
|
||||
@Pc(126) int local126 = local123.anInt5562;
|
||||
@Pc(131) int local131 = local123.anIntArray490[local126];
|
||||
@Pc(140) boolean local140 = !aClass67Array1[local131].method2272();
|
||||
for (@Pc(144) int local144 = 0; local144 < local123.anInt5563; local144++) {
|
||||
@Pc(155) VorbisResidue local155 = aClass152Array1[local123.anIntArray491[local144]];
|
||||
@Pc(157) float[] local157 = aFloatArray14;
|
||||
local155.method4450(local157, local25 >> 1, local140);
|
||||
@Pc(123) VorbisMapping mapping = mappings[modeMappings[modeNumber]];
|
||||
@Pc(126) int submapNumber = mapping.mux;
|
||||
@Pc(131) int floorNumber = mapping.submapFloor[submapNumber];
|
||||
@Pc(140) boolean noResidue = !floors[floorNumber].decodePacket();
|
||||
for (@Pc(144) int local144 = 0; local144 < mapping.submaps; local144++) {
|
||||
@Pc(155) VorbisResidue residue = residues[mapping.submapResidue[local144]];
|
||||
@Pc(157) float[] vector = VorbisSound.vector;
|
||||
residue.synthesize(vector, n >> 1, noResidue);
|
||||
}
|
||||
@Pc(176) int local176;
|
||||
if (!local140) {
|
||||
local131 = local123.anInt5562;
|
||||
local176 = local123.anIntArray490[local131];
|
||||
aClass67Array1[local176].method2269(aFloatArray14, local25 >> 1);
|
||||
@Pc(176) int floorNumber2;
|
||||
if (!noResidue) {
|
||||
floorNumber = mapping.mux;
|
||||
floorNumber2 = mapping.submapFloor[floorNumber];
|
||||
floors[floorNumber2].synthesize(vector, n >> 1);
|
||||
}
|
||||
@Pc(212) int local212;
|
||||
if (local140) {
|
||||
for (local131 = local25 >> 1; local131 < local25; local131++) {
|
||||
aFloatArray14[local131] = 0.0F;
|
||||
if (noResidue) {
|
||||
for (floorNumber = n >> 1; floorNumber < n; floorNumber++) {
|
||||
vector[floorNumber] = 0.0F;
|
||||
}
|
||||
} else {
|
||||
local131 = local25 >> 1;
|
||||
local176 = local25 >> 2;
|
||||
local212 = local25 >> 3;
|
||||
@Pc(214) float[] local214 = aFloatArray14;
|
||||
@Pc(216) int local216;
|
||||
for (local216 = 0; local216 < local131; local216++) {
|
||||
local214[local216] *= 0.5F;
|
||||
int n2 = n >> 1;
|
||||
int n4 = n >> 2;
|
||||
int n8 = n >> 3;
|
||||
@Pc(214) float[] vector = VorbisSound.vector;
|
||||
for (int k = 0; k < n2; k++) {
|
||||
vector[k] *= 0.5F;
|
||||
}
|
||||
for (local216 = local131; local216 < local25; local216++) {
|
||||
local214[local216] = -local214[local25 - local216 - 1];
|
||||
for (int k = n2; k < n; k++) {
|
||||
vector[k] = -vector[n - k - 1];
|
||||
}
|
||||
@Pc(252) float[] local252 = local19 ? aFloatArray12 : aFloatArray13;
|
||||
@Pc(258) float[] local258 = local19 ? aFloatArray9 : aFloatArray15;
|
||||
@Pc(264) float[] local264 = local19 ? aFloatArray10 : aFloatArray16;
|
||||
@Pc(270) int[] local270 = local19 ? anIntArray277 : anIntArray276;
|
||||
@Pc(272) int local272;
|
||||
@Pc(291) float local291;
|
||||
@Pc(309) float local309;
|
||||
@Pc(315) float local315;
|
||||
@Pc(323) float local323;
|
||||
for (local272 = 0; local272 < local176; local272++) {
|
||||
local291 = local214[local272 * 4] - local214[local25 - local272 * 4 - 1];
|
||||
local309 = local214[local272 * 4 + 2] - local214[local25 - local272 * 4 - 3];
|
||||
local315 = local252[local272 * 2];
|
||||
local323 = local252[local272 * 2 + 1];
|
||||
local214[local25 - local272 * 4 - 1] = local291 * local315 - local309 * local323;
|
||||
local214[local25 - local272 * 4 - 3] = local291 * local323 + local309 * local315;
|
||||
@Pc(252) float[] local252 = modeBlockFlag ? trigA1 : trigA0;
|
||||
@Pc(258) float[] local258 = modeBlockFlag ? trigB1 : trigB0;
|
||||
@Pc(264) float[] local264 = modeBlockFlag ? trigC1 : trigC0;
|
||||
@Pc(270) int[] local270 = modeBlockFlag ? bitReverse1 : bitReverse0;
|
||||
@Pc(272) int k;
|
||||
@Pc(291) float a;
|
||||
@Pc(309) float b;
|
||||
@Pc(315) float c;
|
||||
@Pc(323) float d;
|
||||
for (k = 0; k < n4; k++) {
|
||||
a = vector[k * 4] - vector[n - k * 4 - 1];
|
||||
b = vector[k * 4 + 2] - vector[n - k * 4 - 3];
|
||||
c = local252[k * 2];
|
||||
d = local252[k * 2 + 1];
|
||||
vector[n - k * 4 - 1] = a * c - b * d;
|
||||
vector[n - k * 4 - 3] = a * d + b * c;
|
||||
}
|
||||
@Pc(432) float local432;
|
||||
@Pc(442) float local442;
|
||||
for (local272 = 0; local272 < local212; local272++) {
|
||||
local291 = local214[local131 + local272 * 4 + 3];
|
||||
local309 = local214[local131 + local272 * 4 + 1];
|
||||
local315 = local214[local272 * 4 + 3];
|
||||
local323 = local214[local272 * 4 + 1];
|
||||
local214[local131 + local272 * 4 + 3] = local291 + local315;
|
||||
local214[local131 + local272 * 4 + 1] = local309 + local323;
|
||||
local432 = local252[local131 - local272 * 4 - 4];
|
||||
local442 = local252[local131 - local272 * 4 - 3];
|
||||
local214[local272 * 4 + 3] = (local291 - local315) * local432 - (local309 - local323) * local442;
|
||||
local214[local272 * 4 + 1] = (local309 - local323) * local432 + (local291 - local315) * local442;
|
||||
@Pc(432) float e;
|
||||
@Pc(442) float f;
|
||||
for (k = 0; k < n8; k++) {
|
||||
a = vector[n2 + k * 4 + 3];
|
||||
b = vector[n2 + k * 4 + 1];
|
||||
c = vector[k * 4 + 3];
|
||||
d = vector[k * 4 + 1];
|
||||
vector[n2 + k * 4 + 3] = a + c;
|
||||
vector[n2 + k * 4 + 1] = b + d;
|
||||
e = local252[n2 - k * 4 - 4];
|
||||
f = local252[n2 - k * 4 - 3];
|
||||
vector[k * 4 + 3] = (a - c) * e - (b - d) * f;
|
||||
vector[k * 4 + 1] = (b - d) * e + (a - c) * f;
|
||||
}
|
||||
local272 = VorbisCodebook.method3674(local25 - 1);
|
||||
@Pc(488) int local488;
|
||||
@Pc(499) int local499;
|
||||
@Pc(503) int local503;
|
||||
@Pc(505) int local505;
|
||||
for (local488 = 0; local488 < local272 - 3; local488++) {
|
||||
local499 = local25 >> local488 + 2;
|
||||
local503 = 0x8 << local488;
|
||||
for (local505 = 0; local505 < 0x2 << local488; local505++) {
|
||||
@Pc(518) int local518 = local25 - local499 * 2 * local505;
|
||||
@Pc(528) int local528 = local25 - local499 * (local505 * 2 + 1);
|
||||
for (@Pc(530) int local530 = 0; local530 < local25 >> local488 + 4; local530++) {
|
||||
int logN = IntUtils.bitCount(n - 1);
|
||||
@Pc(488) int l;
|
||||
@Pc(499) int k0;
|
||||
@Pc(503) int k1;
|
||||
@Pc(505) int s;
|
||||
for (l = 0; l < logN - 3; l++) {
|
||||
k0 = n >> l + 2;
|
||||
k1 = 0x8 << l;
|
||||
for (s = 0; s < 0x2 << l; s++) {
|
||||
@Pc(518) int local518 = n - k0 * 2 * s;
|
||||
@Pc(528) int local528 = n - k0 * (s * 2 + 1);
|
||||
for (@Pc(530) int local530 = 0; local530 < n >> l + 4; local530++) {
|
||||
@Pc(541) int local541 = local530 * 4;
|
||||
@Pc(549) float local549 = local214[local518 - local541 - 1];
|
||||
@Pc(557) float local557 = local214[local518 - local541 - 3];
|
||||
@Pc(565) float local565 = local214[local528 - local541 - 1];
|
||||
@Pc(573) float local573 = local214[local528 - local541 - 3];
|
||||
local214[local518 - local541 - 1] = local549 + local565;
|
||||
local214[local518 - local541 - 3] = local557 + local573;
|
||||
@Pc(599) float local599 = local252[local530 * local503];
|
||||
@Pc(607) float local607 = local252[local530 * local503 + 1];
|
||||
local214[local528 - local541 - 1] = (local549 - local565) * local599 - (local557 - local573) * local607;
|
||||
local214[local528 - local541 - 3] = (local557 - local573) * local599 + (local549 - local565) * local607;
|
||||
@Pc(549) float local549 = vector[local518 - local541 - 1];
|
||||
@Pc(557) float local557 = vector[local518 - local541 - 3];
|
||||
@Pc(565) float local565 = vector[local528 - local541 - 1];
|
||||
@Pc(573) float local573 = vector[local528 - local541 - 3];
|
||||
vector[local518 - local541 - 1] = local549 + local565;
|
||||
vector[local518 - local541 - 3] = local557 + local573;
|
||||
@Pc(599) float local599 = local252[local530 * k1];
|
||||
@Pc(607) float local607 = local252[local530 * k1 + 1];
|
||||
vector[local528 - local541 - 1] = (local549 - local565) * local599 - (local557 - local573) * local607;
|
||||
vector[local528 - local541 - 3] = (local557 - local573) * local599 + (local549 - local565) * local607;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (local488 = 1; local488 < local212 - 1; local488++) {
|
||||
local499 = local270[local488];
|
||||
if (local488 < local499) {
|
||||
local503 = local488 * 8;
|
||||
local505 = local499 * 8;
|
||||
local432 = local214[local503 + 1];
|
||||
local214[local503 + 1] = local214[local505 + 1];
|
||||
local214[local505 + 1] = local432;
|
||||
local432 = local214[local503 + 3];
|
||||
local214[local503 + 3] = local214[local505 + 3];
|
||||
local214[local505 + 3] = local432;
|
||||
local432 = local214[local503 + 5];
|
||||
local214[local503 + 5] = local214[local505 + 5];
|
||||
local214[local505 + 5] = local432;
|
||||
local432 = local214[local503 + 7];
|
||||
local214[local503 + 7] = local214[local505 + 7];
|
||||
local214[local505 + 7] = local432;
|
||||
for (l = 1; l < n8 - 1; l++) {
|
||||
k0 = local270[l];
|
||||
if (l < k0) {
|
||||
k1 = l * 8;
|
||||
s = k0 * 8;
|
||||
e = vector[k1 + 1];
|
||||
vector[k1 + 1] = vector[s + 1];
|
||||
vector[s + 1] = e;
|
||||
e = vector[k1 + 3];
|
||||
vector[k1 + 3] = vector[s + 3];
|
||||
vector[s + 3] = e;
|
||||
e = vector[k1 + 5];
|
||||
vector[k1 + 5] = vector[s + 5];
|
||||
vector[s + 5] = e;
|
||||
e = vector[k1 + 7];
|
||||
vector[k1 + 7] = vector[s + 7];
|
||||
vector[s + 7] = e;
|
||||
}
|
||||
}
|
||||
for (local488 = 0; local488 < local131; local488++) {
|
||||
local214[local488] = local214[local488 * 2 + 1];
|
||||
for (l = 0; l < n2; l++) {
|
||||
vector[l] = vector[l * 2 + 1];
|
||||
}
|
||||
for (local488 = 0; local488 < local212; local488++) {
|
||||
local214[local25 - local488 * 2 - 1] = local214[local488 * 4];
|
||||
local214[local25 - local488 * 2 - 2] = local214[local488 * 4 + 1];
|
||||
local214[local25 - local176 - local488 * 2 - 1] = local214[local488 * 4 + 2];
|
||||
local214[local25 - local176 - local488 * 2 - 2] = local214[local488 * 4 + 3];
|
||||
for (l = 0; l < n8; l++) {
|
||||
vector[n - l * 2 - 1] = vector[l * 4];
|
||||
vector[n - l * 2 - 2] = vector[l * 4 + 1];
|
||||
vector[n - n4 - l * 2 - 1] = vector[l * 4 + 2];
|
||||
vector[n - n4 - l * 2 - 2] = vector[l * 4 + 3];
|
||||
}
|
||||
for (local488 = 0; local488 < local212; local488++) {
|
||||
local309 = local264[local488 * 2];
|
||||
local315 = local264[local488 * 2 + 1];
|
||||
local323 = local214[local131 + local488 * 2];
|
||||
local432 = local214[local131 + local488 * 2 + 1];
|
||||
local442 = local214[local25 - local488 * 2 - 2];
|
||||
@Pc(908) float local908 = local214[local25 - local488 * 2 - 1];
|
||||
@Pc(920) float local920 = local315 * (local323 - local442) + local309 * (local432 + local908);
|
||||
local214[local131 + local488 * 2] = (local323 + local442 + local920) * 0.5F;
|
||||
local214[local25 - local488 * 2 - 2] = (local323 + local442 - local920) * 0.5F;
|
||||
@Pc(962) float local962 = local315 * (local432 + local908) - local309 * (local323 - local442);
|
||||
local214[local131 + local488 * 2 + 1] = (local432 + local962 - local908) * 0.5F;
|
||||
local214[local25 - local488 * 2 - 1] = (local908 + local962 - local432) * 0.5F;
|
||||
for (l = 0; l < n8; l++) {
|
||||
b = local264[l * 2];
|
||||
c = local264[l * 2 + 1];
|
||||
d = vector[n2 + l * 2];
|
||||
e = vector[n2 + l * 2 + 1];
|
||||
f = vector[n - l * 2 - 2];
|
||||
@Pc(908) float local908 = vector[n - l * 2 - 1];
|
||||
@Pc(920) float local920 = c * (d - f) + b * (e + local908);
|
||||
vector[n2 + l * 2] = (d + f + local920) * 0.5F;
|
||||
vector[n - l * 2 - 2] = (d + f - local920) * 0.5F;
|
||||
@Pc(962) float local962 = c * (e + local908) - b * (d - f);
|
||||
vector[n2 + l * 2 + 1] = (e + local962 - local908) * 0.5F;
|
||||
vector[n - l * 2 - 1] = (local908 + local962 - e) * 0.5F;
|
||||
}
|
||||
for (local488 = 0; local488 < local176; local488++) {
|
||||
local214[local488] = local214[local488 * 2 + local131] * local258[local488 * 2] + local214[local488 * 2 + local131 + 1] * local258[local488 * 2 + 1];
|
||||
local214[local131 - local488 - 1] = local214[local488 * 2 + local131] * local258[local488 * 2 + 1] - local214[local488 * 2 + local131 + 1] * local258[local488 * 2];
|
||||
for (l = 0; l < n4; l++) {
|
||||
vector[l] = vector[l * 2 + n2] * local258[l * 2] + vector[l * 2 + n2 + 1] * local258[l * 2 + 1];
|
||||
vector[n2 - l - 1] = vector[l * 2 + n2] * local258[l * 2 + 1] - vector[l * 2 + n2 + 1] * local258[l * 2];
|
||||
}
|
||||
for (local488 = 0; local488 < local176; local488++) {
|
||||
local214[local25 + local488 - local176] = -local214[local488];
|
||||
for (l = 0; l < n4; l++) {
|
||||
vector[n + l - n4] = -vector[l];
|
||||
}
|
||||
for (local488 = 0; local488 < local176; local488++) {
|
||||
local214[local488] = local214[local176 + local488];
|
||||
for (l = 0; l < n4; l++) {
|
||||
vector[l] = vector[n4 + l];
|
||||
}
|
||||
for (local488 = 0; local488 < local176; local488++) {
|
||||
local214[local176 + local488] = -local214[local176 - local488 - 1];
|
||||
for (l = 0; l < n4; l++) {
|
||||
vector[n4 + l] = -vector[n4 - l - 1];
|
||||
}
|
||||
for (local488 = 0; local488 < local176; local488++) {
|
||||
local214[local131 + local488] = local214[local25 - local488 - 1];
|
||||
for (l = 0; l < n4; l++) {
|
||||
vector[n2 + l] = vector[n - l - 1];
|
||||
}
|
||||
for (local488 = local59; local488 < local67; local488++) {
|
||||
local309 = (float) Math.sin(((double) (local488 - local59) + 0.5D) / (double) local71 * 0.5D * 3.141592653589793D);
|
||||
aFloatArray14[local488] *= (float) Math.sin((double) local309 * 1.5707963267948966D * (double) local309);
|
||||
for (l = leftWindowStart; l < leftWindowEnd; l++) {
|
||||
b = (float) Math.sin(((double) (l - leftWindowStart) + 0.5D) / (double) leftN * 0.5D * 3.141592653589793D);
|
||||
VorbisSound.vector[l] *= (float) Math.sin((double) b * 1.5707963267948966D * (double) b);
|
||||
}
|
||||
for (local488 = local94; local488 < local104; local488++) {
|
||||
local309 = (float) Math.sin(((double) (local488 - local94) + 0.5D) / (double) local108 * 0.5D * 3.141592653589793D + 1.5707963267948966D);
|
||||
aFloatArray14[local488] *= (float) Math.sin((double) local309 * 1.5707963267948966D * (double) local309);
|
||||
for (l = rightWindowStart; l < rightWindowEnd; l++) {
|
||||
b = (float) Math.sin(((double) (l - rightWindowStart) + 0.5D) / (double) rightN * 0.5D * 3.141592653589793D + 1.5707963267948966D);
|
||||
VorbisSound.vector[l] *= (float) Math.sin((double) b * 1.5707963267948966D * (double) b);
|
||||
}
|
||||
}
|
||||
@Pc(1228) float[] local1228 = null;
|
||||
if (this.anInt2973 > 0) {
|
||||
local176 = this.anInt2973 + local25 >> 2;
|
||||
local1228 = new float[local176];
|
||||
if (this.prevN > 0) {
|
||||
floorNumber2 = this.prevN + n >> 2;
|
||||
local1228 = new float[floorNumber2];
|
||||
@Pc(1257) int local1257;
|
||||
if (!this.aBoolean150) {
|
||||
for (local212 = 0; local212 < this.anInt2981; local212++) {
|
||||
local1257 = (this.anInt2973 >> 1) + local212;
|
||||
local1228[local212] += this.aFloatArray11[local1257];
|
||||
if (!this.prevNoResidue) {
|
||||
for (local212 = 0; local212 < this.prevQuarter; local212++) {
|
||||
local1257 = (this.prevN >> 1) + local212;
|
||||
local1228[local212] += this.prevVector[local1257];
|
||||
}
|
||||
}
|
||||
if (!local140) {
|
||||
for (local212 = local59; local212 < local25 >> 1; local212++) {
|
||||
local1257 = local1228.length + local212 - (local25 >> 1);
|
||||
local1228[local1257] += aFloatArray14[local212];
|
||||
if (!noResidue) {
|
||||
for (local212 = leftWindowStart; local212 < n >> 1; local212++) {
|
||||
local1257 = local1228.length + local212 - (n >> 1);
|
||||
local1228[local1257] += vector[local212];
|
||||
}
|
||||
}
|
||||
}
|
||||
@Pc(1301) float[] local1301 = this.aFloatArray11;
|
||||
this.aFloatArray11 = aFloatArray14;
|
||||
aFloatArray14 = local1301;
|
||||
this.anInt2973 = local25;
|
||||
this.anInt2981 = local104 - (local25 >> 1);
|
||||
this.aBoolean150 = local140;
|
||||
@Pc(1301) float[] local1301 = this.prevVector;
|
||||
this.prevVector = vector;
|
||||
vector = local1301;
|
||||
this.prevN = n;
|
||||
this.prevQuarter = rightWindowEnd - (n >> 1);
|
||||
this.prevNoResidue = noResidue;
|
||||
return local1228;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue