Merge pull request #1778 from Lucwousin/you-have-been-disconnected

login plugin: Hide "You have been disconnected" when 5 min logged
This commit is contained in:
Tyler Bochard
2019-10-13 19:30:45 -04:00
committed by GitHub
31 changed files with 1254 additions and 1230 deletions

View File

@@ -1857,4 +1857,10 @@ public interface Client extends GameShell
* when you only want to change the left click one. * when you only want to change the left click one.
*/ */
void setLeftClickMenuEntry(MenuEntry entry); void setLeftClickMenuEntry(MenuEntry entry);
/**
* If this field is set to true, getting 5 minute logged won't show
* the "You have been disconnected." message anymore.
*/
void setHideDisconnect(boolean dontShow);
} }

View File

@@ -34,7 +34,8 @@ public interface LoginScreenConfig extends Config
@ConfigItem( @ConfigItem(
keyName = "syncusername", keyName = "syncusername",
name = "Sync username", name = "Sync username",
description = "Syncs the username that is currently remembered between computers" description = "Syncs the username that is currently remembered between computers",
position = 1
) )
default boolean syncUsername() default boolean syncUsername()
{ {
@@ -44,13 +45,25 @@ public interface LoginScreenConfig extends Config
@ConfigItem( @ConfigItem(
keyName = "pasteenabled", keyName = "pasteenabled",
name = "Ctrl-V paste", name = "Ctrl-V paste",
description = "Enables Ctrl+V pasting on the login screen" description = "Enables Ctrl+V pasting on the login screen",
position = 2
) )
default boolean pasteEnabled() default boolean pasteEnabled()
{ {
return false; return false;
} }
@ConfigItem(
keyName = "hideDisconnect",
name = "Hide 5 min log message",
description = "Hides the \"You have been disconnected\" message which appears when you get 5 minute logged",
position = 3
)
default boolean hideDisconnected()
{
return false;
}
@ConfigItem( @ConfigItem(
keyName = "username", keyName = "username",
name = "", name = "",

View File

@@ -83,6 +83,8 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
updateConfig(); updateConfig();
addSubscriptions(); addSubscriptions();
client.setHideDisconnect(config.hideDisconnected());
applyUsername(); applyUsername();
keyManager.registerKeyListener(this); keyManager.registerKeyListener(this);
} }
@@ -97,6 +99,8 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
client.getPreferences().setRememberedUsername(usernameCache); client.getPreferences().setRememberedUsername(usernameCache);
} }
client.setHideDisconnect(false);
keyManager.unregisterKeyListener(this); keyManager.unregisterKeyListener(this);
} }
@@ -249,6 +253,12 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
return; return;
} }
if (event.getKey().equals("hideDisconnect"))
{
client.setHideDisconnect(config.hideDisconnected());
return;
}
updateConfig(); updateConfig();
} }

View File

@@ -201,11 +201,7 @@ public abstract class RSClientMixin implements RSClient
private static boolean printMenuActions; private static boolean printMenuActions;
@Inject @Inject
@Override private static boolean hideDisconnect = false;
public void setPrintMenuActions(boolean yes)
{
printMenuActions = yes;
}
@Inject @Inject
private static boolean hideFriendAttackOptions = false; private static boolean hideFriendAttackOptions = false;
@@ -222,6 +218,20 @@ public abstract class RSClientMixin implements RSClient
@Inject @Inject
private static Set<String> unhiddenCasts = new HashSet<String>(); private static Set<String> unhiddenCasts = new HashSet<String>();
@Inject
@Override
public void setPrintMenuActions(boolean yes)
{
printMenuActions = yes;
}
@Inject
@Override
public void setHideDisconnect(boolean dontShow)
{
hideDisconnect = dontShow;
}
@Inject @Inject
@Override @Override
public void setHideFriendAttackOptions(boolean yes) public void setHideFriendAttackOptions(boolean yes)
@@ -1757,4 +1767,20 @@ public abstract class RSClientMixin implements RSClient
{ {
this.modulus = modulus; this.modulus = modulus;
} }
@Copy("forceDisconnect")
static void rs$forceDisconnect(int reason)
{
}
@Replace("forceDisconnect")
static void forceDisconnect(int reason)
{
rs$forceDisconnect(reason);
if (hideDisconnect && reason == 1)
{
client.promptCredentials(true);
}
}
} }

View File

@@ -1090,4 +1090,10 @@ public interface RSClient extends RSGameShell, Client
@Import("Sprite_drawScaled") @Import("Sprite_drawScaled")
@Override @Override
void scaleSprite(int[] canvas, int[] pixels, int color, int pixelX, int pixelY, int canvasIdx, int canvasOffset, int newWidth, int newHeight, int pixelWidth, int pixelHeight, int oldWidth); void scaleSprite(int[] canvas, int[] pixels, int color, int pixelX, int pixelY, int canvasIdx, int canvasOffset, int newWidth, int newHeight, int pixelWidth, int pixelHeight, int oldWidth);
/**
* This sets the login screen to where it asks for username/pass
*/
@Import("Login_promptCredentials")
void promptCredentials(boolean clearPass);
} }

View File

@@ -407,7 +407,7 @@ public abstract class AbstractWorldMapData {
} else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) {
var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3);
long var5 = class30.method566() - class81.field1135 - var11.age; long var5 = class30.currentTimeMillis() - class81.field1135 - var11.age;
int var7 = (int)(var5 / 3600000L); int var7 = (int)(var5 / 3600000L);
int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L);
int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L);

View File

@@ -308,8 +308,8 @@ public final class Client extends GameShell implements Usernamed {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 426040267 intValue = 426040267
) )
@Export("archiveLoaderArchive") @Export("archiveLoadersDone")
static int archiveLoaderArchive; static int archiveLoadersDone;
@ObfuscatedName("rm") @ObfuscatedName("rm")
static boolean[] field835; static boolean[] field835;
@ObfuscatedName("pz") @ObfuscatedName("pz")
@@ -1546,7 +1546,7 @@ public final class Client extends GameShell implements Usernamed {
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field905 = -1; field905 = -1;
archiveLoaders = new ArrayList(10); archiveLoaders = new ArrayList(10);
archiveLoaderArchive = 0; archiveLoadersDone = 0;
field908 = 0; field908 = 0;
field909 = new class65(); field909 = new class65();
field910 = new int[50]; field910 = new int[50];
@@ -1560,7 +1560,7 @@ public final class Client extends GameShell implements Usernamed {
) )
@Export("resizeGame") @Export("resizeGame")
protected final void resizeGame() { protected final void resizeGame() {
field754 = class30.method566() + 500L; field754 = class30.currentTimeMillis() + 500L;
this.resizeJS(); this.resizeJS();
if (rootInterface != -1) { if (rootInterface != -1) {
this.resizeRoot(true); this.resizeRoot(true);
@@ -1636,109 +1636,106 @@ public final class Client extends GameShell implements Usernamed {
} }
if (var1 == null) { if (var1 == null) {
int var5; break;
try {
if (class197.field2386 == 1) {
var5 = class49.midiPcmStream.method3745();
if (var5 > 0 && class49.midiPcmStream.isReady()) {
var5 -= MusicPatchNode2.field2382;
if (var5 < 0) {
var5 = 0;
}
class49.midiPcmStream.method3760(var5);
} else {
class49.midiPcmStream.clear();
class49.midiPcmStream.removeAll();
if (class197.musicTrackArchive != null) {
class197.field2386 = 2;
} else {
class197.field2386 = 0;
}
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
}
}
} catch (Exception var9) {
var9.printStackTrace();
class49.midiPcmStream.clear();
class197.field2386 = 0;
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
class197.musicTrackArchive = null;
}
WorldMapID.playPcmPlayers();
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field378 = KeyHandler.field380;
KeyHandler.field361 = 0;
int var6;
if (KeyHandler.field373 >= 0) {
while (KeyHandler.field373 != KeyHandler.field372) {
var6 = KeyHandler.field365[KeyHandler.field372];
KeyHandler.field372 = KeyHandler.field372 + 1 & 127;
if (var6 < 0) {
KeyHandler.KeyHandler_pressedKeys[~var6] = false;
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field361 < KeyHandler.field376.length - 1) {
KeyHandler.field376[++KeyHandler.field361 - 1] = var6;
}
KeyHandler.KeyHandler_pressedKeys[var6] = true;
}
}
} else {
for (var6 = 0; var6 < 112; ++var6) {
KeyHandler.KeyHandler_pressedKeys[var6] = false;
}
KeyHandler.field373 = KeyHandler.field372;
}
if (KeyHandler.field361 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field380 = KeyHandler.field371;
}
VertexNormal.method2959();
if (KeyHandler.mouseWheel != null) {
var5 = KeyHandler.mouseWheel.useRotation();
mouseWheelRotation = var5;
}
if (gameState == 0) {
class189.load();
WorldMapDecoration.method343();
} else if (gameState == 5) {
LoginPacket.method3587(this);
class189.load();
WorldMapDecoration.method343();
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
LoginPacket.method3587(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
KeyHandler.method851();
}
} else {
LoginPacket.method3587(this);
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
return;
} }
var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false); var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false);
} }
try {
if (class197.field2386 == 1) {
int var5 = class49.midiPcmStream.method3745();
if (var5 > 0 && class49.midiPcmStream.isReady()) {
var5 -= MusicPatchNode2.field2382;
if (var5 < 0) {
var5 = 0;
}
class49.midiPcmStream.method3760(var5);
} else {
class49.midiPcmStream.clear();
class49.midiPcmStream.removeAll();
if (class197.musicTrackArchive != null) {
class197.field2386 = 2;
} else {
class197.field2386 = 0;
}
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
}
}
} catch (Exception var9) {
var9.printStackTrace();
class49.midiPcmStream.clear();
class197.field2386 = 0;
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
class197.musicTrackArchive = null;
}
WorldMapID.playPcmPlayers();
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field378 = KeyHandler.field380;
KeyHandler.field361 = 0;
int var6;
if (KeyHandler.field373 >= 0) {
while (KeyHandler.field373 != KeyHandler.field372) {
var6 = KeyHandler.field365[KeyHandler.field372];
KeyHandler.field372 = KeyHandler.field372 + 1 & 127;
if (var6 < 0) {
KeyHandler.KeyHandler_pressedKeys[~var6] = false;
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field361 < KeyHandler.field376.length - 1) {
KeyHandler.field376[++KeyHandler.field361 - 1] = var6;
}
KeyHandler.KeyHandler_pressedKeys[var6] = true;
}
}
} else {
for (var6 = 0; var6 < 112; ++var6) {
KeyHandler.KeyHandler_pressedKeys[var6] = false;
}
KeyHandler.field373 = KeyHandler.field372;
}
if (KeyHandler.field361 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field380 = KeyHandler.field371;
}
VertexNormal.method2959();
if (KeyHandler.mouseWheel != null) {
int var5 = KeyHandler.mouseWheel.useRotation();
mouseWheelRotation = var5;
}
if (gameState == 0) {
class189.load();
WorldMapDecoration.method343();
} else if (gameState == 5) {
LoginPacket.doCycleTitle(this);
class189.load();
WorldMapDecoration.method343();
} else if (gameState == 10 || gameState == 11) {
LoginPacket.doCycleTitle(this);
} else if (gameState == 20) {
LoginPacket.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
KeyHandler.method851();
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
} }
@ObfuscatedName("ax") @ObfuscatedName("ax")
@@ -1792,7 +1789,7 @@ public final class Client extends GameShell implements Usernamed {
class219.pcmPlayer0.tryDiscard(); class219.pcmPlayer0.tryDiscard();
} }
if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field754 && class30.method566() > field754) { if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field754 && class30.currentTimeMillis() > field754) {
UserComparator8.setWindowedMode(class247.getWindowedMode()); UserComparator8.setWindowedMode(class247.getWindowedMode());
} }
@@ -2188,7 +2185,7 @@ public final class Client extends GameShell implements Usernamed {
var5.writeInt(184); var5.writeInt(184);
class43.js5Socket.write(var5.array, 0, 5); class43.js5Socket.write(var5.array, 0, 5);
++js5ConnectState; ++js5ConnectState;
VerticalAlignment.field3175 = class30.method566(); VerticalAlignment.field3175 = class30.currentTimeMillis();
} }
if (js5ConnectState == 3) { if (js5ConnectState == 3) {
@@ -2200,7 +2197,7 @@ public final class Client extends GameShell implements Usernamed {
} }
++js5ConnectState; ++js5ConnectState;
} else if (class30.method566() - VerticalAlignment.field3175 > 30000L) { } else if (class30.currentTimeMillis() - VerticalAlignment.field3175 > 30000L) {
this.js5Error(-2); this.js5Error(-2);
return; return;
} }
@@ -3037,7 +3034,7 @@ public final class Client extends GameShell implements Usernamed {
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2224, packetWriter.isaacCipher); var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2224, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(0); var14.packetBuffer.writeShort(0);
var15 = var14.packetBuffer.offset; var15 = var14.packetBuffer.offset;
long var19 = class30.method566(); long var19 = class30.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field361; ++var5) { for (var5 = 0; var5 < KeyHandler.field361; ++var5) {
long var21 = var19 - field860; long var21 = var19 - field860;
@@ -3883,15 +3880,15 @@ public final class Client extends GameShell implements Usernamed {
return true; return true;
} }
boolean var45; boolean var45;
if (ServerPacket.field2109 == var1.serverPacket) { if (ServerPacket.field2109 == var1.serverPacket) {
var45 = var3.readUnsignedByte() == 1; var45 = var3.readUnsignedByte() == 1;
if (var45) { if (var45) {
class81.field1135 = class30.method566() - var3.readLong(); class81.field1135 = class30.currentTimeMillis() - var3.readLong();
TileItem.grandExchangeEvents = new GrandExchangeEvents(var3, true); TileItem.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else { } else {
TileItem.grandExchangeEvents = null; TileItem.grandExchangeEvents = null;
} }
field832 = cycleCntr; field832 = cycleCntr;
var1.serverPacket = null; var1.serverPacket = null;
@@ -4352,7 +4349,7 @@ public final class Client extends GameShell implements Usernamed {
if (ServerPacket.field2130 == var1.serverPacket) { if (ServerPacket.field2130 == var1.serverPacket) {
var16 = var3.readUnsignedByte(); var16 = var3.readUnsignedByte();
SequenceDefinition.method4756(var16); SequenceDefinition.forceDisconnect(var16);
var1.serverPacket = null; var1.serverPacket = null;
return false; return false;
} }
@@ -4956,7 +4953,7 @@ public final class Client extends GameShell implements Usernamed {
} }
if (ServerPacket.field2111 == var1.serverPacket) { if (ServerPacket.field2111 == var1.serverPacket) {
DynamicObject.method2223(); DynamicObject.logOut();
var1.serverPacket = null; var1.serverPacket = null;
return false; return false;
} }
@@ -5082,7 +5079,7 @@ public final class Client extends GameShell implements Usernamed {
} }
class32.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength, (Throwable)null); class32.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength, (Throwable)null);
DynamicObject.method2223(); DynamicObject.logOut();
} catch (IOException var34) { } catch (IOException var34) {
MouseRecorder.method1213(); MouseRecorder.method1213();
} catch (Exception var35) { } catch (Exception var35) {
@@ -5093,7 +5090,7 @@ public final class Client extends GameShell implements Usernamed {
} }
class32.RunException_sendStackTrace(var31, var35); class32.RunException_sendStackTrace(var31, var35);
DynamicObject.method2223(); DynamicObject.logOut();
} }
return true; return true;

View File

@@ -109,7 +109,8 @@ public class Coord {
signature = "(I)V", signature = "(I)V",
garbageValue = "-2118719705" garbageValue = "-2118719705"
) )
static void method3976() { @Export("closeWorldSelect")
static void closeWorldSelect() {
Login.worldSelectOpen = false; Login.worldSelectOpen = false;
WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0); WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0);
class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0); class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0);

View File

@@ -198,7 +198,8 @@ public class DynamicObject extends Entity {
signature = "(I)V", signature = "(I)V",
garbageValue = "274251023" garbageValue = "274251023"
) )
static final void method2223() { @Export("logOut")
static final void logOut() {
Client.packetWriter.close(); Client.packetWriter.close();
WorldMapIcon_1.method314(); WorldMapIcon_1.method314();
PacketWriter.scene.clear(); PacketWriter.scene.clear();

View File

@@ -33,7 +33,7 @@ public class FriendLoginUpdate extends Link {
signature = "(Ljq;I)V" signature = "(Ljq;I)V"
) )
FriendLoginUpdate(Username var1, int var2) { FriendLoginUpdate(Username var1, int var2) {
this.field3627 = (int)(class30.method566() / 1000L); this.field3627 = (int)(class30.currentTimeMillis() / 1000L);
this.username = var1; this.username = var1;
this.world = (short)var2; this.world = (short)var2;
} }

View File

@@ -85,7 +85,7 @@ public class FriendSystem {
@Export("processFriendUpdates") @Export("processFriendUpdates")
final void processFriendUpdates() { final void processFriendUpdates() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.field3627 < class30.method566() / 1000L - 5L) { if ((long)var1.field3627 < class30.currentTimeMillis() / 1000L - 5L) {
if (var1.world > 0) { if (var1.world > 0) {
class210.addGameMessage(5, "", var1.username + " has logged in."); class210.addGameMessage(5, "", var1.username + " has logged in.");
} }

View File

@@ -63,7 +63,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 1528666585 intValue = 1528666585
) )
static int field419; @Export("gameCyclesToDo")
static int gameCyclesToDo;
@ObfuscatedName("m") @ObfuscatedName("m")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 1545406367 intValue = 1545406367
@@ -89,9 +90,11 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@Export("clock") @Export("clock")
static Clock clock; static Clock clock;
@ObfuscatedName("a") @ObfuscatedName("a")
static long[] field430; @Export("graphicsTickTimes")
static long[] graphicsTickTimes;
@ObfuscatedName("t") @ObfuscatedName("t")
static long[] field431; @Export("clientTickTimes")
static long[] clientTickTimes;
@ObfuscatedName("ao") @ObfuscatedName("ao")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -1408016773 intValue = -1408016773
@@ -201,8 +204,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
cycleDurationMillis = 20; cycleDurationMillis = 20;
fiveOrOne = 1; fiveOrOne = 1;
fps = 0; fps = 0;
field430 = new long[32]; graphicsTickTimes = new long[32];
field431 = new long[32]; clientTickTimes = new long[32];
field443 = 500; field443 = 500;
volatileFocus = true; volatileFocus = true;
garbageCollectorLastCollectionTime = -1L; garbageCollectorLastCollectionTime = -1L;
@@ -524,7 +527,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
} }
this.isCanvasInvalid = false; this.isCanvasInvalid = false;
this.field446 = class30.method566(); this.field446 = class30.currentTimeMillis();
} }
@ObfuscatedName("h") @ObfuscatedName("h")
@@ -564,11 +567,12 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
signature = "(I)V", signature = "(I)V",
garbageValue = "-1775618326" garbageValue = "-1775618326"
) )
void method963() { @Export("clientTick")
long var1 = class30.method566(); void clientTick() {
long var3 = field431[WorldMapID.field259]; long var1 = class30.currentTimeMillis();
field431[WorldMapID.field259] = var1; long var3 = clientTickTimes[WorldMapID.clientTickTimeIdx];
WorldMapID.field259 = WorldMapID.field259 + 1 & 31; clientTickTimes[WorldMapID.clientTickTimeIdx] = var1;
WorldMapID.clientTickTimeIdx = WorldMapID.clientTickTimeIdx + 1 & 31;
if (0L != var3 && var1 > var3) { if (0L != var3 && var1 > var3) {
} }
@@ -584,12 +588,13 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
signature = "(I)V", signature = "(I)V",
garbageValue = "-2138228896" garbageValue = "-2138228896"
) )
void method956() { @Export("graphicsTick")
void graphicsTick() {
Container var1 = this.container(); Container var1 = this.container();
long var2 = class30.method566(); long var2 = class30.currentTimeMillis();
long var4 = field430[Varcs.field1255]; long var4 = graphicsTickTimes[Varcs.graphicsTickTimeIdx];
field430[Varcs.field1255] = var2; graphicsTickTimes[Varcs.graphicsTickTimeIdx] = var2;
Varcs.field1255 = Varcs.field1255 + 1 & 31; Varcs.graphicsTickTimeIdx = Varcs.graphicsTickTimeIdx + 1 & 31;
if (var4 != 0L && var2 > var4) { if (var4 != 0L && var2 > var4) {
int var6 = (int)(var2 - var4); int var6 = (int)(var2 - var4);
fps = ((var6 >> 1) + 32000) / var6; fps = ((var6 >> 1) + 32000) / var6;
@@ -848,7 +853,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
public final void destroy() { public final void destroy() {
if (this == gameShell && !isKilled) { if (this == gameShell && !isKilled) {
stopTimeMs = class30.method566(); stopTimeMs = class30.currentTimeMillis();
long var1 = 4999L; long var1 = 4999L;
try { try {
@@ -868,7 +873,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
public final synchronized void paint(Graphics var1) { public final synchronized void paint(Graphics var1) {
if (this == gameShell && !isKilled) { if (this == gameShell && !isKilled) {
this.field420 = true; this.field420 = true;
if (class30.method566() - this.field446 > 1000L) { if (class30.currentTimeMillis() - this.field446 > 1000L) {
Rectangle var2 = var1.getClipBounds(); Rectangle var2 = var1.getClipBounds();
if (var2 == null || var2.width >= FloorDecoration.canvasWidth && var2.height >= WallDecoration.canvasHeight) { if (var2 == null || var2.width >= FloorDecoration.canvasWidth && var2.height >= WallDecoration.canvasHeight) {
this.isCanvasInvalid = true; this.isCanvasInvalid = true;
@@ -910,14 +915,14 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
this.setUp(); this.setUp();
clock = ItemContainer.newClock(); clock = ItemContainer.newClock();
while (0L == stopTimeMs || class30.method566() < stopTimeMs) { while (0L == stopTimeMs || class30.currentTimeMillis() < stopTimeMs) {
field419 = clock.wait(cycleDurationMillis, fiveOrOne); gameCyclesToDo = clock.wait(cycleDurationMillis, fiveOrOne);
for (int var5 = 0; var5 < field419; ++var5) { for (int var5 = 0; var5 < gameCyclesToDo; ++var5) {
this.method963(); this.clientTick();
} }
this.method956(); this.graphicsTick();
this.post(this.canvas); this.post(this.canvas);
} }
} catch (Exception var6) { } catch (Exception var6) {
@@ -936,7 +941,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
public final void stop() { public final void stop() {
if (this == gameShell && !isKilled) { if (this == gameShell && !isKilled) {
stopTimeMs = class30.method566() + 4000L; stopTimeMs = class30.currentTimeMillis() + 4000L;
} }
} }

View File

@@ -47,10 +47,10 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator {
garbageValue = "-1447475674" garbageValue = "-1447475674"
) )
static int method100() { static int method100() {
if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) {
int var0 = 0; int var0 = 0;
for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) { for (int var1 = 0; var1 <= Client.archiveLoadersDone; ++var1) {
var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -92,7 +92,7 @@ public class MenuAction {
} }
NetCache.NetCache_loadTime = 0; NetCache.NetCache_loadTime = 0;
NetCache.field3142 = class30.method566(); NetCache.field3142 = class30.currentTimeMillis();
return; return;
} }

View File

@@ -40,7 +40,7 @@ public class MilliClock extends Clock {
this.field1992 = 256; this.field1992 = 256;
this.field1994 = 1; this.field1994 = 1;
this.field1996 = 0; this.field1996 = 0;
this.field1997 = class30.method566(); this.field1997 = class30.currentTimeMillis();
for (int var1 = 0; var1 < 10; ++var1) { for (int var1 = 0; var1 < 10; ++var1) {
this.field1993[var1] = this.field1997; this.field1993[var1] = this.field1997;
@@ -72,7 +72,7 @@ public class MilliClock extends Clock {
int var4 = this.field1994; int var4 = this.field1994;
this.field1992 = 300; this.field1992 = 300;
this.field1994 = 1; this.field1994 = 1;
this.field1997 = class30.method566(); this.field1997 = class30.currentTimeMillis();
if (0L == this.field1993[this.field1995]) { if (0L == this.field1993[this.field1995]) {
this.field1992 = var3; this.field1992 = var3;
this.field1994 = var4; this.field1994 = var4;

View File

@@ -225,7 +225,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
MouseHandler_idleCycles = 0; MouseHandler_idleCycles = 0;
MouseHandler_lastPressedXVolatile = var1.getX(); MouseHandler_lastPressedXVolatile = var1.getX();
MouseHandler_lastPressedYVolatile = var1.getY(); MouseHandler_lastPressedYVolatile = var1.getY();
MouseHandler_lastPressedTimeMillisVolatile = class30.method566(); MouseHandler_lastPressedTimeMillisVolatile = class30.currentTimeMillis();
MouseHandler_lastButtonVolatile = this.getButton(var1); MouseHandler_lastButtonVolatile = this.getButton(var1);
if (MouseHandler_lastButtonVolatile != 0) { if (MouseHandler_lastButtonVolatile != 0) {
MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile;

View File

@@ -226,7 +226,7 @@ public class MouseRecorder implements Runnable {
) )
static final void method1213() { static final void method1213() {
if (Client.logoutTimer > 0) { if (Client.logoutTimer > 0) {
DynamicObject.method2223(); DynamicObject.logOut();
} else { } else {
Client.timer.method4937(); Client.timer.method4937();
updateGameState(40); updateGameState(40);

View File

@@ -215,7 +215,7 @@ public final class Occluder {
var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0";
} else { } else {
String var4 = var3 + "; Expires="; String var4 = var3 + "; Expires=";
long var6 = class30.method566() + 94608000000L; long var6 = class30.currentTimeMillis() + 94608000000L;
Calendar.Calendar_calendar.setTime(new Date(var6)); Calendar.Calendar_calendar.setTime(new Date(var6));
int var8 = Calendar.Calendar_calendar.get(7); int var8 = Calendar.Calendar_calendar.get(7);
int var9 = Calendar.Calendar_calendar.get(5); int var9 = Calendar.Calendar_calendar.get(5);

View File

@@ -101,7 +101,7 @@ public class PcmPlayer {
protected PcmPlayer() { protected PcmPlayer() {
this.field1388 = 32; this.field1388 = 32;
this.timeMs = class30.method566(); this.timeMs = class30.currentTimeMillis();
this.field1393 = 0L; this.field1393 = 0L;
this.field1383 = 0; this.field1383 = 0;
this.field1397 = 0; this.field1397 = 0;
@@ -182,7 +182,7 @@ public class PcmPlayer {
@Export("run") @Export("run")
public final synchronized void run() { public final synchronized void run() {
if (this.samples != null) { if (this.samples != null) {
long var1 = class30.method566(); long var1 = class30.currentTimeMillis();
try { try {
if (this.field1393 != 0L) { if (this.field1393 != 0L) {
@@ -289,7 +289,7 @@ public class PcmPlayer {
this.discard(); this.discard();
} catch (Exception var2) { } catch (Exception var2) {
this.close(); this.close();
this.field1393 = class30.method566() + 2000L; this.field1393 = class30.currentTimeMillis() + 2000L;
} }
} }
@@ -454,7 +454,7 @@ public class PcmPlayer {
this.stream.fill(var1, 0, var2); this.stream.fill(var1, 0, var2);
} }
this.timeMs = class30.method566(); this.timeMs = class30.currentTimeMillis();
} }
@ObfuscatedName("al") @ObfuscatedName("al")

View File

@@ -420,7 +420,7 @@ public class PlayerAppearance {
garbageValue = "-1021250910" garbageValue = "-1021250910"
) )
public static boolean method4010() { public static boolean method4010() {
long var0 = class30.method566(); long var0 = class30.currentTimeMillis();
int var2 = (int)(var0 - NetCache.field3142); int var2 = (int)(var0 - NetCache.field3142);
NetCache.field3142 = var0; NetCache.field3142 = var0;
if (var2 > 200) { if (var2 > 200) {

View File

@@ -371,8 +371,9 @@ public class SequenceDefinition extends DualNode {
signature = "(II)V", signature = "(II)V",
garbageValue = "-645881783" garbageValue = "-645881783"
) )
static final void method4756(int var0) { @Export("forceDisconnect")
DynamicObject.method2223(); static final void forceDisconnect(int var0) {
DynamicObject.logOut();
switch(var0) { switch(var0) {
case 1: case 1:
Login.loginIndex = 24; Login.loginIndex = 24;

View File

@@ -94,7 +94,8 @@ public final class TilePaint {
signature = "(ZI)V", signature = "(ZI)V",
garbageValue = "-2065502658" garbageValue = "-2065502658"
) )
static void method3043(boolean var0) { @Export("Login_promptCredentials")
static void Login_promptCredentials(boolean var0) {
Login.Login_response1 = ""; Login.Login_response1 = "";
Login.Login_response2 = "Enter your username/email & password."; Login.Login_response2 = "Enter your username/email & password.";
Login.Login_response3 = ""; Login.Login_response3 = "";

View File

@@ -74,7 +74,7 @@ public class Timer {
garbageValue = "-20" garbageValue = "-20"
) )
public void method4936() { public void method4936() {
this.field3561 = class30.method566(); this.field3561 = class30.currentTimeMillis();
} }
@ObfuscatedName("n") @ObfuscatedName("n")
@@ -84,7 +84,7 @@ public class Timer {
) )
public void method4937() { public void method4937() {
if (-1L != this.field3561) { if (-1L != this.field3561) {
this.field3565 = class30.method566() - this.field3561; this.field3565 = class30.currentTimeMillis() - this.field3561;
this.field3561 = -1L; this.field3561 = -1L;
} }
@@ -96,7 +96,7 @@ public class Timer {
garbageValue = "-1928577406" garbageValue = "-1928577406"
) )
public void method4938(int var1) { public void method4938(int var1) {
this.field3562 = class30.method566(); this.field3562 = class30.currentTimeMillis();
this.field3567 = var1; this.field3567 = var1;
} }
@@ -107,7 +107,7 @@ public class Timer {
) )
public void method4939() { public void method4939() {
if (-1L != this.field3562) { if (-1L != this.field3562) {
this.field3564 = class30.method566() - this.field3562; this.field3564 = class30.currentTimeMillis() - this.field3562;
this.field3562 = -1L; this.field3562 = -1L;
} }

View File

@@ -84,24 +84,11 @@ public class VarbitDefinition extends DualNode {
Login.xPadding = (FloorDecoration.canvasWidth - 765) / 2; Login.xPadding = (FloorDecoration.canvasWidth - 765) / 2;
Login.loginBoxX = Login.xPadding + 202; Login.loginBoxX = Login.xPadding + 202;
GrandExchangeOfferUnitPriceComparator.loginBoxCenter = Login.loginBoxX + 180; GrandExchangeOfferUnitPriceComparator.loginBoxCenter = Login.loginBoxX + 180;
int var10;
int var12;
int var14;
byte var23;
int var24;
int var28;
int var29;
int var30;
int var31;
int var32;
int var45;
if (Login.worldSelectOpen) { if (Login.worldSelectOpen) {
int var37;
int var39;
if (ArchiveLoader.worldSelectBackSprites == null) { if (ArchiveLoader.worldSelectBackSprites == null) {
Archive var36 = GrandExchangeOfferAgeComparator.archive8; Archive var36 = GrandExchangeOfferAgeComparator.archive8;
var39 = var36.getGroupId("sl_back"); int var39 = var36.getGroupId("sl_back");
var37 = var36.getFileId(var39, ""); int var37 = var36.getFileId(var39, "");
Sprite[] var35 = Canvas.SpriteBuffer_getSpriteArray(var36, var39, var37); Sprite[] var35 = Canvas.SpriteBuffer_getSpriteArray(var36, var39, var37);
ArchiveLoader.worldSelectBackSprites = var35; ArchiveLoader.worldSelectBackSprites = var35;
} }
@@ -132,13 +119,13 @@ public class VarbitDefinition extends DualNode {
var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1);
if (Frames.worldSelectStars != null) { if (Frames.worldSelectStars != null) {
Frames.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); Frames.worldSelectStars[1].drawAt(Login.xPadding + 140, 1);
var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); var1.draw("Members only world", Login.xPadding + 152, 10, 0xffffff, -1);
Frames.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); Frames.worldSelectStars[0].drawAt(Login.xPadding + 140, 12);
var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); var1.draw("Free world", Login.xPadding + 152, 21, 0xffffff, -1);
} }
if (GrandExchangeOfferTotalQuantityComparator.worldSelectArrows != null) { if (GrandExchangeOfferTotalQuantityComparator.worldSelectArrows != null) {
var45 = Login.xPadding + 280; int var45 = Login.xPadding + 280;
if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var45, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var45, 4);
} else { } else {
@@ -151,8 +138,8 @@ public class VarbitDefinition extends DualNode {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var45 + 15, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var45 + 15, 4);
} }
var0.draw("World", var45 + 32, 17, 16777215, -1); var0.draw("World", var45 + 32, 17, 0xffffff, -1);
var24 = Login.xPadding + 390; int var24 = Login.xPadding + 390;
if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var24, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var24, 4);
} else { } else {
@@ -165,8 +152,8 @@ public class VarbitDefinition extends DualNode {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var24 + 15, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var24 + 15, 4);
} }
var0.draw("Players", var24 + 32, 17, 16777215, -1); var0.draw("Players", var24 + 32, 17, 0xffffff, -1);
var39 = Login.xPadding + 500; int var39 = Login.xPadding + 500;
if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var39, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var39, 4);
} else { } else {
@@ -179,8 +166,8 @@ public class VarbitDefinition extends DualNode {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var39 + 15, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var39 + 15, 4);
} }
var0.draw("Location", var39 + 32, 17, 16777215, -1); var0.draw("Location", var39 + 32, 17, 0xffffff, -1);
var37 = Login.xPadding + 610; int var37 = Login.xPadding + 610;
if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var37, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var37, 4);
} else { } else {
@@ -193,17 +180,19 @@ public class VarbitDefinition extends DualNode {
GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var37 + 15, 4); GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var37 + 15, 4);
} }
var0.draw("Type", var37 + 32, 17, 16777215, -1); var0.draw("Type", var37 + 32, 17, 0xffffff, -1);
} }
Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0);
var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 0xffffff, -1);
Login.hoveredWorldIndex = -1; Login.hoveredWorldIndex = -1;
if (ArchiveLoader.worldSelectBackSprites != null) { if (ArchiveLoader.worldSelectBackSprites != null) {
var23 = 88; byte var23 = 88;
byte var50 = 19; byte var50 = 19;
var39 = 765 / (var23 + 1) - 1; int var39 = 765 / (var23 + 1) - 1;
var37 = 480 / (var50 + 1); int var37 = 480 / (var50 + 1);
int var28, var29;
do { do {
var28 = var37; var28 = var37;
@@ -231,9 +220,9 @@ public class VarbitDefinition extends DualNode {
var29 = 5; var29 = 5;
} }
var30 = (765 - var23 * var39 - var28 * (var39 - 1)) / 2; int var30 = (765 - var23 * var39 - var28 * (var39 - 1)) / 2;
var10 = (480 - var37 * var50 - var29 * (var37 - 1)) / 2; int var10 = (480 - var37 * var50 - var29 * (var37 - 1)) / 2;
var31 = (var37 + World.World_count - 1) / var37; int var31 = (var37 + World.World_count - 1) / var37;
Login.worldSelectPagesCount = var31 - var39; Login.worldSelectPagesCount = var31 - var39;
if (WorldMapIcon_0.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { if (WorldMapIcon_0.worldSelectLeftSprite != null && Login.worldSelectPage > 0) {
WorldMapIcon_0.worldSelectLeftSprite.drawAt(8, WallDecoration.canvasHeight / 2 - WorldMapIcon_0.worldSelectLeftSprite.subHeight / 2); WorldMapIcon_0.worldSelectLeftSprite.drawAt(8, WallDecoration.canvasHeight / 2 - WorldMapIcon_0.worldSelectLeftSprite.subHeight / 2);
@@ -243,9 +232,9 @@ public class VarbitDefinition extends DualNode {
HealthBar.worldSelectRightSprite.drawAt(FloorDecoration.canvasWidth - HealthBar.worldSelectRightSprite.subWidth - 8, WallDecoration.canvasHeight / 2 - HealthBar.worldSelectRightSprite.subHeight / 2); HealthBar.worldSelectRightSprite.drawAt(FloorDecoration.canvasWidth - HealthBar.worldSelectRightSprite.subWidth - 8, WallDecoration.canvasHeight / 2 - HealthBar.worldSelectRightSprite.subHeight / 2);
} }
var12 = var10 + 23; int var12 = var10 + 23;
var32 = var30 + Login.xPadding; int var32 = var30 + Login.xPadding;
var14 = 0; int var14 = 0;
boolean var15 = false; boolean var15 = false;
int var16 = Login.worldSelectPage; int var16 = Login.worldSelectPage;
@@ -291,7 +280,7 @@ public class VarbitDefinition extends DualNode {
if (MouseHandler.MouseHandler_x >= var32 && MouseHandler.MouseHandler_y >= var12 && MouseHandler.MouseHandler_x < var23 + var32 && MouseHandler.MouseHandler_y < var50 + var12 && var19) { if (MouseHandler.MouseHandler_x >= var32 && MouseHandler.MouseHandler_y >= var12 && MouseHandler.MouseHandler_x < var23 + var32 && MouseHandler.MouseHandler_y < var50 + var12 && var19) {
Login.hoveredWorldIndex = var17; Login.hoveredWorldIndex = var17;
ArchiveLoader.worldSelectBackSprites[var21].drawTransOverlayAt(var32, var12, 128, 16777215); ArchiveLoader.worldSelectBackSprites[var21].drawTransOverlayAt(var32, var12, 128, 0xffffff);
var15 = true; var15 = true;
} else { } else {
ArchiveLoader.worldSelectBackSprites[var21].drawAt(var32, var12); ArchiveLoader.worldSelectBackSprites[var21].drawAt(var32, var12);
@@ -328,407 +317,391 @@ public class VarbitDefinition extends DualNode {
} }
class42.rasterProvider.drawFull(0, 0); class42.rasterProvider.drawFull(0, 0);
} else { return;
WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0); }
class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
FontName.logoSprite.drawAt(Login.xPadding + 382 - FontName.logoSprite.subWidth / 2, 18);
if (Client.gameState == 0 || Client.gameState == 5) {
var23 = 20;
var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var23, 16777215, -1);
var24 = 253 - var23;
Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var24, 304, 34, 9179409);
Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var24 + 1, 302, 32, 0);
Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var24 + 2, Login.Login_loadingPercent * 3, 30, 9179409);
Rasterizer2D.Rasterizer2D_fillRectangle(Login.Login_loadingPercent * 3 + (Login.loginBoxX + 180 - 150), var24 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0);
var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var23, 16777215, -1);
}
String var8; WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0);
String var9; class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
char[] var11; FontName.logoSprite.drawAt(Login.xPadding + 382 - FontName.logoSprite.subWidth / 2, 18);
char[] var13; if (Client.gameState == 0 || Client.gameState == 5) {
String var25; byte var23 = 20;
String var27; var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var23, 0xffffff, -1);
String var40; int var24 = 253 - var23;
short var44; Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var24, 304, 34, 9179409);
short var46; Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var24 + 1, 302, 32, 0);
if (Client.gameState == 20) { Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var24 + 2, Login.Login_loadingPercent * 3, 30, 9179409);
class32.titleboxSprite.drawAt(Login.loginBoxX + 180 - class32.titleboxSprite.subWidth / 2, 271 - class32.titleboxSprite.subHeight / 2); Rasterizer2D.Rasterizer2D_fillRectangle(Login.Login_loadingPercent * 3 + (Login.loginBoxX + 180 - 150), var24 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0);
var44 = 201; var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var23, 0xffffff, -1);
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0); } else if (Client.gameState == 20) {
class32.titleboxSprite.drawAt(Login.loginBoxX + 180 - class32.titleboxSprite.subWidth / 2, 271 - class32.titleboxSprite.subHeight / 2);
short var44 = 201;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var45 += 7;
if (Login.loginIndex != 4) {
var0.draw("Login: ", Login.loginBoxX + 180 - 110, var45, 0xffffff, 0);
short var46 = 200;
String var25;
if (!AbstractArchive.clientPreferences.hideUsername) {
var25 = Login.Login_username;
} else {
String var8 = Login.Login_username;
int var10 = var8.length();
char[] var11 = new char[var10];
for (int var12 = 0; var12 < var10; ++var12) {
var11[var12] = '*';
}
String var9 = new String(var11);
var25 = var9;
}
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(0, var25.length() - 1)) {
}
var0.draw(AbstractFont.escapeBrackets(var25), Login.loginBoxX + 180 - 70, var45, 0xffffff, 0);
var45 += 15;
String var8 = "Password: ";
String var27 = Login.Login_password;
int var12 = var27.length();
char[] var13 = new char[var12];
for (int var14 = 0; var14 < var12; ++var14) {
var13[var14] = '*';
}
String var40 = new String(var13);
var0.draw(var8 + var40, Login.loginBoxX + 180 - 108, var45, 0xffffff, 0);
var45 += 15;
}
} else if (Client.gameState == 10 || Client.gameState == 11) {
class32.titleboxSprite.drawAt(Login.loginBoxX, 171);
if (Login.loginIndex == 0) {
short var44 = 251;
var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var44, 16776960, 0);
int var45 = var44 + 30;
int var24 = Login.loginBoxX + 180 - 80;
short var5 = 291;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawLines("New User", var24 - 73, var5 - 20, 144, 40, 0xffffff, 0, 1, 1, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawLines("Existing User", var24 - 73, var5 - 20, 144, 40, 0xffffff, 0, 1, 1, 0);
} else if (Login.loginIndex == 1) {
var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0);
short var44 = 236;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 0xffffff, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
int var24 = Login.loginBoxX + 180 - 80;
short var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Continue", var24, var5 + 5, 0xffffff, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Cancel", var24, var5 + 5, 0xffffff, 0);
} else if (Login.loginIndex == 2) {
short var44 = 201;
var0.drawCentered(Login.Login_response1, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 16776960, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0);
var45 += 15;
var45 += 7;
var0.draw("Login: ", GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 110, var45, 0xffffff, 0);
short var46 = 200;
String var25;
if (!AbstractArchive.clientPreferences.hideUsername) {
var25 = Login.Login_username;
} else {
String var8 = Login.Login_username;
int var10 = var8.length();
char[] var11 = new char[var10];
for (int var12 = 0; var12 < var10; ++var12) {
var11[var12] = '*';
}
String var9 = new String(var11);
var25 = var9;
}
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) {
}
var0.draw(AbstractFont.escapeBrackets(var25) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 70, var45, 0xffffff, 0);
var45 += 15;
String var8 = "Password: ";
String var27 = Login.Login_password;
int var12 = var27.length();
char[] var13 = new char[var12];
for (int var14 = 0; var14 < var12; ++var14) {
var13[var14] = '*';
}
String var40 = new String(var13);
var0.draw(var8 + var40 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 108, var45, 0xffffff, 0);
var45 += 15;
var44 = 277;
int var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + -117;
IndexedSprite var34 = ClientPacket.method3578(Client.Login_isUsernameRemembered, Login.field1176);
var34.drawAt(var31, var44);
var31 = var31 + var34.subWidth + 5;
var1.draw("Remember username", var31, var44 + 13, 16776960, 0);
var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 24;
var34 = ClientPacket.method3578(AbstractArchive.clientPreferences.hideUsername, Login.field1192);
var34.drawAt(var31, var44);
var31 = var31 + var34.subWidth + 5;
var1.draw("Hide username", var31, var44 + 13, 16776960, 0);
var45 = var44 + 15; var45 = var44 + 15;
int var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80;
short var42 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20);
var0.drawCentered("Login", var32, var42 + 5, 0xffffff, 0);
var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20);
var0.drawCentered("Cancel", var32, var42 + 5, 0xffffff, 0);
var44 = 357;
switch(Login.field1171) {
case 2:
class3.field18 = "Having trouble logging in?";
break;
default:
class3.field18 = "Can't login? Click here.";
}
LoginScreenAnimation.field1032 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth(class3.field18), 11);
class162.field1988 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth("Still having trouble logging in?"), 11);
var1.drawCentered(class3.field18, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 0xffffff, 0);
} else if (Login.loginIndex == 3) {
short var44 = 201;
var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var44, 16776960, 0);
int var45 = var44 + 20;
var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
int var24 = Login.loginBoxX + 180;
short var5 = 276;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var2.drawCentered("Try again", var24, var5 + 5, 0xffffff, 0);
var24 = Login.loginBoxX + 180;
var5 = 326;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var2.drawCentered("Forgotten password?", var24, var5 + 5, 0xffffff, 0);
} else if (Login.loginIndex == 4) {
var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0);
short var44 = 236;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 0xffffff, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
String var26 = "PIN: ";
String var7 = DesktopPlatformInfoProvider.otp;
int var30 = var7.length();
char[] var47 = new char[var30];
for (int var31 = 0; var31 < var30; ++var31) {
var47[var31] = '*';
}
String var8 = new String(var47);
var0.draw(var26 + var8 + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var45, 0xffffff, 0);
var45 -= 8;
var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var45, 16776960, 0);
var45 += 15;
var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var45, 16776960, 0);
int var29 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15;
var30 = var45 - var0.ascent;
IndexedSprite var48;
if (Login.field1183) {
var48 = class42.options_buttons_2Sprite;
} else {
var48 = class195.options_buttons_0Sprite;
}
var48.drawAt(var29, var30);
var45 += 15;
int var31 = Login.loginBoxX + 180 - 80;
short var41 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20);
var0.drawCentered("Continue", var31, var41 + 5, 0xffffff, 0);
var31 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20);
var0.drawCentered("Cancel", var31, var41 + 5, 0xffffff, 0);
var1.drawCentered("<u=ff>Can't Log In?</u>", Login.loginBoxX + 180, var41 + 36, 255, 0);
} else if (Login.loginIndex == 5) {
var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0);
short var44 = 221;
var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0);
int var45 = var44 + 15;
var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var45 += 14;
var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var45, 0xffffff, 0);
short var46 = 174;
String var25;
if (!AbstractArchive.clientPreferences.hideUsername) {
var25 = Login.Login_username;
} else {
String var8 = Login.Login_username;
int var10 = var8.length();
char[] var11 = new char[var10];
for (int var12 = 0; var12 < var10; ++var12) {
var11[var12] = '*';
}
String var9 = new String(var11);
var25 = var9;
}
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) {
}
var0.draw(AbstractFont.escapeBrackets(var25) + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var45, 0xffffff, 0);
var45 += 15;
int var28 = Login.loginBoxX + 180 - 80;
short var49 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Recover", var28, var49 + 5, 0xffffff, 0);
var28 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Back", var28, var49 + 5, 0xffffff, 0);
var49 = 356;
var1.drawCentered("Still having trouble logging in?", GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var49, 268435455, 0);
} else if (Login.loginIndex == 6) {
short var44 = 201;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0); var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15; var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0); var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15; var45 += 15;
var45 += 7; int var24 = Login.loginBoxX + 180;
if (Login.loginIndex != 4) { short var5 = 321;
var0.draw("Login: ", Login.loginBoxX + 180 - 110, var45, 16777215, 0); AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var46 = 200; var0.drawCentered("Back", var24, var5 + 5, 0xffffff, 0);
if (!AbstractArchive.clientPreferences.hideUsername) { } else if (Login.loginIndex == 7) {
var25 = Login.Login_username; short var44 = 216;
} else { var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var44, 16776960, 0);
var8 = Login.Login_username; int var45 = var44 + 15;
var10 = var8.length(); var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var45, 16776960, 0);
var11 = new char[var10]; var45 += 15;
var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var45, 16776960, 0);
for (var12 = 0; var12 < var10; ++var12) { var45 += 15;
var11[var12] = '*'; int var24 = Login.loginBoxX + 180 - 80;
} short var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var9 = new String(var11); var0.drawCentered("Set Date of Birth", var24, var5 + 5, 0xffffff, 0);
var25 = var9; var24 = Login.loginBoxX + 180 + 80;
} AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Back", var24, var5 + 5, 0xffffff, 0);
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(0, var25.length() - 1)) { } else if (Login.loginIndex == 8) {
} short var44 = 216;
var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var44, 16776960, 0);
var0.draw(AbstractFont.escapeBrackets(var25), Login.loginBoxX + 180 - 70, var45, 16777215, 0); int var45 = var44 + 15;
var45 += 15; var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var45, 16776960, 0);
var8 = "Password: "; var45 += 15;
var27 = Login.Login_password; var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var45, 16776960, 0);
var12 = var27.length(); var45 += 15;
var13 = new char[var12]; int var24 = Login.loginBoxX + 180 - 80;
short var5 = 321;
for (var14 = 0; var14 < var12; ++var14) { AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var13[var14] = '*'; var0.drawCentered("Privacy Policy", var24, var5 + 5, 0xffffff, 0);
} var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var40 = new String(var13); var0.drawCentered("Back", var24, var5 + 5, 0xffffff, 0);
var0.draw(var8 + var40, Login.loginBoxX + 180 - 108, var45, 16777215, 0); } else if (Login.loginIndex == 12) {
var45 += 15; short var44 = 201;
} String var4 = "";
} String var26 = "";
String var25 = "";
if (Client.gameState == 10 || Client.gameState == 11) { switch (Login.field1174) {
class32.titleboxSprite.drawAt(Login.loginBoxX, 171); case 0:
short var5; var4 = "Your account has been disabled.";
if (Login.loginIndex == 0) { var26 = Strings.field2793;
var44 = 251; var25 = "";
var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var44, 16776960, 0); break;
var45 = var44 + 30; case 1:
var24 = Login.loginBoxX + 180 - 80; var4 = "Account locked as we suspect it has been stolen.";
var5 = 291; var26 = Strings.field2783;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); var25 = "";
var0.drawLines("New User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawLines("Existing User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0);
} else if (Login.loginIndex == 1) {
var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0);
var44 = 236;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0);
var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var24 = Login.loginBoxX + 180 - 80;
var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Continue", var24, var5 + 5, 16777215, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Cancel", var24, var5 + 5, 16777215, 0);
} else if (Login.loginIndex == 2) {
var44 = 201;
var0.drawCentered(Login.Login_response1, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 16776960, 0);
var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0);
var45 += 15;
var45 += 7;
var0.draw("Login: ", GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 110, var45, 16777215, 0);
var46 = 200;
if (!AbstractArchive.clientPreferences.hideUsername) {
var25 = Login.Login_username;
} else {
var8 = Login.Login_username;
var10 = var8.length();
var11 = new char[var10];
for (var12 = 0; var12 < var10; ++var12) {
var11[var12] = '*';
}
var9 = new String(var11);
var25 = var9;
}
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) {
}
var0.draw(AbstractFont.escapeBrackets(var25) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 70, var45, 16777215, 0);
var45 += 15;
var8 = "Password: ";
var27 = Login.Login_password;
var12 = var27.length();
var13 = new char[var12];
for (var14 = 0; var14 < var12; ++var14) {
var13[var14] = '*';
}
var40 = new String(var13);
var0.draw(var8 + var40 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 108, var45, 16777215, 0);
var45 += 15;
var44 = 277;
var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + -117;
IndexedSprite var34 = ClientPacket.method3578(Client.Login_isUsernameRemembered, Login.field1176);
var34.drawAt(var31, var44);
var31 = var31 + var34.subWidth + 5;
var1.draw("Remember username", var31, var44 + 13, 16776960, 0);
var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 24;
var34 = ClientPacket.method3578(AbstractArchive.clientPreferences.hideUsername, Login.field1192);
var34.drawAt(var31, var44);
var31 = var31 + var34.subWidth + 5;
var1.draw("Hide username", var31, var44 + 13, 16776960, 0);
var45 = var44 + 15;
var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80;
short var42 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20);
var0.drawCentered("Login", var32, var42 + 5, 16777215, 0);
var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20);
var0.drawCentered("Cancel", var32, var42 + 5, 16777215, 0);
var44 = 357;
switch(Login.field1171) {
case 2:
class3.field18 = "Having trouble logging in?";
break; break;
default: default:
class3.field18 = "Can't login? Click here."; TilePaint.Login_promptCredentials(false);
}
LoginScreenAnimation.field1032 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth(class3.field18), 11);
class162.field1988 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth("Still having trouble logging in?"), 11);
var1.drawCentered(class3.field18, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 16777215, 0);
} else if (Login.loginIndex == 3) {
var44 = 201;
var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 20;
var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var24 = Login.loginBoxX + 180;
var5 = 276;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var2.drawCentered("Try again", var24, var5 + 5, 16777215, 0);
var24 = Login.loginBoxX + 180;
var5 = 326;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var2.drawCentered("Forgotten password?", var24, var5 + 5, 16777215, 0);
} else {
String var26;
if (Login.loginIndex == 4) {
var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0);
var44 = 236;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0);
var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var26 = "PIN: ";
String var7 = DesktopPlatformInfoProvider.otp;
var30 = var7.length();
char[] var47 = new char[var30];
for (var31 = 0; var31 < var30; ++var31) {
var47[var31] = '*';
}
var8 = new String(var47);
var0.draw(var26 + var8 + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var45, 16777215, 0);
var45 -= 8;
var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var45, 16776960, 0);
var45 += 15;
var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var45, 16776960, 0);
var29 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15;
var30 = var45 - var0.ascent;
IndexedSprite var48;
if (Login.field1183) {
var48 = class42.options_buttons_2Sprite;
} else {
var48 = class195.options_buttons_0Sprite;
}
var48.drawAt(var29, var30);
var45 += 15;
var31 = Login.loginBoxX + 180 - 80;
short var41 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20);
var0.drawCentered("Continue", var31, var41 + 5, 16777215, 0);
var31 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20);
var0.drawCentered("Cancel", var31, var41 + 5, 16777215, 0);
var1.drawCentered("<u=ff>Can't Log In?</u>", Login.loginBoxX + 180, var41 + 36, 255, 0);
} else {
short var49;
if (Login.loginIndex == 5) {
var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0);
var44 = 221;
var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 15;
var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var45 += 14;
var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var45, 16777215, 0);
var46 = 174;
if (!AbstractArchive.clientPreferences.hideUsername) {
var25 = Login.Login_username;
} else {
var8 = Login.Login_username;
var10 = var8.length();
var11 = new char[var10];
for (var12 = 0; var12 < var10; ++var12) {
var11[var12] = '*';
}
var9 = new String(var11);
var25 = var9;
}
for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) {
}
var0.draw(AbstractFont.escapeBrackets(var25) + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var45, 16777215, 0);
var45 += 15;
var28 = Login.loginBoxX + 180 - 80;
var49 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Recover", var28, var49 + 5, 16777215, 0);
var28 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Back", var28, var49 + 5, 16777215, 0);
var49 = 356;
var1.drawCentered("Still having trouble logging in?", GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var49, 268435455, 0);
} else if (Login.loginIndex == 6) {
var44 = 201;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var24 = Login.loginBoxX + 180;
var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Back", var24, var5 + 5, 16777215, 0);
} else if (Login.loginIndex == 7) {
var44 = 216;
var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 15;
var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var24 = Login.loginBoxX + 180 - 80;
var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Set Date of Birth", var24, var5 + 5, 16777215, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Back", var24, var5 + 5, 16777215, 0);
} else if (Login.loginIndex == 8) {
var44 = 216;
var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 15;
var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var24 = Login.loginBoxX + 180 - 80;
var5 = 321;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Privacy Policy", var24, var5 + 5, 16777215, 0);
var24 = Login.loginBoxX + 180 + 80;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Back", var24, var5 + 5, 16777215, 0);
} else if (Login.loginIndex == 12) {
var44 = 201;
String var4 = "";
var26 = "";
var25 = "";
switch(Login.field1174) {
case 0:
var4 = "Your account has been disabled.";
var26 = Strings.field2793;
var25 = "";
break;
case 1:
var4 = "Account locked as we suspect it has been stolen.";
var26 = Strings.field2783;
var25 = "";
break;
default:
TilePaint.method3043(false);
}
var0.drawCentered(var4, Login.loginBoxX + 180, var44, 16776960, 0);
var45 = var44 + 15;
var2.drawCentered(var26, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var2.drawCentered(var25, Login.loginBoxX + 180, var45, 16776960, 0);
var45 += 15;
var28 = Login.loginBoxX + 180;
var49 = 276;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Support Page", var28, var49 + 5, 16777215, 0);
var28 = Login.loginBoxX + 180;
var49 = 326;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Back", var28, var49 + 5, 16777215, 0);
} else if (Login.loginIndex == 24) {
var44 = 221;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0);
var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0);
var45 += 15;
var24 = Login.loginBoxX + 180;
var5 = 301;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Ok", var24, var5 + 5, 16777215, 0);
}
}
} }
}
if (Client.gameState >= 10) { var0.drawCentered(var4, Login.loginBoxX + 180, var44, 16776960, 0);
int[] var3 = new int[4]; int var45 = var44 + 15;
Rasterizer2D.Rasterizer2D_getClipArray(var3); var2.drawCentered(var26, Login.loginBoxX + 180, var45, 16776960, 0);
Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, WallDecoration.canvasHeight); var45 += 15;
BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); var2.drawCentered(var25, Login.loginBoxX + 180, var45, 16776960, 0);
BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); var45 += 15;
Rasterizer2D.Rasterizer2D_setClipArray(var3); int var28 = Login.loginBoxX + 180;
short var49 = 276;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Support Page", var28, var49 + 5, 0xffffff, 0);
var28 = Login.loginBoxX + 180;
var49 = 326;
AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20);
var0.drawCentered("Back", var28, var49 + 5, 0xffffff, 0);
} else if (Login.loginIndex == 24) {
short var44 = 221;
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 0xffffff, 0);
int var45 = var44 + 15;
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 0xffffff, 0);
var45 += 15;
int var24 = Login.loginBoxX + 180;
short var5 = 301;
AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20);
var0.drawCentered("Ok", var24, var5 + 5, 0xffffff, 0);
} }
UserComparator7.title_muteSprite[AbstractArchive.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463);
if (Client.gameState > 5 && Language.Language_EN == WorldMapLabelSize.clientLanguage) {
if (Skeleton.field1767 != null) {
var45 = Login.xPadding + 5;
var46 = 463;
byte var38 = 100;
byte var6 = 35;
Skeleton.field1767.drawAt(var45, var46);
var0.drawCentered("World" + " " + Client.worldId, var38 / 2 + var45, var6 / 2 + var46 - 2, 16777215, 0);
if (class51.World_request != null) {
var1.drawCentered("Loading...", var38 / 2 + var45, var6 / 2 + var46 + 12, 16777215, 0);
} else {
var1.drawCentered("Click to switch", var38 / 2 + var45, var6 / 2 + var46 + 12, 16777215, 0);
}
} else {
Skeleton.field1767 = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(GrandExchangeOfferAgeComparator.archive8, "sl_button", "");
}
}
} }
if (Client.gameState >= 10) {
int[] var3 = new int[4];
Rasterizer2D.Rasterizer2D_getClipArray(var3);
Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, WallDecoration.canvasHeight);
BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle);
BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle);
Rasterizer2D.Rasterizer2D_setClipArray(var3);
}
UserComparator7.title_muteSprite[AbstractArchive.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463);
if (Client.gameState > 5 && Language.Language_EN == WorldMapLabelSize.clientLanguage) {
if (Skeleton.field1767 == null) {
Skeleton.field1767 = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(GrandExchangeOfferAgeComparator.archive8, "sl_button", "");
} else {
int var45 = Login.xPadding + 5;
short var46 = 463;
byte var38 = 100;
byte var6 = 35;
Skeleton.field1767.drawAt(var45, var46);
var0.drawCentered("World" + " " + Client.worldId, var38 / 2 + var45, var6 / 2 + var46 - 2, 0xffffff, 0);
if (class51.World_request != null) {
var1.drawCentered("Loading...", var38 / 2 + var45, var6 / 2 + var46 + 12, 0xffffff, 0);
} else {
var1.drawCentered("Click to switch", var38 / 2 + var45, var6 / 2 + var46 + 12, 0xffffff, 0);
}
}
}
} }
} }

View File

@@ -16,7 +16,8 @@ public class Varcs {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -1292567711 intValue = -1292567711
) )
static int field1255; @Export("graphicsTickTimeIdx")
static int graphicsTickTimeIdx;
@ObfuscatedName("ho") @ObfuscatedName("ho")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -2002882325 intValue = -2002882325
@@ -237,7 +238,7 @@ public class Varcs {
} }
this.unwrittenChanges = false; this.unwrittenChanges = false;
this.field1253 = class30.method566(); this.field1253 = class30.currentTimeMillis();
} }
@ObfuscatedName("i") @ObfuscatedName("i")
@@ -339,7 +340,7 @@ public class Varcs {
) )
@Export("tryWrite") @Export("tryWrite")
void tryWrite() { void tryWrite() {
if (this.unwrittenChanges && this.field1253 < class30.method566() - 60000L) { if (this.unwrittenChanges && this.field1253 < class30.currentTimeMillis() - 60000L) {
this.write(); this.write();
} }

View File

@@ -425,7 +425,7 @@ public class WorldMap {
garbageValue = "-1491433552" garbageValue = "-1491433552"
) )
public void method6445(int var1, int var2, boolean var3, boolean var4) { public void method6445(int var1, int var2, boolean var3, boolean var4) {
long var5 = class30.method566(); long var5 = class30.currentTimeMillis();
this.method6305(var1, var2, var4, var5); this.method6305(var1, var2, var4, var5);
if (!this.hasTarget() && (var4 || var3)) { if (!this.hasTarget() && (var4 || var3)) {
if (var4) { if (var4) {
@@ -543,7 +543,7 @@ public class WorldMap {
final void setWorldMapPosition(int var1, int var2, boolean var3) { final void setWorldMapPosition(int var1, int var2, boolean var3) {
this.centerTileX = var1; this.centerTileX = var1;
this.centerTileY = var2; this.centerTileY = var2;
class30.method566(); class30.currentTimeMillis();
if (var3) { if (var3) {
this.method6269(); this.method6269();
} }

View File

@@ -161,13 +161,13 @@ public class WorldMapDecoration {
int var0; int var0;
for (var0 = 0; var0 < 32; ++var0) { for (var0 = 0; var0 < 32; ++var0) {
GameShell.field430[var0] = 0L; GameShell.graphicsTickTimes[var0] = 0L;
} }
for (var0 = 0; var0 < 32; ++var0) { for (var0 = 0; var0 < 32; ++var0) {
GameShell.field431[var0] = 0L; GameShell.clientTickTimes[var0] = 0L;
} }
GameShell.field419 = 0; GameShell.gameCyclesToDo = 0;
} }
} }

View File

@@ -33,7 +33,8 @@ public class WorldMapID {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -81572617 intValue = -81572617
) )
static int field259; @Export("clientTickTimeIdx")
static int clientTickTimeIdx;
@ObfuscatedName("v") @ObfuscatedName("v")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -1325901065 intValue = -1325901065

View File

@@ -41,7 +41,8 @@ public class class30 {
signature = "(I)J", signature = "(I)J",
garbageValue = "1399044967" garbageValue = "1399044967"
) )
public static final synchronized long method566() { @Export("currentTimeMillis")
public static final synchronized long currentTimeMillis() {
long var0 = System.currentTimeMillis(); long var0 = System.currentTimeMillis();
if (var0 < class296.field3688) { if (var0 < class296.field3688) {
class296.field3689 += class296.field3688 - var0; class296.field3689 += class296.field3688 - var0;

View File

@@ -122,7 +122,7 @@ final class class4 implements class0 {
} }
if (AbstractUserComparator.garbageCollector != null) { if (AbstractUserComparator.garbageCollector != null) {
long var9 = class30.method566(); long var9 = class30.currentTimeMillis();
long var3 = AbstractUserComparator.garbageCollector.getCollectionTime(); long var3 = AbstractUserComparator.garbageCollector.getCollectionTime();
if (GameShell.garbageCollectorLastCollectionTime != -1L) { if (GameShell.garbageCollectorLastCollectionTime != -1L) {
long var5 = var3 - GameShell.garbageCollectorLastCollectionTime; long var5 = var3 - GameShell.garbageCollectorLastCollectionTime;