mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 08:39:04 +00:00
234 lines
4.9 KiB
Java
234 lines
4.9 KiB
Java
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
|
|
// Jad home page: http://www.kpdus.com/jad.html
|
|
// Decompiler options: packimports(3)
|
|
|
|
public class DrawingArea extends NodeSub {
|
|
|
|
public static void initDrawingArea(int i, int j, int ai[]) {
|
|
pixels = ai;
|
|
width = j;
|
|
height = i;
|
|
setDrawingArea(i, 0, j, 0);
|
|
}
|
|
|
|
public static void defaultDrawingAreaSize() {
|
|
topX = 0;
|
|
topY = 0;
|
|
bottomX = width;
|
|
bottomY = height;
|
|
centerX = bottomX - 1;
|
|
centerY = bottomX / 2;
|
|
}
|
|
|
|
public static void setDrawingArea(int i, int j, int k, int l) {
|
|
if (j < 0) {
|
|
j = 0;
|
|
}
|
|
if (l < 0) {
|
|
l = 0;
|
|
}
|
|
if (k > width) {
|
|
k = width;
|
|
}
|
|
if (i > height) {
|
|
i = height;
|
|
}
|
|
topX = j;
|
|
topY = l;
|
|
bottomX = k;
|
|
bottomY = i;
|
|
centerX = bottomX - 1;
|
|
centerY = bottomX / 2;
|
|
anInt1387 = bottomY / 2;
|
|
}
|
|
|
|
public static void setAllPixelsToZero() {
|
|
int i = width * height;
|
|
for (int j = 0; j < i; j++) {
|
|
pixels[j] = 0;
|
|
}
|
|
|
|
}
|
|
|
|
public static void method335(int i, int j, int k, int l, int i1, int k1) {
|
|
if (k1 < topX) {
|
|
k -= topX - k1;
|
|
k1 = topX;
|
|
}
|
|
if (j < topY) {
|
|
l -= topY - j;
|
|
j = topY;
|
|
}
|
|
if (k1 + k > bottomX) {
|
|
k = bottomX - k1;
|
|
}
|
|
if (j + l > bottomY) {
|
|
l = bottomY - j;
|
|
}
|
|
int l1 = 256 - i1;
|
|
int i2 = (i >> 16 & 0xff) * i1;
|
|
int j2 = (i >> 8 & 0xff) * i1;
|
|
int k2 = (i & 0xff) * i1;
|
|
int k3 = width - k;
|
|
int l3 = k1 + j * width;
|
|
for (int i4 = 0; i4 < l; i4++) {
|
|
for (int j4 = -k; j4 < 0; j4++) {
|
|
int l2 = (pixels[l3] >> 16 & 0xff) * l1;
|
|
int i3 = (pixels[l3] >> 8 & 0xff) * l1;
|
|
int j3 = (pixels[l3] & 0xff) * l1;
|
|
int k4 = (i2 + l2 >> 8 << 16) + (j2 + i3 >> 8 << 8) + (k2 + j3 >> 8);
|
|
pixels[l3++] = k4;
|
|
}
|
|
|
|
l3 += k3;
|
|
}
|
|
}
|
|
|
|
public static void method336(int i, int j, int l, int i1, int k) {
|
|
if (k < topX) {
|
|
i1 -= topX - k;
|
|
k = topX;
|
|
}
|
|
if (j < topY) {
|
|
i -= topY - j;
|
|
j = topY;
|
|
}
|
|
if (k + i1 > bottomX) {
|
|
i1 = bottomX - k;
|
|
}
|
|
if (j + i > bottomY) {
|
|
i = bottomY - j;
|
|
}
|
|
int k1 = width - i1;
|
|
int l1 = k + j * width;
|
|
for (int i2 = -i; i2 < 0; i2++) {
|
|
for (int j2 = -i1; j2 < 0; j2++) {
|
|
pixels[l1++] = l;
|
|
}
|
|
|
|
l1 += k1;
|
|
}
|
|
|
|
}
|
|
|
|
public static void fillPixels(int i1, int k, int l, int i, int j) {
|
|
method339(i1, l, j, i);
|
|
method339(i1 + k - 1, l, j, i);
|
|
method341(i1, l, k, i);
|
|
method341(i1, l, k, i + j - 1);
|
|
}
|
|
|
|
public static void method338(int i, int j, int k, int l, int i1, int j1) {
|
|
method340(l, i1, i, k, j1);
|
|
method340(l, i1, i + j - 1, k, j1);
|
|
if (j >= 3) {
|
|
method342(l, j1, k, i + 1, j - 2);
|
|
method342(l, j1 + i1 - 1, k, i + 1, j - 2);
|
|
}
|
|
}
|
|
|
|
public static void method339(int i, int j, int k, int l) {
|
|
if (i < topY || i >= bottomY) {
|
|
return;
|
|
}
|
|
if (l < topX) {
|
|
k -= topX - l;
|
|
l = topX;
|
|
}
|
|
if (l + k > bottomX) {
|
|
k = bottomX - l;
|
|
}
|
|
int i1 = l + i * width;
|
|
for (int j1 = 0; j1 < k; j1++) {
|
|
pixels[i1 + j1] = j;
|
|
}
|
|
|
|
}
|
|
|
|
private static void method340(int i, int j, int k, int l, int i1) {
|
|
if (k < topY || k >= bottomY) {
|
|
return;
|
|
}
|
|
if (i1 < topX) {
|
|
j -= topX - i1;
|
|
i1 = topX;
|
|
}
|
|
if (i1 + j > bottomX) {
|
|
j = bottomX - i1;
|
|
}
|
|
int j1 = 256 - l;
|
|
int k1 = (i >> 16 & 0xff) * l;
|
|
int l1 = (i >> 8 & 0xff) * l;
|
|
int i2 = (i & 0xff) * l;
|
|
int i3 = i1 + k * width;
|
|
for (int j3 = 0; j3 < j; j3++) {
|
|
int j2 = (pixels[i3] >> 16 & 0xff) * j1;
|
|
int k2 = (pixels[i3] >> 8 & 0xff) * j1;
|
|
int l2 = (pixels[i3] & 0xff) * j1;
|
|
int k3 = (k1 + j2 >> 8 << 16) + (l1 + k2 >> 8 << 8) + (i2 + l2 >> 8);
|
|
pixels[i3++] = k3;
|
|
}
|
|
|
|
}
|
|
|
|
public static void method341(int i, int j, int k, int l) {
|
|
if (l < topX || l >= bottomX) {
|
|
return;
|
|
}
|
|
if (i < topY) {
|
|
k -= topY - i;
|
|
i = topY;
|
|
}
|
|
if (i + k > bottomY) {
|
|
k = bottomY - i;
|
|
}
|
|
int j1 = l + i * width;
|
|
for (int k1 = 0; k1 < k; k1++) {
|
|
pixels[j1 + k1 * width] = j;
|
|
}
|
|
|
|
}
|
|
|
|
private static void method342(int i, int j, int k, int l, int i1) {
|
|
if (j < topX || j >= bottomX) {
|
|
return;
|
|
}
|
|
if (l < topY) {
|
|
i1 -= topY - l;
|
|
l = topY;
|
|
}
|
|
if (l + i1 > bottomY) {
|
|
i1 = bottomY - l;
|
|
}
|
|
int j1 = 256 - k;
|
|
int k1 = (i >> 16 & 0xff) * k;
|
|
int l1 = (i >> 8 & 0xff) * k;
|
|
int i2 = (i & 0xff) * k;
|
|
int i3 = j + l * width;
|
|
for (int j3 = 0; j3 < i1; j3++) {
|
|
int j2 = (pixels[i3] >> 16 & 0xff) * j1;
|
|
int k2 = (pixels[i3] >> 8 & 0xff) * j1;
|
|
int l2 = (pixels[i3] & 0xff) * j1;
|
|
int k3 = (k1 + j2 >> 8 << 16) + (l1 + k2 >> 8 << 8) + (i2 + l2 >> 8);
|
|
pixels[i3] = k3;
|
|
i3 += width;
|
|
}
|
|
|
|
}
|
|
|
|
DrawingArea() {
|
|
}
|
|
|
|
public static int pixels[];
|
|
public static int width;
|
|
public static int height;
|
|
public static int topY;
|
|
public static int bottomY;
|
|
public static int topX;
|
|
public static int bottomX;
|
|
public static int centerX;
|
|
public static int centerY;
|
|
public static int anInt1387;
|
|
|
|
}
|