Files
runelite/runescape-client/src/main/java/DevicePcmPlayerProvider.java
Owain van Brakel e6be88fbeb project: rev 199
2021-08-25 13:49:53 +02:00

1012 lines
40 KiB
Java

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Random;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("w")
@Implements("DevicePcmPlayerProvider")
public class DevicePcmPlayerProvider implements class45 {
@ObfuscatedName("bo")
@ObfuscatedSignature(
descriptor = "[Loc;"
)
@Export("worldSelectBackSprites")
static SpritePixels[] worldSelectBackSprites;
@ObfuscatedName("in")
@ObfuscatedGetter(
intValue = -1460804085
)
@Export("cameraZ")
static int cameraZ;
DevicePcmPlayerProvider() {
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(I)Lab;",
garbageValue = "286200074"
)
@Export("player")
public PcmPlayer player() {
return new DevicePcmPlayer();
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(IIS)Lbc;",
garbageValue = "32017"
)
@Export("Messages_getByChannelAndID")
static Message Messages_getByChannelAndID(int var0, int var1) {
ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0);
return var2.getMessage(var1);
}
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-127022477"
)
@Export("savePreferences")
static void savePreferences() {
AccessFile var0 = null;
try {
var0 = class4.getPreferencesFile("", class16.field83.name, true);
Buffer var1 = VarbitComposition.clientPreferences.toBuffer();
var0.write(var1.array, 0, var1.offset);
} catch (Exception var3) {
}
try {
if (var0 != null) {
var0.closeSync(true);
}
} catch (Exception var2) {
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(Lat;Llu;I)V",
garbageValue = "139853738"
)
static void method366(GameEngine var0, Font var1) {
int var3;
int var4;
int var5;
if (Login.worldSelectOpen) {
while (true) {
if (!KitDefinition.isKeyDown()) {
if (MouseHandler.MouseHandler_lastButton != 1 && (Script.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) {
break;
}
int var2 = Login.xPadding + 280;
if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(0, 0);
break;
}
if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(0, 1);
break;
}
var3 = Login.xPadding + 390;
if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(1, 0);
break;
}
if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(1, 1);
break;
}
var4 = Login.xPadding + 500;
if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(2, 0);
break;
}
if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(2, 1);
break;
}
var5 = Login.xPadding + 610;
if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var5 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(3, 0);
break;
}
if (MouseHandler.MouseHandler_lastPressedX >= var5 + 15 && MouseHandler.MouseHandler_lastPressedX <= var5 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
StructComposition.changeWorldSelectSorting(3, 1);
break;
}
if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) {
Login.worldSelectOpen = false;
class318.leftTitleSprite.drawAt(Login.xPadding, 0);
Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18);
break;
}
if (Login.hoveredWorldIndex != -1) {
World var6 = class393.World_worlds[Login.hoveredWorldIndex];
ScriptFrame.changeWorld(var6);
Login.worldSelectOpen = false;
class318.leftTitleSprite.drawAt(Login.xPadding, 0);
Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18);
} else {
if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class184.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) {
--Login.worldSelectPage;
}
if (Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= InvDefinition.canvasWidth - FriendsChat.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= InvDefinition.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) {
++Login.worldSelectPage;
}
}
break;
}
if (SpriteMask.field2994 == 13) {
Login.worldSelectOpen = false;
class318.leftTitleSprite.drawAt(Login.xPadding, 0);
Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18);
break;
}
if (SpriteMask.field2994 == 96) {
if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null) {
--Login.worldSelectPage;
}
} else if (SpriteMask.field2994 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null) {
++Login.worldSelectPage;
}
}
} else {
if ((MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) {
VarbitComposition.clientPreferences.titleMusicDisabled = !VarbitComposition.clientPreferences.titleMusicDisabled;
savePreferences();
if (!VarbitComposition.clientPreferences.titleMusicDisabled) {
Archive var30 = class276.archive6;
var3 = var30.getGroupId("scape main");
var4 = var30.getFileId(var3, "");
Decimator.method1051(var30, var3, var4, 255, false);
} else {
Canvas.method371();
}
}
if (Client.gameState != 5) {
if (-1L == Login.field902) {
Login.field902 = Occluder.method4335() + 1000L;
}
long var31 = Occluder.method4335();
boolean var54;
if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) {
while (true) {
if (Client.archiveLoadersDone >= Client.archiveLoaders.size()) {
var54 = true;
break;
}
ArchiveLoader var33 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone);
if (!var33.isLoaded()) {
var54 = false;
break;
}
++Client.archiveLoadersDone;
}
} else {
var54 = true;
}
if (var54 && Login.field875 == -1L) {
Login.field875 = var31;
if (Login.field875 > Login.field902) {
Login.field902 = Login.field875;
}
}
if (Client.gameState == 10 || Client.gameState == 11) {
if (Language.Language_EN == class323.clientLanguage) {
if (MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) {
var5 = Login.xPadding + 5;
short var34 = 463;
byte var7 = 100;
byte var8 = 35;
if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var7 + var5 && MouseHandler.MouseHandler_lastPressedY >= var34 && MouseHandler.MouseHandler_lastPressedY <= var34 + var8) {
if (ObjectComposition.loadWorlds()) {
Login.worldSelectOpen = true;
Login.worldSelectPage = 0;
Login.worldSelectPagesCount = 0;
}
return;
}
}
if (WorldMapArchiveLoader.World_request != null && ObjectComposition.loadWorlds()) {
Login.worldSelectOpen = true;
Login.worldSelectPage = 0;
Login.worldSelectPagesCount = 0;
}
}
var5 = MouseHandler.MouseHandler_lastButton;
int var67 = MouseHandler.MouseHandler_lastPressedX;
int var55 = MouseHandler.MouseHandler_lastPressedY;
if (var5 == 0) {
var67 = MouseHandler.MouseHandler_x;
var55 = MouseHandler.MouseHandler_y;
}
if (!Script.mouseCam && var5 == 4) {
var5 = 1;
}
short var58;
int var61;
if (Login.loginIndex == 0) {
boolean var64 = false;
while (KitDefinition.isKeyDown()) {
if (SpriteMask.field2994 == 84) {
var64 = true;
}
}
var61 = class11.loginBoxCenter - 80;
var58 = 291;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) {
Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false);
}
var61 = class11.loginBoxCenter + 80;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20 || var64) {
if ((Client.worldProperties & 33554432) != 0) {
Login.Login_response0 = "";
Login.Login_response1 = "This is a <col=00ffff>Beta<col=ffffff> world.";
Login.Login_response2 = "Your normal account will not be affected.";
Login.Login_response3 = "";
Message.method1113(1);
if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
Login.currentLoginField = 1;
} else {
Login.currentLoginField = 0;
}
} else if ((Client.worldProperties & 4) != 0) {
if ((Client.worldProperties & 1024) != 0) {
Login.Login_response1 = "This is a <col=ffff00>High Risk <col=ff0000>PvP<col=ffffff> world.";
Login.Login_response2 = "Players can attack each other almost everywhere";
Login.Login_response3 = "and the Protect Item prayer won't work.";
} else {
Login.Login_response1 = "This is a <col=ff0000>PvP<col=ffffff> world.";
Login.Login_response2 = "Players can attack each other";
Login.Login_response3 = "almost everywhere.";
}
Login.Login_response0 = "Warning!";
Message.method1113(1);
if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
Login.currentLoginField = 1;
} else {
Login.currentLoginField = 0;
}
} else if ((Client.worldProperties & 1024) != 0) {
Login.Login_response1 = "This is a <col=ffff00>High Risk<col=ffffff> world.";
Login.Login_response2 = "The Protect Item prayer will";
Login.Login_response3 = "not work on this world.";
Login.Login_response0 = "Warning!";
Message.method1113(1);
if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
Login.currentLoginField = 1;
} else {
Login.currentLoginField = 0;
}
} else {
SecureRandomFuture.Login_promptCredentials(false);
}
}
} else {
short var9;
int var56;
if (Login.loginIndex == 1) {
while (true) {
if (!KitDefinition.isKeyDown()) {
var56 = class11.loginBoxCenter - 80;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
SecureRandomFuture.Login_promptCredentials(false);
}
var56 = class11.loginBoxCenter + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Message.method1113(0);
}
break;
}
if (SpriteMask.field2994 == 84) {
SecureRandomFuture.Login_promptCredentials(false);
} else if (SpriteMask.field2994 == 13) {
Message.method1113(0);
}
}
} else {
short var57;
if (Login.loginIndex == 2) {
var57 = 201;
var56 = var57 + 52;
if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) {
Login.currentLoginField = 0;
}
var56 += 15;
if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) {
Login.currentLoginField = 1;
}
var56 += 15;
var57 = 361;
if (WorldMapSectionType.field2125 != null) {
var61 = WorldMapSectionType.field2125.highX / 2;
if (var5 == 1 && var67 >= WorldMapSectionType.field2125.lowX - var61 && var67 <= var61 + WorldMapSectionType.field2125.lowX && var55 >= var57 - 15 && var55 < var57) {
switch(Login.field883) {
case 1:
PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
Message.method1113(5);
return;
case 2:
Interpreter.openURL("https://support.runescape.com/hc/en-gb", true, false);
}
}
}
var61 = class11.loginBoxCenter - 80;
var58 = 321;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) {
Login.Login_username = Login.Login_username.trim();
if (Login.Login_username.length() == 0) {
PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", "");
return;
}
if (Login.Login_password.length() == 0) {
PlatformInfo.setLoginResponseString("", "Please enter your password.", "");
return;
}
PlatformInfo.setLoginResponseString("", "Connecting to server...", "");
Varcs.method2303(false);
HealthBarUpdate.updateGameState(20);
return;
}
var61 = Login.loginBoxX + 180 + 80;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) {
Message.method1113(0);
Login.Login_username = "";
Login.Login_password = "";
class274.field3274 = 0;
AbstractWorldMapIcon.otp = "";
Login.field893 = true;
}
var61 = class11.loginBoxCenter + -117;
var58 = 277;
Login.field891 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323;
if (var5 == 1 && Login.field891) {
Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered;
if (!Client.Login_isUsernameRemembered && VarbitComposition.clientPreferences.rememberedUsername != null) {
VarbitComposition.clientPreferences.rememberedUsername = null;
savePreferences();
}
}
var61 = class11.loginBoxCenter + 24;
var58 = 277;
Login.field904 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323;
if (var5 == 1 && Login.field904) {
VarbitComposition.clientPreferences.hideUsername = !VarbitComposition.clientPreferences.hideUsername;
if (!VarbitComposition.clientPreferences.hideUsername) {
Login.Login_username = "";
VarbitComposition.clientPreferences.rememberedUsername = null;
if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
Login.currentLoginField = 1;
} else {
Login.currentLoginField = 0;
}
}
savePreferences();
}
while (true) {
int var13;
Transferable var62;
do {
while (true) {
label1433:
do {
while (true) {
while (KitDefinition.isKeyDown()) {
if (SpriteMask.field2994 != 13) {
if (Login.currentLoginField != 0) {
continue label1433;
}
HitSplatDefinition.method3108(class78.field1010);
if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) {
Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1);
}
if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) {
Login.currentLoginField = 1;
}
if (PendingSpawn.method2118(class78.field1010) && Login.Login_username.length() < 320) {
Login.Login_username = Login.Login_username + class78.field1010;
}
} else {
Message.method1113(0);
Login.Login_username = "";
Login.Login_password = "";
class274.field3274 = 0;
AbstractWorldMapIcon.otp = "";
Login.field893 = true;
}
}
return;
}
} while(Login.currentLoginField != 1);
if (SpriteMask.field2994 == 85 && Login.Login_password.length() > 0) {
Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1);
} else if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) {
Login.currentLoginField = 0;
if (SpriteMask.field2994 == 84) {
Login.Login_username = Login.Login_username.trim();
if (Login.Login_username.length() == 0) {
PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", "");
return;
}
if (Login.Login_password.length() == 0) {
PlatformInfo.setLoginResponseString("", "Please enter your password.", "");
return;
}
PlatformInfo.setLoginResponseString("", "Connecting to server...", "");
Varcs.method2303(false);
HealthBarUpdate.updateGameState(20);
return;
}
}
if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && SpriteMask.field2994 == 67) {
Clipboard var60 = Toolkit.getDefaultToolkit().getSystemClipboard();
var62 = var60.getContents(ArchiveDiskActionHandler.client);
var13 = 20 - Login.Login_password.length();
break;
}
if (class391.method6716(class78.field1010) && PendingSpawn.method2118(class78.field1010) && Login.Login_password.length() < 20) {
Login.Login_password = Login.Login_password + class78.field1010;
}
}
} while(var13 <= 0);
try {
String var63 = (String)var62.getTransferData(DataFlavor.stringFlavor);
int var66 = Math.min(var13, var63.length());
for (int var16 = 0; var16 < var66; ++var16) {
if (!class391.method6716(var63.charAt(var16)) || !PendingSpawn.method2118(var63.charAt(var16))) {
Message.method1113(3);
return;
}
}
Login.Login_password = Login.Login_password + var63.substring(0, var66);
} catch (UnsupportedFlavorException var52) {
} catch (IOException var53) {
}
}
} else if (Login.loginIndex == 3) {
var56 = Login.loginBoxX + 180;
var9 = 276;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
MenuAction.method1876(false);
}
var56 = Login.loginBoxX + 180;
var9 = 326;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
Message.method1113(5);
return;
}
} else {
int var35;
if (Login.loginIndex == 4) {
var56 = Login.loginBoxX + 180 - 80;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
AbstractWorldMapIcon.otp.trim();
if (AbstractWorldMapIcon.otp.length() != 6) {
PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", "");
return;
}
class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp);
AbstractWorldMapIcon.otp = "";
Varcs.method2303(true);
PlatformInfo.setLoginResponseString("", "Connecting to server...", "");
HealthBarUpdate.updateGameState(20);
return;
}
if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 9 && var67 <= Login.loginBoxX + 180 + 130 && var55 >= 263 && var55 <= 296) {
Login.field893 = !Login.field893;
}
if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 34 && var67 <= Login.loginBoxX + 34 + 180 && var55 >= 351 && var55 <= 363) {
Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false);
}
var56 = Login.loginBoxX + 180 + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Message.method1113(0);
Login.Login_username = "";
Login.Login_password = "";
class274.field3274 = 0;
AbstractWorldMapIcon.otp = "";
}
while (KitDefinition.isKeyDown()) {
boolean var10 = false;
for (var35 = 0; var35 < "1234567890".length(); ++var35) {
if (class78.field1010 == "1234567890".charAt(var35)) {
var10 = true;
break;
}
}
if (SpriteMask.field2994 == 13) {
Message.method1113(0);
Login.Login_username = "";
Login.Login_password = "";
class274.field3274 = 0;
AbstractWorldMapIcon.otp = "";
} else {
if (SpriteMask.field2994 == 85 && AbstractWorldMapIcon.otp.length() > 0) {
AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp.substring(0, AbstractWorldMapIcon.otp.length() - 1);
}
if (SpriteMask.field2994 == 84) {
AbstractWorldMapIcon.otp.trim();
if (AbstractWorldMapIcon.otp.length() != 6) {
PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", "");
return;
}
class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp);
AbstractWorldMapIcon.otp = "";
Varcs.method2303(true);
PlatformInfo.setLoginResponseString("", "Connecting to server...", "");
HealthBarUpdate.updateGameState(20);
return;
}
if (var10 && AbstractWorldMapIcon.otp.length() < 6) {
AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp + class78.field1010;
}
}
}
} else if (Login.loginIndex == 5) {
var56 = Login.loginBoxX + 180 - 80;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Login.Login_username = Login.Login_username.trim();
if (Login.Login_username.length() == 0) {
PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
} else {
long var39;
try {
URL var36 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws");
URLConnection var14 = var36.openConnection();
var14.setRequestProperty("connection", "close");
var14.setDoInput(true);
var14.setDoOutput(true);
var14.setConnectTimeout(5000);
OutputStreamWriter var37 = new OutputStreamWriter(var14.getOutputStream());
var37.write("data1=req");
var37.flush();
InputStream var38 = var14.getInputStream();
Buffer var17 = new Buffer(new byte[1000]);
while (true) {
int var18 = var38.read(var17.array, var17.offset, 1000 - var17.offset);
if (var18 == -1) {
var17.offset = 0;
long var41 = var17.readLong();
var39 = var41;
break;
}
var17.offset += var18;
if (var17.offset >= 1000) {
var39 = 0L;
break;
}
}
} catch (Exception var51) {
var39 = 0L;
}
byte var59;
if (0L == var39) {
var59 = 5;
} else {
String var70 = Login.Login_username;
Random var65 = new Random();
Buffer var45 = new Buffer(128);
Buffer var19 = new Buffer(128);
int[] var20 = new int[]{var65.nextInt(), var65.nextInt(), (int)(var39 >> 32), (int)var39};
var45.writeByte(10);
int var21;
for (var21 = 0; var21 < 4; ++var21) {
var45.writeInt(var65.nextInt());
}
var45.writeInt(var20[0]);
var45.writeInt(var20[1]);
var45.writeLong(var39);
var45.writeLong(0L);
for (var21 = 0; var21 < 4; ++var21) {
var45.writeInt(var65.nextInt());
}
var45.encryptRsa(class65.field849, class65.field853);
var19.writeByte(10);
for (var21 = 0; var21 < 3; ++var21) {
var19.writeInt(var65.nextInt());
}
var19.writeLong(var65.nextLong());
var19.writeLongMedium(var65.nextLong());
ClientPreferences.method2195(var19);
var19.writeLong(var65.nextLong());
var19.encryptRsa(class65.field849, class65.field853);
var21 = BufferedSink.stringCp1252NullTerminatedByteSize(var70);
if (var21 % 8 != 0) {
var21 += 8 - var21 % 8;
}
Buffer var22 = new Buffer(var21);
var22.writeStringCp1252NullTerminated(var70);
var22.offset = var21;
var22.xteaEncryptAll(var20);
Buffer var23 = new Buffer(var45.offset + var19.offset + var22.offset + 5);
var23.writeByte(2);
var23.writeByte(var45.offset);
var23.writeBytes(var45.array, 0, var45.offset);
var23.writeByte(var19.offset);
var23.writeBytes(var19.array, 0, var19.offset);
var23.writeShort(var22.offset);
var23.writeBytes(var22.array, 0, var22.offset);
String var24 = Message.method1104(var23.array);
byte var15;
try {
URL var25 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws");
URLConnection var26 = var25.openConnection();
var26.setDoInput(true);
var26.setDoOutput(true);
var26.setConnectTimeout(5000);
OutputStreamWriter var27 = new OutputStreamWriter(var26.getOutputStream());
var27.write("data2=" + VertexNormal.method4478(var24) + "&dest=" + VertexNormal.method4478("passwordchoice.ws"));
var27.flush();
InputStream var28 = var26.getInputStream();
var23 = new Buffer(new byte[1000]);
while (true) {
int var29 = var28.read(var23.array, var23.offset, 1000 - var23.offset);
if (var29 == -1) {
var27.close();
var28.close();
String var46 = new String(var23.array);
if (var46.startsWith("OFFLINE")) {
var15 = 4;
} else if (var46.startsWith("WRONG")) {
var15 = 7;
} else if (var46.startsWith("RELOAD")) {
var15 = 3;
} else if (var46.startsWith("Not permitted for social network accounts.")) {
var15 = 6;
} else {
var23.xteaDecryptAll(var20);
while (var23.offset > 0 && var23.array[var23.offset - 1] == 0) {
--var23.offset;
}
var46 = new String(var23.array, 0, var23.offset);
if (WorldMapScaleHandler.method3907(var46)) {
Interpreter.openURL(var46, true, false);
var15 = 2;
} else {
var15 = 5;
}
}
break;
}
var23.offset += var29;
if (var23.offset >= 1000) {
var15 = 5;
break;
}
}
} catch (Throwable var50) {
var50.printStackTrace();
var15 = 5;
}
var59 = var15;
}
switch(var59) {
case 2:
PlatformInfo.setLoginResponseString(Strings.field3609, Strings.field3610, Strings.field3611);
Message.method1113(6);
break;
case 3:
PlatformInfo.setLoginResponseString("", "Error connecting to server.", "");
break;
case 4:
PlatformInfo.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later.");
break;
case 5:
PlatformInfo.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later.");
break;
case 6:
PlatformInfo.setLoginResponseString("", "Error connecting to server.", "");
break;
case 7:
PlatformInfo.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username.");
}
}
return;
}
var56 = Login.loginBoxX + 180 + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
SecureRandomFuture.Login_promptCredentials(true);
}
var58 = 361;
if (PcmPlayer.field287 != null) {
var35 = PcmPlayer.field287.highX / 2;
if (var5 == 1 && var67 >= PcmPlayer.field287.lowX - var35 && var67 <= var35 + PcmPlayer.field287.lowX && var55 >= var58 - 15 && var55 < var58) {
Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false);
}
}
while (KitDefinition.isKeyDown()) {
boolean var68 = false;
for (int var47 = 0; var47 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var47) {
if (class78.field1010 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var47)) {
var68 = true;
break;
}
}
if (SpriteMask.field2994 == 13) {
SecureRandomFuture.Login_promptCredentials(true);
} else {
if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) {
Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1);
}
if (SpriteMask.field2994 == 84) {
ScriptFrame.method1085();
return;
}
if (var68 && Login.Login_username.length() < 320) {
Login.Login_username = Login.Login_username + class78.field1010;
}
}
}
} else if (Login.loginIndex != 6) {
if (Login.loginIndex == 7) {
var56 = Login.loginBoxX + 180 - 80;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=dob/set_dob.ws", true, false);
PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)");
Message.method1113(6);
return;
}
var56 = Login.loginBoxX + 180 + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
SecureRandomFuture.Login_promptCredentials(true);
}
} else if (Login.loginIndex == 8) {
var56 = Login.loginBoxX + 180 - 80;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false);
PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)");
Message.method1113(6);
return;
}
var56 = Login.loginBoxX + 180 + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
SecureRandomFuture.Login_promptCredentials(true);
}
} else if (Login.loginIndex == 9) {
var56 = Login.loginBoxX + 180;
var9 = 311;
if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 13 || var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
MenuAction.method1876(false);
}
} else if (Login.loginIndex == 10) {
var56 = Login.loginBoxX + 180;
var9 = 209;
if (SpriteMask.field2994 == 84 || var5 == 1 && var67 >= var56 - 109 && var67 <= var56 + 109 && var55 >= var9 && var55 <= var9 + 68) {
PlatformInfo.setLoginResponseString("", "Connecting to server...", "");
Client.field519 = class403.field4323;
Varcs.method2303(false);
HealthBarUpdate.updateGameState(20);
}
} else if (Login.loginIndex == 12) {
var56 = class11.loginBoxCenter;
var9 = 233;
Bounds var48 = var1.method5657(0, 30, "<col=ffd200>terms of use</col>, <col=ffd200>privacy policy</col>, and <col=ffd200>end user licence</col>", var56, var9);
Bounds var11 = var1.method5657(32, 32, "<col=ffd200>terms of use</col>, <col=ffd200>privacy policy</col>, and <col=ffd200>end user licence</col>", var56, var9);
Bounds var12 = var1.method5657(70, 34, "<col=ffd200>terms of use</col>, <col=ffd200>privacy policy</col>, and <col=ffd200>end user licence</col>", var56, var9);
var61 = var9 + 17;
Bounds var69 = var1.method5657(0, 34, "<col=ffd200>agreement (EULA)</col>.", var56, var61);
if (var5 == 1) {
if (var48.method6186(var67, var55)) {
Interpreter.openURL("https://www.jagex.com/terms", true, false);
} else if (var11.method6186(var67, var55)) {
Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false);
} else if (var12.method6186(var67, var55) || var69.method6186(var67, var55)) {
Interpreter.openURL("https://www.jagex.com/en-GB/legal/eula-runescape-oldschool", true, false);
}
}
var56 = class11.loginBoxCenter - 80;
var9 = 311;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
class123.method2534();
if (!WorldMapAreaData.method3903()) {
Login.loginIndex = 12;
} else {
Login.loginIndex = 0;
}
}
var56 = class11.loginBoxCenter + 80;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
Login.loginIndex = 13;
}
} else if (Login.loginIndex == 13) {
var56 = class11.loginBoxCenter;
var9 = 321;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
if (!WorldMapAreaData.method3903()) {
Login.loginIndex = 12;
} else {
Login.loginIndex = 0;
}
}
} else if (Login.loginIndex == 14) {
String var49 = "";
switch(Login.field874) {
case 0:
var49 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans";
break;
case 1:
var49 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked";
break;
default:
SecureRandomFuture.Login_promptCredentials(false);
}
var61 = Login.loginBoxX + 180;
var58 = 276;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) {
Interpreter.openURL(var49, true, false);
PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)");
Message.method1113(6);
return;
}
var61 = Login.loginBoxX + 180;
var58 = 326;
if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) {
SecureRandomFuture.Login_promptCredentials(false);
}
} else if (Login.loginIndex == 24) {
var56 = Login.loginBoxX + 180;
var9 = 301;
if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) {
MenuAction.method1876(false);
}
}
} else {
while (true) {
do {
if (!KitDefinition.isKeyDown()) {
var57 = 321;
if (var5 == 1 && var55 >= var57 - 20 && var55 <= var57 + 20) {
SecureRandomFuture.Login_promptCredentials(true);
}
return;
}
} while(SpriteMask.field2994 != 84 && SpriteMask.field2994 != 13);
SecureRandomFuture.Login_promptCredentials(true);
}
}
}
}
}
}
}
}
}
@ObfuscatedName("ij")
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "-1081213203"
)
@Export("resumePauseWidget")
static void resumePauseWidget(int var0, int var1) {
PacketBufferNode var2 = FriendSystem.getPacketBufferNode(ClientPacket.field2690, Client.packetWriter.isaacCipher);
var2.packetBuffer.method6951(var1);
var2.packetBuffer.writeIntME(var0);
Client.packetWriter.addNode(var2);
}
}