Guest User

Untitled

a guest
Jan 19th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. private final void readData(byte data[], int junk) {
  2. anInt2658++;
  3. RSBuffer rsbuffer = new RSBuffer(Class133_Sub8.unpack(data, false));
  4. int versionIdentifier = rsbuffer.getUByte();
  5. if (versionIdentifier != 5 && versionIdentifier != 6) {
  6. throw new RuntimeException();
  7. }
  8. if (versionIdentifier >= 6) {
  9. version = rsbuffer.getUInt();
  10. } else {
  11. version = 0;
  12. }
  13. int hashedNames = rsbuffer.getUByte();
  14. length = rsbuffer.getUShort();
  15. int pos = 0;
  16. messedOrder = new int[length];
  17. int amount = -1;
  18. for (int index = 0; ~length < ~index; index++) {
  19. messedOrder[index] = pos += rsbuffer.getUShort();
  20. if (amount < messedOrder[index]) {
  21. amount = messedOrder[index];
  22. }
  23. }
  24. arrayLength = 1 + amount;
  25. entryVersions = new int[arrayLength];
  26. anIntArray2662 = new int[arrayLength];
  27. entryCrcs = new int[arrayLength];
  28. anIntArray2640 = new int[arrayLength];
  29. anIntArrayArray2647 = new int[arrayLength][];
  30. if (hashedNames != 0) {
  31. nameHashes = new int[arrayLength];
  32. for (int l1 = 0; ~arrayLength < ~l1; l1++) {
  33. nameHashes[l1] = -1;
  34. }
  35. for (int idx = 0; length > idx; idx++) {
  36. nameHashes[messedOrder[idx]] = rsbuffer.getUInt();
  37. }
  38. nameHashContainer = new NameHashContainer(nameHashes);
  39. }
  40. for (int idx = 0; ~length < ~idx; idx++) {
  41. entryCrcs[messedOrder[idx]] = rsbuffer.getUInt();
  42. }
  43.  
  44. for (int idx = 0; ~idx > ~length; idx++) {
  45. entryVersions[messedOrder[idx]] = rsbuffer.getUInt();
  46. }
  47.  
  48. for (int idx = 0; idx < length; idx++) {
  49. anIntArray2640[messedOrder[idx]] = rsbuffer.getUShort();
  50. }
  51.  
  52. for (int idx = 0; idx < length; idx++) {
  53. int fileId = messedOrder[idx];
  54. int i1 = 0;
  55. int l3 = anIntArray2640[fileId];
  56. int j4 = -1;
  57. anIntArrayArray2647[fileId] = new int[l3];
  58. for (int l4 = 0; ~l4 > ~l3; l4++) {
  59. int j5 = anIntArrayArray2647[fileId][l4] = i1 += rsbuffer
  60. .getUShort();
  61. if (j4 < j5) {
  62. j4 = j5;
  63. }
  64. }
  65. anIntArray2662[fileId] = 1 + j4;
  66. if (~l3 == ~(j4 + 1)) {
  67. anIntArrayArray2647[fileId] = null;
  68. }
  69. }
  70. if (~hashedNames != -1) {
  71. aClass224Array2655 = new NameHashContainer[amount + 1];
  72. anIntArrayArray2648 = new int[amount - -1][];
  73. for (int k3 = 0; k3 < length; k3++) {
  74. int i4 = messedOrder[k3];
  75. int k4 = anIntArray2640[i4];
  76. anIntArrayArray2648[i4] = new int[anIntArray2662[i4]];
  77. for (int i5 = 0; i5 < anIntArray2662[i4]; i5++) {
  78. anIntArrayArray2648[i4][i5] = -1;
  79. }
  80. for (int k5 = 0; k4 > k5; k5++) {
  81. int l5;
  82. if (anIntArrayArray2647[i4] == null) {
  83. l5 = k5;
  84. } else {
  85. l5 = anIntArrayArray2647[i4][k5];
  86. }
  87. anIntArrayArray2648[i4][l5] = rsbuffer.getUInt();
  88. }
  89. aClass224Array2655[i4] = new NameHashContainer(anIntArrayArray2648[i4]);
  90. }
  91. }
  92. }
Add Comment
Please, Sign In to add comment