import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ek") @Implements("Rasterizer3D") public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("h") static boolean field1791; @ObfuscatedName("v") static boolean field1779; @ObfuscatedName("x") @Export("Rasterizer3D_isLowDetailTexture") static boolean Rasterizer3D_isLowDetailTexture; @ObfuscatedName("w") public static boolean field1782; @ObfuscatedName("t") @Export("Rasterizer3D_alpha") static int Rasterizer3D_alpha; @ObfuscatedName("e") @Export("Rasterizer3D_zoom") public static int Rasterizer3D_zoom; @ObfuscatedName("m") @Export("Rasterizer3D_clipMidX") static int Rasterizer3D_clipMidX; @ObfuscatedName("c") @Export("Rasterizer3D_clipMidY") static int Rasterizer3D_clipMidY; @ObfuscatedName("i") @Export("Rasterizer3D_clipWidth") static int Rasterizer3D_clipWidth; @ObfuscatedName("f") @Export("Rasterizer3D_clipHeight") static int Rasterizer3D_clipHeight; @ObfuscatedName("a") @Export("Rasterizer3D_clipNegativeMidX") static int Rasterizer3D_clipNegativeMidX; @ObfuscatedName("b") @Export("Rasterizer3D_clipMidX2") static int Rasterizer3D_clipMidX2; @ObfuscatedName("y") @Export("Rasterizer3D_clipNegativeMidY") static int Rasterizer3D_clipNegativeMidY; @ObfuscatedName("r") @Export("Rasterizer3D_clipMidY2") static int Rasterizer3D_clipMidY2; @ObfuscatedName("q") @Export("Rasterizer3D_rowOffsets") static int[] Rasterizer3D_rowOffsets; @ObfuscatedName("g") @Export("Rasterizer3D_colorPalette") public static int[] Rasterizer3D_colorPalette; @ObfuscatedName("s") @ObfuscatedSignature( descriptor = "Lex;" ) @Export("Rasterizer3D_textureLoader") public static TextureLoader Rasterizer3D_textureLoader; @ObfuscatedName("o") static int[] field1802; @ObfuscatedName("k") static int[] field1803; @ObfuscatedName("d") @Export("Rasterizer3D_sine") public static int[] Rasterizer3D_sine; @ObfuscatedName("an") @Export("Rasterizer3D_cosine") public static int[] Rasterizer3D_cosine; static { field1791 = false; // L: 8 field1779 = false; // L: 9 Rasterizer3D_isLowDetailTexture = false; // L: 10 field1782 = true; // L: 11 Rasterizer3D_alpha = 0; // L: 12 Rasterizer3D_zoom = 512; // L: 19 Rasterizer3D_rowOffsets = new int[1024]; // L: 28 Rasterizer3D_colorPalette = new int[65536]; // L: 29 field1802 = new int[512]; // L: 31 field1803 = new int[2048]; // L: 32 Rasterizer3D_sine = new int[2048]; // L: 33 Rasterizer3D_cosine = new int[2048]; // L: 34 int var0; for (var0 = 1; var0 < 512; ++var0) { // L: 37 field1802[var0] = 32768 / var0; // L: 38 } for (var0 = 1; var0 < 2048; ++var0) { // L: 40 field1803[var0] = 65536 / var0; // L: 41 } for (var0 = 0; var0 < 2048; ++var0) { // L: 43 Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); // L: 44 Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); // L: 45 } } // L: 47 @ObfuscatedName("h") @Export("Rasterizer3D_setClipFromRasterizer2D") public static final void Rasterizer3D_setClipFromRasterizer2D() { Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); // L: 54 } // L: 55 @ObfuscatedName("v") @Export("Rasterizer3D_setClip") static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { Rasterizer3D_clipWidth = var2 - var0; // L: 58 Rasterizer3D_clipHeight = var3 - var1; // L: 59 Rasterizer3D_method3(); // L: 60 if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { // L: 61 Rasterizer3D_rowOffsets = new int[World.method1870(Rasterizer3D_clipHeight)]; } int var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; // L: 62 for (int var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { // L: 63 Rasterizer3D_rowOffsets[var5] = var4; // L: 64 var4 += Rasterizer2D.Rasterizer2D_width; // L: 65 } } // L: 67 @ObfuscatedName("x") @Export("Rasterizer3D_method3") public static final void Rasterizer3D_method3() { Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; // L: 70 Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2; // L: 71 Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; // L: 72 Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; // L: 73 Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; // L: 74 Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; // L: 75 } // L: 76 @ObfuscatedName("w") public static final void method3138(int var0, int var1) { int var2 = Rasterizer3D_rowOffsets[0]; // L: 79 int var3 = var2 / Rasterizer2D.Rasterizer2D_width; // L: 80 int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; // L: 81 Rasterizer3D_clipMidX = var0 - var4; // L: 82 Rasterizer3D_clipMidY = var1 - var3; // L: 83 Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; // L: 84 Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; // L: 85 Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; // L: 86 Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; // L: 87 } // L: 88 @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(Lex;)V" ) @Export("Rasterizer3D_setTextureLoader") public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { Rasterizer3D_textureLoader = var0; // L: 91 } // L: 92 @ObfuscatedName("j") @Export("Rasterizer3D_setBrightness") public static final void Rasterizer3D_setBrightness(double var0) { Rasterizer3D_buildPalette(var0, 0, 512); // L: 95 } // L: 96 @ObfuscatedName("n") @Export("Rasterizer3D_buildPalette") static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { int var4 = var2 * 128; // L: 99 for (int var5 = var2; var5 < var3; ++var5) { // L: 100 double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; // L: 101 double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; // L: 102 for (int var10 = 0; var10 < 128; ++var10) { // L: 103 double var11 = (double)var10 / 128.0D; // L: 104 double var13 = var11; // L: 105 double var15 = var11; // L: 106 double var17 = var11; // L: 107 if (var8 != 0.0D) { // L: 108 double var19; if (var11 < 0.5D) { // L: 110 var19 = var11 * (1.0D + var8); } else { var19 = var11 + var8 - var11 * var8; // L: 111 } double var21 = 2.0D * var11 - var19; // L: 112 double var23 = var6 + 0.3333333333333333D; // L: 113 if (var23 > 1.0D) { // L: 114 --var23; } double var27 = var6 - 0.3333333333333333D; // L: 116 if (var27 < 0.0D) { // L: 117 ++var27; } if (6.0D * var23 < 1.0D) { // L: 118 var13 = var21 + (var19 - var21) * 6.0D * var23; } else if (2.0D * var23 < 1.0D) { // L: 119 var13 = var19; } else if (3.0D * var23 < 2.0D) { // L: 120 var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D; } else { var13 = var21; // L: 121 } if (6.0D * var6 < 1.0D) { // L: 122 var15 = var21 + (var19 - var21) * 6.0D * var6; } else if (2.0D * var6 < 1.0D) { // L: 123 var15 = var19; } else if (3.0D * var6 < 2.0D) { // L: 124 var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D; } else { var15 = var21; // L: 125 } if (6.0D * var27 < 1.0D) { // L: 126 var17 = var21 + (var19 - var21) * 6.0D * var27; } else if (2.0D * var27 < 1.0D) { // L: 127 var17 = var19; } else if (3.0D * var27 < 2.0D) { // L: 128 var17 = var21 + (var19 - var21) * (0.6666666666666666D - var27) * 6.0D; } else { var17 = var21; // L: 129 } } int var29 = (int)(var13 * 256.0D); // L: 131 int var20 = (int)(var15 * 256.0D); // L: 132 int var30 = (int)(var17 * 256.0D); // L: 133 int var22 = var30 + (var20 << 8) + (var29 << 16); // L: 134 var22 = Rasterizer3D_brighten(var22, var0); // L: 135 if (var22 == 0) { // L: 136 var22 = 1; } Rasterizer3D_colorPalette[var4++] = var22; // L: 137 } } } // L: 140 @ObfuscatedName("p") @Export("Rasterizer3D_brighten") static int Rasterizer3D_brighten(int var0, double var1) { double var3 = (double)(var0 >> 16) / 256.0D; // L: 143 double var5 = (double)(var0 >> 8 & 255) / 256.0D; // L: 144 double var7 = (double)(var0 & 255) / 256.0D; // L: 145 var3 = Math.pow(var3, var1); // L: 146 var5 = Math.pow(var5, var1); // L: 147 var7 = Math.pow(var7, var1); // L: 148 int var9 = (int)(var3 * 256.0D); // L: 149 int var10 = (int)(var5 * 256.0D); // L: 150 int var11 = (int)(var7 * 256.0D); // L: 151 return var11 + (var10 << 8) + (var9 << 16); // L: 152 } @ObfuscatedName("l") public static void method3078(int var0, int var1, int var2) { field1791 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; // L: 156 } // L: 157 @ObfuscatedName("z") static final void method3079(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = var4 - var3; // L: 160 int var10 = var1 - var0; // L: 161 int var11 = var5 - var3; // L: 162 int var12 = var2 - var0; // L: 163 int var13 = var7 - var6; // L: 164 int var14 = var8 - var6; // L: 165 int var15; if (var2 != var1) { // L: 167 var15 = (var5 - var4 << 14) / (var2 - var1); } else { var15 = 0; // L: 168 } int var16; if (var0 != var1) { // L: 170 var16 = (var9 << 14) / var10; } else { var16 = 0; // L: 171 } int var17; if (var0 != var2) { // L: 173 var17 = (var11 << 14) / var12; } else { var17 = 0; // L: 174 } int var18 = var9 * var12 - var11 * var10; // L: 175 if (var18 != 0) { // L: 176 int var19 = (var13 * var12 - var14 * var10 << 8) / var18; // L: 177 int var20 = (var14 * var9 - var13 * var11 << 8) / var18; // L: 178 if (var0 <= var1 && var0 <= var2) { // L: 179 if (var0 < Rasterizer3D_clipHeight) { // L: 180 if (var1 > Rasterizer3D_clipHeight) { // L: 181 var1 = Rasterizer3D_clipHeight; } if (var2 > Rasterizer3D_clipHeight) { // L: 182 var2 = Rasterizer3D_clipHeight; } var6 = var19 + ((var6 << 8) - var3 * var19); // L: 183 if (var1 < var2) { // L: 184 var5 = var3 <<= 14; // L: 185 if (var0 < 0) { // L: 186 var5 -= var0 * var17; // L: 187 var3 -= var0 * var16; // L: 188 var6 -= var0 * var20; // L: 189 var0 = 0; // L: 190 } var4 <<= 14; // L: 192 if (var1 < 0) { // L: 193 var4 -= var15 * var1; // L: 194 var1 = 0; // L: 195 } if ((var0 == var1 || var17 >= var16) && (var0 != var1 || var17 <= var15)) { // L: 197 var2 -= var1; // L: 218 var1 -= var0; // L: 219 var0 = Rasterizer3D_rowOffsets[var0]; // L: 220 while (true) { --var1; // L: 221 if (var1 < 0) { while (true) { --var2; // L: 228 if (var2 < 0) { return; // L: 235 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19); // L: 229 var5 += var17; // L: 230 var4 += var15; // L: 231 var6 += var20; // L: 232 var0 += Rasterizer2D.Rasterizer2D_width; // L: 233 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); // L: 222 var5 += var17; // L: 223 var3 += var16; // L: 224 var6 += var20; // L: 225 var0 += Rasterizer2D.Rasterizer2D_width; // L: 226 } } else { var2 -= var1; // L: 198 var1 -= var0; // L: 199 var0 = Rasterizer3D_rowOffsets[var0]; // L: 200 while (true) { --var1; // L: 201 if (var1 < 0) { while (true) { --var2; // L: 208 if (var2 < 0) { return; // L: 215 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19); // L: 209 var5 += var17; // L: 210 var4 += var15; // L: 211 var6 += var20; // L: 212 var0 += Rasterizer2D.Rasterizer2D_width; // L: 213 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); // L: 202 var5 += var17; // L: 203 var3 += var16; // L: 204 var6 += var20; // L: 205 var0 += Rasterizer2D.Rasterizer2D_width; // L: 206 } } } else { var4 = var3 <<= 14; // L: 239 if (var0 < 0) { // L: 240 var4 -= var0 * var17; // L: 241 var3 -= var0 * var16; // L: 242 var6 -= var0 * var20; // L: 243 var0 = 0; // L: 244 } var5 <<= 14; // L: 246 if (var2 < 0) { // L: 247 var5 -= var15 * var2; // L: 248 var2 = 0; // L: 249 } if (var0 != var2 && var17 < var16 || var0 == var2 && var15 > var16) { // L: 251 var1 -= var2; // L: 252 var2 -= var0; // L: 253 var0 = Rasterizer3D_rowOffsets[var0]; // L: 254 while (true) { --var2; // L: 255 if (var2 < 0) { while (true) { --var1; // L: 262 if (var1 < 0) { return; // L: 269 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); // L: 263 var5 += var15; // L: 264 var3 += var16; // L: 265 var6 += var20; // L: 266 var0 += Rasterizer2D.Rasterizer2D_width; // L: 267 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19); // L: 256 var4 += var17; // L: 257 var3 += var16; // L: 258 var6 += var20; // L: 259 var0 += Rasterizer2D.Rasterizer2D_width; // L: 260 } } else { var1 -= var2; // L: 272 var2 -= var0; // L: 273 var0 = Rasterizer3D_rowOffsets[var0]; // L: 274 while (true) { --var2; // L: 275 if (var2 < 0) { while (true) { --var1; // L: 282 if (var1 < 0) { return; // L: 289 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); // L: 283 var5 += var15; // L: 284 var3 += var16; // L: 285 var6 += var20; // L: 286 var0 += Rasterizer2D.Rasterizer2D_width; // L: 287 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19); // L: 276 var4 += var17; // L: 277 var3 += var16; // L: 278 var6 += var20; // L: 279 var0 += Rasterizer2D.Rasterizer2D_width; // L: 280 } } } } } else if (var1 <= var2) { // L: 293 if (var1 < Rasterizer3D_clipHeight) { // L: 294 if (var2 > Rasterizer3D_clipHeight) { // L: 295 var2 = Rasterizer3D_clipHeight; } if (var0 > Rasterizer3D_clipHeight) { // L: 296 var0 = Rasterizer3D_clipHeight; } var7 = var19 + ((var7 << 8) - var19 * var4); // L: 297 if (var2 < var0) { // L: 298 var3 = var4 <<= 14; // L: 299 if (var1 < 0) { // L: 300 var3 -= var16 * var1; // L: 301 var4 -= var15 * var1; // L: 302 var7 -= var20 * var1; // L: 303 var1 = 0; // L: 304 } var5 <<= 14; // L: 306 if (var2 < 0) { // L: 307 var5 -= var17 * var2; // L: 308 var2 = 0; // L: 309 } if ((var2 == var1 || var16 >= var15) && (var2 != var1 || var16 <= var17)) { // L: 311 var0 -= var2; // L: 332 var2 -= var1; // L: 333 var1 = Rasterizer3D_rowOffsets[var1]; // L: 334 while (true) { --var2; // L: 335 if (var2 < 0) { while (true) { --var0; // L: 342 if (var0 < 0) { return; // L: 349 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19); // L: 343 var3 += var16; // L: 344 var5 += var17; // L: 345 var7 += var20; // L: 346 var1 += Rasterizer2D.Rasterizer2D_width; // L: 347 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); // L: 336 var3 += var16; // L: 337 var4 += var15; // L: 338 var7 += var20; // L: 339 var1 += Rasterizer2D.Rasterizer2D_width; // L: 340 } } else { var0 -= var2; // L: 312 var2 -= var1; // L: 313 var1 = Rasterizer3D_rowOffsets[var1]; // L: 314 while (true) { --var2; // L: 315 if (var2 < 0) { while (true) { --var0; // L: 322 if (var0 < 0) { return; // L: 329 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19); // L: 323 var3 += var16; // L: 324 var5 += var17; // L: 325 var7 += var20; // L: 326 var1 += Rasterizer2D.Rasterizer2D_width; // L: 327 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); // L: 316 var3 += var16; // L: 317 var4 += var15; // L: 318 var7 += var20; // L: 319 var1 += Rasterizer2D.Rasterizer2D_width; // L: 320 } } } else { var5 = var4 <<= 14; // L: 353 if (var1 < 0) { // L: 354 var5 -= var16 * var1; // L: 355 var4 -= var15 * var1; // L: 356 var7 -= var20 * var1; // L: 357 var1 = 0; // L: 358 } var3 <<= 14; // L: 360 if (var0 < 0) { // L: 361 var3 -= var0 * var17; // L: 362 var0 = 0; // L: 363 } if (var16 < var15) { // L: 365 var2 -= var0; // L: 366 var0 -= var1; // L: 367 var1 = Rasterizer3D_rowOffsets[var1]; // L: 368 while (true) { --var0; // L: 369 if (var0 < 0) { while (true) { --var2; // L: 376 if (var2 < 0) { return; // L: 383 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); // L: 377 var3 += var17; // L: 378 var4 += var15; // L: 379 var7 += var20; // L: 380 var1 += Rasterizer2D.Rasterizer2D_width; // L: 381 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19); // L: 370 var5 += var16; // L: 371 var4 += var15; // L: 372 var7 += var20; // L: 373 var1 += Rasterizer2D.Rasterizer2D_width; // L: 374 } } else { var2 -= var0; // L: 386 var0 -= var1; // L: 387 var1 = Rasterizer3D_rowOffsets[var1]; // L: 388 while (true) { --var0; // L: 389 if (var0 < 0) { while (true) { --var2; // L: 396 if (var2 < 0) { return; // L: 403 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); // L: 397 var3 += var17; // L: 398 var4 += var15; // L: 399 var7 += var20; // L: 400 var1 += Rasterizer2D.Rasterizer2D_width; // L: 401 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19); // L: 390 var5 += var16; // L: 391 var4 += var15; // L: 392 var7 += var20; // L: 393 var1 += Rasterizer2D.Rasterizer2D_width; // L: 394 } } } } } else if (var2 < Rasterizer3D_clipHeight) { // L: 408 if (var0 > Rasterizer3D_clipHeight) { // L: 409 var0 = Rasterizer3D_clipHeight; } if (var1 > Rasterizer3D_clipHeight) { // L: 410 var1 = Rasterizer3D_clipHeight; } var8 = var19 + ((var8 << 8) - var5 * var19); // L: 411 if (var0 < var1) { // L: 412 var4 = var5 <<= 14; // L: 413 if (var2 < 0) { // L: 414 var4 -= var15 * var2; // L: 415 var5 -= var17 * var2; // L: 416 var8 -= var20 * var2; // L: 417 var2 = 0; // L: 418 } var3 <<= 14; // L: 420 if (var0 < 0) { // L: 421 var3 -= var0 * var16; // L: 422 var0 = 0; // L: 423 } if (var15 < var17) { // L: 425 var1 -= var0; // L: 426 var0 -= var2; // L: 427 var2 = Rasterizer3D_rowOffsets[var2]; // L: 428 while (true) { --var0; // L: 429 if (var0 < 0) { while (true) { --var1; // L: 436 if (var1 < 0) { return; // L: 443 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19); // L: 437 var4 += var15; // L: 438 var3 += var16; // L: 439 var8 += var20; // L: 440 var2 += Rasterizer2D.Rasterizer2D_width; // L: 441 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); // L: 430 var4 += var15; // L: 431 var5 += var17; // L: 432 var8 += var20; // L: 433 var2 += Rasterizer2D.Rasterizer2D_width; // L: 434 } } else { var1 -= var0; // L: 446 var0 -= var2; // L: 447 var2 = Rasterizer3D_rowOffsets[var2]; // L: 448 while (true) { --var0; // L: 449 if (var0 < 0) { while (true) { --var1; // L: 456 if (var1 < 0) { return; // L: 463 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19); // L: 457 var4 += var15; // L: 458 var3 += var16; // L: 459 var8 += var20; // L: 460 var2 += Rasterizer2D.Rasterizer2D_width; // L: 461 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); // L: 450 var4 += var15; // L: 451 var5 += var17; // L: 452 var8 += var20; // L: 453 var2 += Rasterizer2D.Rasterizer2D_width; // L: 454 } } } else { var3 = var5 <<= 14; // L: 467 if (var2 < 0) { // L: 468 var3 -= var15 * var2; // L: 469 var5 -= var17 * var2; // L: 470 var8 -= var20 * var2; // L: 471 var2 = 0; // L: 472 } var4 <<= 14; // L: 474 if (var1 < 0) { // L: 475 var4 -= var16 * var1; // L: 476 var1 = 0; // L: 477 } if (var15 < var17) { // L: 479 var0 -= var1; // L: 480 var1 -= var2; // L: 481 var2 = Rasterizer3D_rowOffsets[var2]; // L: 482 while (true) { --var1; // L: 483 if (var1 < 0) { while (true) { --var0; // L: 490 if (var0 < 0) { return; // L: 497 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); // L: 491 var4 += var16; // L: 492 var5 += var17; // L: 493 var8 += var20; // L: 494 var2 += Rasterizer2D.Rasterizer2D_width; // L: 495 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19); // L: 484 var3 += var15; // L: 485 var5 += var17; // L: 486 var8 += var20; // L: 487 var2 += Rasterizer2D.Rasterizer2D_width; // L: 488 } } else { var0 -= var1; // L: 500 var1 -= var2; // L: 501 var2 = Rasterizer3D_rowOffsets[var2]; // L: 502 while (true) { --var1; // L: 503 if (var1 < 0) { while (true) { --var0; // L: 510 if (var0 < 0) { return; // L: 517 } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); // L: 511 var4 += var16; // L: 512 var5 += var17; // L: 513 var8 += var20; // L: 514 var2 += Rasterizer2D.Rasterizer2D_width; // L: 515 } } Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19); // L: 504 var3 += var15; // L: 505 var5 += var17; // L: 506 var8 += var20; // L: 507 var2 += Rasterizer2D.Rasterizer2D_width; // L: 508 } } } } } } @ObfuscatedName("u") @Export("Rasterizer3D_vertAlpha") static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { if (field1791) { // L: 524 if (var5 > Rasterizer3D_clipWidth) { // L: 525 var5 = Rasterizer3D_clipWidth; } if (var4 < 0) { // L: 526 var4 = 0; } } if (var4 < var5) { // L: 528 var1 += var4; // L: 529 var6 += var4 * var7; // L: 530 int var8; int var9; int var10; if (field1782) { // L: 531 var3 = var5 - var4 >> 2; // L: 532 var7 <<= 2; // L: 533 if (Rasterizer3D_alpha == 0) { // L: 534 if (var3 > 0) { // L: 535 do { var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 537 var6 += var7; // L: 538 var0[var1++] = var2; // L: 539 var0[var1++] = var2; // L: 540 var0[var1++] = var2; // L: 541 var0[var1++] = var2; // L: 542 --var3; // L: 543 } while(var3 > 0); } var3 = var5 - var4 & 3; // L: 545 if (var3 > 0) { // L: 546 var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 547 do { var0[var1++] = var2; // L: 549 --var3; // L: 550 } while(var3 > 0); } } else { var8 = Rasterizer3D_alpha; // L: 554 var9 = 256 - Rasterizer3D_alpha; // L: 555 if (var3 > 0) { // L: 556 do { var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 558 var6 += var7; // L: 559 var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 560 var10 = var0[var1]; // L: 561 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 562 var10 = var0[var1]; // L: 563 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 564 var10 = var0[var1]; // L: 565 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 566 var10 = var0[var1]; // L: 567 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 568 --var3; // L: 569 } while(var3 > 0); } var3 = var5 - var4 & 3; // L: 571 if (var3 > 0) { // L: 572 var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 573 var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 574 do { var10 = var0[var1]; // L: 576 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 577 --var3; // L: 578 } while(var3 > 0); } } } else { var3 = var5 - var4; // L: 584 if (Rasterizer3D_alpha == 0) { // L: 585 do { var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8]; // L: 587 var6 += var7; // L: 588 --var3; // L: 589 } while(var3 > 0); } else { var8 = Rasterizer3D_alpha; // L: 592 var9 = 256 - Rasterizer3D_alpha; // L: 593 do { var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 595 var6 += var7; // L: 596 var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 597 var10 = var0[var1]; // L: 598 var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 599 --var3; // L: 600 } while(var3 > 0); } } } } // L: 581 602 @ObfuscatedName("e") public static final void method3081(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { int var7 = 0; // L: 607 if (var0 != var1) { // L: 608 var7 = (var4 - var3 << 14) / (var1 - var0); } int var8 = 0; // L: 609 if (var2 != var1) { // L: 610 var8 = (var5 - var4 << 14) / (var2 - var1); } int var9 = 0; // L: 611 if (var0 != var2) { // L: 612 var9 = (var3 - var5 << 14) / (var0 - var2); } if (var0 <= var1 && var0 <= var2) { // L: 613 if (var0 < Rasterizer3D_clipHeight) { // L: 614 if (var1 > Rasterizer3D_clipHeight) { // L: 615 var1 = Rasterizer3D_clipHeight; } if (var2 > Rasterizer3D_clipHeight) { // L: 616 var2 = Rasterizer3D_clipHeight; } if (var1 < var2) { // L: 617 var5 = var3 <<= 14; // L: 618 if (var0 < 0) { // L: 619 var5 -= var0 * var9; // L: 620 var3 -= var0 * var7; // L: 621 var0 = 0; // L: 622 } var4 <<= 14; // L: 624 if (var1 < 0) { // L: 625 var4 -= var8 * var1; // L: 626 var1 = 0; // L: 627 } if (var0 != var1 && var9 < var7 || var0 == var1 && var9 > var8) { // L: 629 var2 -= var1; // L: 630 var1 -= var0; // L: 631 var0 = Rasterizer3D_rowOffsets[var0]; // L: 632 while (true) { --var1; // L: 633 if (var1 < 0) { while (true) { --var2; // L: 639 if (var2 < 0) { return; // L: 645 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14); // L: 640 var5 += var9; // L: 641 var4 += var8; // L: 642 var0 += Rasterizer2D.Rasterizer2D_width; // L: 643 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); // L: 634 var5 += var9; // L: 635 var3 += var7; // L: 636 var0 += Rasterizer2D.Rasterizer2D_width; // L: 637 } } else { var2 -= var1; // L: 648 var1 -= var0; // L: 649 var0 = Rasterizer3D_rowOffsets[var0]; // L: 650 while (true) { --var1; // L: 651 if (var1 < 0) { while (true) { --var2; // L: 657 if (var2 < 0) { return; // L: 663 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14); // L: 658 var5 += var9; // L: 659 var4 += var8; // L: 660 var0 += Rasterizer2D.Rasterizer2D_width; // L: 661 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); // L: 652 var5 += var9; // L: 653 var3 += var7; // L: 654 var0 += Rasterizer2D.Rasterizer2D_width; // L: 655 } } } else { var4 = var3 <<= 14; // L: 667 if (var0 < 0) { // L: 668 var4 -= var0 * var9; // L: 669 var3 -= var0 * var7; // L: 670 var0 = 0; // L: 671 } var5 <<= 14; // L: 673 if (var2 < 0) { // L: 674 var5 -= var8 * var2; // L: 675 var2 = 0; // L: 676 } if ((var0 == var2 || var9 >= var7) && (var0 != var2 || var8 <= var7)) { // L: 678 var1 -= var2; // L: 697 var2 -= var0; // L: 698 var0 = Rasterizer3D_rowOffsets[var0]; // L: 699 while (true) { --var2; // L: 700 if (var2 < 0) { while (true) { --var1; // L: 706 if (var1 < 0) { return; // L: 712 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); // L: 707 var5 += var8; // L: 708 var3 += var7; // L: 709 var0 += Rasterizer2D.Rasterizer2D_width; // L: 710 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14); // L: 701 var4 += var9; // L: 702 var3 += var7; // L: 703 var0 += Rasterizer2D.Rasterizer2D_width; // L: 704 } } else { var1 -= var2; // L: 679 var2 -= var0; // L: 680 var0 = Rasterizer3D_rowOffsets[var0]; // L: 681 while (true) { --var2; // L: 682 if (var2 < 0) { while (true) { --var1; // L: 688 if (var1 < 0) { return; // L: 694 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); // L: 689 var5 += var8; // L: 690 var3 += var7; // L: 691 var0 += Rasterizer2D.Rasterizer2D_width; // L: 692 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); // L: 683 var4 += var9; // L: 684 var3 += var7; // L: 685 var0 += Rasterizer2D.Rasterizer2D_width; // L: 686 } } } } } else if (var1 <= var2) { // L: 716 if (var1 < Rasterizer3D_clipHeight) { // L: 717 if (var2 > Rasterizer3D_clipHeight) { // L: 718 var2 = Rasterizer3D_clipHeight; } if (var0 > Rasterizer3D_clipHeight) { // L: 719 var0 = Rasterizer3D_clipHeight; } if (var2 < var0) { // L: 720 var3 = var4 <<= 14; // L: 721 if (var1 < 0) { // L: 722 var3 -= var7 * var1; // L: 723 var4 -= var8 * var1; // L: 724 var1 = 0; // L: 725 } var5 <<= 14; // L: 727 if (var2 < 0) { // L: 728 var5 -= var9 * var2; // L: 729 var2 = 0; // L: 730 } if (var2 != var1 && var7 < var8 || var2 == var1 && var7 > var9) { // L: 732 var0 -= var2; // L: 733 var2 -= var1; // L: 734 var1 = Rasterizer3D_rowOffsets[var1]; // L: 735 while (true) { --var2; // L: 736 if (var2 < 0) { while (true) { --var0; // L: 742 if (var0 < 0) { return; // L: 748 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14); // L: 743 var3 += var7; // L: 744 var5 += var9; // L: 745 var1 += Rasterizer2D.Rasterizer2D_width; // L: 746 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); // L: 737 var3 += var7; // L: 738 var4 += var8; // L: 739 var1 += Rasterizer2D.Rasterizer2D_width; // L: 740 } } else { var0 -= var2; // L: 751 var2 -= var1; // L: 752 var1 = Rasterizer3D_rowOffsets[var1]; // L: 753 while (true) { --var2; // L: 754 if (var2 < 0) { while (true) { --var0; // L: 760 if (var0 < 0) { return; // L: 766 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14); // L: 761 var3 += var7; // L: 762 var5 += var9; // L: 763 var1 += Rasterizer2D.Rasterizer2D_width; // L: 764 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); // L: 755 var3 += var7; // L: 756 var4 += var8; // L: 757 var1 += Rasterizer2D.Rasterizer2D_width; // L: 758 } } } else { var5 = var4 <<= 14; // L: 770 if (var1 < 0) { // L: 771 var5 -= var7 * var1; // L: 772 var4 -= var8 * var1; // L: 773 var1 = 0; // L: 774 } var3 <<= 14; // L: 776 if (var0 < 0) { // L: 777 var3 -= var0 * var9; // L: 778 var0 = 0; // L: 779 } if (var7 < var8) { // L: 781 var2 -= var0; // L: 782 var0 -= var1; // L: 783 var1 = Rasterizer3D_rowOffsets[var1]; // L: 784 while (true) { --var0; // L: 785 if (var0 < 0) { while (true) { --var2; // L: 791 if (var2 < 0) { return; // L: 797 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); // L: 792 var3 += var9; // L: 793 var4 += var8; // L: 794 var1 += Rasterizer2D.Rasterizer2D_width; // L: 795 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14); // L: 786 var5 += var7; // L: 787 var4 += var8; // L: 788 var1 += Rasterizer2D.Rasterizer2D_width; // L: 789 } } else { var2 -= var0; // L: 800 var0 -= var1; // L: 801 var1 = Rasterizer3D_rowOffsets[var1]; // L: 802 while (true) { --var0; // L: 803 if (var0 < 0) { while (true) { --var2; // L: 809 if (var2 < 0) { return; // L: 815 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); // L: 810 var3 += var9; // L: 811 var4 += var8; // L: 812 var1 += Rasterizer2D.Rasterizer2D_width; // L: 813 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14); // L: 804 var5 += var7; // L: 805 var4 += var8; // L: 806 var1 += Rasterizer2D.Rasterizer2D_width; // L: 807 } } } } } else if (var2 < Rasterizer3D_clipHeight) { // L: 820 if (var0 > Rasterizer3D_clipHeight) { // L: 821 var0 = Rasterizer3D_clipHeight; } if (var1 > Rasterizer3D_clipHeight) { // L: 822 var1 = Rasterizer3D_clipHeight; } if (var0 < var1) { // L: 823 var4 = var5 <<= 14; // L: 824 if (var2 < 0) { // L: 825 var4 -= var8 * var2; // L: 826 var5 -= var9 * var2; // L: 827 var2 = 0; // L: 828 } var3 <<= 14; // L: 830 if (var0 < 0) { // L: 831 var3 -= var0 * var7; // L: 832 var0 = 0; // L: 833 } if (var8 < var9) { // L: 835 var1 -= var0; // L: 836 var0 -= var2; // L: 837 var2 = Rasterizer3D_rowOffsets[var2]; // L: 838 while (true) { --var0; // L: 839 if (var0 < 0) { while (true) { --var1; // L: 845 if (var1 < 0) { return; // L: 851 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14); // L: 846 var4 += var8; // L: 847 var3 += var7; // L: 848 var2 += Rasterizer2D.Rasterizer2D_width; // L: 849 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); // L: 840 var4 += var8; // L: 841 var5 += var9; // L: 842 var2 += Rasterizer2D.Rasterizer2D_width; // L: 843 } } else { var1 -= var0; // L: 854 var0 -= var2; // L: 855 var2 = Rasterizer3D_rowOffsets[var2]; // L: 856 while (true) { --var0; // L: 857 if (var0 < 0) { while (true) { --var1; // L: 863 if (var1 < 0) { return; // L: 869 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14); // L: 864 var4 += var8; // L: 865 var3 += var7; // L: 866 var2 += Rasterizer2D.Rasterizer2D_width; // L: 867 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); // L: 858 var4 += var8; // L: 859 var5 += var9; // L: 860 var2 += Rasterizer2D.Rasterizer2D_width; // L: 861 } } } else { var3 = var5 <<= 14; // L: 873 if (var2 < 0) { // L: 874 var3 -= var8 * var2; // L: 875 var5 -= var9 * var2; // L: 876 var2 = 0; // L: 877 } var4 <<= 14; // L: 879 if (var1 < 0) { // L: 880 var4 -= var7 * var1; // L: 881 var1 = 0; // L: 882 } if (var8 < var9) { // L: 884 var0 -= var1; // L: 885 var1 -= var2; // L: 886 var2 = Rasterizer3D_rowOffsets[var2]; // L: 887 while (true) { --var1; // L: 888 if (var1 < 0) { while (true) { --var0; // L: 894 if (var0 < 0) { return; // L: 900 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); // L: 895 var4 += var7; // L: 896 var5 += var9; // L: 897 var2 += Rasterizer2D.Rasterizer2D_width; // L: 898 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14); // L: 889 var3 += var8; // L: 890 var5 += var9; // L: 891 var2 += Rasterizer2D.Rasterizer2D_width; // L: 892 } } else { var0 -= var1; // L: 903 var1 -= var2; // L: 904 var2 = Rasterizer3D_rowOffsets[var2]; // L: 905 while (true) { --var1; // L: 906 if (var1 < 0) { while (true) { --var0; // L: 912 if (var0 < 0) { return; // L: 918 } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); // L: 913 var4 += var7; // L: 914 var5 += var9; // L: 915 var2 += Rasterizer2D.Rasterizer2D_width; // L: 916 } } Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14); // L: 907 var3 += var8; // L: 908 var5 += var9; // L: 909 var2 += Rasterizer2D.Rasterizer2D_width; // L: 910 } } } } } @ObfuscatedName("m") @Export("Rasterizer3D_horizAlpha") static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { if (field1791) { // L: 925 if (var5 > Rasterizer3D_clipWidth) { // L: 926 var5 = Rasterizer3D_clipWidth; } if (var4 < 0) { // L: 927 var4 = 0; } } if (var4 < var5) { // L: 929 var1 += var4; // L: 930 var3 = var5 - var4 >> 2; // L: 931 if (Rasterizer3D_alpha != 0) { // L: 932 if (Rasterizer3D_alpha == 254) { // L: 944 while (true) { --var3; // L: 945 if (var3 < 0) { var3 = var5 - var4 & 3; // L: 951 while (true) { --var3; // L: 952 if (var3 < 0) { return; // L: 976 } var0[var1++] = var0[var1]; // L: 953 } } var0[var1++] = var0[var1]; // L: 946 var0[var1++] = var0[var1]; // L: 947 var0[var1++] = var0[var1]; // L: 948 var0[var1++] = var0[var1]; // L: 949 } } else { int var6 = Rasterizer3D_alpha; // L: 957 int var7 = 256 - Rasterizer3D_alpha; // L: 958 var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935); // L: 959 while (true) { --var3; // L: 960 int var8; if (var3 < 0) { var3 = var5 - var4 & 3; // L: 970 while (true) { --var3; // L: 971 if (var3 < 0) { return; } var8 = var0[var1]; // L: 972 var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 973 } } var8 = var0[var1]; // L: 961 var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 962 var8 = var0[var1]; // L: 963 var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 964 var8 = var0[var1]; // L: 965 var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 966 var8 = var0[var1]; // L: 967 var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 968 } } } else { while (true) { --var3; // L: 933 if (var3 < 0) { var3 = var5 - var4 & 3; // L: 939 while (true) { --var3; // L: 940 if (var3 < 0) { return; } var0[var1++] = var2; // L: 941 } } var0[var1++] = var2; // L: 934 var0[var1++] = var2; // L: 935 var0[var1++] = var2; // L: 936 var0[var1++] = var2; // L: 937 } } } } @ObfuscatedName("c") static final void method3083(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18) { int[] var19 = Rasterizer3D_textureLoader.getTexturePixels(var18); // L: 979 int var20; if (var19 == null) { // L: 980 var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); // L: 981 method3079(var0, var1, var2, var3, var4, var5, method3072(var20, var6), method3072(var20, var7), method3072(var20, var8)); // L: 982 } else { Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); // L: 985 field1779 = Rasterizer3D_textureLoader.vmethod3359(var18); // L: 986 var20 = var4 - var3; // L: 987 int var21 = var1 - var0; // L: 988 int var22 = var5 - var3; // L: 989 int var23 = var2 - var0; // L: 990 int var24 = var7 - var6; // L: 991 int var25 = var8 - var6; // L: 992 int var26 = 0; // L: 993 if (var0 != var1) { // L: 994 var26 = (var4 - var3 << 14) / (var1 - var0); } int var27 = 0; // L: 995 if (var2 != var1) { // L: 996 var27 = (var5 - var4 << 14) / (var2 - var1); } int var28 = 0; // L: 997 if (var0 != var2) { // L: 998 var28 = (var3 - var5 << 14) / (var0 - var2); } int var29 = var20 * var23 - var22 * var21; // L: 999 if (var29 != 0) { // L: 1000 int var30 = (var24 * var23 - var25 * var21 << 9) / var29; // L: 1001 int var31 = (var25 * var20 - var24 * var22 << 9) / var29; // L: 1002 var10 = var9 - var10; // L: 1003 var13 = var12 - var13; // L: 1004 var16 = var15 - var16; // L: 1005 var11 -= var9; // L: 1006 var14 -= var12; // L: 1007 var17 -= var15; // L: 1008 int var32 = var11 * var12 - var9 * var14 << 14; // L: 1009 int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1010 int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1011 int var35 = var10 * var12 - var13 * var9 << 14; // L: 1012 int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1013 int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1014 int var38 = var13 * var11 - var10 * var14 << 14; // L: 1015 int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1016 int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); // L: 1017 int var41; if (var0 <= var1 && var0 <= var2) { // L: 1018 if (var0 < Rasterizer3D_clipHeight) { // L: 1019 if (var1 > Rasterizer3D_clipHeight) { // L: 1020 var1 = Rasterizer3D_clipHeight; } if (var2 > Rasterizer3D_clipHeight) { // L: 1021 var2 = Rasterizer3D_clipHeight; } var6 = var30 + ((var6 << 9) - var3 * var30); // L: 1022 if (var1 < var2) { // L: 1023 var5 = var3 <<= 14; // L: 1024 if (var0 < 0) { // L: 1025 var5 -= var0 * var28; // L: 1026 var3 -= var0 * var26; // L: 1027 var6 -= var0 * var31; // L: 1028 var0 = 0; // L: 1029 } var4 <<= 14; // L: 1031 if (var1 < 0) { // L: 1032 var4 -= var27 * var1; // L: 1033 var1 = 0; // L: 1034 } var41 = var0 - Rasterizer3D_clipMidY; // L: 1036 var32 += var34 * var41; // L: 1037 var35 += var37 * var41; // L: 1038 var38 += var40 * var41; // L: 1039 if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { // L: 1040 var2 -= var1; // L: 1041 var1 -= var0; // L: 1042 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1043 while (true) { --var1; // L: 1044 if (var1 < 0) { while (true) { --var2; // L: 1054 if (var2 < 0) { return; // L: 1064 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1055 var5 += var28; // L: 1056 var4 += var27; // L: 1057 var6 += var31; // L: 1058 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1059 var32 += var34; // L: 1060 var35 += var37; // L: 1061 var38 += var40; // L: 1062 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1045 var5 += var28; // L: 1046 var3 += var26; // L: 1047 var6 += var31; // L: 1048 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1049 var32 += var34; // L: 1050 var35 += var37; // L: 1051 var38 += var40; // L: 1052 } } else { var2 -= var1; // L: 1067 var1 -= var0; // L: 1068 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1069 while (true) { --var1; // L: 1070 if (var1 < 0) { while (true) { --var2; // L: 1080 if (var2 < 0) { return; // L: 1090 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1081 var5 += var28; // L: 1082 var4 += var27; // L: 1083 var6 += var31; // L: 1084 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1085 var32 += var34; // L: 1086 var35 += var37; // L: 1087 var38 += var40; // L: 1088 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1071 var5 += var28; // L: 1072 var3 += var26; // L: 1073 var6 += var31; // L: 1074 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1075 var32 += var34; // L: 1076 var35 += var37; // L: 1077 var38 += var40; // L: 1078 } } } else { var4 = var3 <<= 14; // L: 1094 if (var0 < 0) { // L: 1095 var4 -= var0 * var28; // L: 1096 var3 -= var0 * var26; // L: 1097 var6 -= var0 * var31; // L: 1098 var0 = 0; // L: 1099 } var5 <<= 14; // L: 1101 if (var2 < 0) { // L: 1102 var5 -= var27 * var2; // L: 1103 var2 = 0; // L: 1104 } var41 = var0 - Rasterizer3D_clipMidY; // L: 1106 var32 += var34 * var41; // L: 1107 var35 += var37 * var41; // L: 1108 var38 += var40 * var41; // L: 1109 if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { // L: 1110 var1 -= var2; // L: 1111 var2 -= var0; // L: 1112 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1113 while (true) { --var2; // L: 1114 if (var2 < 0) { while (true) { --var1; // L: 1124 if (var1 < 0) { return; // L: 1134 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1125 var5 += var27; // L: 1126 var3 += var26; // L: 1127 var6 += var31; // L: 1128 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1129 var32 += var34; // L: 1130 var35 += var37; // L: 1131 var38 += var40; // L: 1132 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1115 var4 += var28; // L: 1116 var3 += var26; // L: 1117 var6 += var31; // L: 1118 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1119 var32 += var34; // L: 1120 var35 += var37; // L: 1121 var38 += var40; // L: 1122 } } else { var1 -= var2; // L: 1137 var2 -= var0; // L: 1138 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1139 while (true) { --var2; // L: 1140 if (var2 < 0) { while (true) { --var1; // L: 1150 if (var1 < 0) { return; // L: 1160 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1151 var5 += var27; // L: 1152 var3 += var26; // L: 1153 var6 += var31; // L: 1154 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1155 var32 += var34; // L: 1156 var35 += var37; // L: 1157 var38 += var40; // L: 1158 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1141 var4 += var28; // L: 1142 var3 += var26; // L: 1143 var6 += var31; // L: 1144 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1145 var32 += var34; // L: 1146 var35 += var37; // L: 1147 var38 += var40; // L: 1148 } } } } } else if (var1 <= var2) { // L: 1164 if (var1 < Rasterizer3D_clipHeight) { // L: 1165 if (var2 > Rasterizer3D_clipHeight) { // L: 1166 var2 = Rasterizer3D_clipHeight; } if (var0 > Rasterizer3D_clipHeight) { // L: 1167 var0 = Rasterizer3D_clipHeight; } var7 = var30 + ((var7 << 9) - var30 * var4); // L: 1168 if (var2 < var0) { // L: 1169 var3 = var4 <<= 14; // L: 1170 if (var1 < 0) { // L: 1171 var3 -= var26 * var1; // L: 1172 var4 -= var27 * var1; // L: 1173 var7 -= var31 * var1; // L: 1174 var1 = 0; // L: 1175 } var5 <<= 14; // L: 1177 if (var2 < 0) { // L: 1178 var5 -= var28 * var2; // L: 1179 var2 = 0; // L: 1180 } var41 = var1 - Rasterizer3D_clipMidY; // L: 1182 var32 += var34 * var41; // L: 1183 var35 += var37 * var41; // L: 1184 var38 += var40 * var41; // L: 1185 if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { // L: 1186 var0 -= var2; // L: 1213 var2 -= var1; // L: 1214 var1 = Rasterizer3D_rowOffsets[var1]; // L: 1215 while (true) { --var2; // L: 1216 if (var2 < 0) { while (true) { --var0; // L: 1226 if (var0 < 0) { return; // L: 1236 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1227 var3 += var26; // L: 1228 var5 += var28; // L: 1229 var7 += var31; // L: 1230 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1231 var32 += var34; // L: 1232 var35 += var37; // L: 1233 var38 += var40; // L: 1234 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1217 var3 += var26; // L: 1218 var4 += var27; // L: 1219 var7 += var31; // L: 1220 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1221 var32 += var34; // L: 1222 var35 += var37; // L: 1223 var38 += var40; // L: 1224 } } else { var0 -= var2; // L: 1187 var2 -= var1; // L: 1188 var1 = Rasterizer3D_rowOffsets[var1]; // L: 1189 while (true) { --var2; // L: 1190 if (var2 < 0) { while (true) { --var0; // L: 1200 if (var0 < 0) { return; // L: 1210 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1201 var3 += var26; // L: 1202 var5 += var28; // L: 1203 var7 += var31; // L: 1204 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1205 var32 += var34; // L: 1206 var35 += var37; // L: 1207 var38 += var40; // L: 1208 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1191 var3 += var26; // L: 1192 var4 += var27; // L: 1193 var7 += var31; // L: 1194 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1195 var32 += var34; // L: 1196 var35 += var37; // L: 1197 var38 += var40; // L: 1198 } } } else { var5 = var4 <<= 14; // L: 1240 if (var1 < 0) { // L: 1241 var5 -= var26 * var1; // L: 1242 var4 -= var27 * var1; // L: 1243 var7 -= var31 * var1; // L: 1244 var1 = 0; // L: 1245 } var3 <<= 14; // L: 1247 if (var0 < 0) { // L: 1248 var3 -= var0 * var28; // L: 1249 var0 = 0; // L: 1250 } var41 = var1 - Rasterizer3D_clipMidY; // L: 1252 var32 += var34 * var41; // L: 1253 var35 += var37 * var41; // L: 1254 var38 += var40 * var41; // L: 1255 if (var26 < var27) { // L: 1256 var2 -= var0; // L: 1257 var0 -= var1; // L: 1258 var1 = Rasterizer3D_rowOffsets[var1]; // L: 1259 while (true) { --var0; // L: 1260 if (var0 < 0) { while (true) { --var2; // L: 1270 if (var2 < 0) { return; // L: 1280 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1271 var3 += var28; // L: 1272 var4 += var27; // L: 1273 var7 += var31; // L: 1274 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1275 var32 += var34; // L: 1276 var35 += var37; // L: 1277 var38 += var40; // L: 1278 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1261 var5 += var26; // L: 1262 var4 += var27; // L: 1263 var7 += var31; // L: 1264 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1265 var32 += var34; // L: 1266 var35 += var37; // L: 1267 var38 += var40; // L: 1268 } } else { var2 -= var0; // L: 1283 var0 -= var1; // L: 1284 var1 = Rasterizer3D_rowOffsets[var1]; // L: 1285 while (true) { --var0; // L: 1286 if (var0 < 0) { while (true) { --var2; // L: 1296 if (var2 < 0) { return; // L: 1306 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1297 var3 += var28; // L: 1298 var4 += var27; // L: 1299 var7 += var31; // L: 1300 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1301 var32 += var34; // L: 1302 var35 += var37; // L: 1303 var38 += var40; // L: 1304 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1287 var5 += var26; // L: 1288 var4 += var27; // L: 1289 var7 += var31; // L: 1290 var1 += Rasterizer2D.Rasterizer2D_width; // L: 1291 var32 += var34; // L: 1292 var35 += var37; // L: 1293 var38 += var40; // L: 1294 } } } } } else if (var2 < Rasterizer3D_clipHeight) { // L: 1311 if (var0 > Rasterizer3D_clipHeight) { // L: 1312 var0 = Rasterizer3D_clipHeight; } if (var1 > Rasterizer3D_clipHeight) { // L: 1313 var1 = Rasterizer3D_clipHeight; } var8 = (var8 << 9) - var5 * var30 + var30; // L: 1314 if (var0 < var1) { // L: 1315 var4 = var5 <<= 14; // L: 1316 if (var2 < 0) { // L: 1317 var4 -= var27 * var2; // L: 1318 var5 -= var28 * var2; // L: 1319 var8 -= var31 * var2; // L: 1320 var2 = 0; // L: 1321 } var3 <<= 14; // L: 1323 if (var0 < 0) { // L: 1324 var3 -= var0 * var26; // L: 1325 var0 = 0; // L: 1326 } var41 = var2 - Rasterizer3D_clipMidY; // L: 1328 var32 += var34 * var41; // L: 1329 var35 += var37 * var41; // L: 1330 var38 += var40 * var41; // L: 1331 if (var27 < var28) { // L: 1332 var1 -= var0; // L: 1333 var0 -= var2; // L: 1334 var2 = Rasterizer3D_rowOffsets[var2]; // L: 1335 while (true) { --var0; // L: 1336 if (var0 < 0) { while (true) { --var1; // L: 1346 if (var1 < 0) { return; // L: 1356 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1347 var4 += var27; // L: 1348 var3 += var26; // L: 1349 var8 += var31; // L: 1350 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1351 var32 += var34; // L: 1352 var35 += var37; // L: 1353 var38 += var40; // L: 1354 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1337 var4 += var27; // L: 1338 var5 += var28; // L: 1339 var8 += var31; // L: 1340 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1341 var32 += var34; // L: 1342 var35 += var37; // L: 1343 var38 += var40; // L: 1344 } } else { var1 -= var0; // L: 1359 var0 -= var2; // L: 1360 var2 = Rasterizer3D_rowOffsets[var2]; // L: 1361 while (true) { --var0; // L: 1362 if (var0 < 0) { while (true) { --var1; // L: 1372 if (var1 < 0) { return; // L: 1382 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1373 var4 += var27; // L: 1374 var3 += var26; // L: 1375 var8 += var31; // L: 1376 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1377 var32 += var34; // L: 1378 var35 += var37; // L: 1379 var38 += var40; // L: 1380 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1363 var4 += var27; // L: 1364 var5 += var28; // L: 1365 var8 += var31; // L: 1366 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1367 var32 += var34; // L: 1368 var35 += var37; // L: 1369 var38 += var40; // L: 1370 } } } else { var3 = var5 <<= 14; // L: 1386 if (var2 < 0) { // L: 1387 var3 -= var27 * var2; // L: 1388 var5 -= var28 * var2; // L: 1389 var8 -= var31 * var2; // L: 1390 var2 = 0; // L: 1391 } var4 <<= 14; // L: 1393 if (var1 < 0) { // L: 1394 var4 -= var26 * var1; // L: 1395 var1 = 0; // L: 1396 } var41 = var2 - Rasterizer3D_clipMidY; // L: 1398 var32 += var34 * var41; // L: 1399 var35 += var37 * var41; // L: 1400 var38 += var40 * var41; // L: 1401 if (var27 < var28) { // L: 1402 var0 -= var1; // L: 1403 var1 -= var2; // L: 1404 var2 = Rasterizer3D_rowOffsets[var2]; // L: 1405 while (true) { --var1; // L: 1406 if (var1 < 0) { while (true) { --var0; // L: 1416 if (var0 < 0) { return; // L: 1426 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1417 var4 += var26; // L: 1418 var5 += var28; // L: 1419 var8 += var31; // L: 1420 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1421 var32 += var34; // L: 1422 var35 += var37; // L: 1423 var38 += var40; // L: 1424 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1407 var3 += var27; // L: 1408 var5 += var28; // L: 1409 var8 += var31; // L: 1410 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1411 var32 += var34; // L: 1412 var35 += var37; // L: 1413 var38 += var40; // L: 1414 } } else { var0 -= var1; // L: 1429 var1 -= var2; // L: 1430 var2 = Rasterizer3D_rowOffsets[var2]; // L: 1431 while (true) { --var1; // L: 1432 if (var1 < 0) { while (true) { --var0; // L: 1442 if (var0 < 0) { return; // L: 1452 } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1443 var4 += var26; // L: 1444 var5 += var28; // L: 1445 var8 += var31; // L: 1446 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1447 var32 += var34; // L: 1448 var35 += var37; // L: 1449 var38 += var40; // L: 1450 } } Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1433 var3 += var27; // L: 1434 var5 += var28; // L: 1435 var8 += var31; // L: 1436 var2 += Rasterizer2D.Rasterizer2D_width; // L: 1437 var32 += var34; // L: 1438 var35 += var37; // L: 1439 var38 += var40; // L: 1440 } } } } } } } // L: 983 @ObfuscatedName("i") @Export("Rasterizer3D_iDontKnow") static final void Rasterizer3D_iDontKnow(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14) { if (field1791) { // L: 1461 if (var6 > Rasterizer3D_clipWidth) { // L: 1462 var6 = Rasterizer3D_clipWidth; } if (var5 < 0) { // L: 1463 var5 = 0; } } if (var5 < var6) { // L: 1465 var4 += var5; // L: 1466 var7 += var5 * var8; // L: 1467 int var17 = var6 - var5; // L: 1468 int var15; int var16; int var10000; int var18; int var19; int var20; int var21; int var22; int var23; if (Rasterizer3D_isLowDetailTexture) { // L: 1469 var23 = var5 - Rasterizer3D_clipMidX; // L: 1475 var9 += var23 * (var12 >> 3); // L: 1476 var10 += (var13 >> 3) * var23; // L: 1477 var11 += var23 * (var14 >> 3); // L: 1478 var22 = var11 >> 12; // L: 1479 if (var22 != 0) { // L: 1480 var18 = var9 / var22; // L: 1481 var19 = var10 / var22; // L: 1482 if (var18 < 0) { // L: 1483 var18 = 0; } else if (var18 > 4032) { // L: 1484 var18 = 4032; } } else { var18 = 0; // L: 1487 var19 = 0; // L: 1488 } var9 += var12; // L: 1490 var10 += var13; // L: 1491 var11 += var14; // L: 1492 var22 = var11 >> 12; // L: 1493 if (var22 != 0) { // L: 1494 var20 = var9 / var22; // L: 1495 var21 = var10 / var22; // L: 1496 if (var20 < 0) { // L: 1497 var20 = 0; } else if (var20 > 4032) { // L: 1498 var20 = 4032; } } else { var20 = 0; // L: 1501 var21 = 0; // L: 1502 } var2 = (var18 << 20) + var19; // L: 1504 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1505 var17 >>= 3; // L: 1506 var8 <<= 3; // L: 1507 var15 = var7 >> 8; // L: 1508 if (field1779) { // L: 1509 if (var17 > 0) { // L: 1510 do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1512 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1513 var2 += var16; // L: 1514 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1515 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1516 var2 += var16; // L: 1517 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1518 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1519 var2 += var16; // L: 1520 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1521 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1522 var2 += var16; // L: 1523 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1524 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1525 var2 += var16; // L: 1526 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1527 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1528 var2 += var16; // L: 1529 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1530 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1531 var2 += var16; // L: 1532 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1533 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1534 var10000 = var16 + var2; // L: 1535 var18 = var20; // L: 1536 var19 = var21; // L: 1537 var9 += var12; // L: 1538 var10 += var13; // L: 1539 var11 += var14; // L: 1540 var22 = var11 >> 12; // L: 1541 if (var22 != 0) { // L: 1542 var20 = var9 / var22; // L: 1543 var21 = var10 / var22; // L: 1544 if (var20 < 0) { // L: 1545 var20 = 0; } else if (var20 > 4032) { // L: 1546 var20 = 4032; } } else { var20 = 0; // L: 1549 var21 = 0; // L: 1550 } var2 = (var18 << 20) + var19; // L: 1552 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1553 var7 += var8; // L: 1554 var15 = var7 >> 8; // L: 1555 --var17; // L: 1556 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 1558 if (var17 > 0) { // L: 1559 do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1561 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1562 var2 += var16; // L: 1563 --var17; // L: 1564 } while(var17 > 0); } } else { if (var17 > 0) { // L: 1568 do { if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1570 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1571 } ++var4; // L: 1573 var2 += var16; // L: 1574 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1575 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1576 } ++var4; // L: 1578 var2 += var16; // L: 1579 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1580 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1581 } ++var4; // L: 1583 var2 += var16; // L: 1584 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1585 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1586 } ++var4; // L: 1588 var2 += var16; // L: 1589 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1590 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1591 } ++var4; // L: 1593 var2 += var16; // L: 1594 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1595 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1596 } ++var4; // L: 1598 var2 += var16; // L: 1599 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1600 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1601 } ++var4; // L: 1603 var2 += var16; // L: 1604 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1605 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1606 } ++var4; // L: 1608 var10000 = var16 + var2; // L: 1609 var18 = var20; // L: 1610 var19 = var21; // L: 1611 var9 += var12; // L: 1612 var10 += var13; // L: 1613 var11 += var14; // L: 1614 var22 = var11 >> 12; // L: 1615 if (var22 != 0) { // L: 1616 var20 = var9 / var22; // L: 1617 var21 = var10 / var22; // L: 1618 if (var20 < 0) { // L: 1619 var20 = 0; } else if (var20 > 4032) { // L: 1620 var20 = 4032; } } else { var20 = 0; // L: 1623 var21 = 0; // L: 1624 } var2 = (var18 << 20) + var19; // L: 1626 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1627 var7 += var8; // L: 1628 var15 = var7 >> 8; // L: 1629 --var17; // L: 1630 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 1632 if (var17 > 0) { // L: 1633 do { if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1635 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1636 } ++var4; // L: 1638 var2 += var16; // L: 1639 --var17; // L: 1640 } while(var17 > 0); } } } else { var23 = var5 - Rasterizer3D_clipMidX; // L: 1650 var9 += var23 * (var12 >> 3); // L: 1651 var10 += (var13 >> 3) * var23; // L: 1652 var11 += var23 * (var14 >> 3); // L: 1653 var22 = var11 >> 14; // L: 1654 if (var22 != 0) { // L: 1655 var18 = var9 / var22; // L: 1656 var19 = var10 / var22; // L: 1657 if (var18 < 0) { // L: 1658 var18 = 0; } else if (var18 > 16256) { // L: 1659 var18 = 16256; } } else { var18 = 0; // L: 1662 var19 = 0; // L: 1663 } var9 += var12; // L: 1665 var10 += var13; // L: 1666 var11 += var14; // L: 1667 var22 = var11 >> 14; // L: 1668 if (var22 != 0) { // L: 1669 var20 = var9 / var22; // L: 1670 var21 = var10 / var22; // L: 1671 if (var20 < 0) { // L: 1672 var20 = 0; } else if (var20 > 16256) { // L: 1673 var20 = 16256; } } else { var20 = 0; // L: 1676 var21 = 0; // L: 1677 } var2 = (var18 << 18) + var19; // L: 1679 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1680 var17 >>= 3; // L: 1681 var8 <<= 3; // L: 1682 var15 = var7 >> 8; // L: 1683 if (field1779) { // L: 1684 if (var17 > 0) { // L: 1685 do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1687 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1688 var2 += var16; // L: 1689 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1690 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1691 var2 += var16; // L: 1692 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1693 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1694 var2 += var16; // L: 1695 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1696 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1697 var2 += var16; // L: 1698 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1699 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1700 var2 += var16; // L: 1701 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1702 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1703 var2 += var16; // L: 1704 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1705 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1706 var2 += var16; // L: 1707 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1708 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1709 var10000 = var16 + var2; // L: 1710 var18 = var20; // L: 1711 var19 = var21; // L: 1712 var9 += var12; // L: 1713 var10 += var13; // L: 1714 var11 += var14; // L: 1715 var22 = var11 >> 14; // L: 1716 if (var22 != 0) { // L: 1717 var20 = var9 / var22; // L: 1718 var21 = var10 / var22; // L: 1719 if (var20 < 0) { // L: 1720 var20 = 0; } else if (var20 > 16256) { // L: 1721 var20 = 16256; } } else { var20 = 0; // L: 1724 var21 = 0; // L: 1725 } var2 = (var18 << 18) + var19; // L: 1727 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1728 var7 += var8; // L: 1729 var15 = var7 >> 8; // L: 1730 --var17; // L: 1731 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 1733 if (var17 > 0) { // L: 1734 do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1736 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1737 var2 += var16; // L: 1738 --var17; // L: 1739 } while(var17 > 0); } } else { if (var17 > 0) { // L: 1743 do { if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1745 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1746 } ++var4; // L: 1748 var2 += var16; // L: 1749 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1750 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1751 } ++var4; // L: 1753 var2 += var16; // L: 1754 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1755 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1756 } ++var4; // L: 1758 var2 += var16; // L: 1759 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1760 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1761 } ++var4; // L: 1763 var2 += var16; // L: 1764 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1765 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1766 } ++var4; // L: 1768 var2 += var16; // L: 1769 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1770 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1771 } ++var4; // L: 1773 var2 += var16; // L: 1774 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1775 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1776 } ++var4; // L: 1778 var2 += var16; // L: 1779 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1780 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1781 } ++var4; // L: 1783 var10000 = var16 + var2; // L: 1784 var18 = var20; // L: 1785 var19 = var21; // L: 1786 var9 += var12; // L: 1787 var10 += var13; // L: 1788 var11 += var14; // L: 1789 var22 = var11 >> 14; // L: 1790 if (var22 != 0) { // L: 1791 var20 = var9 / var22; // L: 1792 var21 = var10 / var22; // L: 1793 if (var20 < 0) { // L: 1794 var20 = 0; } else if (var20 > 16256) { // L: 1795 var20 = 16256; } } else { var20 = 0; // L: 1798 var21 = 0; // L: 1799 } var2 = (var18 << 18) + var19; // L: 1801 var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1802 var7 += var8; // L: 1803 var15 = var7 >> 8; // L: 1804 --var17; // L: 1805 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 1807 if (var17 > 0) { // L: 1808 do { if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1810 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1811 } ++var4; // L: 1813 var2 += var16; // L: 1814 --var17; // L: 1815 } while(var17 > 0); } } } } } // L: 1819 @ObfuscatedName("f") @Export("drawTexturedTile") static final void drawTexturedTile(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18) { int[] var19 = Rasterizer3D_textureLoader.getTexturePixels(var18); // L: 1822 int var20; if (var19 == null) { // L: 1823 var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); // L: 1824 method3079(var0, var1, var2, var3, var4, var5, method3072(var20, var6), method3072(var20, var7), method3072(var20, var8)); // L: 1825 } else { Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); // L: 1828 field1779 = Rasterizer3D_textureLoader.vmethod3359(var18); // L: 1829 var20 = var4 - var3; // L: 1830 int var21 = var1 - var0; // L: 1831 int var22 = var5 - var3; // L: 1832 int var23 = var2 - var0; // L: 1833 int var24 = var7 - var6; // L: 1834 int var25 = var8 - var6; // L: 1835 int var26 = 0; // L: 1836 if (var0 != var1) { // L: 1837 var26 = (var4 - var3 << 14) / (var1 - var0); } int var27 = 0; // L: 1838 if (var2 != var1) { // L: 1839 var27 = (var5 - var4 << 14) / (var2 - var1); } int var28 = 0; // L: 1840 if (var0 != var2) { // L: 1841 var28 = (var3 - var5 << 14) / (var0 - var2); } int var29 = var20 * var23 - var22 * var21; // L: 1842 if (var29 != 0) { // L: 1843 int var30 = (var24 * var23 - var25 * var21 << 9) / var29; // L: 1844 int var31 = (var25 * var20 - var24 * var22 << 9) / var29; // L: 1845 var10 = var9 - var10; // L: 1846 var13 = var12 - var13; // L: 1847 var16 = var15 - var16; // L: 1848 var11 -= var9; // L: 1849 var14 -= var12; // L: 1850 var17 -= var15; // L: 1851 int var32 = var11 * var12 - var9 * var14 << 14; // L: 1852 int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); // L: 1853 int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1854 int var35 = var10 * var12 - var13 * var9 << 14; // L: 1855 int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); // L: 1856 int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1857 int var38 = var13 * var11 - var10 * var14 << 14; // L: 1858 int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); // L: 1859 int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); // L: 1860 int var41; if (var0 <= var1 && var0 <= var2) { // L: 1861 if (var0 < Rasterizer3D_clipHeight) { // L: 1862 if (var1 > Rasterizer3D_clipHeight) { // L: 1863 var1 = Rasterizer3D_clipHeight; } if (var2 > Rasterizer3D_clipHeight) { // L: 1864 var2 = Rasterizer3D_clipHeight; } var6 = var30 + ((var6 << 9) - var3 * var30); // L: 1865 if (var1 < var2) { // L: 1866 var5 = var3 <<= 14; // L: 1867 if (var0 < 0) { // L: 1868 var5 -= var0 * var28; // L: 1869 var3 -= var0 * var26; // L: 1870 var6 -= var0 * var31; // L: 1871 var0 = 0; // L: 1872 } var4 <<= 14; // L: 1874 if (var1 < 0) { // L: 1875 var4 -= var27 * var1; // L: 1876 var1 = 0; // L: 1877 } var41 = var0 - Rasterizer3D_clipMidY; // L: 1879 var32 += var34 * var41; // L: 1880 var35 += var37 * var41; // L: 1881 var38 += var40 * var41; // L: 1882 if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { // L: 1883 var2 -= var1; // L: 1910 var1 -= var0; // L: 1911 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1912 while (true) { --var1; // L: 1913 if (var1 < 0) { while (true) { --var2; // L: 1923 if (var2 < 0) { return; // L: 1933 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1924 var5 += var28; // L: 1925 var4 += var27; // L: 1926 var6 += var31; // L: 1927 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1928 var32 += var34; // L: 1929 var35 += var37; // L: 1930 var38 += var40; // L: 1931 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1914 var5 += var28; // L: 1915 var3 += var26; // L: 1916 var6 += var31; // L: 1917 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1918 var32 += var34; // L: 1919 var35 += var37; // L: 1920 var38 += var40; // L: 1921 } } else { var2 -= var1; // L: 1884 var1 -= var0; // L: 1885 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1886 while (true) { --var1; // L: 1887 if (var1 < 0) { while (true) { --var2; // L: 1897 if (var2 < 0) { return; // L: 1907 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1898 var5 += var28; // L: 1899 var4 += var27; // L: 1900 var6 += var31; // L: 1901 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1902 var32 += var34; // L: 1903 var35 += var37; // L: 1904 var38 += var40; // L: 1905 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1888 var5 += var28; // L: 1889 var3 += var26; // L: 1890 var6 += var31; // L: 1891 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1892 var32 += var34; // L: 1893 var35 += var37; // L: 1894 var38 += var40; // L: 1895 } } } else { var4 = var3 <<= 14; // L: 1937 if (var0 < 0) { // L: 1938 var4 -= var0 * var28; // L: 1939 var3 -= var0 * var26; // L: 1940 var6 -= var0 * var31; // L: 1941 var0 = 0; // L: 1942 } var5 <<= 14; // L: 1944 if (var2 < 0) { // L: 1945 var5 -= var27 * var2; // L: 1946 var2 = 0; // L: 1947 } var41 = var0 - Rasterizer3D_clipMidY; // L: 1949 var32 += var34 * var41; // L: 1950 var35 += var37 * var41; // L: 1951 var38 += var40 * var41; // L: 1952 if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { // L: 1953 var1 -= var2; // L: 1980 var2 -= var0; // L: 1981 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1982 while (true) { --var2; // L: 1983 if (var2 < 0) { while (true) { --var1; // L: 1993 if (var1 < 0) { return; // L: 2003 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1994 var5 += var27; // L: 1995 var3 += var26; // L: 1996 var6 += var31; // L: 1997 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1998 var32 += var34; // L: 1999 var35 += var37; // L: 2000 var38 += var40; // L: 2001 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1984 var4 += var28; // L: 1985 var3 += var26; // L: 1986 var6 += var31; // L: 1987 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1988 var32 += var34; // L: 1989 var35 += var37; // L: 1990 var38 += var40; // L: 1991 } } else { var1 -= var2; // L: 1954 var2 -= var0; // L: 1955 var0 = Rasterizer3D_rowOffsets[var0]; // L: 1956 while (true) { --var2; // L: 1957 if (var2 < 0) { while (true) { --var1; // L: 1967 if (var1 < 0) { return; // L: 1977 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1968 var5 += var27; // L: 1969 var3 += var26; // L: 1970 var6 += var31; // L: 1971 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1972 var32 += var34; // L: 1973 var35 += var37; // L: 1974 var38 += var40; // L: 1975 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1958 var4 += var28; // L: 1959 var3 += var26; // L: 1960 var6 += var31; // L: 1961 var0 += Rasterizer2D.Rasterizer2D_width; // L: 1962 var32 += var34; // L: 1963 var35 += var37; // L: 1964 var38 += var40; // L: 1965 } } } } } else if (var1 <= var2) { // L: 2007 if (var1 < Rasterizer3D_clipHeight) { // L: 2008 if (var2 > Rasterizer3D_clipHeight) { // L: 2009 var2 = Rasterizer3D_clipHeight; } if (var0 > Rasterizer3D_clipHeight) { // L: 2010 var0 = Rasterizer3D_clipHeight; } var7 = var30 + ((var7 << 9) - var30 * var4); // L: 2011 if (var2 < var0) { // L: 2012 var3 = var4 <<= 14; // L: 2013 if (var1 < 0) { // L: 2014 var3 -= var26 * var1; // L: 2015 var4 -= var27 * var1; // L: 2016 var7 -= var31 * var1; // L: 2017 var1 = 0; // L: 2018 } var5 <<= 14; // L: 2020 if (var2 < 0) { // L: 2021 var5 -= var28 * var2; // L: 2022 var2 = 0; // L: 2023 } var41 = var1 - Rasterizer3D_clipMidY; // L: 2025 var32 += var34 * var41; // L: 2026 var35 += var37 * var41; // L: 2027 var38 += var40 * var41; // L: 2028 if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { // L: 2029 var0 -= var2; // L: 2030 var2 -= var1; // L: 2031 var1 = Rasterizer3D_rowOffsets[var1]; // L: 2032 while (true) { --var2; // L: 2033 if (var2 < 0) { while (true) { --var0; // L: 2043 if (var0 < 0) { return; // L: 2053 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2044 var3 += var26; // L: 2045 var5 += var28; // L: 2046 var7 += var31; // L: 2047 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2048 var32 += var34; // L: 2049 var35 += var37; // L: 2050 var38 += var40; // L: 2051 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2034 var3 += var26; // L: 2035 var4 += var27; // L: 2036 var7 += var31; // L: 2037 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2038 var32 += var34; // L: 2039 var35 += var37; // L: 2040 var38 += var40; // L: 2041 } } else { var0 -= var2; // L: 2056 var2 -= var1; // L: 2057 var1 = Rasterizer3D_rowOffsets[var1]; // L: 2058 while (true) { --var2; // L: 2059 if (var2 < 0) { while (true) { --var0; // L: 2069 if (var0 < 0) { return; // L: 2079 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2070 var3 += var26; // L: 2071 var5 += var28; // L: 2072 var7 += var31; // L: 2073 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2074 var32 += var34; // L: 2075 var35 += var37; // L: 2076 var38 += var40; // L: 2077 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2060 var3 += var26; // L: 2061 var4 += var27; // L: 2062 var7 += var31; // L: 2063 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2064 var32 += var34; // L: 2065 var35 += var37; // L: 2066 var38 += var40; // L: 2067 } } } else { var5 = var4 <<= 14; // L: 2083 if (var1 < 0) { // L: 2084 var5 -= var26 * var1; // L: 2085 var4 -= var27 * var1; // L: 2086 var7 -= var31 * var1; // L: 2087 var1 = 0; // L: 2088 } var3 <<= 14; // L: 2090 if (var0 < 0) { // L: 2091 var3 -= var0 * var28; // L: 2092 var0 = 0; // L: 2093 } var41 = var1 - Rasterizer3D_clipMidY; // L: 2095 var32 += var34 * var41; // L: 2096 var35 += var37 * var41; // L: 2097 var38 += var40 * var41; // L: 2098 if (var26 < var27) { // L: 2099 var2 -= var0; // L: 2100 var0 -= var1; // L: 2101 var1 = Rasterizer3D_rowOffsets[var1]; // L: 2102 while (true) { --var0; // L: 2103 if (var0 < 0) { while (true) { --var2; // L: 2113 if (var2 < 0) { return; // L: 2123 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2114 var3 += var28; // L: 2115 var4 += var27; // L: 2116 var7 += var31; // L: 2117 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2118 var32 += var34; // L: 2119 var35 += var37; // L: 2120 var38 += var40; // L: 2121 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2104 var5 += var26; // L: 2105 var4 += var27; // L: 2106 var7 += var31; // L: 2107 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2108 var32 += var34; // L: 2109 var35 += var37; // L: 2110 var38 += var40; // L: 2111 } } else { var2 -= var0; // L: 2126 var0 -= var1; // L: 2127 var1 = Rasterizer3D_rowOffsets[var1]; // L: 2128 while (true) { --var0; // L: 2129 if (var0 < 0) { while (true) { --var2; // L: 2139 if (var2 < 0) { return; // L: 2149 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2140 var3 += var28; // L: 2141 var4 += var27; // L: 2142 var7 += var31; // L: 2143 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2144 var32 += var34; // L: 2145 var35 += var37; // L: 2146 var38 += var40; // L: 2147 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2130 var5 += var26; // L: 2131 var4 += var27; // L: 2132 var7 += var31; // L: 2133 var1 += Rasterizer2D.Rasterizer2D_width; // L: 2134 var32 += var34; // L: 2135 var35 += var37; // L: 2136 var38 += var40; // L: 2137 } } } } } else if (var2 < Rasterizer3D_clipHeight) { // L: 2154 if (var0 > Rasterizer3D_clipHeight) { // L: 2155 var0 = Rasterizer3D_clipHeight; } if (var1 > Rasterizer3D_clipHeight) { // L: 2156 var1 = Rasterizer3D_clipHeight; } var8 = (var8 << 9) - var5 * var30 + var30; // L: 2157 if (var0 < var1) { // L: 2158 var4 = var5 <<= 14; // L: 2159 if (var2 < 0) { // L: 2160 var4 -= var27 * var2; // L: 2161 var5 -= var28 * var2; // L: 2162 var8 -= var31 * var2; // L: 2163 var2 = 0; // L: 2164 } var3 <<= 14; // L: 2166 if (var0 < 0) { // L: 2167 var3 -= var0 * var26; // L: 2168 var0 = 0; // L: 2169 } var41 = var2 - Rasterizer3D_clipMidY; // L: 2171 var32 += var34 * var41; // L: 2172 var35 += var37 * var41; // L: 2173 var38 += var40 * var41; // L: 2174 if (var27 < var28) { // L: 2175 var1 -= var0; // L: 2176 var0 -= var2; // L: 2177 var2 = Rasterizer3D_rowOffsets[var2]; // L: 2178 while (true) { --var0; // L: 2179 if (var0 < 0) { while (true) { --var1; // L: 2189 if (var1 < 0) { return; // L: 2199 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2190 var4 += var27; // L: 2191 var3 += var26; // L: 2192 var8 += var31; // L: 2193 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2194 var32 += var34; // L: 2195 var35 += var37; // L: 2196 var38 += var40; // L: 2197 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2180 var4 += var27; // L: 2181 var5 += var28; // L: 2182 var8 += var31; // L: 2183 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2184 var32 += var34; // L: 2185 var35 += var37; // L: 2186 var38 += var40; // L: 2187 } } else { var1 -= var0; // L: 2202 var0 -= var2; // L: 2203 var2 = Rasterizer3D_rowOffsets[var2]; // L: 2204 while (true) { --var0; // L: 2205 if (var0 < 0) { while (true) { --var1; // L: 2215 if (var1 < 0) { return; // L: 2225 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2216 var4 += var27; // L: 2217 var3 += var26; // L: 2218 var8 += var31; // L: 2219 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2220 var32 += var34; // L: 2221 var35 += var37; // L: 2222 var38 += var40; // L: 2223 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2206 var4 += var27; // L: 2207 var5 += var28; // L: 2208 var8 += var31; // L: 2209 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2210 var32 += var34; // L: 2211 var35 += var37; // L: 2212 var38 += var40; // L: 2213 } } } else { var3 = var5 <<= 14; // L: 2229 if (var2 < 0) { // L: 2230 var3 -= var27 * var2; // L: 2231 var5 -= var28 * var2; // L: 2232 var8 -= var31 * var2; // L: 2233 var2 = 0; // L: 2234 } var4 <<= 14; // L: 2236 if (var1 < 0) { // L: 2237 var4 -= var26 * var1; // L: 2238 var1 = 0; // L: 2239 } var41 = var2 - Rasterizer3D_clipMidY; // L: 2241 var32 += var34 * var41; // L: 2242 var35 += var37 * var41; // L: 2243 var38 += var40 * var41; // L: 2244 if (var27 < var28) { // L: 2245 var0 -= var1; // L: 2246 var1 -= var2; // L: 2247 var2 = Rasterizer3D_rowOffsets[var2]; // L: 2248 while (true) { --var1; // L: 2249 if (var1 < 0) { while (true) { --var0; // L: 2259 if (var0 < 0) { return; // L: 2269 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2260 var4 += var26; // L: 2261 var5 += var28; // L: 2262 var8 += var31; // L: 2263 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2264 var32 += var34; // L: 2265 var35 += var37; // L: 2266 var38 += var40; // L: 2267 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2250 var3 += var27; // L: 2251 var5 += var28; // L: 2252 var8 += var31; // L: 2253 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2254 var32 += var34; // L: 2255 var35 += var37; // L: 2256 var38 += var40; // L: 2257 } } else { var0 -= var1; // L: 2272 var1 -= var2; // L: 2273 var2 = Rasterizer3D_rowOffsets[var2]; // L: 2274 while (true) { --var1; // L: 2275 if (var1 < 0) { while (true) { --var0; // L: 2285 if (var0 < 0) { return; // L: 2295 } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2286 var4 += var26; // L: 2287 var5 += var28; // L: 2288 var8 += var31; // L: 2289 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2290 var32 += var34; // L: 2291 var35 += var37; // L: 2292 var38 += var40; // L: 2293 } } Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2276 var3 += var27; // L: 2277 var5 += var28; // L: 2278 var8 += var31; // L: 2279 var2 += Rasterizer2D.Rasterizer2D_width; // L: 2280 var32 += var34; // L: 2281 var35 += var37; // L: 2282 var38 += var40; // L: 2283 } } } } } } } // L: 1826 @ObfuscatedName("y") @Export("Rasterizer3D_textureAlpha") static final void Rasterizer3D_textureAlpha(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14) { if (field1791) { // L: 2304 if (var6 > Rasterizer3D_clipWidth) { // L: 2305 var6 = Rasterizer3D_clipWidth; } if (var5 < 0) { // L: 2306 var5 = 0; } } if (var5 < var6) { // L: 2308 var4 += var5; // L: 2309 var7 += var5 * var8; // L: 2310 int var17 = var6 - var5; // L: 2311 int var15; int var16; int var18; int var19; int var20; int var21; int var22; int var23; if (Rasterizer3D_isLowDetailTexture) { // L: 2312 var23 = var5 - Rasterizer3D_clipMidX; // L: 2319 var9 += var23 * var12; // L: 2320 var10 += var13 * var23; // L: 2321 var11 += var23 * var14; // L: 2322 var22 = var11 >> 12; // L: 2323 if (var22 != 0) { // L: 2324 var18 = var9 / var22; // L: 2325 var19 = var10 / var22; // L: 2326 } else { var18 = 0; // L: 2329 var19 = 0; // L: 2330 } var9 += var17 * var12; // L: 2332 var10 += var13 * var17; // L: 2333 var11 += var17 * var14; // L: 2334 var22 = var11 >> 12; // L: 2335 if (var22 != 0) { // L: 2336 var20 = var9 / var22; // L: 2337 var21 = var10 / var22; // L: 2338 } else { var20 = 0; // L: 2341 var21 = 0; // L: 2342 } var2 = (var18 << 20) + var19; // L: 2344 var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 20); // L: 2345 var17 >>= 3; // L: 2346 var8 <<= 3; // L: 2347 var15 = var7 >> 8; // L: 2348 if (field1779) { // L: 2350 if (var17 > 0) { // L: 2351 do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2353 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2354 var2 += var16; // L: 2355 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2356 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2357 var2 += var16; // L: 2358 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2359 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2360 var2 += var16; // L: 2361 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2362 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2363 var2 += var16; // L: 2364 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2365 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2366 var2 += var16; // L: 2367 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2368 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2369 var2 += var16; // L: 2370 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2371 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2372 var2 += var16; // L: 2373 var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2374 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2375 var2 += var16; // L: 2376 var7 += var8; // L: 2377 var15 = var7 >> 8; // L: 2378 --var17; // L: 2379 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 2381 if (var17 > 0) { // L: 2382 do { var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2384 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2385 var2 += var16; // L: 2386 --var17; // L: 2387 } while(var17 > 0); } } else { if (var17 > 0) { // L: 2391 do { if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2393 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2394 } ++var4; // L: 2396 var2 += var16; // L: 2397 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2398 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2399 } ++var4; // L: 2401 var2 += var16; // L: 2402 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2403 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2404 } ++var4; // L: 2406 var2 += var16; // L: 2407 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2408 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2409 } ++var4; // L: 2411 var2 += var16; // L: 2412 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2413 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2414 } ++var4; // L: 2416 var2 += var16; // L: 2417 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2418 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2419 } ++var4; // L: 2421 var2 += var16; // L: 2422 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2423 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2424 } ++var4; // L: 2426 var2 += var16; // L: 2427 if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2428 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2429 } ++var4; // L: 2431 var2 += var16; // L: 2432 var7 += var8; // L: 2433 var15 = var7 >> 8; // L: 2434 --var17; // L: 2435 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 2437 if (var17 > 0) { // L: 2438 do { if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2440 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2441 } ++var4; // L: 2443 var2 += var16; // L: 2444 --var17; // L: 2445 } while(var17 > 0); } } } else { var23 = var5 - Rasterizer3D_clipMidX; // L: 2456 var9 += var23 * var12; // L: 2457 var10 += var13 * var23; // L: 2458 var11 += var23 * var14; // L: 2459 var22 = var11 >> 14; // L: 2460 if (var22 != 0) { // L: 2461 var18 = var9 / var22; // L: 2462 var19 = var10 / var22; // L: 2463 } else { var18 = 0; // L: 2466 var19 = 0; // L: 2467 } var9 += var17 * var12; // L: 2469 var10 += var13 * var17; // L: 2470 var11 += var17 * var14; // L: 2471 var22 = var11 >> 14; // L: 2472 if (var22 != 0) { // L: 2473 var20 = var9 / var22; // L: 2474 var21 = var10 / var22; // L: 2475 } else { var20 = 0; // L: 2478 var21 = 0; // L: 2479 } var2 = (var18 << 18) + var19; // L: 2481 var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 18); // L: 2482 var17 >>= 3; // L: 2483 var8 <<= 3; // L: 2484 var15 = var7 >> 8; // L: 2485 if (field1779) { // L: 2487 if (var17 > 0) { // L: 2488 do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2490 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2491 var2 += var16; // L: 2492 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2493 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2494 var2 += var16; // L: 2495 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2496 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2497 var2 += var16; // L: 2498 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2499 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2500 var2 += var16; // L: 2501 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2502 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2503 var2 += var16; // L: 2504 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2505 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2506 var2 += var16; // L: 2507 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2508 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2509 var2 += var16; // L: 2510 var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2511 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2512 var2 += var16; // L: 2513 var7 += var8; // L: 2514 var15 = var7 >> 8; // L: 2515 --var17; // L: 2516 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 2518 if (var17 > 0) { // L: 2519 do { var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2521 var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2522 var2 += var16; // L: 2523 --var17; // L: 2524 } while(var17 > 0); } } else { if (var17 > 0) { // L: 2528 do { if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2530 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2531 } ++var4; // L: 2533 var2 += var16; // L: 2534 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2535 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2536 } ++var4; // L: 2538 var2 += var16; // L: 2539 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2540 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2541 } ++var4; // L: 2543 var2 += var16; // L: 2544 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2545 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2546 } ++var4; // L: 2548 var2 += var16; // L: 2549 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2550 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2551 } ++var4; // L: 2553 var2 += var16; // L: 2554 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2555 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2556 } ++var4; // L: 2558 var2 += var16; // L: 2559 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2560 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2561 } ++var4; // L: 2563 var2 += var16; // L: 2564 if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2565 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2566 } ++var4; // L: 2568 var2 += var16; // L: 2569 var7 += var8; // L: 2570 var15 = var7 >> 8; // L: 2571 --var17; // L: 2572 } while(var17 > 0); } var17 = var6 - var5 & 7; // L: 2574 if (var17 > 0) { // L: 2575 do { if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2577 var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2578 } ++var4; // L: 2580 var2 += var16; // L: 2581 --var17; // L: 2582 } while(var17 > 0); } } } } } // L: 2586 @ObfuscatedName("r") static final int method3072(int var0, int var1) { var1 = (var0 & 127) * var1 >> 7; // L: 2589 if (var1 < 2) { // L: 2590 var1 = 2; } else if (var1 > 126) { // L: 2591 var1 = 126; } return (var0 & 65408) + var1; // L: 2592 } @ObfuscatedName("q") static final int method3088(int var0, int var1, int var2, int var3) { return var0 * var2 + var3 * var1 >> 16; // L: 2596 } @ObfuscatedName("g") static final int method3143(int var0, int var1, int var2, int var3) { return var2 * var1 - var3 * var0 >> 16; // L: 2600 } @ObfuscatedName("o") static final int method3090(int var0, int var1, int var2, int var3) { return var0 * var2 - var3 * var1 >> 16; // L: 2604 } @ObfuscatedName("an") static final int method3133(int var0, int var1, int var2, int var3) { return var3 * var0 + var2 * var1 >> 16; // L: 2608 } @ObfuscatedName("aj") static final int method3092(int var0, int var1, int var2, int var3) { return var0 * var2 + var3 * var1 >> 16; // L: 2612 } @ObfuscatedName("ax") static final int method3094(int var0, int var1, int var2, int var3) { return var2 * var1 - var3 * var0 >> 16; // L: 2616 } }