import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("qi") @Implements("SpritePixels") public final class SpritePixels extends Rasterizer2D { @ObfuscatedName("v") @Export("pixels") public int[] pixels; @ObfuscatedName("c") @Export("subWidth") public int subWidth; @ObfuscatedName("i") @Export("subHeight") public int subHeight; @ObfuscatedName("f") @Export("xOffset") public int xOffset; @ObfuscatedName("b") @Export("yOffset") int yOffset; @ObfuscatedName("n") @Export("width") public int width; @ObfuscatedName("s") @Export("height") public int height; public SpritePixels(int[] var1, int var2, int var3) { this.pixels = var1; // L: 26 this.subWidth = this.width = var2; // L: 27 this.subHeight = this.height = var3; // L: 28 this.yOffset = 0; // L: 29 this.xOffset = 0; // L: 30 } // L: 31 public SpritePixels(int var1, int var2) { this(new int[var2 * var1], var1, var2); // L: 22 } // L: 23 SpritePixels() { } // L: 19 @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "()Lqi;" ) @Export("mirrorHorizontally") public SpritePixels mirrorHorizontally() { SpritePixels var1 = new SpritePixels(this.subWidth, this.subHeight); // L: 34 var1.width = this.width; // L: 35 var1.height = this.height; // L: 36 var1.xOffset = this.width - this.subWidth - this.xOffset; // L: 37 var1.yOffset = this.yOffset; // L: 38 for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 39 for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 40 var1.pixels[var3 + var2 * this.subWidth] = this.pixels[var2 * this.subWidth + this.subWidth - 1 - var3]; // L: 41 } } return var1; // L: 44 } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "()Lqi;" ) public SpritePixels method8147() { SpritePixels var1 = new SpritePixels(this.subWidth, this.subHeight); // L: 48 var1.width = this.width; // L: 49 var1.height = this.height; // L: 50 var1.xOffset = this.xOffset; // L: 51 var1.yOffset = this.yOffset; // L: 52 int var2 = this.pixels.length; // L: 53 for (int var3 = 0; var3 < var2; ++var3) { // L: 54 var1.pixels[var3] = this.pixels[var3]; } return var1; // L: 55 } @ObfuscatedName("i") @ObfuscatedSignature( descriptor = "()Lqi;" ) @Export("copyNormalized") public SpritePixels copyNormalized() { SpritePixels var1 = new SpritePixels(this.width, this.height); // L: 59 for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 60 for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 61 var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; // L: 62 } } return var1; // L: 65 } @ObfuscatedName("f") @Export("setRaster") public void setRaster() { Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); // L: 69 } // L: 70 @ObfuscatedName("b") @Export("normalize") public void normalize() { if (this.subWidth != this.width || this.subHeight != this.height) { // L: 73 int[] var1 = new int[this.width * this.height]; // L: 74 for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 75 for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 76 var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; // L: 77 } } this.pixels = var1; // L: 80 this.subWidth = this.width; // L: 81 this.subHeight = this.height; // L: 82 this.xOffset = 0; // L: 83 this.yOffset = 0; // L: 84 } } // L: 85 @ObfuscatedName("n") @Export("pad") public void pad(int var1) { if (this.subWidth != this.width || this.subHeight != this.height) { // L: 88 int var2 = var1; // L: 89 if (var1 > this.xOffset) { // L: 90 var2 = this.xOffset; } int var3 = var1; // L: 91 if (var1 + this.xOffset + this.subWidth > this.width) { // L: 92 var3 = this.width - this.xOffset - this.subWidth; } int var4 = var1; // L: 93 if (var1 > this.yOffset) { // L: 94 var4 = this.yOffset; } int var5 = var1; // L: 95 if (var1 + this.yOffset + this.subHeight > this.height) { // L: 96 var5 = this.height - this.yOffset - this.subHeight; } int var6 = var2 + var3 + this.subWidth; // L: 97 int var7 = var4 + var5 + this.subHeight; // L: 98 int[] var8 = new int[var6 * var7]; // L: 99 for (int var9 = 0; var9 < this.subHeight; ++var9) { // L: 100 for (int var10 = 0; var10 < this.subWidth; ++var10) { // L: 101 var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth]; // L: 102 } } this.pixels = var8; // L: 105 this.subWidth = var6; // L: 106 this.subHeight = var7; // L: 107 this.xOffset -= var2; // L: 108 this.yOffset -= var4; // L: 109 } } // L: 110 @ObfuscatedName("s") @Export("flipHorizontally") public void flipHorizontally() { int[] var1 = new int[this.subWidth * this.subHeight]; // L: 113 int var2 = 0; // L: 114 for (int var3 = 0; var3 < this.subHeight; ++var3) { // L: 115 for (int var4 = this.subWidth - 1; var4 >= 0; --var4) { var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; // L: 116 } } this.pixels = var1; // L: 118 this.xOffset = this.width - this.subWidth - this.xOffset; // L: 119 } // L: 120 @ObfuscatedName("l") @Export("flipVertically") public void flipVertically() { int[] var1 = new int[this.subWidth * this.subHeight]; // L: 123 int var2 = 0; // L: 124 for (int var3 = this.subHeight - 1; var3 >= 0; --var3) { // L: 125 for (int var4 = 0; var4 < this.subWidth; ++var4) { // L: 126 var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; } } this.pixels = var1; // L: 128 this.yOffset = this.height - this.subHeight - this.yOffset; // L: 129 } // L: 130 @ObfuscatedName("q") @Export("outline") public void outline(int var1) { int[] var2 = new int[this.subWidth * this.subHeight]; // L: 133 int var3 = 0; // L: 134 for (int var4 = 0; var4 < this.subHeight; ++var4) { // L: 135 for (int var5 = 0; var5 < this.subWidth; ++var5) { // L: 136 int var6 = this.pixels[var3]; // L: 137 if (var6 == 0) { // L: 138 if (var5 > 0 && this.pixels[var3 - 1] != 0) { // L: 139 var6 = var1; } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { // L: 140 var6 = var1; } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { var6 = var1; // L: 141 } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { // L: 142 var6 = var1; } } var2[var3++] = var6; // L: 144 } } this.pixels = var2; // L: 147 } // L: 148 @ObfuscatedName("o") @Export("shadow") public void shadow(int var1) { for (int var2 = this.subHeight - 1; var2 > 0; --var2) { // L: 151 int var3 = var2 * this.subWidth; // L: 152 for (int var4 = this.subWidth - 1; var4 > 0; --var4) { // L: 153 if (this.pixels[var4 + var3] == 0 && this.pixels[var4 + var3 - 1 - this.subWidth] != 0) { // L: 154 this.pixels[var4 + var3] = var1; } } } } // L: 157 @ObfuscatedName("r") @Export("drawAt") public void drawAt(int var1, int var2) { var1 += this.xOffset; // L: 160 var2 += this.yOffset; // L: 161 int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 162 int var4 = 0; // L: 163 int var5 = this.subHeight; // L: 164 int var6 = this.subWidth; // L: 165 int var7 = Rasterizer2D.Rasterizer2D_width - var6; // L: 166 int var8 = 0; // L: 167 int var9; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 168 var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 169 var5 -= var9; // L: 170 var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 171 var4 += var9 * var6; // L: 172 var3 += var9 * Rasterizer2D.Rasterizer2D_width; // L: 173 } if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 175 var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 176 var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 177 var6 -= var9; // L: 178 var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 179 var4 += var9; // L: 180 var3 += var9; // L: 181 var8 += var9; // L: 182 var7 += var9; // L: 183 } if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 185 var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 186 var6 -= var9; // L: 187 var8 += var9; // L: 188 var7 += var9; // L: 189 } if (var6 > 0 && var5 > 0) { // L: 191 Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); // L: 192 } } // L: 193 @ObfuscatedName("w") @Export("drawTransBgAt") public void drawTransBgAt(int var1, int var2) { var1 += this.xOffset; // L: 214 var2 += this.yOffset; // L: 215 int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 216 int var4 = 0; // L: 217 int var5 = this.subHeight; // L: 218 int var6 = this.subWidth; // L: 219 int var7 = Rasterizer2D.Rasterizer2D_width - var6; // L: 220 int var8 = 0; // L: 221 int var9; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 222 var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 223 var5 -= var9; // L: 224 var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 225 var4 += var9 * var6; // L: 226 var3 += var9 * Rasterizer2D.Rasterizer2D_width; // L: 227 } if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 229 var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 230 var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 231 var6 -= var9; // L: 232 var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 233 var4 += var9; // L: 234 var3 += var9; // L: 235 var8 += var9; // L: 236 var7 += var9; // L: 237 } if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 239 var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 240 var6 -= var9; // L: 241 var8 += var9; // L: 242 var7 += var9; // L: 243 } if (var6 > 0 && var5 > 0) { // L: 245 Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); // L: 246 } } // L: 247 @ObfuscatedName("d") @Export("drawScaledAt") public void drawScaledAt(int var1, int var2, int var3, int var4) { if (var3 > 0 && var4 > 0) { // L: 278 int var5 = this.subWidth; // L: 279 int var6 = this.subHeight; // L: 280 int var7 = 0; // L: 281 int var8 = 0; // L: 282 int var9 = this.width; // L: 283 int var10 = this.height; // L: 284 int var11 = (var9 << 16) / var3; // L: 285 int var12 = (var10 << 16) / var4; // L: 286 int var13; if (this.xOffset > 0) { // L: 287 var13 = (var11 + (this.xOffset << 16) - 1) / var11; // L: 288 var1 += var13; // L: 289 var7 += var13 * var11 - (this.xOffset << 16); // L: 290 } if (this.yOffset > 0) { // L: 292 var13 = (var12 + (this.yOffset << 16) - 1) / var12; // L: 293 var2 += var13; // L: 294 var8 += var13 * var12 - (this.yOffset << 16); // L: 295 } if (var5 < var9) { // L: 297 var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; } if (var6 < var10) { // L: 298 var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; } var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 299 int var14 = Rasterizer2D.Rasterizer2D_width - var3; // L: 300 if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 301 var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; } int var15; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 302 var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 303 var4 -= var15; // L: 304 var13 += var15 * Rasterizer2D.Rasterizer2D_width; // L: 305 var8 += var12 * var15; // L: 306 } if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 308 var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 309 var3 -= var15; // L: 310 var14 += var15; // L: 311 } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 313 var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 314 var3 -= var15; // L: 315 var13 += var15; // L: 316 var7 += var11 * var15; // L: 317 var14 += var15; // L: 318 } Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); // L: 320 } } // L: 321 @ObfuscatedName("u") @Export("drawTransOverlayAt") public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { if (var3 == 256) { // L: 340 this.drawTransBgAt(var1, var2); // L: 341 } else { var1 += this.xOffset; // L: 344 var2 += this.yOffset; // L: 345 int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 346 int var6 = 0; // L: 347 int var7 = this.subHeight; // L: 348 int var8 = this.subWidth; // L: 349 int var9 = Rasterizer2D.Rasterizer2D_width - var8; // L: 350 int var10 = 0; // L: 351 int var11; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 352 var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 353 var7 -= var11; // L: 354 var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 355 var6 += var11 * var8; // L: 356 var5 += var11 * Rasterizer2D.Rasterizer2D_width; // L: 357 } if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 359 var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 360 var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 361 var8 -= var11; // L: 362 var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 363 var6 += var11; // L: 364 var5 += var11; // L: 365 var10 += var11; // L: 366 var9 += var11; // L: 367 } if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 369 var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 370 var8 -= var11; // L: 371 var10 += var11; // L: 372 var9 += var11; // L: 373 } if (var8 > 0 && var7 > 0) { // L: 375 Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); // L: 376 } } } // L: 342 377 @ObfuscatedName("g") @Export("drawTransAt") public void drawTransAt(int var1, int var2, int var3) { var1 += this.xOffset; // L: 400 var2 += this.yOffset; // L: 401 int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 402 int var5 = 0; // L: 403 int var6 = this.subHeight; // L: 404 int var7 = this.subWidth; // L: 405 int var8 = Rasterizer2D.Rasterizer2D_width - var7; // L: 406 int var9 = 0; // L: 407 int var10; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 408 var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 409 var6 -= var10; // L: 410 var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 411 var5 += var10 * var7; // L: 412 var4 += var10 * Rasterizer2D.Rasterizer2D_width; // L: 413 } if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 415 var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 416 var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 417 var7 -= var10; // L: 418 var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 419 var5 += var10; // L: 420 var4 += var10; // L: 421 var9 += var10; // L: 422 var8 += var10; // L: 423 } if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 425 var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 426 var7 -= var10; // L: 427 var9 += var10; // L: 428 var8 += var10; // L: 429 } if (var7 > 0 && var6 > 0) { // L: 431 Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); // L: 432 } } // L: 433 @ObfuscatedName("a") @Export("drawTransScaledAt") public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { if (var3 > 0 && var4 > 0) { // L: 452 int var6 = this.subWidth; // L: 453 int var7 = this.subHeight; // L: 454 int var8 = 0; // L: 455 int var9 = 0; // L: 456 int var10 = this.width; // L: 457 int var11 = this.height; // L: 458 int var12 = (var10 << 16) / var3; // L: 459 int var13 = (var11 << 16) / var4; // L: 460 int var14; if (this.xOffset > 0) { // L: 461 var14 = (var12 + (this.xOffset << 16) - 1) / var12; // L: 462 var1 += var14; // L: 463 var8 += var14 * var12 - (this.xOffset << 16); // L: 464 } if (this.yOffset > 0) { // L: 466 var14 = (var13 + (this.yOffset << 16) - 1) / var13; // L: 467 var2 += var14; // L: 468 var9 += var14 * var13 - (this.yOffset << 16); // L: 469 } if (var6 < var10) { // L: 471 var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; } if (var7 < var11) { // L: 472 var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; } var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 473 int var15 = Rasterizer2D.Rasterizer2D_width - var3; // L: 474 if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 475 var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; } int var16; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 476 var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 477 var4 -= var16; // L: 478 var14 += var16 * Rasterizer2D.Rasterizer2D_width; // L: 479 var9 += var13 * var16; // L: 480 } if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 482 var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 483 var3 -= var16; // L: 484 var15 += var16; // L: 485 } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 487 var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 488 var3 -= var16; // L: 489 var14 += var16; // L: 490 var8 += var12 * var16; // L: 491 var15 += var16; // L: 492 } Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); // L: 494 } } // L: 495 @ObfuscatedName("j") public void method8097(int var1, int var2, int var3) { var1 += this.xOffset; // L: 518 var2 += this.yOffset; // L: 519 int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 520 int var5 = 0; // L: 521 int var6 = this.subHeight; // L: 522 int var7 = this.subWidth; // L: 523 int var8 = Rasterizer2D.Rasterizer2D_width - var7; // L: 524 int var9 = 0; // L: 525 int var10; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 526 var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 527 var6 -= var10; // L: 528 var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 529 var5 += var10 * var7; // L: 530 var4 += var10 * Rasterizer2D.Rasterizer2D_width; // L: 531 } if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 533 var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 534 var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 535 var7 -= var10; // L: 536 var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 537 var5 += var10; // L: 538 var4 += var10; // L: 539 var9 += var10; // L: 540 var8 += var10; // L: 541 } if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 543 var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 544 var7 -= var10; // L: 545 var9 += var10; // L: 546 var8 += var10; // L: 547 } if (var7 > 0 && var6 > 0) { // L: 549 if (var3 == 256) { method8098(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); // L: 550 } else { method8081(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); // L: 551 } } } // L: 552 @ObfuscatedName("h") public void method8100(int var1, int var2, int var3, int var4, int var5) { if (var3 > 0 && var4 > 0) { // L: 593 int var6 = this.subWidth; // L: 594 int var7 = this.subHeight; // L: 595 int var8 = 0; // L: 596 int var9 = 0; // L: 597 int var10 = this.width; // L: 598 int var11 = this.height; // L: 599 int var12 = (var10 << 16) / var3; // L: 600 int var13 = (var11 << 16) / var4; // L: 601 int var14; if (this.xOffset > 0) { // L: 602 var14 = (var12 + (this.xOffset << 16) - 1) / var12; // L: 603 var1 += var14; // L: 604 var8 += var14 * var12 - (this.xOffset << 16); // L: 605 } if (this.yOffset > 0) { // L: 607 var14 = (var13 + (this.yOffset << 16) - 1) / var13; // L: 608 var2 += var14; // L: 609 var9 += var14 * var13 - (this.yOffset << 16); // L: 610 } if (var6 < var10) { // L: 612 var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; } if (var7 < var11) { // L: 613 var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; } var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 614 int var15 = Rasterizer2D.Rasterizer2D_width - var3; // L: 615 if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 616 var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; } int var16; if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 617 var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 618 var4 -= var16; // L: 619 var14 += var16 * Rasterizer2D.Rasterizer2D_width; // L: 620 var9 += var13 * var16; // L: 621 } if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 623 var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 624 var3 -= var16; // L: 625 var15 += var16; // L: 626 } if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 628 var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 629 var3 -= var16; // L: 630 var14 += var16; // L: 631 var8 += var12 * var16; // L: 632 var15 += var16; // L: 633 } if (var5 == 256) { // L: 635 method8101(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); } else { method8102(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); // L: 636 } } } // L: 637 @ObfuscatedName("aw") public void method8103(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { int var9 = var2 < 0 ? -var2 : 0; // L: 686 int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; // L: 687 int var11 = var1 < 0 ? -var1 : 0; // L: 688 int var10000; if (this.subWidth + var1 <= var5) { // L: 689 var10000 = this.subWidth; } else { var10000 = var5 - var1; } int var13 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; // L: 690 int var14 = var9 + var2; // L: 691 for (int var15 = var9; var15 < var10; ++var15) { // L: 692 int var16 = var7[var14]; // L: 693 int var17 = var8[var14++]; // L: 694 int var18 = var13; // L: 695 int var19; if (var1 < var16) { // L: 697 var19 = var16 - var1; // L: 698 var18 = var13 + (var19 - var11); // L: 699 } else { var19 = var11; // L: 701 } int var12; if (this.subWidth + var1 <= var16 + var17) { // L: 702 var12 = this.subWidth; } else { var12 = var16 + var17 - var1; // L: 703 } for (int var20 = var19; var20 < var12; ++var20) { // L: 704 int var21 = this.pixels[var20 + var15 * this.subWidth]; // L: 705 if (var21 != 0) { Rasterizer2D.Rasterizer2D_pixels[var18++] = var21; // L: 706 } else { ++var18; // L: 707 } } var13 += Rasterizer2D.Rasterizer2D_width; // L: 709 } } // L: 711 @ObfuscatedName("am") @Export("drawRotatedMaskedCenteredAround") public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { try { int var11 = -var3 / 2; // L: 715 int var12 = -var4 / 2; // L: 716 int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); // L: 717 int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); // L: 718 var13 = var13 * var8 >> 8; // L: 719 var14 = var14 * var8 >> 8; // L: 720 int var15 = var12 * var13 + var11 * var14 + (var5 << 16); // L: 721 int var16 = var12 * var14 - var11 * var13 + (var6 << 16); // L: 722 int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 723 for (var2 = 0; var2 < var4; ++var2) { // L: 724 int var18 = var9[var2]; // L: 725 int var19 = var17 + var18; // L: 726 int var20 = var15 + var14 * var18; // L: 727 int var21 = var16 - var13 * var18; // L: 728 for (var1 = -var10[var2]; var1 < 0; ++var1) { // L: 729 Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; // L: 730 var20 += var14; // L: 731 var21 -= var13; // L: 732 } var15 += var13; // L: 734 var16 += var14; // L: 735 var17 += Rasterizer2D.Rasterizer2D_width; // L: 736 } } catch (Exception var23) { // L: 739 } } // L: 740 @ObfuscatedName("ak") public void method8105(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { try { int var10 = -var3 / 2; // L: 744 int var11 = -var4 / 2; // L: 745 int var12 = (int)(Math.sin(var7) * 65536.0D); // L: 746 int var13 = (int)(Math.cos(var7) * 65536.0D); // L: 747 var12 = var12 * var9 >> 8; // L: 748 var13 = var13 * var9 >> 8; // L: 749 int var14 = var11 * var12 + var10 * var13 + (var5 << 16); // L: 750 int var15 = var11 * var13 - var10 * var12 + (var6 << 16); // L: 751 int var16 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 752 for (var2 = 0; var2 < var4; ++var2) { // L: 753 int var17 = var16; // L: 754 int var18 = var14; // L: 755 int var19 = var15; // L: 756 for (var1 = -var3; var1 < 0; ++var1) { // L: 757 int var20 = this.pixels[this.subWidth * (var19 >> 16) + (var18 >> 16)]; // L: 758 if (var20 != 0) { // L: 759 Rasterizer2D.Rasterizer2D_pixels[var17++] = var20; } else { ++var17; // L: 760 } var18 += var13; // L: 761 var19 -= var12; // L: 762 } var14 += var12; // L: 764 var15 += var13; // L: 765 var16 += Rasterizer2D.Rasterizer2D_width; // L: 766 } } catch (Exception var22) { // L: 769 } } // L: 770 @ObfuscatedName("ao") public void method8106(int var1, int var2, int var3, int var4) { this.method8107(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); // L: 773 } // L: 774 @ObfuscatedName("aj") void method8107(int var1, int var2, int var3, int var4, int var5, int var6) { if (var6 != 0) { // L: 777 var1 -= this.xOffset << 4; // L: 778 var2 -= this.yOffset << 4; // L: 779 double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D; // L: 780 int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); // L: 781 int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); // L: 782 int var11 = var10 * -var1 + -var2 * var9; // L: 783 int var12 = -var2 * var10 + var9 * -(-var1); // L: 784 int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9; // L: 785 int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10; // L: 786 int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1; // L: 787 int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1); // L: 788 int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1); // L: 789 int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1); // L: 790 int var19; int var20; if (var11 < var13) { // L: 793 var19 = var11; // L: 794 var20 = var13; // L: 795 } else { var19 = var13; // L: 798 var20 = var11; // L: 799 } if (var15 < var19) { // L: 801 var19 = var15; } if (var17 < var19) { // L: 802 var19 = var17; } if (var15 > var20) { // L: 803 var20 = var15; } if (var17 > var20) { // L: 804 var20 = var17; } int var21; int var22; if (var12 < var14) { // L: 807 var21 = var12; // L: 808 var22 = var14; // L: 809 } else { var21 = var14; // L: 812 var22 = var12; // L: 813 } if (var16 < var21) { // L: 815 var21 = var16; } if (var18 < var21) { // L: 816 var21 = var18; } if (var16 > var22) { // L: 817 var22 = var16; } if (var18 > var22) { // L: 818 var22 = var18; } var19 >>= 12; // L: 819 var20 = var20 + 4095 >> 12; // L: 820 var21 >>= 12; // L: 821 var22 = var22 + 4095 >> 12; // L: 822 var19 += var3; // L: 823 var20 += var3; // L: 824 var21 += var4; // L: 825 var22 += var4; // L: 826 var19 >>= 4; // L: 827 var20 = var20 + 15 >> 4; // L: 828 var21 >>= 4; // L: 829 var22 = var22 + 15 >> 4; // L: 830 if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 831 var19 = Rasterizer2D.Rasterizer2D_xClipStart; } if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 832 var20 = Rasterizer2D.Rasterizer2D_xClipEnd; } if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 833 var21 = Rasterizer2D.Rasterizer2D_yClipStart; } if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 834 var22 = Rasterizer2D.Rasterizer2D_yClipEnd; } var20 = var19 - var20; // L: 835 if (var20 < 0) { // L: 836 var22 = var21 - var22; // L: 837 if (var22 < 0) { // L: 838 int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width; // L: 839 double var24 = 1.6777216E7D / (double)var6; // L: 840 int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); // L: 841 int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); // L: 842 int var28 = (var19 << 4) + 8 - var3; // L: 843 int var29 = (var21 << 4) + 8 - var4; // L: 844 int var30 = (var1 << 8) - (var29 * var26 >> 4); // L: 845 int var31 = (var29 * var27 >> 4) + (var2 << 8); // L: 846 int var32; int var33; int var34; int var35; int var36; int var37; int var38; if (var27 == 0) { // L: 848 if (var26 == 0) { // L: 849 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 851 var35 = var30; // L: 852 var36 = var31; // L: 853 var37 = var20; // L: 854 if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) { // L: 855 856 857 858 for (; var37 < 0; ++var37) { // L: 859 var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 860 if (var38 != 0) { // L: 861 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 862 } } } ++var33; // L: 850 } } else if (var26 < 0) { // L: 866 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 868 var35 = var30; // L: 869 var36 = (var28 * var26 >> 4) + var31; // L: 870 var37 = var20; // L: 871 if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { // L: 872 873 if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 874 var32 = (var26 - var32) / var26; // L: 875 var37 = var20 + var32; // L: 876 var36 += var26 * var32; // L: 877 var34 = var23 + var32; // L: 878 } if ((var32 = (var36 - var26) / var26) > var37) { // L: 880 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 882 if (var38 != 0) { // L: 883 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 884 } var36 += var26; // L: 885 ++var37; // L: 881 } } ++var33; // L: 867 var30 -= var26; } } else { for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 891 var35 = var30; // L: 892 var36 = (var28 * var26 >> 4) + var31; // L: 893 var37 = var20; // L: 894 if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { // L: 895 896 if (var36 < 0) { // L: 897 var32 = (var26 - 1 - var36) / var26; // L: 898 var37 = var20 + var32; // L: 899 var36 += var26 * var32; // L: 900 var34 = var23 + var32; // L: 901 } if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 903 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 905 if (var38 != 0) { // L: 906 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 907 } var36 += var26; // L: 908 ++var37; // L: 904 } } ++var33; // L: 890 var30 -= var26; } } } else if (var27 < 0) { // L: 913 if (var26 == 0) { // L: 914 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 916 var35 = (var28 * var27 >> 4) + var30; // L: 917 var36 = var31; // L: 918 var37 = var20; // L: 919 if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { // L: 920 921 if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 922 var32 = (var27 - var32) / var27; // L: 923 var37 = var20 + var32; // L: 924 var35 += var27 * var32; // L: 925 var34 = var23 + var32; // L: 926 } if ((var32 = (var35 - var27) / var27) > var37) { // L: 928 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 930 if (var38 != 0) { // L: 931 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 932 } var35 += var27; // L: 933 ++var37; // L: 929 } } ++var33; // L: 915 var31 += var27; } } else if (var26 < 0) { // L: 937 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 939 var35 = (var28 * var27 >> 4) + var30; // L: 940 var36 = (var28 * var26 >> 4) + var31; // L: 941 var37 = var20; // L: 942 if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 943 var32 = (var27 - var32) / var27; // L: 944 var37 = var20 + var32; // L: 945 var35 += var27 * var32; // L: 946 var36 += var26 * var32; // L: 947 var34 = var23 + var32; // L: 948 } if ((var32 = (var35 - var27) / var27) > var37) { // L: 950 var37 = var32; } if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 951 var32 = (var26 - var32) / var26; // L: 952 var37 += var32; // L: 953 var35 += var27 * var32; // L: 954 var36 += var26 * var32; // L: 955 var34 += var32; // L: 956 } if ((var32 = (var36 - var26) / var26) > var37) { // L: 958 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 960 if (var38 != 0) { // L: 961 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 962 } var35 += var27; // L: 963 var36 += var26; // L: 964 ++var37; // L: 959 } ++var33; // L: 938 var30 -= var26; var31 += var27; } } else { for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 970 var35 = (var28 * var27 >> 4) + var30; // L: 971 var36 = (var28 * var26 >> 4) + var31; // L: 972 var37 = var20; // L: 973 if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 974 var32 = (var27 - var32) / var27; // L: 975 var37 = var20 + var32; // L: 976 var35 += var27 * var32; // L: 977 var36 += var26 * var32; // L: 978 var34 = var23 + var32; // L: 979 } if ((var32 = (var35 - var27) / var27) > var37) { // L: 981 var37 = var32; } if (var36 < 0) { // L: 982 var32 = (var26 - 1 - var36) / var26; // L: 983 var37 += var32; // L: 984 var35 += var27 * var32; // L: 985 var36 += var26 * var32; // L: 986 var34 += var32; // L: 987 } if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 989 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 991 if (var38 != 0) { // L: 992 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 993 } var35 += var27; // L: 994 var36 += var26; // L: 995 ++var37; // L: 990 } ++var33; // L: 969 var30 -= var26; var31 += var27; } } } else if (var26 == 0) { // L: 1001 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 1003 var35 = (var28 * var27 >> 4) + var30; // L: 1004 var36 = var31; // L: 1005 var37 = var20; // L: 1006 if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { // L: 1007 1008 if (var35 < 0) { // L: 1009 var32 = (var27 - 1 - var35) / var27; // L: 1010 var37 = var20 + var32; // L: 1011 var35 += var27 * var32; // L: 1012 var34 = var23 + var32; // L: 1013 } if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1015 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1017 if (var38 != 0) { // L: 1018 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 1019 } var35 += var27; // L: 1020 ++var37; // L: 1016 } } ++var33; // L: 1002 var31 += var27; } } else if (var26 < 0) { // L: 1024 for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 1026 var35 = (var28 * var27 >> 4) + var30; // L: 1027 var36 = (var28 * var26 >> 4) + var31; // L: 1028 var37 = var20; // L: 1029 if (var35 < 0) { // L: 1030 var32 = (var27 - 1 - var35) / var27; // L: 1031 var37 = var20 + var32; // L: 1032 var35 += var27 * var32; // L: 1033 var36 += var26 * var32; // L: 1034 var34 = var23 + var32; // L: 1035 } if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1037 var37 = var32; } if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 1038 var32 = (var26 - var32) / var26; // L: 1039 var37 += var32; // L: 1040 var35 += var27 * var32; // L: 1041 var36 += var26 * var32; // L: 1042 var34 += var32; // L: 1043 } if ((var32 = (var36 - var26) / var26) > var37) { // L: 1045 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1047 if (var38 != 0) { // L: 1048 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 1049 } var35 += var27; // L: 1050 var36 += var26; // L: 1051 ++var37; // L: 1046 } ++var33; // L: 1025 var30 -= var26; var31 += var27; } } else { for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { var34 = var23; // L: 1057 var35 = (var28 * var27 >> 4) + var30; // L: 1058 var36 = (var28 * var26 >> 4) + var31; // L: 1059 var37 = var20; // L: 1060 if (var35 < 0) { // L: 1061 var32 = (var27 - 1 - var35) / var27; // L: 1062 var37 = var20 + var32; // L: 1063 var35 += var27 * var32; // L: 1064 var36 += var26 * var32; // L: 1065 var34 = var23 + var32; // L: 1066 } if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1068 var37 = var32; } if (var36 < 0) { // L: 1069 var32 = (var26 - 1 - var36) / var26; // L: 1070 var37 += var32; // L: 1071 var35 += var27 * var32; // L: 1072 var36 += var26 * var32; // L: 1073 var34 += var32; // L: 1074 } if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 1076 var37 = var32; } while (var37 < 0) { var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1078 if (var38 != 0) { // L: 1079 Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; } else { ++var34; // L: 1080 } var35 += var27; // L: 1081 var36 += var26; // L: 1082 ++var37; // L: 1077 } ++var33; // L: 1056 var30 -= var26; var31 += var27; } } } } } } // L: 1087 @ObfuscatedName("al") @Export("drawScaledWorldmap") public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { if (var3 <= this.width && var4 <= this.height) { // L: 1090 int var5 = var3 * this.xOffset / this.width + var1; // L: 1093 int var6 = (var3 * (this.xOffset + this.subWidth) + this.width - 1) / this.width + var1; // L: 1094 int var7 = var2 + var4 * this.yOffset / this.height; // L: 1095 int var8 = var2 + (this.height + (this.yOffset + this.subHeight) * var4 - 1) / this.height; // L: 1096 if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 1097 var5 = Rasterizer2D.Rasterizer2D_xClipStart; } if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 1098 var6 = Rasterizer2D.Rasterizer2D_xClipEnd; } if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 1099 var7 = Rasterizer2D.Rasterizer2D_yClipStart; } if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 1100 var8 = Rasterizer2D.Rasterizer2D_yClipEnd; } if (var5 < var6 && var7 < var8) { // L: 1101 int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width; // L: 1102 int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5); // L: 1103 if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) { // L: 1104 for (int var11 = var7; var11 < var8; ++var11) { // L: 1107 for (int var12 = var5; var12 < var6; ++var12) { // L: 1108 int var13 = var12 - var1 << 4; // L: 1109 int var14 = var11 - var2 << 4; // L: 1110 int var15 = var13 * this.width / var3 - (this.xOffset << 4); // L: 1111 int var16 = (var13 + 16) * this.width / var3 - (this.xOffset << 4); // L: 1112 int var17 = var14 * this.height / var4 - (this.yOffset << 4); // L: 1113 int var18 = (var14 + 16) * this.height / var4 - (this.yOffset << 4); // L: 1114 int var19 = (var16 - var15) * (var18 - var17) >> 1; // L: 1115 if (var19 != 0) { // L: 1116 if (var15 < 0) { // L: 1117 var15 = 0; } if (var16 >= this.subWidth << 4) { // L: 1118 var16 = this.subWidth << 4; } if (var17 < 0) { // L: 1119 var17 = 0; } if (var18 >= this.subHeight << 4) { // L: 1120 var18 = this.subHeight << 4; } --var16; // L: 1121 --var18; // L: 1122 int var20 = 16 - (var15 & 15); // L: 1123 int var21 = (var16 & 15) + 1; // L: 1124 int var22 = 16 - (var17 & 15); // L: 1125 int var23 = (var18 & 15) + 1; // L: 1126 var15 >>= 4; // L: 1127 var16 >>= 4; // L: 1128 var17 >>= 4; // L: 1129 var18 >>= 4; // L: 1130 int var24 = 0; // L: 1131 int var25 = 0; // L: 1132 int var26 = 0; // L: 1133 int var27 = 0; // L: 1134 int var28; for (var28 = var17; var28 <= var18; ++var28) { // L: 1135 int var29 = 16; // L: 1136 if (var28 == var17) { // L: 1137 var29 = var22; } if (var28 == var18) { // L: 1138 var29 = var23; } for (int var30 = var15; var30 <= var16; ++var30) { // L: 1139 int var31 = this.pixels[var30 + var28 * this.subWidth]; // L: 1140 if (var31 != 0) { // L: 1141 int var32; if (var30 == var15) { // L: 1143 var32 = var29 * var20; } else if (var30 == var16) { // L: 1144 var32 = var29 * var21; } else { var32 = var29 << 4; // L: 1145 } var27 += var32; // L: 1146 var24 += var32 * (var31 >> 16 & 255); // L: 1147 var25 += var32 * (var31 >> 8 & 255); // L: 1148 var26 += (var31 & 255) * var32; // L: 1149 } } } if (var27 >= var19) { // L: 1153 var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8); // L: 1154 if (var28 == 0) { // L: 1155 var28 = 1; } Rasterizer2D.Rasterizer2D_pixels[var9] = var28; // L: 1156 } ++var9; // L: 1158 } } var9 += var10; // L: 1160 } } } } else { throw new IllegalArgumentException(); // L: 1091 } } // L: 1105 1162 @ObfuscatedName("p") @Export("Sprite_draw") static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { for (int var8 = -var5; var8 < 0; ++var8) { // L: 196 int var9; for (var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { // L: 197 198 202 var0[var3++] = var1[var2++]; // L: 199 var0[var3++] = var1[var2++]; // L: 200 var0[var3++] = var1[var2++]; // L: 201 } for (var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { // L: 204 205 206 } var3 += var6; // L: 208 var2 += var7; // L: 209 } } // L: 211 @ObfuscatedName("k") @Export("Sprite_drawTransBg") static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { int var9 = -(var5 >> 2); // L: 250 var5 = -(var5 & 3); // L: 251 for (int var10 = -var6; var10 < 0; ++var10) { // L: 252 int var11; for (var11 = var9; var11 < 0; ++var11) { // L: 253 var2 = var1[var3++]; // L: 254 if (var2 != 0) { // L: 255 var0[var4++] = var2; } else { ++var4; // L: 256 } var2 = var1[var3++]; // L: 257 if (var2 != 0) { // L: 258 var0[var4++] = var2; } else { ++var4; // L: 259 } var2 = var1[var3++]; // L: 260 if (var2 != 0) { // L: 261 var0[var4++] = var2; } else { ++var4; // L: 262 } var2 = var1[var3++]; // L: 263 if (var2 != 0) { // L: 264 var0[var4++] = var2; } else { ++var4; // L: 265 } } for (var11 = var5; var11 < 0; ++var11) { // L: 267 var2 = var1[var3++]; // L: 268 if (var2 != 0) { // L: 269 var0[var4++] = var2; } else { ++var4; // L: 270 } } var4 += var7; // L: 272 var3 += var8; // L: 273 } } // L: 275 @ObfuscatedName("m") @Export("Sprite_drawScaled") static void Sprite_drawScaled(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 = var3; // L: 324 for (int var13 = -var8; var13 < 0; ++var13) { // L: 325 int var14 = var11 * (var4 >> 16); // L: 326 for (int var15 = -var7; var15 < 0; ++var15) { // L: 327 var2 = var1[(var3 >> 16) + var14]; // L: 328 if (var2 != 0) { // L: 329 var0[var5++] = var2; } else { ++var5; // L: 330 } var3 += var9; // L: 331 } var4 += var10; // L: 333 var3 = var12; // L: 334 var5 += var6; // L: 335 } } // L: 337 @ObfuscatedName("t") @Export("Sprite_drawTransOverlay") static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { int var11 = 256 - var9; // L: 380 int var12 = (var10 & 16711935) * var11 & -16711936; // L: 381 int var13 = (var10 & 65280) * var11 & 16711680; // L: 382 var10 = (var12 | var13) >>> 8; // L: 383 for (int var14 = -var6; var14 < 0; ++var14) { // L: 384 for (int var15 = -var5; var15 < 0; ++var15) { // L: 385 var2 = var1[var3++]; // L: 386 if (var2 != 0) { // L: 387 var12 = var9 * (var2 & 16711935) & -16711936; // L: 388 var13 = (var2 & 65280) * var9 & 16711680; // L: 389 var0[var4++] = var10 + ((var12 | var13) >>> 8); // L: 390 } else { ++var4; // L: 392 } } var4 += var7; // L: 394 var3 += var8; // L: 395 } } // L: 397 @ObfuscatedName("x") @Export("Sprite_drawTransparent") static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { int var10 = 256 - var9; // L: 436 for (int var11 = -var6; var11 < 0; ++var11) { // L: 437 for (int var12 = -var5; var12 < 0; ++var12) { // L: 438 var2 = var1[var3++]; // L: 439 if (var2 != 0) { // L: 440 int var13 = var0[var4]; // L: 441 var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & 65280) * var9 + var10 * (var13 & 65280) & 16711680) >> 8; // L: 442 } else { ++var4; // L: 444 } } var4 += var7; // L: 446 var3 += var8; // L: 447 } } // L: 449 @ObfuscatedName("y") @Export("Sprite_drawTransScaled") static void Sprite_drawTransScaled(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 = 256 - var12; // L: 498 int var14 = var3; // L: 499 for (int var15 = -var8; var15 < 0; ++var15) { // L: 500 int var16 = var11 * (var4 >> 16); // L: 501 for (int var17 = -var7; var17 < 0; ++var17) { // L: 502 var2 = var1[(var3 >> 16) + var16]; // L: 503 if (var2 != 0) { // L: 504 int var18 = var0[var5]; // L: 505 var0[var5++] = ((var2 & 65280) * var12 + var13 * (var18 & 65280) & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8; // L: 506 } else { ++var5; // L: 508 } var3 += var9; // L: 509 } var4 += var10; // L: 511 var3 = var14; // L: 512 var5 += var6; // L: 513 } } // L: 515 @ObfuscatedName("e") static void method8098(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) { for (var8 = -var10; var8 < 0; ++var8) { // L: 555 for (var6 = -var9; var6 < 0; ++var6) { // L: 556 var0 = var4[var5++]; // L: 557 if (var0 != 0) { // L: 558 var1 = var3[var7]; // L: 559 var2 = var0 + var1; // L: 560 var0 = (var0 & 16711935) + (var1 & 16711935); // L: 561 var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 562 var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); // L: 563 } else { ++var7; // L: 565 } } var7 += var11; // L: 567 var5 += var12; // L: 568 } } // L: 570 @ObfuscatedName("z") static void method8081(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) { for (var8 = -var10; var8 < 0; ++var8) { // L: 573 for (var6 = -var9; var6 < 0; ++var6) { // L: 574 var0 = var4[var5++]; // L: 575 if (var0 != 0) { // L: 576 var1 = var13 * (var0 & 16711935); // L: 577 var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8; // L: 578 var1 = var3[var7]; // L: 579 var2 = var0 + var1; // L: 580 var0 = (var0 & 16711935) + (var1 & 16711935); // L: 581 var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 582 var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); // L: 583 } else { ++var7; // L: 585 } } var7 += var11; // L: 587 var5 += var12; // L: 588 } } // L: 590 @ObfuscatedName("ae") static void method8101(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) { for (int var16 = var3; var8 < 0; ++var8) { // L: 640 641 var7 = var15 * (var9 >> 16); // L: 642 for (var6 = -var12; var6 < 0; ++var6) { // L: 643 var0 = var4[(var3 >> 16) + var7]; // L: 644 if (var0 != 0) { // L: 645 var1 = var5[var10]; // L: 646 var2 = var0 + var1; // L: 647 var0 = (var0 & 16711935) + (var1 & 16711935); // L: 648 var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 649 var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); // L: 650 } else { ++var10; // L: 652 } var3 += var13; // L: 653 } var9 += var14; // L: 655 var3 = var16; // L: 656 var10 += var11; // L: 657 } } // L: 659 @ObfuscatedName("aq") static void method8102(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) { for (int var17 = var3; var8 < 0; ++var8) { // L: 662 663 var7 = var15 * (var9 >> 16); // L: 664 for (var6 = -var12; var6 < 0; ++var6) { // L: 665 var0 = var4[(var3 >> 16) + var7]; // L: 666 if (var0 != 0) { // L: 667 var1 = (var0 & 16711935) * var16; // L: 668 var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8; // L: 669 var1 = var5[var10]; // L: 670 var2 = var0 + var1; // L: 671 var0 = (var0 & 16711935) + (var1 & 16711935); // L: 672 var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 673 var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); // L: 674 } else { ++var10; // L: 676 } var3 += var13; // L: 677 } var9 += var14; // L: 679 var3 = var17; // L: 680 var10 += var11; // L: 681 } } // L: 683 }