More refactoring (tm)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user