840 lines
26 KiB
Java
840 lines
26 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ob")
|
|
@Implements("Rasterizer2D")
|
|
public class Rasterizer2D extends DualNode {
|
|
@ObfuscatedName("ae")
|
|
@Export("Rasterizer2D_pixels")
|
|
public static int[] Rasterizer2D_pixels;
|
|
@ObfuscatedName("aq")
|
|
@Export("Rasterizer2D_width")
|
|
public static int Rasterizer2D_width;
|
|
@ObfuscatedName("al")
|
|
@Export("Rasterizer2D_height")
|
|
public static int Rasterizer2D_height;
|
|
@ObfuscatedName("am")
|
|
@Export("Rasterizer2D_yClipStart")
|
|
public static int Rasterizer2D_yClipStart;
|
|
@ObfuscatedName("ai")
|
|
@Export("Rasterizer2D_yClipEnd")
|
|
public static int Rasterizer2D_yClipEnd;
|
|
@ObfuscatedName("ah")
|
|
@Export("Rasterizer2D_xClipStart")
|
|
public static int Rasterizer2D_xClipStart;
|
|
@ObfuscatedName("as")
|
|
@Export("Rasterizer2D_xClipEnd")
|
|
public static int Rasterizer2D_xClipEnd;
|
|
|
|
static {
|
|
Rasterizer2D_yClipStart = 0; // L: 11
|
|
Rasterizer2D_yClipEnd = 0; // L: 12
|
|
Rasterizer2D_xClipStart = 0; // L: 13
|
|
Rasterizer2D_xClipEnd = 0; // L: 14
|
|
}
|
|
|
|
protected Rasterizer2D() {
|
|
} // L: 16
|
|
|
|
@ObfuscatedName("dw")
|
|
@Export("Rasterizer2D_replace")
|
|
public static void Rasterizer2D_replace(int[] var0, int var1, int var2) {
|
|
Rasterizer2D_pixels = var0; // L: 19
|
|
Rasterizer2D_width = var1; // L: 20
|
|
Rasterizer2D_height = var2; // L: 21
|
|
Rasterizer2D_setClip(0, 0, var1, var2); // L: 22
|
|
} // L: 23
|
|
|
|
@ObfuscatedName("dn")
|
|
@Export("Rasterizer2D_resetClip")
|
|
public static void Rasterizer2D_resetClip() {
|
|
Rasterizer2D_xClipStart = 0; // L: 26
|
|
Rasterizer2D_yClipStart = 0; // L: 27
|
|
Rasterizer2D_xClipEnd = Rasterizer2D_width; // L: 28
|
|
Rasterizer2D_yClipEnd = Rasterizer2D_height; // L: 29
|
|
} // L: 30
|
|
|
|
@ObfuscatedName("dc")
|
|
@Export("Rasterizer2D_setClip")
|
|
public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) {
|
|
if (var0 < 0) { // L: 33
|
|
var0 = 0;
|
|
}
|
|
|
|
if (var1 < 0) { // L: 34
|
|
var1 = 0;
|
|
}
|
|
|
|
if (var2 > Rasterizer2D_width) { // L: 35
|
|
var2 = Rasterizer2D_width;
|
|
}
|
|
|
|
if (var3 > Rasterizer2D_height) {
|
|
var3 = Rasterizer2D_height; // L: 36
|
|
}
|
|
|
|
Rasterizer2D_xClipStart = var0; // L: 37
|
|
Rasterizer2D_yClipStart = var1; // L: 38
|
|
Rasterizer2D_xClipEnd = var2; // L: 39
|
|
Rasterizer2D_yClipEnd = var3; // L: 40
|
|
} // L: 41
|
|
|
|
@ObfuscatedName("dh")
|
|
@Export("Rasterizer2D_expandClip")
|
|
public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) {
|
|
if (Rasterizer2D_xClipStart < var0) { // L: 44
|
|
Rasterizer2D_xClipStart = var0;
|
|
}
|
|
|
|
if (Rasterizer2D_yClipStart < var1) { // L: 45
|
|
Rasterizer2D_yClipStart = var1;
|
|
}
|
|
|
|
if (Rasterizer2D_xClipEnd > var2) { // L: 46
|
|
Rasterizer2D_xClipEnd = var2;
|
|
}
|
|
|
|
if (Rasterizer2D_yClipEnd > var3) { // L: 47
|
|
Rasterizer2D_yClipEnd = var3;
|
|
}
|
|
|
|
} // L: 48
|
|
|
|
@ObfuscatedName("du")
|
|
@Export("Rasterizer2D_getClipArray")
|
|
public static void Rasterizer2D_getClipArray(int[] var0) {
|
|
var0[0] = Rasterizer2D_xClipStart; // L: 51
|
|
var0[1] = Rasterizer2D_yClipStart; // L: 52
|
|
var0[2] = Rasterizer2D_xClipEnd; // L: 53
|
|
var0[3] = Rasterizer2D_yClipEnd; // L: 54
|
|
} // L: 55
|
|
|
|
@ObfuscatedName("db")
|
|
@Export("Rasterizer2D_setClipArray")
|
|
public static void Rasterizer2D_setClipArray(int[] var0) {
|
|
Rasterizer2D_xClipStart = var0[0]; // L: 58
|
|
Rasterizer2D_yClipStart = var0[1]; // L: 59
|
|
Rasterizer2D_xClipEnd = var0[2]; // L: 60
|
|
Rasterizer2D_yClipEnd = var0[3]; // L: 61
|
|
} // L: 62
|
|
|
|
@ObfuscatedName("dp")
|
|
@Export("Rasterizer2D_clear")
|
|
public static void Rasterizer2D_clear() {
|
|
int var0 = 0; // L: 65
|
|
|
|
int var1;
|
|
for (var1 = Rasterizer2D_width * Rasterizer2D_height - 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { // L: 66 67 75
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 68
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 69
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 70
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 71
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 72
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 73
|
|
Rasterizer2D_pixels[var0++] = 0; // L: 74
|
|
}
|
|
|
|
for (var1 += 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { // L: 77 78
|
|
}
|
|
|
|
} // L: 79
|
|
|
|
@ObfuscatedName("dj")
|
|
@Export("drawCircle")
|
|
static void drawCircle(int var0, int var1, int var2, int var3) {
|
|
if (var2 == 0) { // L: 82
|
|
Rasterizer2D_setPixel(var0, var1, var3); // L: 83
|
|
} else {
|
|
if (var2 < 0) { // L: 86
|
|
var2 = -var2;
|
|
}
|
|
|
|
int var4 = var1 - var2; // L: 87
|
|
if (var4 < Rasterizer2D_yClipStart) { // L: 88
|
|
var4 = Rasterizer2D_yClipStart;
|
|
}
|
|
|
|
int var5 = var2 + var1 + 1; // L: 89
|
|
if (var5 > Rasterizer2D_yClipEnd) { // L: 90
|
|
var5 = Rasterizer2D_yClipEnd;
|
|
}
|
|
|
|
int var6 = var4; // L: 91
|
|
int var7 = var2 * var2; // L: 92
|
|
int var8 = 0; // L: 93
|
|
int var9 = var1 - var4; // L: 94
|
|
int var10 = var9 * var9; // L: 95
|
|
int var11 = var10 - var9; // L: 96
|
|
if (var1 > var5) { // L: 97
|
|
var1 = var5;
|
|
}
|
|
|
|
int var12;
|
|
int var13;
|
|
int var14;
|
|
int var15;
|
|
while (var6 < var1) { // L: 98
|
|
while (var11 <= var7 || var10 <= var7) { // L: 99
|
|
var10 = var10 + var8 + var8; // L: 100
|
|
var11 += var8++ + var8; // L: 101
|
|
}
|
|
|
|
var12 = var0 - var8 + 1; // L: 103
|
|
if (var12 < Rasterizer2D_xClipStart) { // L: 104
|
|
var12 = Rasterizer2D_xClipStart;
|
|
}
|
|
|
|
var13 = var0 + var8; // L: 105
|
|
if (var13 > Rasterizer2D_xClipEnd) { // L: 106
|
|
var13 = Rasterizer2D_xClipEnd;
|
|
}
|
|
|
|
var14 = var12 + var6 * Rasterizer2D_width; // L: 107
|
|
|
|
for (var15 = var12; var15 < var13; ++var15) { // L: 108
|
|
Rasterizer2D_pixels[var14++] = var3;
|
|
}
|
|
|
|
++var6; // L: 109
|
|
var10 -= var9-- + var9; // L: 110
|
|
var11 -= var9 + var9; // L: 111
|
|
}
|
|
|
|
var8 = var2; // L: 113
|
|
var9 = var6 - var1; // L: 114
|
|
var11 = var7 + var9 * var9; // L: 115
|
|
var10 = var11 - var2; // L: 116
|
|
|
|
for (var11 -= var9; var6 < var5; var10 += var9++ + var9) { // L: 117 118 131
|
|
while (var11 > var7 && var10 > var7) { // L: 119
|
|
var11 -= var8-- + var8; // L: 120
|
|
var10 -= var8 + var8; // L: 121
|
|
}
|
|
|
|
var12 = var0 - var8; // L: 123
|
|
if (var12 < Rasterizer2D_xClipStart) { // L: 124
|
|
var12 = Rasterizer2D_xClipStart;
|
|
}
|
|
|
|
var13 = var0 + var8; // L: 125
|
|
if (var13 > Rasterizer2D_xClipEnd - 1) { // L: 126
|
|
var13 = Rasterizer2D_xClipEnd - 1;
|
|
}
|
|
|
|
var14 = var12 + var6 * Rasterizer2D_width; // L: 127
|
|
|
|
for (var15 = var12; var15 <= var13; ++var15) {
|
|
Rasterizer2D_pixels[var14++] = var3; // L: 128
|
|
}
|
|
|
|
++var6; // L: 129
|
|
var11 = var11 + var9 + var9; // L: 130
|
|
}
|
|
|
|
}
|
|
} // L: 84 133
|
|
|
|
@ObfuscatedName("dt")
|
|
@Export("Rasterizer2D_drawCircleAlpha")
|
|
public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int var4) {
|
|
if (var4 != 0) { // L: 136
|
|
if (var4 == 256) { // L: 137
|
|
drawCircle(var0, var1, var2, var3); // L: 138
|
|
} else {
|
|
if (var2 < 0) { // L: 141
|
|
var2 = -var2;
|
|
}
|
|
|
|
int var5 = 256 - var4; // L: 142
|
|
int var6 = (var3 >> 16 & 255) * var4; // L: 143
|
|
int var7 = (var3 >> 8 & 255) * var4; // L: 144
|
|
int var8 = var4 * (var3 & 255); // L: 145
|
|
int var12 = var1 - var2; // L: 149
|
|
if (var12 < Rasterizer2D_yClipStart) { // L: 150
|
|
var12 = Rasterizer2D_yClipStart;
|
|
}
|
|
|
|
int var13 = var2 + var1 + 1; // L: 151
|
|
if (var13 > Rasterizer2D_yClipEnd) { // L: 152
|
|
var13 = Rasterizer2D_yClipEnd;
|
|
}
|
|
|
|
int var14 = var12; // L: 153
|
|
int var15 = var2 * var2; // L: 154
|
|
int var16 = 0; // L: 155
|
|
int var17 = var1 - var12; // L: 156
|
|
int var18 = var17 * var17; // L: 157
|
|
int var19 = var18 - var17; // L: 158
|
|
if (var1 > var13) { // L: 159
|
|
var1 = var13;
|
|
}
|
|
|
|
int var9;
|
|
int var10;
|
|
int var11;
|
|
int var20;
|
|
int var21;
|
|
int var22;
|
|
int var23;
|
|
int var24;
|
|
while (var14 < var1) { // L: 160
|
|
while (var19 <= var15 || var18 <= var15) { // L: 161
|
|
var18 = var18 + var16 + var16; // L: 162
|
|
var19 += var16++ + var16; // L: 163
|
|
}
|
|
|
|
var20 = var0 - var16 + 1; // L: 165
|
|
if (var20 < Rasterizer2D_xClipStart) { // L: 166
|
|
var20 = Rasterizer2D_xClipStart;
|
|
}
|
|
|
|
var21 = var0 + var16; // L: 167
|
|
if (var21 > Rasterizer2D_xClipEnd) { // L: 168
|
|
var21 = Rasterizer2D_xClipEnd;
|
|
}
|
|
|
|
var22 = var20 + var14 * Rasterizer2D_width; // L: 169
|
|
|
|
for (var23 = var20; var23 < var21; ++var23) { // L: 170
|
|
var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); // L: 171
|
|
var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; // L: 172
|
|
var11 = var5 * (Rasterizer2D_pixels[var22] & 255); // L: 173
|
|
var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 174
|
|
Rasterizer2D_pixels[var22++] = var24; // L: 175
|
|
}
|
|
|
|
++var14; // L: 177
|
|
var18 -= var17-- + var17; // L: 178
|
|
var19 -= var17 + var17; // L: 179
|
|
}
|
|
|
|
var16 = var2; // L: 181
|
|
var17 = -var17; // L: 182
|
|
var19 = var15 + var17 * var17; // L: 183
|
|
var18 = var19 - var2; // L: 184
|
|
|
|
for (var19 -= var17; var14 < var13; var18 += var17++ + var17) { // L: 185 186 205
|
|
while (var19 > var15 && var18 > var15) { // L: 187
|
|
var19 -= var16-- + var16; // L: 188
|
|
var18 -= var16 + var16; // L: 189
|
|
}
|
|
|
|
var20 = var0 - var16; // L: 191
|
|
if (var20 < Rasterizer2D_xClipStart) { // L: 192
|
|
var20 = Rasterizer2D_xClipStart;
|
|
}
|
|
|
|
var21 = var0 + var16; // L: 193
|
|
if (var21 > Rasterizer2D_xClipEnd - 1) { // L: 194
|
|
var21 = Rasterizer2D_xClipEnd - 1;
|
|
}
|
|
|
|
var22 = var20 + var14 * Rasterizer2D_width; // L: 195
|
|
|
|
for (var23 = var20; var23 <= var21; ++var23) { // L: 196
|
|
var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); // L: 197
|
|
var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; // L: 198
|
|
var11 = var5 * (Rasterizer2D_pixels[var22] & 255); // L: 199
|
|
var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 200
|
|
Rasterizer2D_pixels[var22++] = var24; // L: 201
|
|
}
|
|
|
|
++var14; // L: 203
|
|
var19 = var19 + var17 + var17; // L: 204
|
|
}
|
|
|
|
}
|
|
}
|
|
} // L: 139 207
|
|
|
|
@ObfuscatedName("dy")
|
|
@Export("Rasterizer2D_fillRectangleAlpha")
|
|
public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) {
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 210
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 211
|
|
var0 = Rasterizer2D_xClipStart; // L: 212
|
|
}
|
|
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 214
|
|
var3 -= Rasterizer2D_yClipStart - var1; // L: 215
|
|
var1 = Rasterizer2D_yClipStart; // L: 216
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 218
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 219
|
|
var3 = Rasterizer2D_yClipEnd - var1;
|
|
}
|
|
|
|
var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & 65280) >> 8 & 65280); // L: 220
|
|
int var6 = 256 - var5; // L: 221
|
|
int var7 = Rasterizer2D_width - var2; // L: 222
|
|
int var8 = var0 + Rasterizer2D_width * var1; // L: 223
|
|
|
|
for (int var9 = 0; var9 < var3; ++var9) { // L: 224
|
|
for (int var10 = -var2; var10 < 0; ++var10) { // L: 225
|
|
int var11 = Rasterizer2D_pixels[var8]; // L: 226
|
|
var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & 65280) >> 8 & 65280); // L: 227
|
|
Rasterizer2D_pixels[var8++] = var11 + var4; // L: 228
|
|
}
|
|
|
|
var8 += var7; // L: 230
|
|
}
|
|
|
|
} // L: 232
|
|
|
|
@ObfuscatedName("ds")
|
|
@Export("Rasterizer2D_fillRectangle")
|
|
public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) {
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 235
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 236
|
|
var0 = Rasterizer2D_xClipStart; // L: 237
|
|
}
|
|
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 239
|
|
var3 -= Rasterizer2D_yClipStart - var1; // L: 240
|
|
var1 = Rasterizer2D_yClipStart; // L: 241
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 243
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
if (var3 + var1 > Rasterizer2D_yClipEnd) {
|
|
var3 = Rasterizer2D_yClipEnd - var1; // L: 244
|
|
}
|
|
|
|
int var5 = Rasterizer2D_width - var2; // L: 245
|
|
int var6 = var0 + Rasterizer2D_width * var1; // L: 246
|
|
|
|
for (int var7 = -var3; var7 < 0; ++var7) { // L: 247
|
|
for (int var8 = -var2; var8 < 0; ++var8) { // L: 248
|
|
Rasterizer2D_pixels[var6++] = var4; // L: 249
|
|
}
|
|
|
|
var6 += var5; // L: 251
|
|
}
|
|
|
|
} // L: 253
|
|
|
|
@ObfuscatedName("de")
|
|
@Export("Rasterizer2D_fillRectangleGradient")
|
|
public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) {
|
|
if (var2 > 0 && var3 > 0) { // L: 256
|
|
int var6 = 0; // L: 257
|
|
int var7 = 65536 / var3; // L: 258
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 259
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 260
|
|
var0 = Rasterizer2D_xClipStart; // L: 261
|
|
}
|
|
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 263
|
|
var6 += (Rasterizer2D_yClipStart - var1) * var7; // L: 264
|
|
var3 -= Rasterizer2D_yClipStart - var1; // L: 265
|
|
var1 = Rasterizer2D_yClipStart; // L: 266
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 268
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 269
|
|
var3 = Rasterizer2D_yClipEnd - var1;
|
|
}
|
|
|
|
int var8 = Rasterizer2D_width - var2; // L: 270
|
|
int var9 = var0 + Rasterizer2D_width * var1; // L: 271
|
|
|
|
for (int var10 = -var3; var10 < 0; ++var10) { // L: 272
|
|
int var11 = 65536 - var6 >> 8; // L: 273
|
|
int var12 = var6 >> 8; // L: 274
|
|
int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & 65280) + var11 * (var4 & 65280) & 16711680) >>> 8; // L: 275
|
|
|
|
for (int var14 = -var2; var14 < 0; ++var14) { // L: 276
|
|
Rasterizer2D_pixels[var9++] = var13; // L: 277
|
|
}
|
|
|
|
var9 += var8; // L: 279
|
|
var6 += var7; // L: 280
|
|
}
|
|
|
|
}
|
|
} // L: 282
|
|
|
|
@ObfuscatedName("dg")
|
|
@Export("Rasterizer2D_fillRectangleGradientAlpha")
|
|
public static void Rasterizer2D_fillRectangleGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
|
if (var2 > 0 && var3 > 0) { // L: 285
|
|
int var8 = 0; // L: 286
|
|
int var9 = 65536 / var3; // L: 287
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 288
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 289
|
|
var0 = Rasterizer2D_xClipStart; // L: 290
|
|
}
|
|
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 292
|
|
var8 += (Rasterizer2D_yClipStart - var1) * var9; // L: 293
|
|
var3 -= Rasterizer2D_yClipStart - var1; // L: 294
|
|
var1 = Rasterizer2D_yClipStart; // L: 295
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 297
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 298
|
|
var3 = Rasterizer2D_yClipEnd - var1;
|
|
}
|
|
|
|
int var10 = Rasterizer2D_width - var2; // L: 299
|
|
int var11 = var0 + Rasterizer2D_width * var1; // L: 300
|
|
|
|
for (int var12 = -var3; var12 < 0; ++var12) { // L: 301
|
|
int var13 = 65536 - var8 >> 8; // L: 302
|
|
int var14 = var8 >> 8; // L: 303
|
|
int var15 = (var13 * var6 + var14 * var7 & 65280) >>> 8; // L: 304
|
|
if (var15 == 0) { // L: 305
|
|
var11 += Rasterizer2D_width; // L: 306
|
|
var8 += var9; // L: 307
|
|
} else {
|
|
int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & 65280) + var13 * (var4 & 65280) & 16711680) >>> 8; // L: 310
|
|
int var17 = 255 - var15; // L: 311
|
|
int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280); // L: 312
|
|
|
|
for (int var19 = -var2; var19 < 0; ++var19) { // L: 313
|
|
int var20 = Rasterizer2D_pixels[var11]; // L: 314
|
|
if (var20 == 0) { // L: 315
|
|
Rasterizer2D_pixels[var11++] = var18; // L: 316
|
|
} else {
|
|
var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & 65280) >> 8 & 65280); // L: 319
|
|
Rasterizer2D_pixels[var11++] = var18 + var20; // L: 320
|
|
}
|
|
}
|
|
|
|
var11 += var10; // L: 323
|
|
var8 += var9; // L: 324
|
|
}
|
|
}
|
|
|
|
}
|
|
} // L: 326
|
|
|
|
@ObfuscatedName("di")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIIIII[BIZ)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("Rasterizer2D_drawGradientPixels")
|
|
public static void Rasterizer2D_drawGradientPixels(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) {
|
|
if (var0 + var2 >= 0 && var3 + var1 >= 0) { // L: 329
|
|
if (var0 < Rasterizer2D_width && var1 < Rasterizer2D_height) { // L: 330
|
|
int var8 = 0; // L: 331
|
|
int var9 = 0; // L: 332
|
|
if (var0 < 0) { // L: 333
|
|
var8 -= var0; // L: 334
|
|
var2 += var0; // L: 335
|
|
}
|
|
|
|
if (var1 < 0) { // L: 337
|
|
var9 -= var1; // L: 338
|
|
var3 += var1; // L: 339
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_width) { // L: 341
|
|
var2 = Rasterizer2D_width - var0; // L: 342
|
|
}
|
|
|
|
if (var3 + var1 > Rasterizer2D_height) { // L: 344
|
|
var3 = Rasterizer2D_height - var1; // L: 345
|
|
}
|
|
|
|
int var10 = var6.length / var7; // L: 347
|
|
int var11 = Rasterizer2D_width - var2; // L: 348
|
|
int var12 = var4 >>> 24; // L: 349
|
|
int var13 = var5 >>> 24; // L: 350
|
|
int var14;
|
|
int var15;
|
|
int var16;
|
|
int var17;
|
|
int var18;
|
|
if (var12 == 255 && var13 == 255) { // L: 351
|
|
var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; // L: 352
|
|
|
|
for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { // L: 353
|
|
for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { // L: 354
|
|
var17 = (var15 - var1) % var10; // L: 355
|
|
var18 = (var16 - var0) % var7; // L: 356
|
|
if (var6[var18 + var17 * var7] != 0) { // L: 357
|
|
Rasterizer2D_pixels[var14++] = var5;
|
|
} else {
|
|
Rasterizer2D_pixels[var14++] = var4; // L: 358
|
|
}
|
|
}
|
|
|
|
var14 += var11; // L: 360
|
|
}
|
|
} else {
|
|
var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; // L: 364
|
|
|
|
for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { // L: 365
|
|
for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { // L: 366
|
|
var17 = (var15 - var1) % var10; // L: 367
|
|
var18 = (var16 - var0) % var7; // L: 368
|
|
int var19 = var4; // L: 369
|
|
if (var6[var18 + var17 * var7] != 0) { // L: 370
|
|
var19 = var5;
|
|
}
|
|
|
|
int var20 = var19 >>> 24; // L: 371
|
|
int var21 = 255 - var20; // L: 372
|
|
int var22 = Rasterizer2D_pixels[var14]; // L: 373
|
|
int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & 65280) + var21 * (var22 & 65280) & 16711680) >> 8; // L: 374
|
|
Rasterizer2D_pixels[var14++] = var23; // L: 375
|
|
}
|
|
|
|
var14 += var11; // L: 377
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
} // L: 380
|
|
|
|
@ObfuscatedName("do")
|
|
@Export("Rasterizer2D_drawRectangle")
|
|
public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) {
|
|
Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); // L: 383
|
|
Rasterizer2D_drawHorizontalLine(var0, var3 + var1 - 1, var2, var4); // L: 384
|
|
Rasterizer2D_drawVerticalLine(var0, var1, var3, var4); // L: 385
|
|
Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); // L: 386
|
|
} // L: 387
|
|
|
|
@ObfuscatedName("dr")
|
|
@Export("Rasterizer2D_drawRectangleAlpha")
|
|
public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) {
|
|
Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); // L: 390
|
|
Rasterizer2D_drawHorizontalLineAlpha(var0, var3 + var1 - 1, var2, var4, var5); // L: 391
|
|
if (var3 >= 3) { // L: 392
|
|
Rasterizer2D_drawVerticalLineAlpha(var0, var1 + 1, var3 - 2, var4, var5); // L: 393
|
|
Rasterizer2D_drawVerticalLineAlpha(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); // L: 394
|
|
}
|
|
|
|
} // L: 396
|
|
|
|
@ObfuscatedName("dz")
|
|
@Export("Rasterizer2D_drawHorizontalLine")
|
|
public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) {
|
|
if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { // L: 399
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 400
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 401
|
|
var0 = Rasterizer2D_xClipStart; // L: 402
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 404
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
int var4 = var0 + Rasterizer2D_width * var1; // L: 405
|
|
|
|
for (int var5 = 0; var5 < var2; ++var5) { // L: 406
|
|
Rasterizer2D_pixels[var4 + var5] = var3;
|
|
}
|
|
|
|
}
|
|
} // L: 407
|
|
|
|
@ObfuscatedName("dx")
|
|
@Export("Rasterizer2D_drawHorizontalLineAlpha")
|
|
static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) {
|
|
if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { // L: 410
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 411
|
|
var2 -= Rasterizer2D_xClipStart - var0; // L: 412
|
|
var0 = Rasterizer2D_xClipStart; // L: 413
|
|
}
|
|
|
|
if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 415
|
|
var2 = Rasterizer2D_xClipEnd - var0;
|
|
}
|
|
|
|
int var5 = 256 - var4; // L: 416
|
|
int var6 = (var3 >> 16 & 255) * var4; // L: 417
|
|
int var7 = (var3 >> 8 & 255) * var4; // L: 418
|
|
int var8 = var4 * (var3 & 255); // L: 419
|
|
int var12 = var0 + Rasterizer2D_width * var1; // L: 423
|
|
|
|
for (int var13 = 0; var13 < var2; ++var13) { // L: 424
|
|
int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); // L: 425
|
|
int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; // L: 426
|
|
int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); // L: 427
|
|
int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 428
|
|
Rasterizer2D_pixels[var12++] = var14; // L: 429
|
|
}
|
|
|
|
}
|
|
} // L: 431
|
|
|
|
@ObfuscatedName("dd")
|
|
@Export("Rasterizer2D_drawVerticalLine")
|
|
public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) {
|
|
if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { // L: 434
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 435
|
|
var2 -= Rasterizer2D_yClipStart - var1; // L: 436
|
|
var1 = Rasterizer2D_yClipStart; // L: 437
|
|
}
|
|
|
|
if (var2 + var1 > Rasterizer2D_yClipEnd) { // L: 439
|
|
var2 = Rasterizer2D_yClipEnd - var1;
|
|
}
|
|
|
|
int var4 = var0 + Rasterizer2D_width * var1; // L: 440
|
|
|
|
for (int var5 = 0; var5 < var2; ++var5) { // L: 441
|
|
Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = var3;
|
|
}
|
|
|
|
}
|
|
} // L: 442
|
|
|
|
@ObfuscatedName("dl")
|
|
@Export("Rasterizer2D_drawVerticalLineAlpha")
|
|
static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) {
|
|
if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { // L: 445
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 446
|
|
var2 -= Rasterizer2D_yClipStart - var1; // L: 447
|
|
var1 = Rasterizer2D_yClipStart; // L: 448
|
|
}
|
|
|
|
if (var2 + var1 > Rasterizer2D_yClipEnd) { // L: 450
|
|
var2 = Rasterizer2D_yClipEnd - var1;
|
|
}
|
|
|
|
int var5 = 256 - var4; // L: 451
|
|
int var6 = (var3 >> 16 & 255) * var4; // L: 452
|
|
int var7 = (var3 >> 8 & 255) * var4; // L: 453
|
|
int var8 = var4 * (var3 & 255); // L: 454
|
|
int var12 = var0 + Rasterizer2D_width * var1; // L: 458
|
|
|
|
for (int var13 = 0; var13 < var2; ++var13) { // L: 459
|
|
int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); // L: 460
|
|
int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; // L: 461
|
|
int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); // L: 462
|
|
int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 463
|
|
Rasterizer2D_pixels[var12] = var14; // L: 464
|
|
var12 += Rasterizer2D_width; // L: 465
|
|
}
|
|
|
|
}
|
|
} // L: 467
|
|
|
|
@ObfuscatedName("dm")
|
|
@Export("Rasterizer2D_drawLine")
|
|
public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) {
|
|
var2 -= var0; // L: 470
|
|
var3 -= var1; // L: 471
|
|
if (var3 == 0) { // L: 472
|
|
if (var2 >= 0) { // L: 473
|
|
Rasterizer2D_drawHorizontalLine(var0, var1, var2 + 1, var4);
|
|
} else {
|
|
Rasterizer2D_drawHorizontalLine(var0 + var2, var1, -var2 + 1, var4); // L: 474
|
|
}
|
|
|
|
} else if (var2 == 0) { // L: 477
|
|
if (var3 >= 0) { // L: 478
|
|
Rasterizer2D_drawVerticalLine(var0, var1, var3 + 1, var4);
|
|
} else {
|
|
Rasterizer2D_drawVerticalLine(var0, var3 + var1, -var3 + 1, var4); // L: 479
|
|
}
|
|
|
|
} else {
|
|
if (var3 + var2 < 0) { // L: 482
|
|
var0 += var2; // L: 483
|
|
var2 = -var2; // L: 484
|
|
var1 += var3; // L: 485
|
|
var3 = -var3; // L: 486
|
|
}
|
|
|
|
int var5;
|
|
int var6;
|
|
if (var2 > var3) { // L: 488
|
|
var1 <<= 16; // L: 489
|
|
var1 += 32768; // L: 490
|
|
var3 <<= 16; // L: 491
|
|
var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); // L: 492
|
|
var2 += var0; // L: 493
|
|
if (var0 < Rasterizer2D_xClipStart) { // L: 494
|
|
var1 += var5 * (Rasterizer2D_xClipStart - var0); // L: 495
|
|
var0 = Rasterizer2D_xClipStart; // L: 496
|
|
}
|
|
|
|
if (var2 >= Rasterizer2D_xClipEnd) { // L: 498
|
|
var2 = Rasterizer2D_xClipEnd - 1;
|
|
}
|
|
|
|
while (var0 <= var2) { // L: 499
|
|
var6 = var1 >> 16; // L: 500
|
|
if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { // L: 501
|
|
Rasterizer2D_pixels[var0 + var6 * Rasterizer2D_width] = var4;
|
|
}
|
|
|
|
var1 += var5; // L: 502
|
|
++var0; // L: 503
|
|
}
|
|
} else {
|
|
var0 <<= 16; // L: 507
|
|
var0 += 32768; // L: 508
|
|
var2 <<= 16; // L: 509
|
|
var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); // L: 510
|
|
var3 += var1; // L: 511
|
|
if (var1 < Rasterizer2D_yClipStart) { // L: 512
|
|
var0 += (Rasterizer2D_yClipStart - var1) * var5; // L: 513
|
|
var1 = Rasterizer2D_yClipStart; // L: 514
|
|
}
|
|
|
|
if (var3 >= Rasterizer2D_yClipEnd) { // L: 516
|
|
var3 = Rasterizer2D_yClipEnd - 1;
|
|
}
|
|
|
|
while (var1 <= var3) { // L: 517
|
|
var6 = var0 >> 16; // L: 518
|
|
if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { // L: 519
|
|
Rasterizer2D_pixels[var6 + Rasterizer2D_width * var1] = var4;
|
|
}
|
|
|
|
var0 += var5; // L: 520
|
|
++var1; // L: 521
|
|
}
|
|
}
|
|
|
|
}
|
|
} // L: 475 480 524
|
|
|
|
@ObfuscatedName("dk")
|
|
@Export("Rasterizer2D_setPixel")
|
|
static void Rasterizer2D_setPixel(int var0, int var1, int var2) {
|
|
if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { // L: 527
|
|
Rasterizer2D_pixels[var0 + Rasterizer2D_width * var1] = var2; // L: 528
|
|
}
|
|
} // L: 529
|
|
|
|
@ObfuscatedName("dv")
|
|
@Export("Rasterizer2D_fillMaskedRectangle")
|
|
public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) {
|
|
int var5 = var0 + Rasterizer2D_width * var1; // L: 532
|
|
|
|
for (var1 = 0; var1 < var3.length; ++var1) { // L: 533
|
|
int var6 = var5 + var3[var1]; // L: 534
|
|
|
|
for (var0 = -var4[var1]; var0 < 0; ++var0) { // L: 535
|
|
Rasterizer2D_pixels[var6++] = var2;
|
|
}
|
|
|
|
var5 += Rasterizer2D_width; // L: 536
|
|
}
|
|
|
|
} // L: 538
|
|
}
|