📄 e.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
public final class e
{
public int a;
public int b;
public short a;
public short b;
public short c;
public short d;
public short e;
public short f;
public short g;
public short h;
public short i;
public short j;
public short k;
public short l;
public short m;
public short n;
public short o;
public short p;
public boolean a;
public int c;
public int d;
public short q;
public short r;
public int e;
public boolean b;
public e()
{
g = (short)aa.o;
h = (short)aa.p;
i = g;
j = h;
c = 0;
d = 0;
}
public final boolean a()
{
return a == e && b == f;
}
private void a(int i1, int j1)
{
e = (short)i1;
f = (short)j1;
d();
}
private static int a(int i1, int j1)
{
byte byte0 = 3;
if(i1 > 0 && j1 > 0)
byte0 = 3;
if(i1 < 0 && j1 < 0)
byte0 = 2;
if(i1 > 0 && j1 < 0)
byte0 = 0;
if(i1 < 0 && j1 > 0)
byte0 = 1;
return byte0;
}
public final void a(o o1, boolean flag)
{
switch(aa.a.p)
{
case 2: // '\002'
if(o1.i == 0 && o1.j == 0)
{
if(((q) (o1)).j == 24 && !flag)
return;
if(((q) (o1)).j == 25)
{
a(((q) (o1.a)).o - aa.o / 2, ((q) (o1.a)).p - aa.p / 2);
return;
}
if(((q) (o1)).j == 28)
{
int i1 = o1.x - o1.v;
int l1 = o1.y - o1.w;
d = a(i1, l1);
} else
if(o1.a != null && ((q) (o1)).j == 22)
{
int j1 = 0;
int i2 = 0;
g g1 = aa.a[1];
j1 = (((q) (o1.a)).o + (g1.a[o1.a.a] >> 1)) - ((q) (o1)).o;
i2 = (((q) (o1.a)).p + (g1.b[o1.a.a] >> 1)) - ((q) (o1)).p;
d = a(j1, i2);
}
} else
{
d = a(o1.i, o1.j);
}
if(d == 3)
a(((q) (o1)).o - 155, ((q) (o1)).p - 196);
if(d == 2)
a(((q) (o1)).o - 195, ((q) (o1)).p - 220);
if(d == 0)
a(((q) (o1)).o - 155, ((q) (o1)).p - 220);
if(d == 1)
a(((q) (o1)).o - 195, ((q) (o1)).p - 196);
break;
case 0: // '\0'
case 5: // '\005'
if(o1.i == 0 && o1.j == 0)
{
if(o1.a != null)
{
int k1 = ((q) (o1.a)).o - ((q) (o1)).o;
int j2 = ((q) (o1.a)).p - ((q) (o1)).p;
d = a(k1, j2);
}
} else
{
d = a(o1.i, o1.j);
}
if(d == 3)
a(((q) (o1)).o - 155, ((q) (o1)).p - 196);
if(d == 2)
a(((q) (o1)).o - 195, ((q) (o1)).p - 220);
if(d == 0)
a(((q) (o1)).o - 155, ((q) (o1)).p - 220);
if(d == 1)
a(((q) (o1)).o - 195, ((q) (o1)).p - 196);
break;
case 1: // '\001'
a(((q) (o1)).o - 110, ((q) (o1)).p - 320);
break;
case 4: // '\004'
a((short)(((z)aa.a.a[9][0]).q - (i >> 1)), (short)(((z)aa.a.a[9][0]).r - (j >> 1)), true);
break;
}
if(flag)
{
a = e;
b = f;
a = a << 6;
b = b << 6;
aa.a.b();
}
}
public final void a()
{
d = ((q) (aa.a.a)).a_;
a(aa.a.a, true);
q = 0;
r = 0;
e = 0;
a = false;
c = -1;
b = false;
}
public final void a(q q1, boolean flag)
{
a((short)(q1.o - (i >> 1)), (short)(q1.p - (j >> 1)), flag);
}
public final void a(short word0, short word1, boolean flag)
{
a = true;
e = word0;
f = word1;
if(flag)
{
a = word0;
b = word1;
a = a << 6;
b = b << 6;
}
}
public final void a(int i1)
{
if(b)
return;
int j1 = 7;
if(c != -1)
j1 = c;
c = -1;
if(!a)
{
a(aa.a.a, false);
if(aa.a.a.h >= j1)
j1 = aa.a.a.h + 2;
if(((q) (aa.a.a)).j == 25 && 8 >= j1)
j1 = 10;
}
a = false;
int k1 = e - a;
int l1 = f - b;
if(k1 == 0 && l1 == 0)
{
b(i1);
return;
}
int i2 = e << 6;
int j2 = f << 6;
int k2 = k1 < 0 ? -k1 : k1;
int l2 = l1 < 0 ? -l1 : l1;
int i3 = k2 <= l2 ? l2 : k2;
k1 = (k1 << 6) / i3;
l1 = (l1 << 6) / i3;
j1 *= i1;
int j3 = k1 * j1 >> 6;
int k3 = l1 * j1 >> 6;
if(a < i2)
{
a += j3;
if(a > i2)
a = i2;
} else
if(a > i2)
{
a += j3;
if(a < i2)
a = i2;
}
if(b < j2)
{
b += k3;
if(b > j2)
b = j2;
} else
if(b > j2)
{
b += k3;
if(b < j2)
b = j2;
}
a = (short)(a >> 6);
b = (short)(b >> 6);
b(i1);
}
private void d()
{
q aq[] = aa.a.a[7];
short word0 = aa.a.c[7];
int i3 = -1;
int j3 = 0xf423f;
int k3 = -1;
int l3 = 0xf423f;
int i4 = -1;
int j4 = 0xf423f;
int k4 = ((q) (aa.a.a)).o;
int l4 = ((q) (aa.a.a)).p;
if(a || ((q) (aa.a.a)).j == 25)
{
k4 = e + (i >> 1);
l4 = f + (j >> 1);
}
for(int i5 = 0; i5 < word0; i5++)
{
af af1;
if((af1 = (af)aq[i5]).a != 3)
continue;
int l6 = af1.a[0];
int i7;
int i1 = aa.a(i7 = af1.a[1]) - aa.a(l6);
int i2 = aa.b(i7) - aa.b(l6);
int j7 = i1 >= 0 ? i1 : -i1;
int k7 = i2 >= 0 ? i2 : -i2;
if(j7 > k7)
{
if((aa.a(l6) > k4 || k4 > aa.a(i7)) && (aa.a(i7) > k4 || k4 > aa.a(l6)))
continue;
int l7 = aa.b(l6) + ((k4 - aa.a(l6)) * (aa.b(i7) - aa.b(l6))) / (aa.a(i7) - aa.a(l6));
int j8;
if(l4 <= l7 && (j8 = l7 - l4) < j4)
{
j4 = j8;
i4 = i5;
}
continue;
}
if((aa.b(l6) > l4 || l4 > aa.b(i7)) && (aa.b(i7) > l4 || l4 > aa.b(l6)))
continue;
int i8 = aa.a(l6) + ((l4 - aa.b(l6)) * (aa.a(i7) - aa.a(l6))) / (aa.b(i7) - aa.b(l6));
int k8;
if((k8 = k4 - i8) < 0)
k8 = -k8;
if(i2 > 0)
{
if(k4 >= i8 && k8 < j3)
{
j3 = k8;
i3 = i5;
}
continue;
}
if(k4 <= i8 && k8 < l3)
{
l3 = k8;
k3 = i5;
}
}
if(k3 != -1)
{
int j5 = ((af)aq[k3]).a[0];
int i6;
int j1 = aa.a(i6 = ((af)aq[k3]).a[1]) - aa.a(j5);
int j2 = aa.b(i6) - aa.b(j5);
if(((e + i) - aa.a(j5)) * j2 - ((f + j) - aa.b(j5)) * j1 < 0)
e = (short)((aa.a(j5) + (((f + j) - aa.b(j5)) * j1) / j2) - i);
}
if(i4 != -1)
{
int k5 = ((af)aq[i4]).a[0];
int j6;
int k1 = aa.a(j6 = ((af)aq[i4]).a[1]) - aa.a(k5);
int k2 = aa.b(j6) - aa.b(k5);
if((e - aa.a(k5)) * k2 - ((f + j) - aa.b(k5)) * k1 < 0)
{
f = (short)((aa.b(k5) + ((e - aa.a(k5)) * k2) / k1) - j);
return;
}
}
if(i3 != -1)
{
int l5 = ((af)aq[i3]).a[0];
int k6;
int l1 = aa.a(k6 = ((af)aq[i3]).a[1]) - aa.a(l5);
int l2 = aa.b(k6) - aa.b(l5);
if((e - aa.a(l5)) * l2 - (f - aa.b(l5)) * l1 < 0)
{
e = (short)(aa.a(l5) + ((f - aa.b(l5)) * l1) / l2);
return;
}
}
}
private void b(int i1)
{
e += i1;
if(q != 0)
{
a += q;
if(e > 40)
{
q = (short)(-q);
q >>= 1;
}
}
if(r != 0)
{
b += r;
if(e > 40)
{
r = (short)(-r);
r >>= 1;
}
}
if(e > 40)
e = 0;
}
public final void b()
{
k = a;
l = b;
m = c;
n = d;
o = i;
p = j;
}
public final void a(short word0, short word1, short word2, short word3, short word4, short word5)
{
a = word0;
b = word1;
i = word2;
j = word3;
c = word4;
d = word5;
}
public final void c()
{
a = k;
b = l;
c = m;
d = n;
i = o;
j = p;
}
public final void a(short word0, short word1)
{
q = word0;
r = word1;
e = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -