3452 lines
130 KiB
Java
3452 lines
130 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("et")
|
|
@Implements("Rasterizer3D")
|
|
public class Rasterizer3D extends Rasterizer2D {
|
|
@ObfuscatedName("m")
|
|
static boolean field739;
|
|
@ObfuscatedName("f")
|
|
static boolean field740;
|
|
@ObfuscatedName("q")
|
|
@Export("Rasterizer3D_isLowDetailTexture")
|
|
static boolean Rasterizer3D_isLowDetailTexture;
|
|
@ObfuscatedName("w")
|
|
public static boolean field741;
|
|
@ObfuscatedName("o")
|
|
@Export("Rasterizer3D_alpha")
|
|
static int Rasterizer3D_alpha;
|
|
@ObfuscatedName("k")
|
|
@Export("Rasterizer3D_zoom")
|
|
public static int Rasterizer3D_zoom;
|
|
@ObfuscatedName("n")
|
|
@Export("Rasterizer3D_clipMidX")
|
|
static int Rasterizer3D_clipMidX;
|
|
@ObfuscatedName("i")
|
|
@Export("Rasterizer3D_clipMidY")
|
|
static int Rasterizer3D_clipMidY;
|
|
@ObfuscatedName("a")
|
|
@Export("Rasterizer3D_clipWidth")
|
|
static int Rasterizer3D_clipWidth;
|
|
@ObfuscatedName("z")
|
|
@Export("Rasterizer3D_clipHeight")
|
|
static int Rasterizer3D_clipHeight;
|
|
@ObfuscatedName("j")
|
|
@Export("Rasterizer3D_clipNegativeMidX")
|
|
static int Rasterizer3D_clipNegativeMidX;
|
|
@ObfuscatedName("s")
|
|
@Export("Rasterizer3D_clipMidX2")
|
|
static int Rasterizer3D_clipMidX2;
|
|
@ObfuscatedName("t")
|
|
@Export("Rasterizer3D_clipNegativeMidY")
|
|
static int Rasterizer3D_clipNegativeMidY;
|
|
@ObfuscatedName("y")
|
|
@Export("Rasterizer3D_clipMidY2")
|
|
static int Rasterizer3D_clipMidY2;
|
|
@ObfuscatedName("h")
|
|
@Export("Rasterizer3D_rowOffsets")
|
|
static int[] Rasterizer3D_rowOffsets;
|
|
@ObfuscatedName("b")
|
|
@Export("Rasterizer3D_colorPalette")
|
|
public static int[] Rasterizer3D_colorPalette;
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "Lei;"
|
|
)
|
|
@Export("Rasterizer3D_textureLoader")
|
|
public static TextureLoader Rasterizer3D_textureLoader;
|
|
@ObfuscatedName("r")
|
|
static int[] field742;
|
|
@ObfuscatedName("p")
|
|
static int[] field743;
|
|
@ObfuscatedName("v")
|
|
@Export("Rasterizer3D_sine")
|
|
public static int[] Rasterizer3D_sine;
|
|
@ObfuscatedName("ag")
|
|
@Export("Rasterizer3D_cosine")
|
|
public static int[] Rasterizer3D_cosine;
|
|
|
|
@ObfuscatedName("m")
|
|
@Export("Rasterizer3D_setClipFromRasterizer2D")
|
|
public static final void Rasterizer3D_setClipFromRasterizer2D() {
|
|
Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd);
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@Export("Rasterizer3D_setClip")
|
|
static final void Rasterizer3D_setClip(int xStart, int yStart, int xEnd, int yEnd) {
|
|
Rasterizer3D_clipWidth = xEnd - xStart;
|
|
Rasterizer3D_clipHeight = yEnd - yStart;
|
|
Rasterizer3D_method3();
|
|
if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) {
|
|
Rasterizer3D_rowOffsets = new int[World.method1759(Rasterizer3D_clipHeight)];
|
|
}
|
|
|
|
int var4 = xStart + Rasterizer2D.Rasterizer2D_width * yStart;
|
|
|
|
for (int var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) {
|
|
Rasterizer3D_rowOffsets[var5] = var4;
|
|
var4 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@Export("Rasterizer3D_method3")
|
|
public static final void Rasterizer3D_method3() {
|
|
Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2;
|
|
Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2;
|
|
Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX;
|
|
Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX;
|
|
Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY;
|
|
Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY;
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
public static final void method2989(int var0, int var1) {
|
|
int var2 = Rasterizer3D_rowOffsets[0];
|
|
int var3 = var2 / Rasterizer2D.Rasterizer2D_width;
|
|
int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width;
|
|
Rasterizer3D_clipMidX = var0 - var4;
|
|
Rasterizer3D_clipMidY = var1 - var3;
|
|
Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX;
|
|
Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX;
|
|
Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY;
|
|
Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY;
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lei;)V"
|
|
)
|
|
@Export("Rasterizer3D_setTextureLoader")
|
|
public static final void Rasterizer3D_setTextureLoader(TextureLoader textureLoader) {
|
|
Rasterizer3D_textureLoader = textureLoader;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@Export("Rasterizer3D_setBrightness")
|
|
public static final void Rasterizer3D_setBrightness(double brightness) {
|
|
Rasterizer3D_buildPalette(brightness, 0, 512);
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@Export("Rasterizer3D_buildPalette")
|
|
static final void Rasterizer3D_buildPalette(double brightness, int hsMin, int hsMax) {
|
|
int var4 = hsMin * 128;
|
|
|
|
for (int var5 = hsMin; var5 < hsMax; ++var5) {
|
|
double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D;
|
|
double var8 = (double)(var5 & 7) / 8.0D + 0.0625D;
|
|
|
|
for (int var10 = 0; var10 < 128; ++var10) {
|
|
double var11 = (double)var10 / 128.0D;
|
|
double var13 = var11;
|
|
double var15 = var11;
|
|
double var17 = var11;
|
|
if (var8 != 0.0D) {
|
|
double var19;
|
|
if (var11 < 0.5D) {
|
|
var19 = var11 * (1.0D + var8);
|
|
} else {
|
|
var19 = var11 + var8 - var11 * var8;
|
|
}
|
|
|
|
double var21 = 2.0D * var11 - var19;
|
|
double var23 = var6 + 0.3333333333333333D;
|
|
if (var23 > 1.0D) {
|
|
--var23;
|
|
}
|
|
|
|
double var25 = var6 - 0.3333333333333333D;
|
|
if (var25 < 0.0D) {
|
|
++var25;
|
|
}
|
|
|
|
if (6.0D * var23 < 1.0D) {
|
|
var13 = var21 + (var19 - var21) * 6.0D * var23;
|
|
} else if (2.0D * var23 < 1.0D) {
|
|
var13 = var19;
|
|
} else if (3.0D * var23 < 2.0D) {
|
|
var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D;
|
|
} else {
|
|
var13 = var21;
|
|
}
|
|
|
|
if (6.0D * var6 < 1.0D) {
|
|
var15 = var21 + (var19 - var21) * 6.0D * var6;
|
|
} else if (2.0D * var6 < 1.0D) {
|
|
var15 = var19;
|
|
} else if (3.0D * var6 < 2.0D) {
|
|
var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D;
|
|
} else {
|
|
var15 = var21;
|
|
}
|
|
|
|
if (6.0D * var25 < 1.0D) {
|
|
var17 = var21 + (var19 - var21) * 6.0D * var25;
|
|
} else if (2.0D * var25 < 1.0D) {
|
|
var17 = var19;
|
|
} else if (3.0D * var25 < 2.0D) {
|
|
var17 = var21 + (var19 - var21) * (0.6666666666666666D - var25) * 6.0D;
|
|
} else {
|
|
var17 = var21;
|
|
}
|
|
}
|
|
|
|
int var28 = (int)(var13 * 256.0D);
|
|
int var20 = (int)(var15 * 256.0D);
|
|
int var27 = (int)(var17 * 256.0D);
|
|
int var22 = var27 + (var20 << 8) + (var28 << 16);
|
|
var22 = Rasterizer3D_brighten(var22, brightness);
|
|
if (var22 == 0) {
|
|
var22 = 1;
|
|
}
|
|
|
|
Rasterizer3D_colorPalette[var4++] = var22;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@Export("Rasterizer3D_brighten")
|
|
static int Rasterizer3D_brighten(int rgb, double brightness) {
|
|
double var3 = (double)(rgb >> 16) / 256.0D;
|
|
double var5 = (double)(rgb >> 8 & 255) / 256.0D;
|
|
double var7 = (double)(rgb & 255) / 256.0D;
|
|
var3 = Math.pow(var3, brightness);
|
|
var5 = Math.pow(var5, brightness);
|
|
var7 = Math.pow(var7, brightness);
|
|
int var9 = (int)(var3 * 256.0D);
|
|
int var10 = (int)(var5 * 256.0D);
|
|
int var11 = (int)(var7 * 256.0D);
|
|
return var11 + (var10 << 8) + (var9 << 16);
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
public static void method2985(int var0, int var1, int var2) {
|
|
field739 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth;
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
static final void method3037(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
|
|
int var9 = var4 - var3;
|
|
int var10 = var1 - var0;
|
|
int var11 = var5 - var3;
|
|
int var12 = var2 - var0;
|
|
int var13 = var7 - var6;
|
|
int var14 = var8 - var6;
|
|
int var15;
|
|
if (var2 != var1) {
|
|
var15 = (var5 - var4 << 14) / (var2 - var1);
|
|
} else {
|
|
var15 = 0;
|
|
}
|
|
|
|
int var16;
|
|
if (var0 != var1) {
|
|
var16 = (var9 << 14) / var10;
|
|
} else {
|
|
var16 = 0;
|
|
}
|
|
|
|
int var17;
|
|
if (var0 != var2) {
|
|
var17 = (var11 << 14) / var12;
|
|
} else {
|
|
var17 = 0;
|
|
}
|
|
|
|
int var18 = var9 * var12 - var11 * var10;
|
|
if (var18 != 0) {
|
|
int var19 = (var13 * var12 - var14 * var10 << 8) / var18;
|
|
int var20 = (var14 * var9 - var13 * var11 << 8) / var18;
|
|
if (var0 <= var1 && var0 <= var2) {
|
|
if (var0 < Rasterizer3D_clipHeight) {
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var6 = var19 + ((var6 << 8) - var3 * var19);
|
|
if (var1 < var2) {
|
|
var5 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var5 -= var0 * var17;
|
|
var3 -= var0 * var16;
|
|
var6 -= var0 * var20;
|
|
var0 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var15 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
if (var0 != var1 && var17 < var16 || var0 == var1 && var17 > var15) {
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19);
|
|
var5 += var17;
|
|
var4 += var15;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19);
|
|
var5 += var17;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19);
|
|
var5 += var17;
|
|
var4 += var15;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19);
|
|
var5 += var17;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var4 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var4 -= var0 * var17;
|
|
var3 -= var0 * var16;
|
|
var6 -= var0 * var20;
|
|
var0 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var15 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
if ((var0 == var2 || var17 >= var16) && (var0 != var2 || var15 <= var16)) {
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19);
|
|
var5 += var15;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19);
|
|
var4 += var17;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19);
|
|
var5 += var15;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19);
|
|
var4 += var17;
|
|
var3 += var16;
|
|
var6 += var20;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
} else if (var1 <= var2) {
|
|
if (var1 < Rasterizer3D_clipHeight) {
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var7 = var19 + ((var7 << 8) - var19 * var4);
|
|
if (var2 < var0) {
|
|
var3 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var3 -= var16 * var1;
|
|
var4 -= var15 * var1;
|
|
var7 -= var20 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var17 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
if (var2 != var1 && var16 < var15 || var2 == var1 && var16 > var17) {
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19);
|
|
var3 += var16;
|
|
var5 += var17;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19);
|
|
var3 += var16;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19);
|
|
var3 += var16;
|
|
var5 += var17;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19);
|
|
var3 += var16;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var5 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var5 -= var16 * var1;
|
|
var4 -= var15 * var1;
|
|
var7 -= var20 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var17;
|
|
var0 = 0;
|
|
}
|
|
|
|
if (var16 < var15) {
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19);
|
|
var3 += var17;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19);
|
|
var5 += var16;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19);
|
|
var3 += var17;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19);
|
|
var5 += var16;
|
|
var4 += var15;
|
|
var7 += var20;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
} else if (var2 < Rasterizer3D_clipHeight) {
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var8 = var19 + ((var8 << 8) - var5 * var19);
|
|
if (var0 < var1) {
|
|
var4 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var4 -= var15 * var2;
|
|
var5 -= var17 * var2;
|
|
var8 -= var20 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var16;
|
|
var0 = 0;
|
|
}
|
|
|
|
if (var15 < var17) {
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19);
|
|
var4 += var15;
|
|
var3 += var16;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19);
|
|
var4 += var15;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19);
|
|
var4 += var15;
|
|
var3 += var16;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19);
|
|
var4 += var15;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var3 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var3 -= var15 * var2;
|
|
var5 -= var17 * var2;
|
|
var8 -= var20 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var16 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
if (var15 < var17) {
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19);
|
|
var4 += var16;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19);
|
|
var3 += var15;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19);
|
|
var4 += var16;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19);
|
|
var3 += var15;
|
|
var5 += var17;
|
|
var8 += var20;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@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 (field739) {
|
|
if (var5 > Rasterizer3D_clipWidth) {
|
|
var5 = Rasterizer3D_clipWidth;
|
|
}
|
|
|
|
if (var4 < 0) {
|
|
var4 = 0;
|
|
}
|
|
}
|
|
|
|
if (var4 < var5) {
|
|
var1 += var4;
|
|
var6 += var4 * var7;
|
|
int var8;
|
|
int var9;
|
|
int var10;
|
|
if (field741) {
|
|
var3 = var5 - var4 >> 2;
|
|
var7 <<= 2;
|
|
if (Rasterizer3D_alpha == 0) {
|
|
if (var3 > 0) {
|
|
do {
|
|
var2 = Rasterizer3D_colorPalette[var6 >> 8];
|
|
var6 += var7;
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
--var3;
|
|
} while(var3 > 0);
|
|
}
|
|
|
|
var3 = var5 - var4 & 3;
|
|
if (var3 > 0) {
|
|
var2 = Rasterizer3D_colorPalette[var6 >> 8];
|
|
|
|
do {
|
|
var0[var1++] = var2;
|
|
--var3;
|
|
} while(var3 > 0);
|
|
}
|
|
} else {
|
|
var8 = Rasterizer3D_alpha;
|
|
var9 = 256 - Rasterizer3D_alpha;
|
|
if (var3 > 0) {
|
|
do {
|
|
var2 = Rasterizer3D_colorPalette[var6 >> 8];
|
|
var6 += var7;
|
|
var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
--var3;
|
|
} while(var3 > 0);
|
|
}
|
|
|
|
var3 = var5 - var4 & 3;
|
|
if (var3 > 0) {
|
|
var2 = Rasterizer3D_colorPalette[var6 >> 8];
|
|
var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
|
|
|
|
do {
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
--var3;
|
|
} while(var3 > 0);
|
|
}
|
|
}
|
|
} else {
|
|
var3 = var5 - var4;
|
|
if (Rasterizer3D_alpha == 0) {
|
|
do {
|
|
var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8];
|
|
var6 += var7;
|
|
--var3;
|
|
} while(var3 > 0);
|
|
} else {
|
|
var8 = Rasterizer3D_alpha;
|
|
var9 = 256 - Rasterizer3D_alpha;
|
|
|
|
do {
|
|
var2 = Rasterizer3D_colorPalette[var6 >> 8];
|
|
var6 += var7;
|
|
var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
|
|
var10 = var0[var1];
|
|
var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
|
|
--var3;
|
|
} while(var3 > 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
public static final void method3020(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
|
|
int var7 = 0;
|
|
if (var0 != var1) {
|
|
var7 = (var4 - var3 << 14) / (var1 - var0);
|
|
}
|
|
|
|
int var8 = 0;
|
|
if (var2 != var1) {
|
|
var8 = (var5 - var4 << 14) / (var2 - var1);
|
|
}
|
|
|
|
int var9 = 0;
|
|
if (var0 != var2) {
|
|
var9 = (var3 - var5 << 14) / (var0 - var2);
|
|
}
|
|
|
|
if (var0 <= var1 && var0 <= var2) {
|
|
if (var0 < Rasterizer3D_clipHeight) {
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var1 < var2) {
|
|
var5 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var5 -= var0 * var9;
|
|
var3 -= var0 * var7;
|
|
var0 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var8 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
if ((var0 == var1 || var9 >= var7) && (var0 != var1 || var9 <= var8)) {
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14);
|
|
var5 += var9;
|
|
var4 += var8;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14);
|
|
var5 += var9;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14);
|
|
var5 += var9;
|
|
var4 += var8;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14);
|
|
var5 += var9;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var4 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var4 -= var0 * var9;
|
|
var3 -= var0 * var7;
|
|
var0 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var8 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
if (var0 != var2 && var9 < var7 || var0 == var2 && var8 > var7) {
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14);
|
|
var5 += var8;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14);
|
|
var4 += var9;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14);
|
|
var5 += var8;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14);
|
|
var4 += var9;
|
|
var3 += var7;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
} else if (var1 <= var2) {
|
|
if (var1 < Rasterizer3D_clipHeight) {
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var2 < var0) {
|
|
var3 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var3 -= var7 * var1;
|
|
var4 -= var8 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var9 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
if ((var2 == var1 || var7 >= var8) && (var2 != var1 || var7 <= var9)) {
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14);
|
|
var3 += var7;
|
|
var5 += var9;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14);
|
|
var3 += var7;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14);
|
|
var3 += var7;
|
|
var5 += var9;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14);
|
|
var3 += var7;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var5 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var5 -= var7 * var1;
|
|
var4 -= var8 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var9;
|
|
var0 = 0;
|
|
}
|
|
|
|
if (var7 < var8) {
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14);
|
|
var3 += var9;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14);
|
|
var5 += var7;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14);
|
|
var3 += var9;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14);
|
|
var5 += var7;
|
|
var4 += var8;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
} else if (var2 < Rasterizer3D_clipHeight) {
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var0 < var1) {
|
|
var4 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var4 -= var8 * var2;
|
|
var5 -= var9 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var7;
|
|
var0 = 0;
|
|
}
|
|
|
|
if (var8 < var9) {
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14);
|
|
var4 += var8;
|
|
var3 += var7;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14);
|
|
var4 += var8;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14);
|
|
var4 += var8;
|
|
var3 += var7;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14);
|
|
var4 += var8;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var3 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var3 -= var8 * var2;
|
|
var5 -= var9 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var7 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
if (var8 < var9) {
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14);
|
|
var4 += var7;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14);
|
|
var3 += var8;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14);
|
|
var4 += var7;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14);
|
|
var3 += var8;
|
|
var5 += var9;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@Export("Rasterizer3D_horizAlpha")
|
|
static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) {
|
|
if (field739) {
|
|
if (var5 > Rasterizer3D_clipWidth) {
|
|
var5 = Rasterizer3D_clipWidth;
|
|
}
|
|
|
|
if (var4 < 0) {
|
|
var4 = 0;
|
|
}
|
|
}
|
|
|
|
if (var4 < var5) {
|
|
var1 += var4;
|
|
var3 = var5 - var4 >> 2;
|
|
if (Rasterizer3D_alpha != 0) {
|
|
if (Rasterizer3D_alpha == 254) {
|
|
while (true) {
|
|
--var3;
|
|
if (var3 < 0) {
|
|
var3 = var5 - var4 & 3;
|
|
|
|
while (true) {
|
|
--var3;
|
|
if (var3 < 0) {
|
|
return;
|
|
}
|
|
|
|
var0[var1++] = var0[var1];
|
|
}
|
|
}
|
|
|
|
var0[var1++] = var0[var1];
|
|
var0[var1++] = var0[var1];
|
|
var0[var1++] = var0[var1];
|
|
var0[var1++] = var0[var1];
|
|
}
|
|
} else {
|
|
int var6 = Rasterizer3D_alpha;
|
|
int var7 = 256 - Rasterizer3D_alpha;
|
|
var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935);
|
|
|
|
while (true) {
|
|
--var3;
|
|
int var8;
|
|
if (var3 < 0) {
|
|
var3 = var5 - var4 & 3;
|
|
|
|
while (true) {
|
|
--var3;
|
|
if (var3 < 0) {
|
|
return;
|
|
}
|
|
|
|
var8 = var0[var1];
|
|
var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
|
|
}
|
|
}
|
|
|
|
var8 = var0[var1];
|
|
var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
|
|
var8 = var0[var1];
|
|
var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
|
|
var8 = var0[var1];
|
|
var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
|
|
var8 = var0[var1];
|
|
var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
|
|
}
|
|
}
|
|
} else {
|
|
while (true) {
|
|
--var3;
|
|
if (var3 < 0) {
|
|
var3 = var5 - var4 & 3;
|
|
|
|
while (true) {
|
|
--var3;
|
|
if (var3 < 0) {
|
|
return;
|
|
}
|
|
|
|
var0[var1++] = var2;
|
|
}
|
|
}
|
|
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
var0[var1++] = var2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
static final void method2986(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.load(var18);
|
|
int var20;
|
|
if (var19 == null) {
|
|
var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18);
|
|
method3037(var0, var1, var2, var3, var4, var5, method3040(var20, var6), method3040(var20, var7), method3040(var20, var8));
|
|
} else {
|
|
Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18);
|
|
field740 = Rasterizer3D_textureLoader.vmethod325(var18);
|
|
var20 = var4 - var3;
|
|
int var21 = var1 - var0;
|
|
int var22 = var5 - var3;
|
|
int var23 = var2 - var0;
|
|
int var24 = var7 - var6;
|
|
int var25 = var8 - var6;
|
|
int var26 = 0;
|
|
if (var0 != var1) {
|
|
var26 = (var4 - var3 << 14) / (var1 - var0);
|
|
}
|
|
|
|
int var27 = 0;
|
|
if (var2 != var1) {
|
|
var27 = (var5 - var4 << 14) / (var2 - var1);
|
|
}
|
|
|
|
int var28 = 0;
|
|
if (var0 != var2) {
|
|
var28 = (var3 - var5 << 14) / (var0 - var2);
|
|
}
|
|
|
|
int var29 = var20 * var23 - var22 * var21;
|
|
if (var29 != 0) {
|
|
int var30 = (var24 * var23 - var25 * var21 << 9) / var29;
|
|
int var31 = (var25 * var20 - var24 * var22 << 9) / var29;
|
|
var10 = var9 - var10;
|
|
var13 = var12 - var13;
|
|
var16 = var15 - var16;
|
|
var11 -= var9;
|
|
var14 -= var12;
|
|
var17 -= var15;
|
|
int var32 = var11 * var12 - var9 * var14 << 14;
|
|
int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom);
|
|
int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom);
|
|
int var35 = var10 * var12 - var13 * var9 << 14;
|
|
int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom);
|
|
int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom);
|
|
int var38 = var13 * var11 - var10 * var14 << 14;
|
|
int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom);
|
|
int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom);
|
|
int var41;
|
|
if (var0 <= var1 && var0 <= var2) {
|
|
if (var0 < Rasterizer3D_clipHeight) {
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var6 = var30 + ((var6 << 9) - var3 * var30);
|
|
if (var1 < var2) {
|
|
var5 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var5 -= var0 * var28;
|
|
var3 -= var0 * var26;
|
|
var6 -= var0 * var31;
|
|
var0 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var27 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var41 = var0 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) {
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var4 += var27;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var4 += var27;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var4 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var4 -= var0 * var28;
|
|
var3 -= var0 * var26;
|
|
var6 -= var0 * var31;
|
|
var0 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var27 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var41 = var0 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) {
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var27;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var27;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
} else if (var1 <= var2) {
|
|
if (var1 < Rasterizer3D_clipHeight) {
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var7 = var30 + ((var7 << 9) - var30 * var4);
|
|
if (var2 < var0) {
|
|
var3 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var3 -= var26 * var1;
|
|
var4 -= var27 * var1;
|
|
var7 -= var31 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var28 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var41 = var1 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) {
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var5 += var28;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var5 += var28;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var5 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var5 -= var26 * var1;
|
|
var4 -= var27 * var1;
|
|
var7 -= var31 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var28;
|
|
var0 = 0;
|
|
}
|
|
|
|
var41 = var1 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var26 < var27) {
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var28;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var28;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
} else if (var2 < Rasterizer3D_clipHeight) {
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var8 = (var8 << 9) - var5 * var30 + var30;
|
|
if (var0 < var1) {
|
|
var4 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var4 -= var27 * var2;
|
|
var5 -= var28 * var2;
|
|
var8 -= var31 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var26;
|
|
var0 = 0;
|
|
}
|
|
|
|
var41 = var2 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var27 < var28) {
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var3 += var26;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var3 += var26;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var3 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var3 -= var27 * var2;
|
|
var5 -= var28 * var2;
|
|
var8 -= var31 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var26 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var41 = var2 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var27 < var28) {
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var26;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var26;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@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 (field739) {
|
|
if (var6 > Rasterizer3D_clipWidth) {
|
|
var6 = Rasterizer3D_clipWidth;
|
|
}
|
|
|
|
if (var5 < 0) {
|
|
var5 = 0;
|
|
}
|
|
}
|
|
|
|
if (var5 < var6) {
|
|
var4 += var5;
|
|
var7 += var5 * var8;
|
|
int var15 = var6 - var5;
|
|
int var16;
|
|
int var10000;
|
|
int var18;
|
|
int var19;
|
|
int var20;
|
|
int var21;
|
|
int var22;
|
|
int var23;
|
|
int var24;
|
|
if (Rasterizer3D_isLowDetailTexture) {
|
|
var24 = var5 - Rasterizer3D_clipMidX;
|
|
var9 += var24 * (var12 >> 3);
|
|
var10 += (var13 >> 3) * var24;
|
|
var11 += var24 * (var14 >> 3);
|
|
var23 = var11 >> 12;
|
|
if (var23 != 0) {
|
|
var19 = var9 / var23;
|
|
var20 = var10 / var23;
|
|
if (var19 < 0) {
|
|
var19 = 0;
|
|
} else if (var19 > 4032) {
|
|
var19 = 4032;
|
|
}
|
|
} else {
|
|
var19 = 0;
|
|
var20 = 0;
|
|
}
|
|
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 12;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 4032) {
|
|
var21 = 4032;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 20) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20);
|
|
var15 >>= 3;
|
|
var8 <<= 3;
|
|
var16 = var7 >> 8;
|
|
if (field740) {
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var10000 = var18 + var2;
|
|
var19 = var21;
|
|
var20 = var22;
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 12;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 4032) {
|
|
var21 = 4032;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 20) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20);
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
} else {
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var10000 = var18 + var2;
|
|
var19 = var21;
|
|
var20 = var22;
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 12;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 4032) {
|
|
var21 = 4032;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 20) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20);
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
}
|
|
} else {
|
|
var24 = var5 - Rasterizer3D_clipMidX;
|
|
var9 += var24 * (var12 >> 3);
|
|
var10 += (var13 >> 3) * var24;
|
|
var11 += var24 * (var14 >> 3);
|
|
var23 = var11 >> 14;
|
|
if (var23 != 0) {
|
|
var19 = var9 / var23;
|
|
var20 = var10 / var23;
|
|
if (var19 < 0) {
|
|
var19 = 0;
|
|
} else if (var19 > 16256) {
|
|
var19 = 16256;
|
|
}
|
|
} else {
|
|
var19 = 0;
|
|
var20 = 0;
|
|
}
|
|
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 14;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 16256) {
|
|
var21 = 16256;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 18) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18);
|
|
var15 >>= 3;
|
|
var8 <<= 3;
|
|
var16 = var7 >> 8;
|
|
if (field740) {
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var10000 = var18 + var2;
|
|
var19 = var21;
|
|
var20 = var22;
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 14;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 16256) {
|
|
var21 = 16256;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 18) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18);
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var18;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
} else {
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var10000 = var18 + var2;
|
|
var19 = var21;
|
|
var20 = var22;
|
|
var9 += var12;
|
|
var10 += var13;
|
|
var11 += var14;
|
|
var23 = var11 >> 14;
|
|
if (var23 != 0) {
|
|
var21 = var9 / var23;
|
|
var22 = var10 / var23;
|
|
if (var21 < 0) {
|
|
var21 = 0;
|
|
} else if (var21 > 16256) {
|
|
var21 = 16256;
|
|
}
|
|
} else {
|
|
var21 = 0;
|
|
var22 = 0;
|
|
}
|
|
|
|
var2 = (var19 << 18) + var20;
|
|
var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18);
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var18;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
static final void method3012(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.load(var18);
|
|
int var20;
|
|
if (var19 == null) {
|
|
var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18);
|
|
method3037(var0, var1, var2, var3, var4, var5, method3040(var20, var6), method3040(var20, var7), method3040(var20, var8));
|
|
} else {
|
|
Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18);
|
|
field740 = Rasterizer3D_textureLoader.vmethod325(var18);
|
|
var20 = var4 - var3;
|
|
int var21 = var1 - var0;
|
|
int var22 = var5 - var3;
|
|
int var23 = var2 - var0;
|
|
int var24 = var7 - var6;
|
|
int var25 = var8 - var6;
|
|
int var26 = 0;
|
|
if (var0 != var1) {
|
|
var26 = (var4 - var3 << 14) / (var1 - var0);
|
|
}
|
|
|
|
int var27 = 0;
|
|
if (var2 != var1) {
|
|
var27 = (var5 - var4 << 14) / (var2 - var1);
|
|
}
|
|
|
|
int var28 = 0;
|
|
if (var0 != var2) {
|
|
var28 = (var3 - var5 << 14) / (var0 - var2);
|
|
}
|
|
|
|
int var29 = var20 * var23 - var22 * var21;
|
|
if (var29 != 0) {
|
|
int var30 = (var24 * var23 - var25 * var21 << 9) / var29;
|
|
int var31 = (var25 * var20 - var24 * var22 << 9) / var29;
|
|
var10 = var9 - var10;
|
|
var13 = var12 - var13;
|
|
var16 = var15 - var16;
|
|
var11 -= var9;
|
|
var14 -= var12;
|
|
var17 -= var15;
|
|
int var32 = var11 * var12 - var9 * var14 << 14;
|
|
int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom);
|
|
int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom);
|
|
int var35 = var10 * var12 - var13 * var9 << 14;
|
|
int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom);
|
|
int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom);
|
|
int var38 = var13 * var11 - var10 * var14 << 14;
|
|
int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom);
|
|
int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom);
|
|
int var41;
|
|
if (var0 <= var1 && var0 <= var2) {
|
|
if (var0 < Rasterizer3D_clipHeight) {
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var6 = var30 + ((var6 << 9) - var3 * var30);
|
|
if (var1 < var2) {
|
|
var5 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var5 -= var0 * var28;
|
|
var3 -= var0 * var26;
|
|
var6 -= var0 * var31;
|
|
var0 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var27 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var41 = var0 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) {
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var4 += var27;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var2 -= var1;
|
|
var1 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var4 += var27;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var4 = var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var4 -= var0 * var28;
|
|
var3 -= var0 * var26;
|
|
var6 -= var0 * var31;
|
|
var0 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var27 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var41 = var0 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) {
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var27;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var1 -= var2;
|
|
var2 -= var0;
|
|
var0 = Rasterizer3D_rowOffsets[var0];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var27;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var28;
|
|
var3 += var26;
|
|
var6 += var31;
|
|
var0 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
} else if (var1 <= var2) {
|
|
if (var1 < Rasterizer3D_clipHeight) {
|
|
if (var2 > Rasterizer3D_clipHeight) {
|
|
var2 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var7 = var30 + ((var7 << 9) - var30 * var4);
|
|
if (var2 < var0) {
|
|
var3 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var3 -= var26 * var1;
|
|
var4 -= var27 * var1;
|
|
var7 -= var31 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var5 -= var28 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var41 = var1 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) {
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var5 += var28;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var0 -= var2;
|
|
var2 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var5 += var28;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var5 = var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var5 -= var26 * var1;
|
|
var4 -= var27 * var1;
|
|
var7 -= var31 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var28;
|
|
var0 = 0;
|
|
}
|
|
|
|
var41 = var1 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var26 < var27) {
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var28;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var2 -= var0;
|
|
var0 -= var1;
|
|
var1 = Rasterizer3D_rowOffsets[var1];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var2;
|
|
if (var2 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var28;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39);
|
|
var5 += var26;
|
|
var4 += var27;
|
|
var7 += var31;
|
|
var1 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
} else if (var2 < Rasterizer3D_clipHeight) {
|
|
if (var0 > Rasterizer3D_clipHeight) {
|
|
var0 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
if (var1 > Rasterizer3D_clipHeight) {
|
|
var1 = Rasterizer3D_clipHeight;
|
|
}
|
|
|
|
var8 = (var8 << 9) - var5 * var30 + var30;
|
|
if (var0 < var1) {
|
|
var4 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var4 -= var27 * var2;
|
|
var5 -= var28 * var2;
|
|
var8 -= var31 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var3 <<= 14;
|
|
if (var0 < 0) {
|
|
var3 -= var0 * var26;
|
|
var0 = 0;
|
|
}
|
|
|
|
var41 = var2 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var27 < var28) {
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var3 += var26;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var1 -= var0;
|
|
var0 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var3 += var26;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var3 = var5 <<= 14;
|
|
if (var2 < 0) {
|
|
var3 -= var27 * var2;
|
|
var5 -= var28 * var2;
|
|
var8 -= var31 * var2;
|
|
var2 = 0;
|
|
}
|
|
|
|
var4 <<= 14;
|
|
if (var1 < 0) {
|
|
var4 -= var26 * var1;
|
|
var1 = 0;
|
|
}
|
|
|
|
var41 = var2 - Rasterizer3D_clipMidY;
|
|
var32 += var34 * var41;
|
|
var35 += var37 * var41;
|
|
var38 += var40 * var41;
|
|
if (var27 < var28) {
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var26;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
var0 -= var1;
|
|
var1 -= var2;
|
|
var2 = Rasterizer3D_rowOffsets[var2];
|
|
|
|
while (true) {
|
|
--var1;
|
|
if (var1 < 0) {
|
|
while (true) {
|
|
--var0;
|
|
if (var0 < 0) {
|
|
return;
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var4 += var26;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
|
|
Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39);
|
|
var3 += var27;
|
|
var5 += var28;
|
|
var8 += var31;
|
|
var2 += Rasterizer2D.Rasterizer2D_width;
|
|
var32 += var34;
|
|
var35 += var37;
|
|
var38 += var40;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@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 (field739) {
|
|
if (var6 > Rasterizer3D_clipWidth) {
|
|
var6 = Rasterizer3D_clipWidth;
|
|
}
|
|
|
|
if (var5 < 0) {
|
|
var5 = 0;
|
|
}
|
|
}
|
|
|
|
if (var5 < var6) {
|
|
var4 += var5;
|
|
var7 += var5 * var8;
|
|
int var15 = var6 - var5;
|
|
int var16;
|
|
int var17;
|
|
int var18;
|
|
int var19;
|
|
int var20;
|
|
int var21;
|
|
int var22;
|
|
int var23;
|
|
if (Rasterizer3D_isLowDetailTexture) {
|
|
var23 = var5 - Rasterizer3D_clipMidX;
|
|
var9 += var23 * var12;
|
|
var10 += var13 * var23;
|
|
var11 += var23 * var14;
|
|
var22 = var11 >> 12;
|
|
if (var22 != 0) {
|
|
var18 = var9 / var22;
|
|
var19 = var10 / var22;
|
|
} else {
|
|
var18 = 0;
|
|
var19 = 0;
|
|
}
|
|
|
|
var9 += var15 * var12;
|
|
var10 += var13 * var15;
|
|
var11 += var15 * var14;
|
|
var22 = var11 >> 12;
|
|
if (var22 != 0) {
|
|
var20 = var9 / var22;
|
|
var21 = var10 / var22;
|
|
} else {
|
|
var20 = 0;
|
|
var21 = 0;
|
|
}
|
|
|
|
var2 = (var18 << 20) + var19;
|
|
var17 = (var21 - var19) / var15 + ((var20 - var18) / var15 << 20);
|
|
var15 >>= 3;
|
|
var8 <<= 3;
|
|
var16 = var7 >> 8;
|
|
if (field740) {
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
} else {
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
}
|
|
} else {
|
|
var23 = var5 - Rasterizer3D_clipMidX;
|
|
var9 += var23 * var12;
|
|
var10 += var13 * var23;
|
|
var11 += var23 * var14;
|
|
var22 = var11 >> 14;
|
|
if (var22 != 0) {
|
|
var18 = var9 / var22;
|
|
var19 = var10 / var22;
|
|
} else {
|
|
var18 = 0;
|
|
var19 = 0;
|
|
}
|
|
|
|
var9 += var15 * var12;
|
|
var10 += var13 * var15;
|
|
var11 += var15 * var14;
|
|
var22 = var11 >> 14;
|
|
if (var22 != 0) {
|
|
var20 = var9 / var22;
|
|
var21 = var10 / var22;
|
|
} else {
|
|
var20 = 0;
|
|
var21 = 0;
|
|
}
|
|
|
|
var2 = (var18 << 18) + var19;
|
|
var17 = (var21 - var19) / var15 + ((var20 - var18) / var15 << 18);
|
|
var15 >>= 3;
|
|
var8 <<= 3;
|
|
var16 = var7 >> 8;
|
|
if (field740) {
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
|
|
var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
var2 += var17;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
} else {
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
var7 += var8;
|
|
var16 = var7 >> 8;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
|
|
var15 = var6 - var5 & 7;
|
|
if (var15 > 0) {
|
|
do {
|
|
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
|
|
var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8;
|
|
}
|
|
|
|
++var4;
|
|
var2 += var17;
|
|
--var15;
|
|
} while(var15 > 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
static final int method3040(int var0, int var1) {
|
|
var1 = (var0 & 127) * var1 >> 7;
|
|
if (var1 < 2) {
|
|
var1 = 2;
|
|
} else if (var1 > 126) {
|
|
var1 = 126;
|
|
}
|
|
|
|
return (var0 & 65408) + var1;
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
static final int method3039(int var0, int var1, int var2, int var3) {
|
|
return var0 * var2 + var3 * var1 >> 16;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
static final int method3004(int var0, int var1, int var2, int var3) {
|
|
return var2 * var1 - var3 * var0 >> 16;
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@Export("rot3")
|
|
static final int rot3(int var0, int var1, int var2, int var3) {
|
|
return var0 * var2 - var3 * var1 >> 16;
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@Export("rot4")
|
|
static final int rot4(int var0, int var1, int var2, int var3) {
|
|
return var3 * var0 + var2 * var1 >> 16;
|
|
}
|
|
|
|
@ObfuscatedName("ag")
|
|
@Export("rot1")
|
|
static final int rot1(int var0, int var1, int var2, int var3) {
|
|
return var0 * var2 + var3 * var1 >> 16;
|
|
}
|
|
|
|
@ObfuscatedName("aq")
|
|
@Export("rot2")
|
|
static final int rot2(int var0, int var1, int var2, int var3) {
|
|
return var2 * var1 - var3 * var0 >> 16;
|
|
}
|
|
|
|
static {
|
|
field739 = false;
|
|
field740 = false;
|
|
Rasterizer3D_isLowDetailTexture = false;
|
|
field741 = true;
|
|
Rasterizer3D_alpha = 0;
|
|
Rasterizer3D_zoom = 512;
|
|
Rasterizer3D_rowOffsets = new int[1024];
|
|
Rasterizer3D_colorPalette = new int[65536];
|
|
field742 = new int[512];
|
|
field743 = new int[2048];
|
|
Rasterizer3D_sine = new int[2048];
|
|
Rasterizer3D_cosine = new int[2048];
|
|
|
|
int var0;
|
|
for (var0 = 1; var0 < 512; ++var0) {
|
|
field742[var0] = 32768 / var0;
|
|
}
|
|
|
|
for (var0 = 1; var0 < 2048; ++var0) {
|
|
field743[var0] = 65536 / var0;
|
|
}
|
|
|
|
for (var0 = 0; var0 < 2048; ++var0) {
|
|
Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D));
|
|
Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D));
|
|
}
|
|
|
|
}
|
|
}
|