Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private final void readData(byte data[], int junk) {
- anInt2658++;
- RSBuffer rsbuffer = new RSBuffer(Class133_Sub8.unpack(data, false));
- int versionIdentifier = rsbuffer.getUByte();
- if (versionIdentifier != 5 && versionIdentifier != 6) {
- throw new RuntimeException();
- }
- if (versionIdentifier >= 6) {
- version = rsbuffer.getUInt();
- } else {
- version = 0;
- }
- int hashedNames = rsbuffer.getUByte();
- length = rsbuffer.getUShort();
- int pos = 0;
- messedOrder = new int[length];
- int amount = -1;
- for (int index = 0; ~length < ~index; index++) {
- messedOrder[index] = pos += rsbuffer.getUShort();
- if (amount < messedOrder[index]) {
- amount = messedOrder[index];
- }
- }
- arrayLength = 1 + amount;
- entryVersions = new int[arrayLength];
- anIntArray2662 = new int[arrayLength];
- entryCrcs = new int[arrayLength];
- anIntArray2640 = new int[arrayLength];
- anIntArrayArray2647 = new int[arrayLength][];
- if (hashedNames != 0) {
- nameHashes = new int[arrayLength];
- for (int l1 = 0; ~arrayLength < ~l1; l1++) {
- nameHashes[l1] = -1;
- }
- for (int idx = 0; length > idx; idx++) {
- nameHashes[messedOrder[idx]] = rsbuffer.getUInt();
- }
- nameHashContainer = new NameHashContainer(nameHashes);
- }
- for (int idx = 0; ~length < ~idx; idx++) {
- entryCrcs[messedOrder[idx]] = rsbuffer.getUInt();
- }
- for (int idx = 0; ~idx > ~length; idx++) {
- entryVersions[messedOrder[idx]] = rsbuffer.getUInt();
- }
- for (int idx = 0; idx < length; idx++) {
- anIntArray2640[messedOrder[idx]] = rsbuffer.getUShort();
- }
- for (int idx = 0; idx < length; idx++) {
- int fileId = messedOrder[idx];
- int i1 = 0;
- int l3 = anIntArray2640[fileId];
- int j4 = -1;
- anIntArrayArray2647[fileId] = new int[l3];
- for (int l4 = 0; ~l4 > ~l3; l4++) {
- int j5 = anIntArrayArray2647[fileId][l4] = i1 += rsbuffer
- .getUShort();
- if (j4 < j5) {
- j4 = j5;
- }
- }
- anIntArray2662[fileId] = 1 + j4;
- if (~l3 == ~(j4 + 1)) {
- anIntArrayArray2647[fileId] = null;
- }
- }
- if (~hashedNames != -1) {
- aClass224Array2655 = new NameHashContainer[amount + 1];
- anIntArrayArray2648 = new int[amount - -1][];
- for (int k3 = 0; k3 < length; k3++) {
- int i4 = messedOrder[k3];
- int k4 = anIntArray2640[i4];
- anIntArrayArray2648[i4] = new int[anIntArray2662[i4]];
- for (int i5 = 0; i5 < anIntArray2662[i4]; i5++) {
- anIntArrayArray2648[i4][i5] = -1;
- }
- for (int k5 = 0; k4 > k5; k5++) {
- int l5;
- if (anIntArrayArray2647[i4] == null) {
- l5 = k5;
- } else {
- l5 = anIntArrayArray2647[i4][k5];
- }
- anIntArrayArray2648[i4][l5] = rsbuffer.getUInt();
- }
- aClass224Array2655[i4] = new NameHashContainer(anIntArrayArray2648[i4]);
- }
- }
- }
Add Comment
Please, Sign In to add comment