Hi I'm an idiot, I don't understand client methods.
Whenever I load the Pest Control region, this occurs.


This is where it freezes:

draw3dScreen:
Code:
public void draw3dScreen()
{
drawSplitPrivateChat();
if (crossType == 1)
{
crosses[crossIndex / 100].drawSprite(crossX - 8 - 4, crossY - 8 - 4);
anInt1142++;
if (anInt1142 > 67)
{
anInt1142 = 0;
stream.createFrame(78);
}
}
if (crossType == 2)
{
crosses[4 + crossIndex / 100].drawSprite(crossX - 8 - 4, crossY - 8 - 4);
}
if (anInt1018 != -1)
{
method119(anInt945, anInt1018);
drawInterface(0, 0, RSInterface.interfaceCache[anInt1018], 0);
}
if (openInterfaceID != -1)
{
method119(anInt945, openInterfaceID);
drawInterface(0, 0, RSInterface.interfaceCache[openInterfaceID], 0);
}
method70();
if (!menuOpen)
{
processRightClick();
drawTooltip();
}
else if (menuScreenArea == 0)
{
drawMenu();
}
if (anInt1055 == 1)
{
headIcons[1].drawSprite(472, 296);
}
if (fpsOn) {
char c = '\u01FB';
int k = 20;
int i1 = 0xffff00;
if (super.fps < 15)
{
i1 = 0xff0000;
}
aTextDrawingArea_1271.method380("Fps:" + super.fps, c, i1, k);
k += 15;
Runtime runtime = Runtime.getRuntime();
int j1 = (int) ((runtime.totalMemory() - runtime.freeMemory()) / 1024L);
i1 = 0xffff00;
if (j1 > 0x2000000 && lowMem)
{
i1 = 0xff0000;
}
aTextDrawingArea_1271.method380("Mem:" + j1 + "k", c, 0xffff00, k);
k += 15;
}
if (anInt1104 != 0)
{
int j = anInt1104 / 50;
int l = j / 60;
j %= 60;
if (j < 10)
{
aTextDrawingArea_1271.method385(0xffff00, "System update in: " + l + ":0" + j, 329, 4);
}
else
{
aTextDrawingArea_1271.method385(0xffff00, "System update in: " + l + ":" + j, 329, 4);
}
anInt849++;
if (anInt849 > 75)
{
anInt849 = 0;
stream.createFrame(148);
}
}
}
drawGameScreen:
Code:
private void drawGameScreen()
{
if (welcomeScreenRaised)
{
welcomeScreenRaised = false;
backLeftIP1.drawGraphics(4, super.graphics, 0);
backLeftIP2.drawGraphics(344, super.graphics, 0);
backRightIP1.drawGraphics(4, super.graphics, 715);
backRightIP2.drawGraphics(204, super.graphics, 737);
backTopIP1.drawGraphics(0, super.graphics, 0);
backVmidIP1.drawGraphics(4, super.graphics, 516);
backVmidIP2.drawGraphics(204, super.graphics, 516);
backVmidIP2_2.drawGraphics(338, super.graphics, 0);
needDrawTabArea = true;
inputTaken = true;
tabAreaAltered = true;
aBoolean1233 = true;
if (loadingStage != 2)
{
aRSImageProducer_1165.drawGraphics(4, super.graphics, 4);
aRSImageProducer_1164.drawGraphics(4, super.graphics, 545);
}
}
if (loadingStage == 2)
method146();
if (menuOpen && menuScreenArea == 1)
needDrawTabArea = true;
if (invOverlayInterfaceID != -1)
{
boolean flag1 = method119(anInt945, invOverlayInterfaceID);
if (flag1)
needDrawTabArea = true;
}
if (atInventoryInterfaceType == 2)
needDrawTabArea = true;
if (activeInterfaceType == 2)
needDrawTabArea = true;
if (needDrawTabArea)
{
drawTabArea();
needDrawTabArea = false;
}
if (backDialogID == -1)
{
aClass9_1059.scrollPosition = anInt1211 - anInt1089 - 113;//here
if (super.mouseX > 496 && super.mouseX < 560 && super.mouseY > 332)
method65(488, 113, super.mouseX - 7, super.mouseY - 345, aClass9_1059, 0, false, anInt1211);
int i = anInt1211 - 113 - aClass9_1059.scrollPosition;
if (i < 0)
i = 0;
if (i > anInt1211 - 113)
i = anInt1211 - 113;
if (anInt1089 != i)
{
anInt1089 = i;
inputTaken = true;
}
}
if (backDialogID != -1)
{
boolean flag2 = method119(anInt945, backDialogID);
if (flag2)
inputTaken = true;
}
if (atInventoryInterfaceType == 3)
inputTaken = true;
if (activeInterfaceType == 3)
inputTaken = true;
if (aString844 != null)
inputTaken = true;
if (menuOpen && menuScreenArea == 2)
inputTaken = true;
if (inputTaken)
{
drawChatArea();
inputTaken = false;
}
if (loadingStage == 2)
{
drawMinimap();
aRSImageProducer_1164.drawGraphics(4, super.graphics, 545);
}
if (anInt1054 != -1)
tabAreaAltered = true;
if (tabAreaAltered)
{
if (anInt1054 != -1 && anInt1054 == tabID)
{
anInt1054 = -1;
stream.createFrame(120);
stream.writeWordBigEndian(tabID);
}
tabAreaAltered = false;
aRSImageProducer_1125.initDrawingArea();
backHmid1.method361(0, 0);
if (invOverlayInterfaceID == -1)
{
if (tabInterfaceIDs[tabID] != -1)
{
if (tabID == 0)
redstone[0].method361(6, 0);
if (tabID == 1)
redstone[2].method361(44, 0);
if (tabID == 2)
redstone[2].method361(77, 0);
if (tabID == 3)
redstone[2].method361(110, 0);
if (tabID == 4)
redstone[2].method361(143, 0);
if (tabID == 5)
redstone[2].method361(176, 0);
if (tabID == 6)
redstone[1].method361(209, 0);
}
if (tabInterfaceIDs[0] != -1 && (anInt1054 != 0 || loopCycle % 20 < 10))
sideIcons[0].method361(17, 9);
if (tabInterfaceIDs[1] != -1 && (anInt1054 != 1 || loopCycle % 20 < 10))
sideIcons[1].method361(49, 7);
if (tabInterfaceIDs[2] != -1 && (anInt1054 != 2 || loopCycle % 20 < 10))
sideIcons[2].method361(83, 7);
if (tabInterfaceIDs[3] != -1 && (anInt1054 != 3 || loopCycle % 20 < 10))
sideIcons[3].method361(114, 5);
if (tabInterfaceIDs[4] != -1 && (anInt1054 != 4 || loopCycle % 20 < 10))
sideIcons[4].method361(146, 2);
if (tabInterfaceIDs[5] != -1 && (anInt1054 != 5 || loopCycle % 20 < 10))
sideIcons[5].method361(180, 3);
if (tabInterfaceIDs[6] != -1 && (anInt1054 != 6 || loopCycle % 20 < 10))
sideIcons[6].method361(214, 7);
}
aRSImageProducer_1125.drawGraphics(168, super.graphics, 516);
aRSImageProducer_1124.initDrawingArea();
backBase2.method361(0, 0);
if (invOverlayInterfaceID == -1)
{
if (tabInterfaceIDs[tabID] != -1)
{
if (tabID == 7)
redstone[0].method361(6, 1);
if (tabID == 8)
redstone[2].method361(44, 1);
if (tabID == 9)
redstone[2].method361(77, 1);
if (tabID == 10)
redstone[2].method361(110, 1);
if (tabID == 11)
redstone[2].method361(143, 1);
if (tabID == 12)
redstone[2].method361(176, 1);
if (tabID == 13)
redstone[1].method361(209, 1);
}
if (tabInterfaceIDs[7] != -1 && (anInt1054 != 8 || loopCycle % 20 < 10))
sideIcons[13].method361(14, 6);
if (tabInterfaceIDs[8] != -1 && (anInt1054 != 8 || loopCycle % 20 < 10))
sideIcons[7].method361(49, 9);
if (tabInterfaceIDs[9] != -1 && (anInt1054 != 9 || loopCycle % 20 < 10))
sideIcons[8].method361(82, 9);
if (tabInterfaceIDs[10] != -1 && (anInt1054 != 10 || loopCycle % 20 < 10))
sideIcons[9].method361(116, 5);
if (tabInterfaceIDs[11] != -1 && (anInt1054 != 11 || loopCycle % 20 < 10))
sideIcons[10].method361(148, 7);
if (tabInterfaceIDs[12] != -1 && (anInt1054 != 12 || loopCycle % 20 < 10))
sideIcons[11].method361(184, 5);
if (tabInterfaceIDs[13] != -1 && (anInt1054 != 13 || loopCycle % 20 < 10))
sideIcons[12].method361(216, 6);
}
aRSImageProducer_1124.drawGraphics(465, super.graphics, 516);
aRSImageProducer_1165.initDrawingArea();
}
if (aBoolean1233)
{
aBoolean1233 = false;
aRSImageProducer_1123.initDrawingArea();
backBase1.method361(0, 0);
aRSImageProducer_1165.initDrawingArea();
processChatButtons();
}
anInt945 = 0;
}
processDrawing:
Code:
public void processDrawing()
{
if (rsAlreadyLoaded || loadingError || genericLoadingError)
{
showErrorScreen();
return;
}
anInt1061++;
if (!loggedIn)
{
drawLoginScreen(false);
}
else
{
drawGameScreen();
}
anInt1213 = 0;
}