mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-20 05:20:24 -07:00
447 lines
15 KiB
Java
447 lines
15 KiB
Java
import java.applet.Applet;
|
|
import java.applet.AppletContext;
|
|
import java.awt.Container;
|
|
import java.awt.Frame;
|
|
import java.awt.Graphics;
|
|
import java.awt.Insets;
|
|
import java.awt.Rectangle;
|
|
import java.awt.event.FocusEvent;
|
|
import java.awt.event.FocusListener;
|
|
import java.awt.event.WindowEvent;
|
|
import java.awt.event.WindowListener;
|
|
import java.lang.reflect.Method;
|
|
import java.net.URL;
|
|
import org.openrs2.deob.annotation.OriginalArg;
|
|
import org.openrs2.deob.annotation.OriginalClass;
|
|
import org.openrs2.deob.annotation.OriginalMember;
|
|
import org.openrs2.deob.annotation.Pc;
|
|
|
|
@OriginalClass("client!rc")
|
|
public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener {
|
|
|
|
@OriginalMember(owner = "client!rc", name = "b", descriptor = "Z")
|
|
private boolean aBoolean71 = false;
|
|
|
|
@OriginalMember(owner = "client!rc", name = "providesignlink", descriptor = "(Lsignlink!ll;)V")
|
|
public static void providesignlink(@OriginalArg(0) Class213 arg0) {
|
|
Static71.aClass213_3 = arg0;
|
|
Static69.aClass213_4 = arg0;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "focusLost", descriptor = "(Ljava/awt/event/FocusEvent;)V")
|
|
@Override
|
|
public final void focusLost(@OriginalArg(0) FocusEvent arg0) {
|
|
Static233.aBoolean253 = false;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "a", descriptor = "(B)V")
|
|
protected abstract void method921();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowClosing", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowClosing(@OriginalArg(0) WindowEvent arg0) {
|
|
this.destroy();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowIconified", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowIconified(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowDeactivated", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowDeactivated(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "getAppletContext", descriptor = "()Ljava/applet/AppletContext;")
|
|
@Override
|
|
public final AppletContext getAppletContext() {
|
|
if (Static39.aFrame1 == null) {
|
|
return Static71.aClass213_3 == null || Static71.aClass213_3.anApplet2 == this ? super.getAppletContext() : Static71.aClass213_3.anApplet2.getAppletContext();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "focusGained", descriptor = "(Ljava/awt/event/FocusEvent;)V")
|
|
@Override
|
|
public final void focusGained(@OriginalArg(0) FocusEvent arg0) {
|
|
Static233.aBoolean253 = true;
|
|
Static69.aBoolean115 = true;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowClosed", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowClosed(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "b", descriptor = "(I)Z")
|
|
protected final boolean method925() {
|
|
return true;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "b", descriptor = "(B)V")
|
|
public final synchronized void method926() {
|
|
if (Static154.aCanvas1 != null) {
|
|
Static154.aCanvas1.removeFocusListener(this);
|
|
Static154.aCanvas1.getParent().remove(Static154.aCanvas1);
|
|
}
|
|
@Pc(19) Container local19;
|
|
if (Static69.aFrame2 != null) {
|
|
local19 = Static69.aFrame2;
|
|
} else if (Static39.aFrame1 == null) {
|
|
local19 = Static71.aClass213_3.anApplet2;
|
|
} else {
|
|
local19 = Static39.aFrame1;
|
|
}
|
|
local19.setLayout(null);
|
|
Static154.aCanvas1 = new GameCanvas(this);
|
|
local19.add(Static154.aCanvas1);
|
|
Static154.aCanvas1.setSize(Static48.anInt1448, Static254.anInt5554);
|
|
Static154.aCanvas1.setVisible(true);
|
|
if (local19 == Static39.aFrame1) {
|
|
@Pc(66) Insets local66 = Static39.aFrame1.getInsets();
|
|
Static154.aCanvas1.setLocation(Static145.anInt3497 + local66.left, local66.top + Static178.anInt4246);
|
|
} else {
|
|
Static154.aCanvas1.setLocation(Static145.anInt3497, Static178.anInt4246);
|
|
}
|
|
Static154.aCanvas1.addFocusListener(this);
|
|
Static154.aCanvas1.requestFocus();
|
|
Static233.aBoolean253 = true;
|
|
Static69.aBoolean115 = true;
|
|
Static26.aBoolean59 = true;
|
|
Static35.aBoolean66 = false;
|
|
Static243.aLong178 = Class209.method5096();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "destroy", descriptor = "()V")
|
|
@Override
|
|
public final void destroy() {
|
|
if (Static230.anApplet_Sub1_1 == this && !Static58.aBoolean101) {
|
|
Static72.aLong74 = Class209.method5096();
|
|
Static231.method3983(5000L);
|
|
Static69.aClass213_4 = null;
|
|
this.method931(false);
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "update", descriptor = "(Ljava/awt/Graphics;)V")
|
|
@Override
|
|
public final void update(@OriginalArg(0) Graphics arg0) {
|
|
this.paint(arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "a", descriptor = "(Ljava/lang/String;I)V")
|
|
protected final void method927(@OriginalArg(0) String arg0) {
|
|
if (this.aBoolean71) {
|
|
return;
|
|
}
|
|
this.aBoolean71 = true;
|
|
System.out.println("error_game_" + arg0);
|
|
try {
|
|
this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + arg0 + ".ws"), "_top");
|
|
} catch (@Pc(47) Exception local47) {
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "c", descriptor = "(B)V")
|
|
protected abstract void method928();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "c", descriptor = "(I)V")
|
|
protected abstract void method929();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "getDocumentBase", descriptor = "()Ljava/net/URL;")
|
|
@Override
|
|
public final URL getDocumentBase() {
|
|
if (Static39.aFrame1 == null) {
|
|
return Static71.aClass213_3 == null || Static71.aClass213_3.anApplet2 == this ? super.getDocumentBase() : Static71.aClass213_3.anApplet2.getDocumentBase();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "paint", descriptor = "(Ljava/awt/Graphics;)V")
|
|
@Override
|
|
public final synchronized void paint(@OriginalArg(0) Graphics arg0) {
|
|
if (Static230.anApplet_Sub1_1 != this || Static58.aBoolean101) {
|
|
return;
|
|
}
|
|
Static69.aBoolean115 = true;
|
|
if (Static236.aBoolean256 && !Static239.aBoolean269 && Class209.method5096() - Static243.aLong178 > 1000L) {
|
|
@Pc(29) Rectangle local29 = arg0.getClipBounds();
|
|
if (local29 == null || local29.width >= Static72.anInt2046 && Static122.anInt3045 <= local29.height) {
|
|
Static35.aBoolean66 = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowDeiconified", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowDeiconified(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "a", descriptor = "(IZ)V")
|
|
private void method931(@OriginalArg(1) boolean arg0) {
|
|
synchronized (this) {
|
|
if (Static58.aBoolean101) {
|
|
return;
|
|
}
|
|
Static58.aBoolean101 = true;
|
|
}
|
|
if (Static71.aClass213_3.anApplet2 != null) {
|
|
Static71.aClass213_3.anApplet2.destroy();
|
|
}
|
|
try {
|
|
this.method928();
|
|
} catch (@Pc(34) Exception local34) {
|
|
}
|
|
if (Static154.aCanvas1 != null) {
|
|
try {
|
|
Static154.aCanvas1.removeFocusListener(this);
|
|
Static154.aCanvas1.getParent().remove(Static154.aCanvas1);
|
|
} catch (@Pc(45) Exception local45) {
|
|
}
|
|
}
|
|
if (Static71.aClass213_3 != null) {
|
|
try {
|
|
Static71.aClass213_3.method5124();
|
|
} catch (@Pc(53) Exception local53) {
|
|
}
|
|
}
|
|
this.method929();
|
|
if (Static39.aFrame1 != null) {
|
|
try {
|
|
System.exit(0);
|
|
} catch (@Pc(77) Throwable local77) {
|
|
}
|
|
}
|
|
System.out.println("Shutdown complete - clean:" + arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowActivated", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowActivated(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "b", descriptor = "(Z)V")
|
|
private void method932() {
|
|
@Pc(6) long local6 = Class209.method5096();
|
|
@Pc(10) long local10 = Static228.aLongArray8[Static261.anInt5741];
|
|
Static228.aLongArray8[Static261.anInt5741] = local6;
|
|
Static261.anInt5741 = Static261.anInt5741 + 1 & 0x1F;
|
|
synchronized (this) {
|
|
Static26.aBoolean59 = Static233.aBoolean253;
|
|
}
|
|
this.method921();
|
|
if (local10 != 0L && local6 <= local10) {
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "e", descriptor = "(I)V")
|
|
private void method933() {
|
|
@Pc(2) long local2 = Class209.method5096();
|
|
@Pc(6) long local6 = Static7.aLongArray2[Static111.anInt2903];
|
|
Static7.aLongArray2[Static111.anInt2903] = local2;
|
|
Static111.anInt2903 = Static111.anInt2903 + 1 & 0x1F;
|
|
if (local6 != 0L && local2 > local6) {
|
|
@Pc(41) int local41 = (int) (local2 - local6);
|
|
Static243.anInt5359 = ((local41 >> 1) + 32000) / local41;
|
|
}
|
|
if (Static184.anInt4355++ > 50) {
|
|
Static69.aBoolean115 = true;
|
|
Static184.anInt4355 -= 50;
|
|
Static154.aCanvas1.setSize(Static48.anInt1448, Static254.anInt5554);
|
|
Static154.aCanvas1.setVisible(true);
|
|
if (Static39.aFrame1 != null && Static69.aFrame2 == null) {
|
|
@Pc(84) Insets local84 = Static39.aFrame1.getInsets();
|
|
Static154.aCanvas1.setLocation(local84.left + Static145.anInt3497, Static178.anInt4246 + local84.top);
|
|
} else {
|
|
Static154.aCanvas1.setLocation(Static145.anInt3497, Static178.anInt4246);
|
|
}
|
|
}
|
|
this.method934();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "f", descriptor = "(I)V")
|
|
protected abstract void method934();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "getCodeBase", descriptor = "()Ljava/net/URL;")
|
|
@Override
|
|
public final URL getCodeBase() {
|
|
if (Static39.aFrame1 == null) {
|
|
return Static71.aClass213_3 == null || Static71.aClass213_3.anApplet2 == this ? super.getCodeBase() : Static71.aClass213_3.anApplet2.getCodeBase();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "run", descriptor = "()V")
|
|
@Override
|
|
public final void run() {
|
|
try {
|
|
if (Class213.aString20 != null) {
|
|
@Pc(12) String local12 = Class213.aString20.toLowerCase();
|
|
if (local12.indexOf("sun") != -1 || local12.indexOf("apple") != -1) {
|
|
@Pc(24) String local24 = Class213.aString14;
|
|
if (local24.equals("1.1") || local24.startsWith("1.1.") || local24.equals("1.2") || local24.startsWith("1.2.")) {
|
|
this.method927("wrongjava");
|
|
return;
|
|
}
|
|
Static226.anInt5081 = 5;
|
|
} else if (local12.indexOf("ibm") != -1 && (Class213.aString14 == null || Class213.aString14.equals("1.4.2"))) {
|
|
this.method927("wrongjava");
|
|
return;
|
|
}
|
|
}
|
|
@Pc(76) int local76;
|
|
if (Class213.aString14 != null && Class213.aString14.startsWith("1.")) {
|
|
local76 = 2;
|
|
@Pc(78) int local78 = 0;
|
|
while (local76 < Class213.aString14.length()) {
|
|
@Pc(90) char local90 = Class213.aString14.charAt(local76);
|
|
if (local90 < '0' || local90 > '9') {
|
|
break;
|
|
}
|
|
local78 = local78 * 10 + local90 - 48;
|
|
local76++;
|
|
}
|
|
if (local78 >= 5) {
|
|
Static236.aBoolean256 = true;
|
|
}
|
|
}
|
|
if (Static71.aClass213_3.anApplet2 != null) {
|
|
@Pc(125) Method local125 = Class213.aMethod5;
|
|
if (local125 != null) {
|
|
try {
|
|
local125.invoke(Static71.aClass213_3.anApplet2, Boolean.TRUE);
|
|
} catch (@Pc(142) Throwable local142) {
|
|
}
|
|
}
|
|
}
|
|
Static224.method3888();
|
|
this.method926();
|
|
Static260.aClass27_2 = Static131.method2579(Static254.anInt5554, Static48.anInt1448, Static154.aCanvas1);
|
|
this.method935();
|
|
Static200.aClass93_1 = Static70.method1547();
|
|
while (Static72.aLong74 == 0L || Static72.aLong74 > Class209.method5096()) {
|
|
Static227.anInt5097 = Static200.aClass93_1.method3391(Static226.anInt5081, Static11.anInt386);
|
|
for (local76 = 0; local76 < Static227.anInt5097; local76++) {
|
|
this.method932();
|
|
}
|
|
this.method933();
|
|
Static140.method2708(Static71.aClass213_3, Static154.aCanvas1);
|
|
}
|
|
} catch (@Pc(198) Exception local198) {
|
|
Static89.method1839(null, local198);
|
|
this.method927("crash");
|
|
}
|
|
this.method931(true);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "getParameter", descriptor = "(Ljava/lang/String;)Ljava/lang/String;")
|
|
@Override
|
|
public final String getParameter(@OriginalArg(0) String arg0) {
|
|
if (Static39.aFrame1 == null) {
|
|
return Static71.aClass213_3 == null || Static71.aClass213_3.anApplet2 == this ? super.getParameter(arg0) : Static71.aClass213_3.anApplet2.getParameter(arg0);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "g", descriptor = "(I)V")
|
|
protected abstract void method935();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "stop", descriptor = "()V")
|
|
@Override
|
|
public final void stop() {
|
|
if (Static230.anApplet_Sub1_1 == this && !Static58.aBoolean101) {
|
|
Static72.aLong74 = Class209.method5096() + 4000L;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "init", descriptor = "()V")
|
|
public abstract void init();
|
|
|
|
@OriginalMember(owner = "client!rc", name = "a", descriptor = "(IIZILjava/lang/String;III)V")
|
|
protected final void method936(@OriginalArg(0) int arg0, @OriginalArg(4) String arg1) {
|
|
try {
|
|
Static254.anInt5554 = 768;
|
|
Static122.anInt3045 = 768;
|
|
Static145.anInt3497 = 0;
|
|
Static131.anInt3252 = 530;
|
|
Static48.anInt1448 = 1024;
|
|
Static72.anInt2046 = 1024;
|
|
Static178.anInt4246 = 0;
|
|
Static230.anApplet_Sub1_1 = this;
|
|
Static39.aFrame1 = new Frame();
|
|
Static39.aFrame1.setTitle("Jagex");
|
|
Static39.aFrame1.setResizable(true);
|
|
Static39.aFrame1.addWindowListener(this);
|
|
Static39.aFrame1.setVisible(true);
|
|
Static39.aFrame1.toFront();
|
|
@Pc(44) Insets local44 = Static39.aFrame1.getInsets();
|
|
Static39.aFrame1.setSize(local44.left + Static72.anInt2046 + local44.right, local44.top + Static122.anInt3045 + local44.bottom);
|
|
Static69.aClass213_4 = Static71.aClass213_3 = new Class213(null, arg0, arg1, 28);
|
|
@Pc(76) Class212 local76 = Static71.aClass213_3.method5130(1, this);
|
|
while (local76.anInt5925 == 0) {
|
|
Static231.method3983(10L);
|
|
}
|
|
Static37.aThread1 = (Thread) local76.anObject6;
|
|
} catch (@Pc(91) Exception local91) {
|
|
Static89.method1839(null, local91);
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "windowOpened", descriptor = "(Ljava/awt/event/WindowEvent;)V")
|
|
@Override
|
|
public final void windowOpened(@OriginalArg(0) WindowEvent arg0) {
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "start", descriptor = "()V")
|
|
@Override
|
|
public final void start() {
|
|
if (Static230.anApplet_Sub1_1 == this && !Static58.aBoolean101) {
|
|
Static72.aLong74 = 0L;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!rc", name = "a", descriptor = "(BIIII)V")
|
|
protected final void method937(@OriginalArg(2) int arg0) {
|
|
try {
|
|
if (Static230.anApplet_Sub1_1 != null) {
|
|
Static70.anInt2014++;
|
|
if (Static70.anInt2014 >= 3) {
|
|
this.method927("alreadyloaded");
|
|
return;
|
|
}
|
|
this.getAppletContext().showDocument(this.getDocumentBase(), "_self");
|
|
return;
|
|
}
|
|
Static230.anApplet_Sub1_1 = this;
|
|
Static178.anInt4246 = 0;
|
|
Static131.anInt3252 = 1530;
|
|
Static48.anInt1448 = 765;
|
|
Static72.anInt2046 = 765;
|
|
Static145.anInt3497 = 0;
|
|
Static254.anInt5554 = 503;
|
|
Static122.anInt3045 = 503;
|
|
@Pc(54) String local54 = this.getParameter("openwinjs");
|
|
if (local54 != null && local54.equals("1")) {
|
|
Static40.aBoolean78 = true;
|
|
} else {
|
|
Static40.aBoolean78 = false;
|
|
}
|
|
if (Static71.aClass213_3 == null) {
|
|
Static69.aClass213_4 = Static71.aClass213_3 = new Class213(this, arg0, null, 0);
|
|
}
|
|
@Pc(86) Class212 local86 = Static71.aClass213_3.method5130(1, this);
|
|
while (local86.anInt5925 == 0) {
|
|
Static231.method3983(10L);
|
|
}
|
|
Static37.aThread1 = (Thread) local86.anObject6;
|
|
} catch (@Pc(103) Exception local103) {
|
|
Static89.method1839(null, local103);
|
|
this.method927("crash");
|
|
}
|
|
}
|
|
}
|