More refactoring (tm)

This commit is contained in:
Lucas
2019-07-07 15:10:50 +02:00
parent e1a815eddd
commit e2aac6d899
159 changed files with 38213 additions and 46222 deletions

View File

@@ -111,28 +111,28 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("m")
@Export("drawGlyph")
abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6);
abstract void drawGlyph(byte[] pixels, int x, int y, int width, int height, int color);
@ObfuscatedName("f")
@Export("drawGlyphAlpha")
abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7);
abstract void drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha);
@ObfuscatedName("l")
@Export("readMetrics")
void readMetrics(byte[] var1) {
void readMetrics(byte[] bytes) {
this.advances = new int[256];
int var2;
if (var1.length == 257) {
if (bytes.length == 257) {
for (var2 = 0; var2 < this.advances.length; ++var2) {
this.advances[var2] = var1[var2] & 255;
this.advances[var2] = bytes[var2] & 255;
}
this.ascent = var1[256] & 255;
this.ascent = bytes[256] & 255;
} else {
var2 = 0;
for (int var3 = 0; var3 < 256; ++var3) {
this.advances[var3] = var1[var2++] & 255;
this.advances[var3] = bytes[var2++] & 255;
}
int[] var12 = new int[256];
@@ -140,11 +140,11 @@ public abstract class AbstractFont extends Rasterizer2D {
int var5;
for (var5 = 0; var5 < 256; ++var5) {
var12[var5] = var1[var2++] & 255;
var12[var5] = bytes[var2++] & 255;
}
for (var5 = 0; var5 < 256; ++var5) {
var4[var5] = var1[var2++] & 255;
var4[var5] = bytes[var2++] & 255;
}
byte[][] var6 = new byte[256][];
@@ -155,7 +155,7 @@ public abstract class AbstractFont extends Rasterizer2D {
byte var9 = 0;
for (var7 = 0; var7 < var6[var8].length; ++var7) {
var9 += var1[var2++];
var9 += bytes[var2++];
var6[var8][var7] = var9;
}
}
@@ -168,7 +168,7 @@ public abstract class AbstractFont extends Rasterizer2D {
byte var10 = 0;
for (int var11 = 0; var11 < var13[var14].length; ++var11) {
var10 += var1[var2++];
var10 += bytes[var2++];
var13[var14][var11] = var10;
}
}
@@ -258,7 +258,7 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("a")
@Export("breakLines")
public int breakLines(String var1, int[] var2, String[] var3) {
public int breakLines(String var1, int[] lineWidths, String[] linesDst) {
if (var1 == null) {
return 0;
} else {
@@ -285,7 +285,7 @@ public abstract class AbstractFont extends Rasterizer2D {
var6.append(var16);
var6.append('>');
if (var16.equals("br")) {
var3[var12] = var6.toString().substring(var5, var6.length());
linesDst[var12] = var6.toString().substring(var5, var6.length());
++var12;
var5 = var6.length();
var4 = 0;
@@ -334,8 +334,8 @@ public abstract class AbstractFont extends Rasterizer2D {
var9 = 1;
}
if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) {
var3[var12] = var6.toString().substring(var5, var7 - var9);
if (lineWidths != null && var4 > lineWidths[var12 < lineWidths.length ? var12 : lineWidths.length - 1] && var7 >= 0) {
linesDst[var12] = var6.toString().substring(var5, var7 - var9);
++var12;
var5 = var7;
var7 = -1;
@@ -354,7 +354,7 @@ public abstract class AbstractFont extends Rasterizer2D {
String var19 = var6.toString();
if (var19.length() > var5) {
var3[var12++] = var19.substring(var5, var19.length());
linesDst[var12++] = var19.substring(var5, var19.length());
}
return var12;
@@ -363,8 +363,8 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("z")
@Export("lineWidth")
public int lineWidth(String var1, int var2) {
int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
public int lineWidth(String var1, int lineWidth) {
int var3 = this.breakLines(var1, new int[]{lineWidth}, AbstractFont_lines);
int var4 = 0;
for (int var5 = 0; var5 < var3; ++var5) {
@@ -379,106 +379,106 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("j")
@Export("lineCount")
public int lineCount(String var1, int var2) {
return this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
public int lineCount(String var1, int lineWidth) {
return this.breakLines(var1, new int[]{lineWidth}, AbstractFont_lines);
}
@ObfuscatedName("t")
@Export("draw")
public void draw(String var1, int var2, int var3, int var4, int var5) {
public void draw(String var1, int x, int y, int color, int shadow) {
if (var1 != null) {
this.reset(var4, var5);
this.draw0(var1, var2, var3);
this.reset(color, shadow);
this.draw0(var1, x, y);
}
}
@ObfuscatedName("y")
@Export("drawAlpha")
public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) {
public void drawAlpha(String var1, int x, int y, int color, int shadow, int alpha) {
if (var1 != null) {
this.reset(var4, var5);
AbstractFont_alpha = var6;
this.draw0(var1, var2, var3);
this.reset(color, shadow);
AbstractFont_alpha = alpha;
this.draw0(var1, x, y);
}
}
@ObfuscatedName("h")
@Export("drawRightAligned")
public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) {
public void drawRightAligned(String var1, int x, int y, int color, int shadow) {
if (var1 != null) {
this.reset(var4, var5);
this.draw0(var1, var2 - this.stringWidth(var1), var3);
this.reset(color, shadow);
this.draw0(var1, x - this.stringWidth(var1), y);
}
}
@ObfuscatedName("b")
@Export("drawCentered")
public void drawCentered(String var1, int var2, int var3, int var4, int var5) {
public void drawCentered(String var1, int x, int y, int color, int shadow) {
if (var1 != null) {
this.reset(var4, var5);
this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3);
this.reset(color, shadow);
this.draw0(var1, x - this.stringWidth(var1) / 2, y);
}
}
@ObfuscatedName("c")
@Export("drawLines")
public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) {
public int drawLines(String var1, int x, int y, int width, int height, int color, int shadow, int xAlignment, int yAlignment, int lineHeight) {
if (var1 == null) {
return 0;
} else {
this.reset(var6, var7);
if (var10 == 0) {
var10 = this.ascent;
this.reset(color, shadow);
if (lineHeight == 0) {
lineHeight = this.ascent;
}
int[] var11 = new int[]{var4};
if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) {
int[] var11 = new int[]{width};
if (height < lineHeight + this.maxAscent + this.maxDescent && height < lineHeight + lineHeight) {
var11 = null;
}
int var12 = this.breakLines(var1, var11, AbstractFont_lines);
if (var9 == 3 && var12 == 1) {
var9 = 1;
if (yAlignment == 3 && var12 == 1) {
yAlignment = 1;
}
int var13;
int var14;
if (var9 == 0) {
var13 = var3 + this.maxAscent;
} else if (var9 == 1) {
var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent;
} else if (var9 == 2) {
var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1);
if (yAlignment == 0) {
var13 = y + this.maxAscent;
} else if (yAlignment == 1) {
var13 = y + (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / 2 + this.maxAscent;
} else if (yAlignment == 2) {
var13 = y + height - this.maxDescent - lineHeight * (var12 - 1);
} else {
var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1);
var14 = (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / (var12 + 1);
if (var14 < 0) {
var14 = 0;
}
var13 = var3 + var14 + this.maxAscent;
var10 += var14;
var13 = y + var14 + this.maxAscent;
lineHeight += var14;
}
for (var14 = 0; var14 < var12; ++var14) {
if (var8 == 0) {
this.draw0(AbstractFont_lines[var14], var2, var13);
} else if (var8 == 1) {
this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13);
} else if (var8 == 2) {
this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13);
if (xAlignment == 0) {
this.draw0(AbstractFont_lines[var14], x, var13);
} else if (xAlignment == 1) {
this.draw0(AbstractFont_lines[var14], x + (width - this.stringWidth(AbstractFont_lines[var14])) / 2, var13);
} else if (xAlignment == 2) {
this.draw0(AbstractFont_lines[var14], x + width - this.stringWidth(AbstractFont_lines[var14]), var13);
} else if (var14 == var12 - 1) {
this.draw0(AbstractFont_lines[var14], var2, var13);
this.draw0(AbstractFont_lines[var14], x, var13);
} else {
this.calculateLineJustification(AbstractFont_lines[var14], var4);
this.draw0(AbstractFont_lines[var14], var2, var13);
this.calculateLineJustification(AbstractFont_lines[var14], width);
this.draw0(AbstractFont_lines[var14], x, var13);
AbstractFont_justificationTotal = 0;
}
var13 += var10;
var13 += lineHeight;
}
return var12;
@@ -487,44 +487,44 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("p")
@Export("drawCenteredWave")
public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) {
public void drawCenteredWave(String var1, int x, int y, int color, int shadow, int seed) {
if (var1 != null) {
this.reset(var4, var5);
this.reset(color, shadow);
int[] var7 = new int[var1.length()];
for (int var8 = 0; var8 < var1.length(); ++var8) {
var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D);
var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)seed / 5.0D) * 5.0D);
}
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7);
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var7);
}
}
@ObfuscatedName("v")
@Export("drawCenteredWave2")
public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) {
public void drawCenteredWave2(String var1, int x, int y, int color, int shadow, int seed) {
if (var1 != null) {
this.reset(var4, var5);
this.reset(color, shadow);
int[] var7 = new int[var1.length()];
int[] var8 = new int[var1.length()];
for (int var9 = 0; var9 < var1.length(); ++var9) {
var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D);
var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D);
var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)seed / 5.0D) * 5.0D);
var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)seed / 5.0D) * 5.0D);
}
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8);
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, var7, var8);
}
}
@ObfuscatedName("ag")
@Export("drawCenteredShake")
public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) {
public void drawCenteredShake(String var1, int x, int y, int color, int shadow, int seed, int seed2) {
if (var1 != null) {
this.reset(var4, var5);
double var8 = 7.0D - (double)var7 / 8.0D;
this.reset(color, shadow);
double var8 = 7.0D - (double)seed2 / 8.0D;
if (var8 < 0.0D) {
var8 = 0.0D;
}
@@ -532,20 +532,20 @@ public abstract class AbstractFont extends Rasterizer2D {
int[] var10 = new int[var1.length()];
for (int var11 = 0; var11 < var1.length(); ++var11) {
var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8);
var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)seed / 1.0D) * var8);
}
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10);
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var10);
}
}
@ObfuscatedName("aq")
@Export("drawRandomAlphaAndSpacing")
public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) {
public void drawRandomAlphaAndSpacing(String var1, int x, int y, int color, int shadow, int seed) {
if (var1 != null) {
this.reset(var4, var5);
AbstractFont_random.setSeed((long)var6);
this.reset(color, shadow);
AbstractFont_random.setSeed((long)seed);
AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31);
int[] var7 = new int[var1.length()];
int var8 = 0;
@@ -557,20 +557,20 @@ public abstract class AbstractFont extends Rasterizer2D {
}
}
this.drawWithOffsets0(var1, var2, var3, var7, (int[])null);
this.drawWithOffsets0(var1, x, y, var7, (int[])null);
}
}
@ObfuscatedName("aj")
@Export("reset")
void reset(int var1, int var2) {
void reset(int color, int shadow) {
AbstractFont_strike = -1;
AbstractFont_underline = -1;
AbstractFont_previousShadow = var2;
AbstractFont_shadow = var2;
AbstractFont_previousColor = var1;
AbstractFont_color = var1;
AbstractFont_previousShadow = shadow;
AbstractFont_shadow = shadow;
AbstractFont_previousColor = color;
AbstractFont_color = color;
AbstractFont_alpha = 256;
AbstractFont_justificationTotal = 0;
AbstractFont_justificationCurrent = 0;
@@ -612,7 +612,7 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("ar")
@Export("calculateLineJustification")
void calculateLineJustification(String var1, int var2) {
void calculateLineJustification(String var1, int lineWidth) {
int var3 = 0;
boolean var4 = false;
@@ -628,15 +628,15 @@ public abstract class AbstractFont extends Rasterizer2D {
}
if (var3 > 0) {
AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3;
AbstractFont_justificationTotal = (lineWidth - this.stringWidth(var1) << 8) / var3;
}
}
@ObfuscatedName("ac")
@Export("draw0")
void draw0(String var1, int var2, int var3) {
var3 -= this.ascent;
void draw0(String var1, int x, int y) {
y -= this.ascent;
int var4 = -1;
int var5 = -1;
@@ -658,8 +658,8 @@ public abstract class AbstractFont extends Rasterizer2D {
try {
var8 = MouseHandler.method1085(var9.substring(4));
IndexedSprite var13 = AbstractFont_modIconSprites[var8];
var13.drawAt(var2, var3 + this.ascent - var13.height);
var2 += var13.width;
var13.drawAt(x, y + this.ascent - var13.height);
x += var13.width;
var5 = -1;
} catch (Exception var11) {
}
@@ -679,7 +679,7 @@ public abstract class AbstractFont extends Rasterizer2D {
if (var4 == -1) {
if (this.kerning != null && var5 != -1) {
var2 += this.kerning[var7 + (var5 << 8)];
x += this.kerning[var7 + (var5 << 8)];
}
int var12 = this.widths[var7];
@@ -687,33 +687,33 @@ public abstract class AbstractFont extends Rasterizer2D {
if (var7 != ' ') {
if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow);
AbstractFont_drawGlyph(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var8, AbstractFont_color);
this.drawGlyph(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow, AbstractFont_alpha);
AbstractFont_drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var8, AbstractFont_color, AbstractFont_alpha);
this.drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color, AbstractFont_alpha);
}
} else if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
x += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
int var10 = this.advances[var7];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var10, AbstractFont_strike);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var10, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var10, AbstractFont_underline);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent + 1, var10, AbstractFont_underline);
}
var2 += var10;
x += var10;
var5 = var7;
}
}
@@ -724,8 +724,8 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("ay")
@Export("drawWithOffsets0")
void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) {
var3 -= this.ascent;
void drawWithOffsets0(String var1, int x, int y, int[] xs, int[] ys) {
y -= this.ascent;
int var6 = -1;
int var7 = -1;
int var8 = 0;
@@ -748,14 +748,14 @@ public abstract class AbstractFont extends Rasterizer2D {
if (!var14.equals("gt")) {
if (var14.startsWith("img=")) {
try {
if (var4 != null) {
var11 = var4[var8];
if (xs != null) {
var11 = xs[var8];
} else {
var11 = 0;
}
if (var5 != null) {
var12 = var5[var8];
if (ys != null) {
var12 = ys[var8];
} else {
var12 = 0;
}
@@ -763,8 +763,8 @@ public abstract class AbstractFont extends Rasterizer2D {
++var8;
var13 = MouseHandler.method1085(var14.substring(4));
IndexedSprite var18 = AbstractFont_modIconSprites[var13];
var18.drawAt(var11 + var2, var12 + (var3 + this.ascent - var18.height));
var2 += var18.width;
var18.drawAt(var11 + x, var12 + (y + this.ascent - var18.height));
x += var18.width;
var7 = -1;
} catch (Exception var16) {
}
@@ -784,19 +784,19 @@ public abstract class AbstractFont extends Rasterizer2D {
if (var6 == -1) {
if (this.kerning != null && var7 != -1) {
var2 += this.kerning[var10 + (var7 << 8)];
x += this.kerning[var10 + (var7 << 8)];
}
int var17 = this.widths[var10];
var11 = this.heights[var10];
if (var4 != null) {
var12 = var4[var8];
if (xs != null) {
var12 = xs[var8];
} else {
var12 = 0;
}
if (var5 != null) {
var13 = var5[var8];
if (ys != null) {
var13 = ys[var8];
} else {
var13 = 0;
}
@@ -805,33 +805,33 @@ public abstract class AbstractFont extends Rasterizer2D {
if (var10 != ' ') {
if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var10], var12 + var2 + this.leftBearings[var10] + 1, var3 + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow);
AbstractFont_drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var10], var12 + var2 + this.leftBearings[var10], var3 + var13 + this.topBearings[var10], var17, var11, AbstractFont_color);
this.drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var10], var12 + var2 + this.leftBearings[var10] + 1, var3 + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow, AbstractFont_alpha);
AbstractFont_drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var10], var12 + var2 + this.leftBearings[var10], var3 + var13 + this.topBearings[var10], var17, var11, AbstractFont_color, AbstractFont_alpha);
this.drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color, AbstractFont_alpha);
}
} else if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
x += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
int var15 = this.advances[var10];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var15, AbstractFont_strike);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var15, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var15, AbstractFont_underline);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent, var15, AbstractFont_underline);
}
var2 += var15;
x += var15;
var7 = var10;
}
}
@@ -907,43 +907,43 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("ah")
@Export("AbstractFont_drawGlyph")
static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) {
int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
int var7 = Rasterizer2D.Rasterizer2D_width - var3;
static void AbstractFont_drawGlyph(byte[] pixels, int x, int y, int width, int height, int color) {
int var6 = x + y * Rasterizer2D.Rasterizer2D_width;
int var7 = Rasterizer2D.Rasterizer2D_width - width;
int var8 = 0;
int var9 = 0;
int var10;
if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
var4 -= var10;
var2 = Rasterizer2D.Rasterizer2D_yClipStart;
var9 += var3 * var10;
if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
var10 = Rasterizer2D.Rasterizer2D_yClipStart - y;
height -= var10;
y = Rasterizer2D.Rasterizer2D_yClipStart;
var9 += width * var10;
var6 += var10 * Rasterizer2D.Rasterizer2D_width;
}
if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
}
if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
var3 -= var10;
var1 = Rasterizer2D.Rasterizer2D_xClipStart;
if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
var10 = Rasterizer2D.Rasterizer2D_xClipStart - x;
width -= var10;
x = Rasterizer2D.Rasterizer2D_xClipStart;
var9 += var10;
var6 += var10;
var8 += var10;
var7 += var10;
}
if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
var3 -= var10;
if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
var10 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
width -= var10;
var8 += var10;
var7 += var10;
}
if (var3 > 0 && var4 > 0) {
AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8);
if (width > 0 && height > 0) {
AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var9, var6, width, height, var7, var8);
}
}
@@ -998,43 +998,43 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("aw")
@Export("AbstractFont_drawGlyphAlpha")
static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) {
int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
int var8 = Rasterizer2D.Rasterizer2D_width - var3;
static void AbstractFont_drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha) {
int var7 = x + y * Rasterizer2D.Rasterizer2D_width;
int var8 = Rasterizer2D.Rasterizer2D_width - width;
int var9 = 0;
int var10 = 0;
int var11;
if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
var4 -= var11;
var2 = Rasterizer2D.Rasterizer2D_yClipStart;
var10 += var3 * var11;
if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
var11 = Rasterizer2D.Rasterizer2D_yClipStart - y;
height -= var11;
y = Rasterizer2D.Rasterizer2D_yClipStart;
var10 += width * var11;
var7 += var11 * Rasterizer2D.Rasterizer2D_width;
}
if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
}
if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
var3 -= var11;
var1 = Rasterizer2D.Rasterizer2D_xClipStart;
if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
var11 = Rasterizer2D.Rasterizer2D_xClipStart - x;
width -= var11;
x = Rasterizer2D.Rasterizer2D_xClipStart;
var10 += var11;
var7 += var11;
var9 += var11;
var8 += var11;
}
if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
var3 -= var11;
if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
var11 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
width -= var11;
var9 += var11;
var8 += var11;
}
if (var3 > 0 && var4 > 0) {
AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6);
if (width > 0 && height > 0) {
AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var10, var7, width, height, var8, var9, alpha);
}
}