Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.54 KB | None | 0 0
  1. final void animate(int var1, int[] var2, int var3, int var4, int var5, boolean var6) {
  2. int var7 = var2.length;
  3. int var8;
  4. int var9;
  5. int var12;
  6. int var13;
  7. if (var1 == 0) {//var1 = animation opcode
  8. var8 = 0;
  9. originX = 0;
  10. originY = 0;
  11. originZ = 0;
  12.  
  13. for (var9 = 0; var9 < var7; ++var9) {
  14. int var17 = var2[var9];
  15. if (var17 < this.verticesByLabel.length) {
  16. int[] var18 = this.verticesByLabel[var17];
  17.  
  18. for (var12 = 0; var12 < var18.length; ++var12) {
  19. var13 = var18[var12];
  20. originX += this.verticesX[var13];
  21. originY += this.verticesY[var13];
  22. originZ += this.verticesZ[var13];
  23. ++var8;
  24. }
  25. }
  26. }
  27.  
  28. if (var8 > 0) {
  29. originX = originX / var8 + var3;
  30. originY = originY / var8 + var4;
  31. originZ = originZ / var8 + var5;
  32. } else {
  33. originX = var3;
  34. originY = var4;
  35. originZ = var5;
  36. }
  37.  
  38. } else {
  39. int[] var10;
  40. int var11;
  41. if (var1 == 1) {
  42. for (var8 = 0; var8 < var7; ++var8) {
  43. var9 = var2[var8];
  44. if (var9 < this.verticesByLabel.length) {
  45. var10 = this.verticesByLabel[var9];
  46.  
  47. for (var11 = 0; var11 < var10.length; ++var11) {
  48. var12 = var10[var11];
  49. this.verticesX[var12] += var3;
  50. this.verticesY[var12] += var4;
  51. this.verticesZ[var12] += var5;
  52. }
  53. }
  54. }
  55.  
  56. } else {
  57. int var14;
  58. int var15;
  59. if (var1 == 2) {
  60. for (var8 = 0; var8 < var7; ++var8) {
  61. var9 = var2[var8];
  62. if (var9 < this.verticesByLabel.length) {
  63. var10 = this.verticesByLabel[var9];
  64.  
  65. for (var11 = 0; var11 < var10.length; ++var11) {
  66. var12 = var10[var11];
  67. this.verticesX[var12] -= originX;
  68. this.verticesY[var12] -= originY;
  69. this.verticesZ[var12] -= originZ;
  70. int sin = (var3 & 0xff) * 8;
  71. int cos = (var4 & 0xff) * 8;
  72. int tan = (var5 & 0xff) * 8;
  73. if (tan != 0) {
  74. var13 = MathUtils.SINE[tan];
  75. var14 = MathUtils.COSINE[tan];
  76. var15 = this.verticesY[var12] * var13 + this.verticesX[var12] * var14 + 32767 >> 16;
  77. this.verticesY[var12] = this.verticesY[var12] * var14 - this.verticesX[var12] * var13 + 32767 >> 16;
  78. this.verticesX[var12] = var15;
  79. }
  80.  
  81. if (sin != 0) {
  82. var13 = MathUtils.SINE[sin];
  83. var14 = MathUtils.COSINE[sin];
  84. var15 = this.verticesY[var12] * var14 - this.verticesZ[var12] * var13 + 32767 >> 16;
  85. this.verticesZ[var12] = this.verticesY[var12] * var13 + this.verticesZ[var12] * var14 + 32767 >> 16;
  86. this.verticesY[var12] = var15;
  87. }
  88.  
  89. if (cos != 0) {
  90. var13 = MathUtils.SINE[cos];
  91. var14 = MathUtils.COSINE[cos];
  92. var15 = this.verticesZ[var12] * var13 + this.verticesX[var12] * var14 + 32767 >> 16;
  93. this.verticesZ[var12] = this.verticesZ[var12] * var14 - this.verticesX[var12] * var13 + 32767 >> 16;
  94. this.verticesX[var12] = var15;
  95. }
  96.  
  97. this.verticesX[var12] += originX;
  98. this.verticesY[var12] += originY;
  99. this.verticesZ[var12] += originZ;
  100. }
  101. }
  102. }
  103.  
  104. } else if (var1 == 3) {
  105. for (var8 = 0; var8 < var7; ++var8) {
  106. var9 = var2[var8];
  107. if (var9 < this.verticesByLabel.length) {
  108. var10 = this.verticesByLabel[var9];
  109.  
  110. for (var11 = 0; var11 < var10.length; ++var11) {
  111. var12 = var10[var11];
  112. this.verticesX[var12] -= originX;
  113. this.verticesY[var12] -= originY;
  114. this.verticesZ[var12] -= originZ;
  115. this.verticesX[var12] = this.verticesX[var12] * var3 / 128;
  116. this.verticesY[var12] = this.verticesY[var12] * var4 / 128;
  117. this.verticesZ[var12] = this.verticesZ[var12] * var5 / 128;
  118. this.verticesX[var12] += originX;
  119. this.verticesY[var12] += originY;
  120. this.verticesZ[var12] += originZ;
  121. }
  122. }
  123. }
  124.  
  125. } else if (var1 == 5) {
  126. if (this.facesByLabel != null && this.facesTransparencies != null) {
  127. for (var8 = 0; var8 < var7; ++var8) {
  128. var9 = var2[var8];
  129. if (var9 < this.facesByLabel.length) {
  130. var10 = this.facesByLabel[var9];
  131.  
  132. for (var11 = 0; var11 < var10.length; ++var11) {
  133. var12 = var10[var11];
  134. var13 = (this.facesTransparencies[var12] & 255) + var3 * 8;
  135. if (var13 < 0) {
  136. var13 = 0;
  137. } else if (var13 > 255) {
  138. var13 = 255;
  139. }
  140.  
  141. this.facesTransparencies[var12] = (byte) var13;
  142. }
  143. }
  144. }
  145. }
  146.  
  147. } else if (var1 == 7) {
  148. if (this.facesByLabel != null) {
  149. for (var8 = 0; var8 < var7; ++var8) {
  150. var9 = var2[var8];
  151. if (var9 < this.facesByLabel.length) {
  152. var10 = this.facesByLabel[var9];
  153.  
  154. for (var11 = 0; var11 < var10.length; ++var11) {
  155. var12 = var10[var11];
  156. var13 = this.facesColors[var12] & 0xffff;
  157. var14 = var13 >> 10 & 63;
  158. var15 = var13 >> 7 & 7;
  159. int var16 = var13 & 127;
  160. var14 = var14 + var3 & 63;
  161. var15 += var4;
  162. if (var15 < 0) {
  163. var15 = 0;
  164. } else if (var15 > 7) {
  165. var15 = 7;
  166. }
  167.  
  168. var16 += var5;
  169. if (var16 < 0) {
  170. var16 = 0;
  171. } else if (var16 > 127) {
  172. var16 = 127;
  173. }
  174.  
  175. this.facesColors[var12] = (short) (var14 << 10 | var15 << 7 | var16);
  176. }
  177.  
  178. this.aBoolean3877 = true;
  179. }
  180. }
  181. }
  182.  
  183. }
  184. }
  185. }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement