diff --git a/build.gradle b/build.gradle
index ab267f2985..db223a370f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -42,12 +42,6 @@ allprojects {
rootPath = rootDir.toString().replace('\\', '/')
injectedClassesPath = rootPath + "/injected-client/build/libs/injected-client-" + version + ".jar"
}
-
- gradle.projectsEvaluated {
- tasks.withType(JavaCompile) {
- options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
- }
- }
}
subprojects {
diff --git a/injector-plugin/src/main/java/net/runelite/injector/raw/RasterizerHook.java b/injector-plugin/src/main/java/net/runelite/injector/raw/RasterizerHook.java
index f7b1c6df33..df671fff40 100644
--- a/injector-plugin/src/main/java/net/runelite/injector/raw/RasterizerHook.java
+++ b/injector-plugin/src/main/java/net/runelite/injector/raw/RasterizerHook.java
@@ -47,16 +47,16 @@ public class RasterizerHook
private static final String r3d_vert = "Rasterizer3D_vertAlpha";
private static final String r3d_horiz = "Rasterizer3D_horizAlpha";
private static final String r3d_field = "Rasterizer3D_alpha";
- private static final String sprite_alpha1 = "Sprite_alpha1";
- private static final String sprite_alpha2 = "Sprite_alpha2";
+ private static final String sprite_alpha1 = "Sprite_drawTransparent";
+ private static final String sprite_alpha2 = "Sprite_drawTransScaled";
private static final String font = "AbstractFont_placeGlyph";
private static final String rast3D = "Rasterizer3D_iDontKnow";
private static final String rast3D2 = "Rasterizer3D_textureAlpha";
- private static final String sprite = "Sprite_something";
- private static final String sprite2 = "Sprite_somethingElse";
- private static final String sprite3 = "Sprite_anotherOne";
- private static final String sprite4 = "Sprite_andAnotherOne";
+ private static final String sprite = "Sprite_draw";
+ private static final String sprite2 = "Sprite_drawScaled";
+ private static final String sprite3 = "Sprite_drawTransOverlay";
+ private static final String sprite4 = "Sprite_drawTransBg";
private static final String indexedSprite = "IndexedSprite_something";
private static final String indexedSprite2 = "IndexedSprite_two";
diff --git a/runelite-api/src/main/java/net/runelite/api/MenuAction.java b/runelite-api/src/main/java/net/runelite/api/MenuAction.java
index cafbbe7706..e61e502a64 100644
--- a/runelite-api/src/main/java/net/runelite/api/MenuAction.java
+++ b/runelite-api/src/main/java/net/runelite/api/MenuAction.java
@@ -155,6 +155,8 @@ public enum MenuAction
WIDGET_TYPE_5(29),
/**
* Interaction with widget (type 6).
+ *
+ * This is the continue button on message boxes
*/
WIDGET_TYPE_6(30),
/**
diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetType.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetType.java
index cec850036f..8f8a95cce1 100644
--- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetType.java
+++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetType.java
@@ -35,10 +35,12 @@ public final class WidgetType
public static final int TEXT_INVENTORY = 7;
public static final int IF1_TOOLTIP = 8;
public static final int LINE = 9;
+ public static final int EQUIPMENT_SCREEN_MODEL = 328;
public static final int FPS = 1336;
public static final int VIEWPORT = 1337;
public static final int MINIMAP = 1338;
public static final int COMPASS = 1339;
public static final int WORLD_MAP = 1400;
public static final int WORLD_MAP_OVERVIEW = 1401;
+ public static final int LOGIN_SCREEN_FIRE = 1402;
}
diff --git a/runelite-mixins/build.gradle b/runelite-mixins/build.gradle
index 07f462bd9e..cd70b2906c 100644
--- a/runelite-mixins/build.gradle
+++ b/runelite-mixins/build.gradle
@@ -1,9 +1,10 @@
description = 'RuneLite Mixins'
dependencies {
- testImplementation group: 'junit', name: 'junit', version: '4.12'
- testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
compileOnly group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
implementation project(':runescape-api')
compileOnly group: 'com.google.guava', name: 'guava', version: '28.0-jre'
compileOnly group: 'javax.inject', name: 'javax.inject', version: '1'
}
+tasks.withType(JavaCompile){
+ options.compilerArgs.addAll('-source', '7', '-Xlint:-unchecked')
+}
\ No newline at end of file
diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
index 259200b484..63480aa4be 100644
--- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
+++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
@@ -279,10 +279,10 @@ public interface RSClient extends RSGameShell, Client
@Override
int[] getPlayerMenuTypes();
- @Import("MouseHandler_x0")
+ @Import("MouseHandler_xVolatile")
int getMouseX();
- @Import("MouseHandler_y0")
+ @Import("MouseHandler_yVolatile")
int getMouseY();
@Import("Scene_selectedScreenX")
diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSSprite.java b/runescape-api/src/main/java/net/runelite/rs/api/RSSprite.java
index d85d4e1427..1f5ee77b46 100644
--- a/runescape-api/src/main/java/net/runelite/rs/api/RSSprite.java
+++ b/runescape-api/src/main/java/net/runelite/rs/api/RSSprite.java
@@ -5,7 +5,7 @@ import net.runelite.mapping.Import;
public interface RSSprite extends Sprite
{
- @Import("drawAt2")
+ @Import("drawTransBgAt")
@Override
void drawAt(int x, int y);
@@ -30,9 +30,9 @@ public interface RSSprite extends Sprite
@Import("height")
void setMaxHeight(int maxHeight);
- @Import("yOffset")
- void setOffsetX(int offsetX); // <-- I don't even know
-
@Import("xOffset")
- void setOffsetY(int offsetY); // <-- I don't even know
+ void setOffsetX(int offsetX);
+
+ @Import("yOffset")
+ void setOffsetY(int offsetY);
}
diff --git a/runescape-client/build.gradle b/runescape-client/build.gradle
index b697f0a39b..7a115e1503 100644
--- a/runescape-client/build.gradle
+++ b/runescape-client/build.gradle
@@ -6,3 +6,6 @@ dependencies {
testImplementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.26'
}
+tasks.withType(JavaCompile) {
+ options.compilerArgs.addAll('-g:source,vars,lines', '-Xlint:-unchecked')
+}
\ No newline at end of file
diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java
index cb8fba29c0..2a83739df0 100644
--- a/runescape-client/src/main/java/AbstractFont.java
+++ b/runescape-client/src/main/java/AbstractFont.java
@@ -1043,14 +1043,14 @@ public abstract class AbstractFont extends Rasterizer2D {
@ObfuscatedName("at")
@Export("AbstractFont_placeGlyphAlpha")
static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
- var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8;
+ var2 = ((var2 & 0xff00) * var9 & 0xff0000) + (var9 * (var2 & 0xff00ff) & 0xff00ff00) >> 8;
var9 = 256 - var9;
for (int var10 = -var6; var10 < 0; ++var10) {
for (int var11 = -var5; var11 < 0; ++var11) {
if (var1[var3++] != 0) {
int var12 = var0[var4];
- var0[var4++] = (((var12 & 65280) * var9 & 16711680) + ((var12 & 16711935) * var9 & -16711936) >> 8) + var2;
+ var0[var4++] = (((var12 & 0xff00) * var9 & 0xff0000) + ((var12 & 0xff00ff) * var9 & 0xff00ff00) >> 8) + var2;
} else {
++var4;
}
diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java
index ce2314d09f..252065109a 100644
--- a/runescape-client/src/main/java/AbstractWorldMapData.java
+++ b/runescape-client/src/main/java/AbstractWorldMapData.java
@@ -284,7 +284,7 @@ public abstract class AbstractWorldMapData {
int var9 = var8 - var7;
String var6;
if (var9 < -9) {
- var6 = ClientPreferences.colorStartTag(16711680);
+ var6 = ClientPreferences.colorStartTag(0xff0000);
} else if (var9 < -6) {
var6 = ClientPreferences.colorStartTag(16723968);
} else if (var9 < -3) {
@@ -292,7 +292,7 @@ public abstract class AbstractWorldMapData {
} else if (var9 < 0) {
var6 = ClientPreferences.colorStartTag(16756736);
} else if (var9 > 9) {
- var6 = ClientPreferences.colorStartTag(65280);
+ var6 = ClientPreferences.colorStartTag(0xff00);
} else if (var9 > 6) {
var6 = ClientPreferences.colorStartTag(4259584);
} else if (var9 > 3) {
@@ -300,21 +300,21 @@ public abstract class AbstractWorldMapData {
} else if (var9 > 0) {
var6 = ClientPreferences.colorStartTag(12648192);
} else {
- var6 = ClientPreferences.colorStartTag(16776960);
+ var6 = ClientPreferences.colorStartTag(0xffff00);
}
var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")";
}
if (var0.isFollower && Client.followerOpsLowPriority) {
- class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16776960) + var4, 1003, var1, var2, var3);
+ class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
if (Client.isItemSelected == 1) {
- class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16776960) + var4, 7, var1, var2, var3);
+ class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 7, var1, var2, var3);
} else if (Client.isSpellSelected) {
if ((WorldMapCacheName.selectedSpellFlags & 2) == 2) {
- class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16776960) + var4, 8, var1, var2, var3);
+ class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 8, var1, var2, var3);
}
} else {
int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0;
@@ -343,7 +343,7 @@ public abstract class AbstractWorldMapData {
var8 = var10 + 13;
}
- class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(16776960) + var4, var8, var1, var2, var3);
+ class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
}
}
@@ -378,14 +378,14 @@ public abstract class AbstractWorldMapData {
var8 = var12 + 13;
}
- class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(16776960) + var4, var8, var1, var2, var3);
+ class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
}
}
}
if (!var0.isFollower || !Client.followerOpsLowPriority) {
- class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16776960) + var4, 1003, var1, var2, var3);
+ class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
}
diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java
index 4c2d8e0350..a13b4606f8 100644
--- a/runescape-client/src/main/java/AbstractWorldMapIcon.java
+++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java
@@ -105,7 +105,7 @@ public abstract class AbstractWorldMapIcon {
if (!this.hasValidElement()) {
return false;
}
- WorldMapElement var3 = class222.getWorldMapElement(this.getElement());
+ WorldMapElement var3 = class222.WorldMapElement_get(this.getElement());
int var4 = this.getSubWidth();
int var5 = this.getSubHeight();
switch(var3.horizontalAlignment.value) {
diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java
index 9080902fe4..e0468c6209 100644
--- a/runescape-client/src/main/java/Archive.java
+++ b/runescape-client/src/main/java/Archive.java
@@ -438,9 +438,10 @@ public class Archive extends AbstractArchive {
signature = "(IB)V",
garbageValue = "35"
)
- static final void method4269(int var0) {
+ @Export("drawInterfaceModelComponents")
+ static final void drawInterfaceModelComponents(int var0) {
if (class162.loadInterface(var0)) {
- class225.method4122(Widget.Widget_interfaceComponents[var0], -1);
+ class225.drawModelComponents(Widget.Widget_interfaceComponents[var0], -1);
}
}
}
diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java
index 0fd358b9dd..ec13f9667e 100644
--- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java
+++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java
@@ -74,7 +74,7 @@ public class ArchiveDiskActionHandler implements Runnable {
field3144 = 600;
}
} else {
- EnumDefinition.method4550(100L);
+ EnumDefinition.sleepMillis(100L);
synchronized(ArchiveDiskActionHandler_lock) {
if (field3144 <= 1) {
field3144 = 0;
diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java
index 75bd235e5f..690cf09bd2 100644
--- a/runescape-client/src/main/java/ArchiveLoader.java
+++ b/runescape-client/src/main/java/ArchiveLoader.java
@@ -256,7 +256,7 @@ public class ArchiveLoader {
}
if (!Client.localPlayer.isHidden) {
- Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 0xffffff);
}
} else {
Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths);
diff --git a/runescape-client/src/main/java/BZip2Decompressor.java b/runescape-client/src/main/java/BZip2Decompressor.java
index 3f275001af..20cb637efb 100644
--- a/runescape-client/src/main/java/BZip2Decompressor.java
+++ b/runescape-client/src/main/java/BZip2Decompressor.java
@@ -192,7 +192,7 @@ public final class BZip2Decompressor {
int[] var23 = null;
int[] var24 = null;
int[] var25 = null;
- var0.blockSize100k = 1410065408;
+ var0.blockSize100k = 1;
if (VarbitDefinition.BZip2Decompressor_block == null) {
VarbitDefinition.BZip2Decompressor_block = new int[var0.blockSize100k * 100000];
}
diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java
index 6645b0ac7b..751d01ed77 100644
--- a/runescape-client/src/main/java/Client.java
+++ b/runescape-client/src/main/java/Client.java
@@ -311,7 +311,8 @@ public final class Client extends GameShell implements Usernamed {
@ObfuscatedSignature(
signature = "Lhj;"
)
- static Widget field850;
+ @Export("meslayerContinueWidget")
+ static Widget meslayerContinueWidget;
@ObfuscatedName("mx")
@ObfuscatedGetter(
intValue = 176559841
@@ -584,7 +585,8 @@ public final class Client extends GameShell implements Usernamed {
)
static long field666;
@ObfuscatedName("cb")
- static boolean field667;
+ @Export("hadFocus")
+ static boolean hadFocus;
@ObfuscatedName("cx")
@Export("displayFps")
static boolean displayFps;
@@ -1102,7 +1104,8 @@ public final class Client extends GameShell implements Usernamed {
@ObfuscatedGetter(
intValue = -36674671
)
- static int field774;
+ @Export("drawPlayerNames")
+ static int drawPlayerNames;
@ObfuscatedName("kv")
@ObfuscatedGetter(
intValue = -469680529
@@ -1211,12 +1214,14 @@ public final class Client extends GameShell implements Usernamed {
@ObfuscatedGetter(
intValue = 1100971195
)
- static int field803;
+ @Export("viewportX")
+ static int viewportX;
@ObfuscatedName("lz")
@ObfuscatedGetter(
intValue = 361474091
)
- static int field804;
+ @Export("viewportY")
+ static int viewportY;
@ObfuscatedName("lv")
@ObfuscatedSignature(
signature = "Lcn;"
@@ -1287,7 +1292,7 @@ public final class Client extends GameShell implements Usernamed {
field717 = -1;
field665 = -1;
field666 = -1L;
- field667 = true;
+ hadFocus = true;
displayFps = false;
rebootTimer = 0;
hintArrowType = 0;
@@ -1390,7 +1395,7 @@ public final class Client extends GameShell implements Usernamed {
localPlayerIndex = -1;
field771 = 0;
renderSelf = true;
- field774 = 0;
+ drawPlayerNames = 0;
field775 = 0;
field776 = new int[1000];
playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51};
@@ -1419,8 +1424,8 @@ public final class Client extends GameShell implements Usernamed {
shiftClickDrop = false;
tapToDrop = false;
showMouseOverText = true;
- field803 = -1;
- field804 = -1;
+ viewportX = -1;
+ viewportY = -1;
field840 = 0;
field833 = 50;
isItemSelected = 0;
@@ -1436,7 +1441,7 @@ public final class Client extends GameShell implements Usernamed {
field818 = -1;
chatEffects = 0;
field809 = 0;
- field850 = null;
+ meslayerContinueWidget = null;
runEnergy = 0;
weight = 0;
staffModLevel = 0;
@@ -1485,7 +1490,7 @@ public final class Client extends GameShell implements Usernamed {
gameDrawingMode = 0;
field868 = 0L;
isResizable = true;
- field870 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
+ field870 = new int[]{0xffff00, 0xff0000, 0xff00, 65535, 0xff00ff, 0xffffff};
publicChatMode = 0;
tradeChatMode = 0;
field762 = "";
@@ -1621,124 +1626,122 @@ public final class Client extends GameShell implements Usernamed {
while (true) {
ArchiveDiskAction var1;
- synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
- var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast();
+ synchronized (ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
+ var1 = (ArchiveDiskAction) ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast();
}
if (var1 == null) {
- int var6;
- try {
- if (class197.field2402 == 1) {
- var6 = Interpreter.midiPcmStream.method3707();
- if (var6 > 0 && Interpreter.midiPcmStream.isReady()) {
- var6 -= class197.field2404;
- if (var6 < 0) {
- var6 = 0;
- }
-
- Interpreter.midiPcmStream.method3706(var6);
- } else {
- Interpreter.midiPcmStream.clear();
- Interpreter.midiPcmStream.removeAll();
- if (GrandExchangeOfferNameComparator.musicTrackArchive != null) {
- class197.field2402 = 2;
- } else {
- class197.field2402 = 0;
- }
-
- UserComparator10.musicTrack = null;
- WorldMapLabelSize.soundCache = null;
- }
- }
- } catch (Exception var11) {
- var11.printStackTrace();
- Interpreter.midiPcmStream.clear();
- class197.field2402 = 0;
- UserComparator10.musicTrack = null;
- WorldMapLabelSize.soundCache = null;
- GrandExchangeOfferNameComparator.musicTrackArchive = null;
- }
-
- class186.playPcmPlayers();
- synchronized(KeyHandler.KeyHandler_instance) {
- ++KeyHandler.KeyHandler_idleCycles;
- KeyHandler.field396 = KeyHandler.field385;
- KeyHandler.field386 = 0;
- int var7;
- if (KeyHandler.field398 >= 0) {
- while (KeyHandler.field388 != KeyHandler.field398) {
- var7 = KeyHandler.field391[KeyHandler.field388];
- KeyHandler.field388 = KeyHandler.field388 + 1 & 127;
- if (var7 < 0) {
- KeyHandler.KeyHandler_pressedKeys[~var7] = false;
- } else {
- if (!KeyHandler.KeyHandler_pressedKeys[var7] && KeyHandler.field386 < KeyHandler.field401.length - 1) {
- KeyHandler.field401[++KeyHandler.field386 - 1] = var7;
- }
-
- KeyHandler.KeyHandler_pressedKeys[var7] = true;
- }
- }
- } else {
- for (var7 = 0; var7 < 112; ++var7) {
- KeyHandler.KeyHandler_pressedKeys[var7] = false;
- }
-
- KeyHandler.field398 = KeyHandler.field388;
- }
-
- if (KeyHandler.field386 > 0) {
- KeyHandler.KeyHandler_idleCycles = 0;
- }
-
- KeyHandler.field385 = KeyHandler.field404;
- }
-
- synchronized(MouseHandler.MouseHandler_instance) {
- MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButton0;
- MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_x0;
- MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_y0;
- MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_millis0;
- MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButton0;
- MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedX0;
- MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedY0;
- MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis0;
- MouseHandler.MouseHandler_lastButton0 = 0;
- }
-
- if (WorldMapManager.mouseWheel != null) {
- var6 = WorldMapManager.mouseWheel.useRotation();
- mouseWheelRotation = var6;
- }
-
- if (gameState == 0) {
- Timer.load();
- WallDecoration.method3291();
- } else if (gameState == 5) {
- VarbitDefinition.method4484(this);
- Timer.load();
- WallDecoration.method3291();
- } else if (gameState != 10 && gameState != 11) {
- if (gameState == 20) {
- VarbitDefinition.method4484(this);
- this.doCycleLoggedOut();
- } else if (gameState == 25) {
- PacketBufferNode.method3628();
- }
- } else {
- VarbitDefinition.method4484(this);
- }
-
- if (gameState == 30) {
- this.doCycleLoggedIn();
- } else if (gameState == 40 || gameState == 45) {
- this.doCycleLoggedOut();
- }
-
- return;
+ break;
}
- var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false);
+ var1.archive.load(var1.archiveDisk, (int) var1.key, var1.data, false);
+ }
+
+ int var6;
+ try {
+ if (class197.field2402 == 1) {
+ var6 = Interpreter.midiPcmStream.method3707();
+ if (var6 > 0 && Interpreter.midiPcmStream.isReady()) {
+ var6 -= class197.field2404;
+ if (var6 < 0) {
+ var6 = 0;
+ }
+
+ Interpreter.midiPcmStream.method3706(var6);
+ } else {
+ Interpreter.midiPcmStream.clear();
+ Interpreter.midiPcmStream.removeAll();
+ if (GrandExchangeOfferNameComparator.musicTrackArchive != null) {
+ class197.field2402 = 2;
+ } else {
+ class197.field2402 = 0;
+ }
+
+ UserComparator10.musicTrack = null;
+ WorldMapLabelSize.soundCache = null;
+ }
+ }
+ } catch (Exception var11) {
+ var11.printStackTrace();
+ Interpreter.midiPcmStream.clear();
+ class197.field2402 = 0;
+ UserComparator10.musicTrack = null;
+ WorldMapLabelSize.soundCache = null;
+ GrandExchangeOfferNameComparator.musicTrackArchive = null;
+ }
+
+ class186.playPcmPlayers();
+ synchronized(KeyHandler.KeyHandler_instance) {
+ ++KeyHandler.KeyHandler_idleCycles;
+ KeyHandler.field396 = KeyHandler.field385;
+ KeyHandler.field386 = 0;
+ int var7;
+ if (KeyHandler.field398 >= 0) {
+ while (KeyHandler.field388 != KeyHandler.field398) {
+ var7 = KeyHandler.field391[KeyHandler.field388];
+ KeyHandler.field388 = KeyHandler.field388 + 1 & 127;
+ if (var7 < 0) {
+ KeyHandler.KeyHandler_pressedKeys[~var7] = false;
+ } else {
+ if (!KeyHandler.KeyHandler_pressedKeys[var7] && KeyHandler.field386 < KeyHandler.field401.length - 1) {
+ KeyHandler.field401[++KeyHandler.field386 - 1] = var7;
+ }
+
+ KeyHandler.KeyHandler_pressedKeys[var7] = true;
+ }
+ }
+ } else {
+ for (var7 = 0; var7 < 112; ++var7) {
+ KeyHandler.KeyHandler_pressedKeys[var7] = false;
+ }
+
+ KeyHandler.field398 = KeyHandler.field388;
+ }
+
+ if (KeyHandler.field386 > 0) {
+ KeyHandler.KeyHandler_idleCycles = 0;
+ }
+
+ KeyHandler.field385 = KeyHandler.field404;
+ }
+
+ synchronized(MouseHandler.MouseHandler_instance) {
+ MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile;
+ MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile;
+ MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile;
+ MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile;
+ MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile;
+ MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile;
+ MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile;
+ MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile;
+ MouseHandler.MouseHandler_lastButtonVolatile = 0;
+ }
+
+ if (WorldMapManager.mouseWheel != null) {
+ var6 = WorldMapManager.mouseWheel.useRotation();
+ mouseWheelRotation = var6;
+ }
+
+ if (gameState == 0) {
+ Timer.load();
+ WallDecoration.method3291();
+ } else if (gameState == 5) {
+ VarbitDefinition.method4484(this);
+ Timer.load();
+ WallDecoration.method3291();
+ } else if (gameState == 10 || gameState == 11) {
+ VarbitDefinition.method4484(this);
+ } else if (gameState == 20) {
+ VarbitDefinition.method4484(this);
+ this.doCycleLoggedOut();
+ } else if (gameState == 25) {
+ PacketBufferNode.method3628();
+ }
+
+ if (gameState == 30) {
+ this.doCycleLoggedIn();
+ } else if (gameState == 40 || gameState == 45) {
+ this.doCycleLoggedOut();
}
}
@@ -1808,36 +1811,34 @@ public final class Client extends GameShell implements Usernamed {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12);
- } else if (gameState != 10 && gameState != 11) {
- if (gameState == 20) {
- class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12);
- } else if (gameState == 25) {
- if (field709 == 1) {
- if (field705 > field706) {
- field706 = field705;
- }
-
- var4 = (field706 * 50 - field705 * 50) / field706;
- TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
- } else if (field709 == 2) {
- if (field707 > field896) {
- field896 = field707;
- }
-
- var4 = (field896 * 50 - field707 * 50) / field896 + 50;
- TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
- } else {
- TriBool.drawLoadingMessage("Loading - please wait.", false);
- }
- } else if (gameState == 30) {
- this.drawLoggedIn();
- } else if (gameState == 40) {
- TriBool.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false);
- } else if (gameState == 45) {
- TriBool.drawLoadingMessage("Please wait...", false);
- }
- } else {
+ } else if (gameState == 10 || gameState == 11) {
class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12);
+ } else if (gameState == 20) {
+ class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12);
+ } else if (gameState == 25) {
+ if (field709 == 1) {
+ if (field705 > field706) {
+ field706 = field705;
+ }
+
+ var4 = (field706 * 50 - field705 * 50) / field706;
+ TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
+ } else if (field709 == 2) {
+ if (field707 > field896) {
+ field896 = field707;
+ }
+
+ var4 = (field896 * 50 - field707 * 50) / field896 + 50;
+ TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
+ } else {
+ TriBool.drawLoadingMessage("Loading - please wait.", false);
+ }
+ } else if (gameState == 30) {
+ this.drawLoggedIn();
+ } else if (gameState == 40) {
+ TriBool.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false);
+ } else if (gameState == 45) {
+ TriBool.drawLoadingMessage("Please wait...", false);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
@@ -2849,8 +2850,8 @@ public final class Client extends GameShell implements Usernamed {
for (var5 = 0; var5 < KeyHandler.field386; ++var5) {
long var22 = var20 - field879;
- if (var22 > 16777215L) {
- var22 = 16777215L;
+ if (var22 > 0xffffffL) {
+ var22 = 0xffffffL;
}
field879 = var20;
@@ -2879,15 +2880,15 @@ public final class Client extends GameShell implements Usernamed {
packetWriter.method2219(var15);
}
- if (class267.field3557 && !field667) {
- field667 = true;
+ if (class267.hasFocus && !hadFocus) {
+ hadFocus = true;
var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(1);
packetWriter.method2219(var15);
}
- if (!class267.field3557 && field667) {
- field667 = false;
+ if (!class267.hasFocus && hadFocus) {
+ hadFocus = false;
var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
packetWriter.method2219(var15);
@@ -2947,10 +2948,10 @@ public final class Client extends GameShell implements Usernamed {
for (var7 = 0; var7 < 104; ++var7) {
long var24 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(class42.plane, var6, var7);
if (0L != var24) {
- var10 = class43.method770(var24);
+ var10 = class43.getObjectIdFromTag(var24);
var11 = ViewportMouse.getObjectDefinition(var10).mapIconId;
if (var11 >= 0) {
- mapIcons[mapIconCount] = class222.getWorldMapElement(var11).getSpriteBool(false);
+ mapIcons[mapIconCount] = class222.WorldMapElement_get(var11).getSpriteBool(false);
mapIconXs[mapIconCount] = var6;
mapIconYs[mapIconCount] = var7;
++mapIconCount;
@@ -3018,7 +3019,7 @@ public final class Client extends GameShell implements Usernamed {
if (ItemContainer.field549 != null) {
++field759;
if (field759 >= 15) {
- Strings.method4120(ItemContainer.field549);
+ Strings.invalidateWidget(ItemContainer.field549);
ItemContainer.field549 = null;
}
}
@@ -3053,7 +3054,7 @@ public final class Client extends GameShell implements Usernamed {
}
if (var4 != localPlayer.plane) {
- WorldMapLabel.method418(localPlayer.pathX[0] + MusicPatchNode2.baseX * 64, localPlayer.pathY[0] + class1.baseY * 64, var4, false);
+ WorldMapLabel.changePlane(localPlayer.pathX[0] + MusicPatchNode2.baseX * 64, localPlayer.pathY[0] + class1.baseY * 64, var4, false);
}
mouseWheelRotation = 0;
@@ -3087,7 +3088,7 @@ public final class Client extends GameShell implements Usernamed {
}
if (WorldMapIcon_0.dragInventoryWidget != null) {
- Strings.method4120(WorldMapIcon_0.dragInventoryWidget);
+ Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field874) {
@@ -3171,21 +3172,21 @@ public final class Client extends GameShell implements Usernamed {
if (var36 != LoginScreenAnimation.mousedOverWidgetIf1) {
if (var36 != null) {
- Strings.method4120(var36);
+ Strings.invalidateWidget(var36);
}
if (LoginScreenAnimation.mousedOverWidgetIf1 != null) {
- Strings.method4120(LoginScreenAnimation.mousedOverWidgetIf1);
+ Strings.invalidateWidget(LoginScreenAnimation.mousedOverWidgetIf1);
}
}
if (var38 != class32.field284 && field840 == field833) {
if (var38 != null) {
- Strings.method4120(var38);
+ Strings.invalidateWidget(var38);
}
if (class32.field284 != null) {
- Strings.method4120(class32.field284);
+ Strings.invalidateWidget(class32.field284);
}
}
@@ -3193,7 +3194,7 @@ public final class Client extends GameShell implements Usernamed {
if (field840 < field833) {
++field840;
if (field840 == field833) {
- Strings.method4120(class32.field284);
+ Strings.invalidateWidget(class32.field284);
}
}
} else if (field840 > 0) {
@@ -3326,7 +3327,7 @@ public final class Client extends GameShell implements Usernamed {
packetWriter.method2219(var30);
}
- ArchiveLoader.friendSystem.method1762();
+ ArchiveLoader.friendSystem.processFriendUpdates();
++packetWriter.field1319;
if (packetWriter.field1319 > 50) {
var30 = Archive.method4265(ClientPacket.field2225, packetWriter.isaacCipher);
@@ -3416,7 +3417,7 @@ public final class Client extends GameShell implements Usernamed {
@Export("drawLoggedIn")
final void drawLoggedIn() {
if (rootInterface != -1) {
- Archive.method4269(rootInterface);
+ Archive.drawInterfaceModelComponents(rootInterface);
}
int var1;
@@ -3430,8 +3431,8 @@ public final class Client extends GameShell implements Usernamed {
}
field741 = cycle;
- field803 = -1;
- field804 = -1;
+ viewportX = -1;
+ viewportY = -1;
class294.field3697 = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
@@ -3441,11 +3442,11 @@ public final class Client extends GameShell implements Usernamed {
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
- Occluder.crossSprites[mouseCrossState * 20 / 100].drawAt2(mouseCrossX - 8, mouseCrossY - 8);
+ Occluder.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
- Occluder.crossSprites[mouseCrossState * 20 / 100 + 4].drawAt2(mouseCrossX - 8, mouseCrossY - 8);
+ Occluder.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
@@ -3456,8 +3457,8 @@ public final class Client extends GameShell implements Usernamed {
int var7;
int var13;
if (!isMenuOpen) {
- if (field803 != -1) {
- WorldMapSprite.drawMenuActionTextAt(field803, field804);
+ if (viewportX != -1) {
+ WorldMapSprite.drawMenuActionTextAt(viewportX, viewportY);
}
} else {
var1 = class247.menuX;
@@ -3476,12 +3477,12 @@ public final class Client extends GameShell implements Usernamed {
int var16;
for (var13 = 0; var13 < menuOptionsCount; ++var13) {
var15 = var2 + (menuOptionsCount - 1 - var13) * 15 + 31;
- var16 = 16777215;
+ var16 = 0xffffff;
if (var6 > var1 && var6 < var1 + var3 && var7 > var15 - 13 && var7 < var15 + 3) {
- var16 = 16776960;
+ var16 = 0xffff00;
}
- WorldMapIcon_1.fontBold12.draw(WorldMapLabel.method417(var13), var1 + 3, var15, var16, 0);
+ WorldMapIcon_1.fontBold12.draw(WorldMapLabel.getMenuText(var13), var1 + 3, var15, var16, 0);
}
var13 = class247.menuX;
@@ -3499,9 +3500,9 @@ public final class Client extends GameShell implements Usernamed {
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field862[var1]) {
- Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
+ Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 0xff00ff, 128);
} else if (field861[var1]) {
- Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
+ Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 0xff0000, 128);
}
}
}
@@ -3512,75 +3513,76 @@ public final class Client extends GameShell implements Usernamed {
var4 = field718;
for (ObjectSound var5 = (ObjectSound)ObjectSound.objectSounds.last(); var5 != null; var5 = (ObjectSound)ObjectSound.objectSounds.previous()) {
- if (var5.soundEffectId != -1 || var5.soundEffectIds != null) {
- var6 = 0;
- if (var2 > var5.field1077 * 128) {
- var6 += var2 - var5.field1077 * 128;
- } else if (var2 < var5.field1083 * 16384) {
- var6 += var5.field1083 * 16384 - var2;
+ if (var5.soundEffectId == -1 && var5.soundEffectIds == null) {
+ continue;
+ }
+ var6 = 0;
+ if (var2 > var5.field1077 * 128) {
+ var6 += var2 - var5.field1077 * 128;
+ } else if (var2 < var5.x * 16384) {
+ var6 += var5.x * 16384 - var2;
+ }
+
+ if (var3 > var5.field1082 * 128) {
+ var6 += var3 - var5.field1082 * 128;
+ } else if (var3 < var5.y * 128) {
+ var6 += var5.y * 128 - var3;
+ }
+
+ if (var6 - 64 <= var5.field1091 && field892 != 0 && var1 == var5.plane) {
+ var6 -= 64;
+ if (var6 < 0) {
+ var6 = 0;
}
- if (var3 > var5.field1082 * 128) {
- var6 += var3 - var5.field1082 * 128;
- } else if (var3 < var5.field1090 * 128) {
- var6 += var5.field1090 * 128 - var3;
- }
-
- if (var6 - 64 <= var5.field1091 && field892 != 0 && var1 == var5.field1078) {
- var6 -= 64;
- if (var6 < 0) {
- var6 = 0;
- }
-
- var7 = (var5.field1091 - var6) * field892 / var5.field1091;
- Object var10000;
- if (var5.stream1 == null) {
- if (var5.soundEffectId >= 0) {
- var10000 = null;
- SoundEffect var8 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectId, 0);
- if (var8 != null) {
- RawSound var9 = var8.toRawSound().resample(AttackOption.decimator);
- RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7);
- var10.setNumLoops(-1);
- SecureRandomCallable.pcmStreamMixer.addSubStream(var10);
- var5.stream1 = var10;
- }
- }
- } else {
- var5.stream1.method2527(var7);
- }
-
- if (var5.stream2 == null) {
- if (var5.soundEffectIds != null && (var5.field1089 -= var4) <= 0) {
- var13 = (int)(Math.random() * (double)var5.soundEffectIds.length);
- var10000 = null;
- SoundEffect var18 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectIds[var13], 0);
- if (var18 != null) {
- RawSound var19 = var18.toRawSound().resample(AttackOption.decimator);
- RawPcmStream var11 = RawPcmStream.createRawPcmStream(var19, 100, var7);
- var11.setNumLoops(0);
- SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
- var5.stream2 = var11;
- var5.field1089 = var5.field1086 + (int)(Math.random() * (double)(var5.field1081 - var5.field1086));
- }
- }
- } else {
- var5.stream2.method2527(var7);
- if (!var5.stream2.hasNext()) {
- var5.stream2 = null;
+ var7 = (var5.field1091 - var6) * field892 / var5.field1091;
+ Object var10000;
+ if (var5.stream1 == null) {
+ if (var5.soundEffectId >= 0) {
+ var10000 = null;
+ SoundEffect var8 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectId, 0);
+ if (var8 != null) {
+ RawSound var9 = var8.toRawSound().resample(AttackOption.decimator);
+ RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7);
+ var10.setNumLoops(-1);
+ SecureRandomCallable.pcmStreamMixer.addSubStream(var10);
+ var5.stream1 = var10;
}
}
} else {
- if (var5.stream1 != null) {
- SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream1);
- var5.stream1 = null;
- }
+ var5.stream1.method2527(var7);
+ }
- if (var5.stream2 != null) {
- SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream2);
+ if (var5.stream2 == null) {
+ if (var5.soundEffectIds != null && (var5.field1089 -= var4) <= 0) {
+ var13 = (int)(Math.random() * (double)var5.soundEffectIds.length);
+ var10000 = null;
+ SoundEffect var18 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectIds[var13], 0);
+ if (var18 != null) {
+ RawSound var19 = var18.toRawSound().resample(AttackOption.decimator);
+ RawPcmStream var11 = RawPcmStream.createRawPcmStream(var19, 100, var7);
+ var11.setNumLoops(0);
+ SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
+ var5.stream2 = var11;
+ var5.field1089 = var5.field1086 + (int)(Math.random() * (double)(var5.field1081 - var5.field1086));
+ }
+ }
+ } else {
+ var5.stream2.method2527(var7);
+ if (!var5.stream2.hasNext()) {
var5.stream2 = null;
}
}
+ } else {
+ if (var5.stream1 != null) {
+ SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream1);
+ var5.stream1 = null;
+ }
+
+ if (var5.stream2 != null) {
+ SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream2);
+ var5.stream2 = null;
+ }
}
}
@@ -3673,7 +3675,7 @@ public final class Client extends GameShell implements Usernamed {
var6 = class80.getWidget(var16);
if (var47 != var6.isHidden) {
var6.isHidden = var47;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
var1.serverPacket = null;
@@ -3760,7 +3762,7 @@ public final class Client extends GameShell implements Usernamed {
var8.modelAngleX = var16;
var8.modelAngleY = var17;
var8.modelZoom = var5;
- Strings.method4120(var8);
+ Strings.invalidateWidget(var8);
}
var1.serverPacket = null;
@@ -3805,7 +3807,7 @@ public final class Client extends GameShell implements Usernamed {
var19.modelAngleX = var43.xan2d;
var19.modelAngleY = var43.yan2d;
var19.modelZoom = var43.zoom2d * 100 / var17;
- Strings.method4120(var19);
+ Strings.invalidateWidget(var19);
} else {
var19.itemId = var5;
var19.itemQuantity = var17;
@@ -3828,7 +3830,7 @@ public final class Client extends GameShell implements Usernamed {
var19.modelZoom = var19.modelZoom * 32 / var19.rawWidth;
}
- Strings.method4120(var19);
+ Strings.invalidateWidget(var19);
}
var1.serverPacket = null;
@@ -3951,7 +3953,7 @@ public final class Client extends GameShell implements Usernamed {
if (var5 != var6.scrollY) {
var6.scrollY = var5;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
}
@@ -3997,7 +3999,7 @@ public final class Client extends GameShell implements Usernamed {
var53.itemIds[var17] = 0;
}
- Strings.method4120(var53);
+ Strings.invalidateWidget(var53);
var1.serverPacket = null;
return true;
}
@@ -4065,7 +4067,7 @@ public final class Client extends GameShell implements Usernamed {
var6.sequenceId = var16;
var6.modelFrame = 0;
var6.modelFrameCycle = 0;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
var1.serverPacket = null;
@@ -4302,9 +4304,9 @@ public final class Client extends GameShell implements Usernamed {
class197.closeInterface(var54, true);
}
- if (field850 != null) {
- Strings.method4120(field850);
- field850 = null;
+ if (meslayerContinueWidget != null) {
+ Strings.invalidateWidget(meslayerContinueWidget);
+ meslayerContinueWidget = null;
}
var1.serverPacket = null;
@@ -4346,7 +4348,7 @@ public final class Client extends GameShell implements Usernamed {
if (var6.modelType != 2 || var16 != var6.modelId) {
var6.modelType = 2;
var6.modelId = var16;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
var1.serverPacket = null;
@@ -4363,7 +4365,7 @@ public final class Client extends GameShell implements Usernamed {
var19.rawY = var5;
var19.xAlignment = 0;
var19.yAlignment = 0;
- Strings.method4120(var19);
+ Strings.invalidateWidget(var19);
this.alignWidget(var19);
if (var19.type == 0) {
WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var16 >> 16], var19, false);
@@ -4472,7 +4474,7 @@ public final class Client extends GameShell implements Usernamed {
var53 = class80.getWidget(var16);
var53.modelType = 3;
var53.modelId = localPlayer.appearance.getChatHeadId();
- Strings.method4120(var53);
+ Strings.invalidateWidget(var53);
var1.serverPacket = null;
return true;
}
@@ -4654,7 +4656,7 @@ public final class Client extends GameShell implements Usernamed {
}
if (var6 != null) {
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
class65.method1176();
@@ -4699,7 +4701,7 @@ public final class Client extends GameShell implements Usernamed {
var6 = class80.getWidget(var16);
if (!var18.equals(var6.text)) {
var6.text = var18;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
var1.serverPacket = null;
@@ -4754,7 +4756,7 @@ public final class Client extends GameShell implements Usernamed {
Widget var28 = class80.getWidget(var16);
if (var9 != var28.color) {
var28.color = var9;
- Strings.method4120(var28);
+ Strings.invalidateWidget(var28);
}
var1.serverPacket = null;
@@ -4793,12 +4795,12 @@ public final class Client extends GameShell implements Usernamed {
var8 = class80.getWidget(var5);
if (var8 != null) {
- Strings.method4120(var8);
+ Strings.invalidateWidget(var8);
}
var8 = class80.getWidget(var16);
if (var8 != null) {
- Strings.method4120(var8);
+ Strings.invalidateWidget(var8);
WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var8.id >>> 16], var8, true);
}
@@ -4881,7 +4883,7 @@ public final class Client extends GameShell implements Usernamed {
if (var6.modelType != 1 || var5 != var6.modelId) {
var6.modelType = 1;
var6.modelId = var5;
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
var1.serverPacket = null;
@@ -4919,7 +4921,7 @@ public final class Client extends GameShell implements Usernamed {
}
if (var6 != null) {
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
}
class65.method1176();
@@ -5102,7 +5104,7 @@ public final class Client extends GameShell implements Usernamed {
field874 = false;
itemDragDuration = 0;
if (WorldMapIcon_0.dragInventoryWidget != null) {
- Strings.method4120(WorldMapIcon_0.dragInventoryWidget);
+ Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget);
}
WorldMapIcon_0.dragInventoryWidget = class80.getWidget(var5);
@@ -5113,7 +5115,7 @@ public final class Client extends GameShell implements Usernamed {
Decimator.method2510(var2);
}
- Strings.method4120(WorldMapIcon_0.dragInventoryWidget);
+ Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget);
return;
}
@@ -5151,7 +5153,7 @@ public final class Client extends GameShell implements Usernamed {
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
- WorldMapSprite.method416(rootInterface, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, var1);
+ WorldMapSprite.resizeComponents(rootInterface, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, var1);
}
@ObfuscatedName("iw")
@@ -5182,7 +5184,7 @@ public final class Client extends GameShell implements Usernamed {
garbageValue = "41"
)
final void method1641() {
- Strings.method4120(clickedWidget);
+ Strings.invalidateWidget(clickedWidget);
++class80.widgetDragDuration;
if (field745 && field873) {
int var1 = MouseHandler.MouseHandler_x;
diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java
index 2f68b3c9f0..8d8c4e71cf 100644
--- a/runescape-client/src/main/java/ClientPacket.java
+++ b/runescape-client/src/main/java/ClientPacket.java
@@ -806,7 +806,7 @@ public class ClientPacket implements ClientPacketMarker
var29 = 16;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
- var29 = ViewportMouse.getObjectDefinition(class43.method770(var30)).int2;
+ var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2;
}
if (var9.animationId == -1 && var9.transforms == null) {
@@ -820,7 +820,7 @@ public class ClientPacket implements ClientPacketMarker
var29 = 8;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
- var29 = ViewportMouse.getObjectDefinition(class43.method770(var30)).int2 / 2;
+ var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2;
}
if (var9.animationId == -1 && var9.transforms == null) {
@@ -843,7 +843,7 @@ public class ClientPacket implements ClientPacketMarker
var29 = 8;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
- var29 = ViewportMouse.getObjectDefinition(class43.method770(var30)).int2 / 2;
+ var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2;
}
int var28 = var5 + 2 & 3;
diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java
index fd5b6ab917..d6b707f2cc 100644
--- a/runescape-client/src/main/java/Clock.java
+++ b/runescape-client/src/main/java/Clock.java
@@ -30,7 +30,7 @@ public abstract class Clock {
garbageValue = "-333181863"
)
@Export("wait")
- public abstract int wait(int var1, int var2);
+ public abstract int wait(int tickLength, int fiveOrOne);
@ObfuscatedName("fx")
@ObfuscatedSignature(
diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java
index ba7fc666c0..5cc971e2e7 100644
--- a/runescape-client/src/main/java/CollisionMap.java
+++ b/runescape-client/src/main/java/CollisionMap.java
@@ -62,7 +62,7 @@ public class CollisionMap {
if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) {
this.flags[var1][var2] = 16777216;
} else {
- this.flags[var1][var2] = 16777215;
+ this.flags[var1][var2] = 0xffffff;
}
}
}
diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java
index c8891a477f..1b44fe4649 100644
--- a/runescape-client/src/main/java/Decimator.java
+++ b/runescape-client/src/main/java/Decimator.java
@@ -30,40 +30,41 @@ public class Decimator {
int[][] table;
public Decimator(int var1, int var2) {
- if (var2 != var1) {
- int var3 = FriendSystem.method1819(var1, var2);
- var1 /= var3;
- var2 /= var3;
- this.inputRate = var1;
- this.outputRate = var2;
- this.table = new int[var1][14];
+ if (var2 == var1) {
+ return;
+ }
+ int var3 = FriendSystem.method1819(var1, var2);
+ var1 /= var3;
+ var2 /= var3;
+ this.inputRate = var1;
+ this.outputRate = var2;
+ this.table = new int[var1][14];
- for (int var4 = 0; var4 < var1; ++var4) {
- int[] var5 = this.table[var4];
- double var6 = (double)var4 / (double)var1 + 6.0D;
- int var8 = (int)Math.floor(1.0D + (var6 - 7.0D));
- if (var8 < 0) {
- var8 = 0;
- }
-
- int var9 = (int)Math.ceil(7.0D + var6);
- if (var9 > 14) {
- var9 = 14;
- }
-
- for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) {
- double var12 = 3.141592653589793D * ((double)var8 - var6);
- double var14 = var10;
- if (var12 < -1.0E-4D || var12 > 1.0E-4D) {
- var14 = var10 * (Math.sin(var12) / var12);
- }
-
- var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D);
- var5[var8] = (int)Math.floor(0.5D + var14 * 65536.0D);
- }
+ for (int var4 = 0; var4 < var1; ++var4) {
+ int[] var5 = this.table[var4];
+ double var6 = (double)var4 / (double)var1 + 6.0D;
+ int var8 = (int)Math.floor(1.0D + (var6 - 7.0D));
+ if (var8 < 0) {
+ var8 = 0;
}
+ int var9 = (int)Math.ceil(7.0D + var6);
+ if (var9 > 14) {
+ var9 = 14;
+ }
+
+ for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) {
+ double var12 = 3.141592653589793D * ((double)var8 - var6);
+ double var14 = var10;
+ if (var12 < -1.0E-4D || var12 > 1.0E-4D) {
+ var14 = var10 * (Math.sin(var12) / var12);
+ }
+
+ var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D);
+ var5[var8] = (int)Math.floor(0.5D + var14 * 65536.0D);
+ }
}
+
}
@ObfuscatedName("q")
@@ -73,39 +74,40 @@ public class Decimator {
)
@Export("resample")
byte[] resample(byte[] var1) {
- if (this.table != null) {
- int var2 = (int)((long)this.outputRate * (long)var1.length / (long)this.inputRate) + 14;
- int[] var3 = new int[var2];
- int var4 = 0;
- int var5 = 0;
+ if (this.table == null) {
+ return var1;
+ }
+ int var2 = (int)((long)this.outputRate * (long)var1.length / (long)this.inputRate) + 14;
+ int[] var3 = new int[var2];
+ int var4 = 0;
+ int var5 = 0;
- int var6;
- for (var6 = 0; var6 < var1.length; ++var6) {
- byte var7 = var1[var6];
- int[] var8 = this.table[var5];
+ int var6;
+ for (var6 = 0; var6 < var1.length; ++var6) {
+ byte var7 = var1[var6];
+ int[] var8 = this.table[var5];
- int var9;
- for (var9 = 0; var9 < 14; ++var9) {
- var3[var4 + var9] += var7 * var8[var9];
- }
-
- var5 += this.outputRate;
- var9 = var5 / this.inputRate;
- var4 += var9;
- var5 -= var9 * this.inputRate;
+ int var9;
+ for (var9 = 0; var9 < 14; ++var9) {
+ var3[var4 + var9] += var7 * var8[var9];
}
- var1 = new byte[var2];
+ var5 += this.outputRate;
+ var9 = var5 / this.inputRate;
+ var4 += var9;
+ var5 -= var9 * this.inputRate;
+ }
- for (var6 = 0; var6 < var2; ++var6) {
- int var10 = var3[var6] + 32768 >> 16;
- if (var10 < -128) {
- var1[var6] = -128;
- } else if (var10 > 127) {
- var1[var6] = 127;
- } else {
- var1[var6] = (byte)var10;
- }
+ var1 = new byte[var2];
+
+ for (var6 = 0; var6 < var2; ++var6) {
+ int var10 = var3[var6] + 32768 >> 16;
+ if (var10 < -128) {
+ var1[var6] = -128;
+ } else if (var10 > 127) {
+ var1[var6] = 127;
+ } else {
+ var1[var6] = (byte)var10;
}
}
@@ -175,624 +177,630 @@ public class Decimator {
)
@Export("drawActor2d")
static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) {
- if (var0 != null && var0.isVisible()) {
- if (var0 instanceof NPC) {
- NPCDefinition var6 = ((NPC)var0).definition;
- if (var6.transforms != null) {
- var6 = var6.transform();
- }
-
- if (var6 == null) {
- return;
- }
+ if (var0 == null || !var0.isVisible()) {
+ return;
+ }
+ if (var0 instanceof NPC) {
+ NPCDefinition var6 = ((NPC)var0).definition;
+ if (var6.transforms != null) {
+ var6 = var6.transform();
}
- int var75 = Players.Players_count;
- int[] var7 = Players.Players_indices;
- byte var8 = 0;
- Player var10;
- if (var1 < var75 && var0.playerCycle == Client.cycle) {
- var10 = (Player)var0;
- boolean var9;
- if (Client.field774 == 0) {
- var9 = false;
- } else {
- boolean var78;
- if (var10 != Client.localPlayer) {
- var78 = (Client.field774 & 4) != 0;
- boolean var79 = var78;
- boolean var13;
- if (!var78) {
- var13 = (Client.field774 & 1) != 0;
- var79 = var13 && var10.isFriend();
- }
-
- var13 = var79;
- if (!var79) {
- boolean var80 = (Client.field774 & 2) != 0;
- var13 = var80 && var10.isClanMember();
- }
-
- var9 = var13;
- } else {
- var78 = (Client.field774 & 8) != 0;
- var9 = var78;
- }
- }
-
- if (var9) {
- Player var11 = (Player)var0;
- if (var1 < var75) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- AbstractFont var12 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12);
- byte var92 = 9;
- var12.drawCentered(var11.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var92, 16777215, 0);
- var8 = 18;
- }
- }
+ if (var6 == null) {
+ return;
}
+ }
- int var87 = -2;
- int var15;
- int var22;
- int var23;
- if (!var0.healthBars.isEmpty()) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
-
- for (HealthBar var88 = (HealthBar)var0.healthBars.last(); var88 != null; var88 = (HealthBar)var0.healthBars.previous()) {
- HealthBarUpdate var89 = var88.get(Client.cycle);
- if (var89 == null) {
- if (var88.isEmpty()) {
- var88.remove();
- }
- } else {
- HealthBarDefinition var91 = var88.definition;
- Sprite var76 = var91.getBackSprite();
- Sprite var14 = var91.getFrontSprite();
- int var16 = 0;
- if (var76 != null && var14 != null) {
- if (var91.widthPadding * 2 < var14.subWidth) {
- var16 = var91.widthPadding;
- }
-
- var15 = var14.subWidth - var16 * 2;
- } else {
- var15 = var91.width;
- }
-
- int var17 = 255;
- boolean var18 = true;
- int var19 = Client.cycle - var89.cycle;
- int var20 = var15 * var89.health2 / var91.width;
- int var21;
- int var93;
- if (var89.cycleOffset > var19) {
- var21 = var91.int4 == 0 ? 0 : var91.int4 * (var19 / var91.int4);
- var22 = var15 * var89.health / var91.width;
- var93 = var21 * (var20 - var22) / var89.cycleOffset + var22;
- } else {
- var93 = var20;
- var21 = var89.cycleOffset + var91.int5 - var19;
- if (var91.int3 >= 0) {
- var17 = (var21 << 8) / (var91.int5 - var91.int3);
- }
- }
-
- if (var89.health2 > 0 && var93 < 1) {
- var93 = 1;
- }
-
- if (var76 != null && var14 != null) {
- if (var93 == var15) {
- var93 += var16 * 2;
- } else {
- var93 += var16;
- }
-
- var21 = var76.subHeight;
- var87 += var21;
- var22 = var2 + Client.viewportTempX - (var15 >> 1);
- var23 = var3 + Client.viewportTempY - var87;
- var22 -= var16;
- if (var17 >= 0 && var17 < 255) {
- var76.method6129(var22, var23, var17);
- Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23);
- var14.method6129(var22, var23, var17);
- } else {
- var76.drawAt2(var22, var23);
- Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23);
- var14.drawAt2(var22, var23);
- }
-
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5);
- var87 += 2;
- } else {
- var87 += 5;
- if (Client.viewportTempX > -1) {
- var21 = var2 + Client.viewportTempX - (var15 >> 1);
- var22 = var3 + Client.viewportTempY - var87;
- Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var93, 5, 65280);
- Rasterizer2D.Rasterizer2D_fillRectangle(var21 + var93, var22, var15 - var93, 5, 16711680);
- }
-
- var87 += 2;
- }
- }
- }
- }
-
- if (var87 == -2) {
- var87 += 7;
- }
-
- var87 += var8;
- if (var1 < var75) {
- var10 = (Player)var0;
- if (var10.isHidden) {
- return;
- }
-
- if (var10.headIconPk != -1 || var10.headIconPrayer != -1) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- if (Client.viewportTempX > -1) {
- if (var10.headIconPk != -1) {
- var87 += 25;
- UserComparator3.headIconPkSprites[var10.headIconPk].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
- }
-
- if (var10.headIconPrayer != -1) {
- var87 += 25;
- SoundCache.headIconPrayerSprites[var10.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
- }
- }
- }
-
- if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- if (Client.viewportTempX > -1) {
- var87 += class173.headIconHintSprites[1].subHeight;
- class173.headIconHintSprites[1].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
- }
- }
+ int var75 = Players.Players_count;
+ int[] var7 = Players.Players_indices;
+ byte var8 = 0;
+ Player var10;
+ if (var1 < var75 && var0.playerCycle == Client.cycle) {
+ var10 = (Player)var0;
+ boolean var9;
+ if (Client.drawPlayerNames == 0) {
+ var9 = false;
} else {
- NPCDefinition var90 = ((NPC)var0).definition;
- if (var90.transforms != null) {
- var90 = var90.transform();
- }
-
- if (var90.headIconPrayer >= 0 && var90.headIconPrayer < SoundCache.headIconPrayerSprites.length) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- if (Client.viewportTempX > -1) {
- SoundCache.headIconPrayerSprites[var90.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30);
+ boolean var78;
+ if (var10 != Client.localPlayer) {
+ var78 = (Client.drawPlayerNames & 4) != 0;
+ boolean var79 = var78;
+ boolean var13;
+ if (!var78) {
+ var13 = (Client.drawPlayerNames & 1) != 0;
+ var79 = var13 && var10.isFriend();
}
- }
- if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) {
- class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- if (Client.viewportTempX > -1) {
- class173.headIconHintSprites[0].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28);
+ var13 = var79;
+ if (!var79) {
+ boolean var80 = (Client.drawPlayerNames & 2) != 0;
+ var13 = var80 && var10.isClanMember();
}
+
+ var9 = var13;
+ } else {
+ var78 = (Client.drawPlayerNames & 8) != 0;
+ var9 = var78;
}
}
- if (var0.overheadText != null && (var1 >= var75 || !var0.field998 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) {
- class219.getActorScreenLocation(var0, var0.defaultHeight);
- if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) {
- Client.overheadTextXOffsets[Client.overheadTextCount] = WorldMapIcon_1.fontBold12.stringWidth(var0.overheadText) / 2;
- Client.overheadTextAscents[Client.overheadTextCount] = WorldMapIcon_1.fontBold12.ascent;
- Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX;
- Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY;
- Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor;
- Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect;
- Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining;
- Client.overheadText[Client.overheadTextCount] = var0.overheadText;
- ++Client.overheadTextCount;
+ if (var9) {
+ Player var11 = (Player)var0;
+ if (var1 < var75) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
+ AbstractFont var12 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12);
+ byte var92 = 9;
+ var12.drawCentered(var11.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var92, 0xffffff, 0);
+ var8 = 18;
}
}
+ }
- for (int var77 = 0; var77 < 4; ++var77) {
- int var96 = var0.hitSplatCycles[var77];
- int var97 = var0.hitSplatTypes[var77];
- HitSplatDefinition var95 = null;
- int var98 = 0;
- if (var97 >= 0) {
- if (var96 <= Client.cycle) {
- continue;
- }
+ int var87 = -2;
+ int var15;
+ int var22;
+ int var23;
+ if (!var0.healthBars.isEmpty()) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
- var95 = Projectile.getHitSplatDefinition(var0.hitSplatTypes[var77]);
- var98 = var95.field3344;
- if (var95 != null && var95.transforms != null) {
- var95 = var95.transform();
- if (var95 == null) {
- var0.hitSplatCycles[var77] = -1;
- continue;
- }
+ for (HealthBar var88 = (HealthBar)var0.healthBars.last(); var88 != null; var88 = (HealthBar)var0.healthBars.previous()) {
+ HealthBarUpdate var89 = var88.get(Client.cycle);
+ if (var89 == null) {
+ if (var88.isEmpty()) {
+ var88.remove();
}
- } else if (var96 < 0) {
continue;
}
- var15 = var0.hitSplatTypes2[var77];
- HitSplatDefinition var81 = null;
- if (var15 >= 0) {
- var81 = Projectile.getHitSplatDefinition(var15);
- if (var81 != null && var81.transforms != null) {
- var81 = var81.transform();
+ HealthBarDefinition var91 = var88.definition;
+ Sprite var76 = var91.getBackSprite();
+ Sprite var14 = var91.getFrontSprite();
+ int var16 = 0;
+ if (var76 != null && var14 != null) {
+ if (var91.widthPadding * 2 < var14.subWidth) {
+ var16 = var91.widthPadding;
+ }
+
+ var15 = var14.subWidth - var16 * 2;
+ } else {
+ var15 = var91.width;
+ }
+
+ int var17 = 255;
+ boolean var18 = true;
+ int var19 = Client.cycle - var89.cycle;
+ int var20 = var15 * var89.health2 / var91.width;
+ int var21;
+ int var93;
+ if (var89.cycleOffset > var19) {
+ var21 = var91.int4 == 0 ? 0 : var91.int4 * (var19 / var91.int4);
+ var22 = var15 * var89.health / var91.width;
+ var93 = var21 * (var20 - var22) / var89.cycleOffset + var22;
+ } else {
+ var93 = var20;
+ var21 = var89.cycleOffset + var91.int5 - var19;
+ if (var91.int3 >= 0) {
+ var17 = (var21 << 8) / (var91.int5 - var91.int3);
}
}
- if (var96 - var98 <= Client.cycle) {
- if (var95 == null) {
- var0.hitSplatCycles[var77] = -1;
- } else {
- class219.getActorScreenLocation(var0, var0.defaultHeight / 2);
- if (Client.viewportTempX > -1) {
- if (var77 == 1) {
- Client.viewportTempY -= 20;
- }
+ if (var89.health2 > 0 && var93 < 1) {
+ var93 = 1;
+ }
- if (var77 == 2) {
- Client.viewportTempX -= 15;
- Client.viewportTempY -= 10;
- }
+ if (var76 == null || var14 == null) {
+ var87 += 5;
+ if (Client.viewportTempX > -1) {
+ var21 = var2 + Client.viewportTempX - (var15 >> 1);
+ var22 = var3 + Client.viewportTempY - var87;
+ Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var93, 5, 0xff00);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var21 + var93, var22, var15 - var93, 5, 0xff0000);
+ }
- if (var77 == 3) {
- Client.viewportTempX += 15;
- Client.viewportTempY -= 10;
- }
+ var87 += 2;
+ continue;
+ }
- Sprite var82 = null;
- Sprite var83 = null;
- Sprite var84 = null;
- Sprite var85 = null;
- var22 = 0;
- var23 = 0;
- int var24 = 0;
- int var25 = 0;
- int var26 = 0;
- int var27 = 0;
- int var28 = 0;
- int var29 = 0;
- Sprite var30 = null;
- Sprite var31 = null;
- Sprite var32 = null;
- Sprite var33 = null;
- int var34 = 0;
- int var35 = 0;
- int var36 = 0;
- int var37 = 0;
- int var38 = 0;
- int var39 = 0;
- int var40 = 0;
- int var41 = 0;
- int var42 = 0;
- var82 = var95.method4551();
- int var43;
- if (var82 != null) {
- var22 = var82.subWidth;
- var43 = var82.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
+ if (var93 == var15) {
+ var93 += var16 * 2;
+ } else {
+ var93 += var16;
+ }
- var26 = var82.yOffset;
- }
+ var21 = var76.subHeight;
+ var87 += var21;
+ var22 = var2 + Client.viewportTempX - (var15 >> 1);
+ var23 = var3 + Client.viewportTempY - var87;
+ var22 -= var16;
+ if (var17 >= 0 && var17 < 255) {
+ var76.drawTransAt(var22, var23, var17);
+ Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23);
+ var14.drawTransAt(var22, var23, var17);
+ } else {
+ var76.drawTransBgAt(var22, var23);
+ Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23);
+ var14.drawTransBgAt(var22, var23);
+ }
- var83 = var95.method4557();
- if (var83 != null) {
- var23 = var83.subWidth;
- var43 = var83.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5);
+ var87 += 2;
+ }
+ }
- var27 = var83.yOffset;
- }
+ if (var87 == -2) {
+ var87 += 7;
+ }
- var84 = var95.method4558();
- if (var84 != null) {
- var24 = var84.subWidth;
- var43 = var84.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
+ var87 += var8;
+ if (var1 < var75) {
+ var10 = (Player)var0;
+ if (var10.isHidden) {
+ return;
+ }
- var28 = var84.yOffset;
- }
+ if (var10.headIconPk != -1 || var10.headIconPrayer != -1) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
+ if (Client.viewportTempX > -1) {
+ if (var10.headIconPk != -1) {
+ var87 += 25;
+ UserComparator3.headIconPkSprites[var10.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
+ }
- var85 = var95.method4583();
- if (var85 != null) {
- var25 = var85.subWidth;
- var43 = var85.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
-
- var29 = var85.yOffset;
- }
-
- if (var81 != null) {
- var30 = var81.method4551();
- if (var30 != null) {
- var34 = var30.subWidth;
- var43 = var30.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
-
- var38 = var30.yOffset;
- }
-
- var31 = var81.method4557();
- if (var31 != null) {
- var35 = var31.subWidth;
- var43 = var31.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
-
- var39 = var31.yOffset;
- }
-
- var32 = var81.method4558();
- if (var32 != null) {
- var36 = var32.subWidth;
- var43 = var32.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
-
- var40 = var32.yOffset;
- }
-
- var33 = var81.method4583();
- if (var33 != null) {
- var37 = var33.subWidth;
- var43 = var33.subHeight;
- if (var43 > var42) {
- var42 = var43;
- }
-
- var41 = var33.yOffset;
- }
- }
-
- Font var86 = var95.getFont();
- if (var86 == null) {
- var86 = Coord.fontPlain11;
- }
-
- Font var44;
- if (var81 != null) {
- var44 = var81.getFont();
- if (var44 == null) {
- var44 = Coord.fontPlain11;
- }
- } else {
- var44 = Coord.fontPlain11;
- }
-
- String var45 = null;
- String var46 = null;
- boolean var47 = false;
- int var48 = 0;
- var45 = var95.getString(var0.hitSplatValues[var77]);
- int var94 = var86.stringWidth(var45);
- if (var81 != null) {
- var46 = var81.getString(var0.hitSplatValues2[var77]);
- var48 = var44.stringWidth(var46);
- }
-
- int var49 = 0;
- int var50 = 0;
- if (var23 > 0) {
- if (var84 == null && var85 == null) {
- var49 = 1;
- } else {
- var49 = var94 / var23 + 1;
- }
- }
-
- if (var81 != null && var35 > 0) {
- if (var32 == null && var33 == null) {
- var50 = 1;
- } else {
- var50 = var48 / var35 + 1;
- }
- }
-
- int var51 = 0;
- int var52 = var51;
- if (var22 > 0) {
- var51 += var22;
- }
-
- var51 += 2;
- int var53 = var51;
- if (var24 > 0) {
- var51 += var24;
- }
-
- int var54 = var51;
- int var55 = var51;
- int var56;
- if (var23 > 0) {
- var56 = var23 * var49;
- var51 += var56;
- var55 += (var56 - var94) / 2;
- } else {
- var51 += var94;
- }
-
- var56 = var51;
- if (var25 > 0) {
- var51 += var25;
- }
-
- int var57 = 0;
- int var58 = 0;
- int var59 = 0;
- int var60 = 0;
- int var61 = 0;
- int var62;
- if (var81 != null) {
- var51 += 2;
- var57 = var51;
- if (var34 > 0) {
- var51 += var34;
- }
-
- var51 += 2;
- var58 = var51;
- if (var36 > 0) {
- var51 += var36;
- }
-
- var59 = var51;
- var61 = var51;
- if (var35 > 0) {
- var62 = var50 * var35;
- var51 += var62;
- var61 += (var62 - var48) / 2;
- } else {
- var51 += var48;
- }
-
- var60 = var51;
- if (var37 > 0) {
- var51 += var37;
- }
- }
-
- var62 = var0.hitSplatCycles[var77] - Client.cycle;
- int var63 = var95.field3335 - var62 * var95.field3335 / var95.field3344;
- int var64 = var62 * var95.field3340 / var95.field3344 + -var95.field3340;
- int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1));
- int var66 = var3 + Client.viewportTempY - 12 + var64;
- int var67 = var66;
- int var68 = var42 + var66;
- int var69 = var66 + var95.field3328 + 15;
- int var70 = var69 - var86.maxAscent;
- int var71 = var69 + var86.maxDescent;
- if (var70 < var66) {
- var67 = var70;
- }
-
- if (var71 > var68) {
- var68 = var71;
- }
-
- int var72 = 0;
- int var73;
- int var74;
- if (var81 != null) {
- var72 = var66 + var81.field3328 + 15;
- var73 = var72 - var44.maxAscent;
- var74 = var72 + var44.maxDescent;
- if (var73 < var67) {
- ;
- }
-
- if (var74 > var68) {
- ;
- }
- }
-
- var73 = 255;
- if (var95.field3341 >= 0) {
- var73 = (var62 << 8) / (var95.field3344 - var95.field3341);
- }
-
- if (var73 >= 0 && var73 < 255) {
- if (var82 != null) {
- var82.method6129(var65 + var52 - var26, var66, var73);
- }
-
- if (var84 != null) {
- var84.method6129(var65 + var53 - var28, var66, var73);
- }
-
- if (var83 != null) {
- for (var74 = 0; var74 < var49; ++var74) {
- var83.method6129(var23 * var74 + (var54 + var65 - var27), var66, var73);
- }
- }
-
- if (var85 != null) {
- var85.method6129(var56 + var65 - var29, var66, var73);
- }
-
- var86.drawAlpha(var45, var55 + var65, var69, var95.field3333, 0, var73);
- if (var81 != null) {
- if (var30 != null) {
- var30.method6129(var65 + var57 - var38, var66, var73);
- }
-
- if (var32 != null) {
- var32.method6129(var65 + var58 - var40, var66, var73);
- }
-
- if (var31 != null) {
- for (var74 = 0; var74 < var50; ++var74) {
- var31.method6129(var74 * var35 + (var65 + var59 - var39), var66, var73);
- }
- }
-
- if (var33 != null) {
- var33.method6129(var60 + var65 - var41, var66, var73);
- }
-
- var44.drawAlpha(var46, var65 + var61, var72, var81.field3333, 0, var73);
- }
- } else {
- if (var82 != null) {
- var82.drawAt2(var52 + var65 - var26, var66);
- }
-
- if (var84 != null) {
- var84.drawAt2(var53 + var65 - var28, var66);
- }
-
- if (var83 != null) {
- for (var74 = 0; var74 < var49; ++var74) {
- var83.drawAt2(var74 * var23 + (var65 + var54 - var27), var66);
- }
- }
-
- if (var85 != null) {
- var85.drawAt2(var65 + var56 - var29, var66);
- }
-
- var86.draw(var45, var65 + var55, var69, var95.field3333 | -16777216, 0);
- if (var81 != null) {
- if (var30 != null) {
- var30.drawAt2(var57 + var65 - var38, var66);
- }
-
- if (var32 != null) {
- var32.drawAt2(var58 + var65 - var40, var66);
- }
-
- if (var31 != null) {
- for (var74 = 0; var74 < var50; ++var74) {
- var31.drawAt2(var74 * var35 + (var65 + var59 - var39), var66);
- }
- }
-
- if (var33 != null) {
- var33.drawAt2(var60 + var65 - var41, var66);
- }
-
- var44.draw(var46, var61 + var65, var72, var81.field3333 | -16777216, 0);
- }
- }
- }
+ if (var10.headIconPrayer != -1) {
+ var87 += 25;
+ SoundCache.headIconPrayerSprites[var10.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
}
}
}
+ if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
+ if (Client.viewportTempX > -1) {
+ var87 += class173.headIconHintSprites[1].subHeight;
+ class173.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87);
+ }
+ }
+ } else {
+ NPCDefinition var90 = ((NPC)var0).definition;
+ if (var90.transforms != null) {
+ var90 = var90.transform();
+ }
+
+ if (var90.headIconPrayer >= 0 && var90.headIconPrayer < SoundCache.headIconPrayerSprites.length) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
+ if (Client.viewportTempX > -1) {
+ SoundCache.headIconPrayerSprites[var90.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30);
+ }
+ }
+
+ if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight + 15);
+ if (Client.viewportTempX > -1) {
+ class173.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28);
+ }
+ }
}
+
+ if (var0.overheadText != null && (var1 >= var75 || !var0.field998 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) {
+ class219.getActorScreenLocation(var0, var0.defaultHeight);
+ if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) {
+ Client.overheadTextXOffsets[Client.overheadTextCount] = WorldMapIcon_1.fontBold12.stringWidth(var0.overheadText) / 2;
+ Client.overheadTextAscents[Client.overheadTextCount] = WorldMapIcon_1.fontBold12.ascent;
+ Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX;
+ Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY;
+ Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor;
+ Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect;
+ Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining;
+ Client.overheadText[Client.overheadTextCount] = var0.overheadText;
+ ++Client.overheadTextCount;
+ }
+ }
+
+ for (int var77 = 0; var77 < 4; ++var77) {
+ int var96 = var0.hitSplatCycles[var77];
+ int var97 = var0.hitSplatTypes[var77];
+ HitSplatDefinition var95 = null;
+ int var98 = 0;
+ if (var97 >= 0) {
+ if (var96 <= Client.cycle) {
+ continue;
+ }
+
+ var95 = Projectile.getHitSplatDefinition(var0.hitSplatTypes[var77]);
+ var98 = var95.field3344;
+ if (var95 != null && var95.transforms != null) {
+ var95 = var95.transform();
+ if (var95 == null) {
+ var0.hitSplatCycles[var77] = -1;
+ continue;
+ }
+ }
+ } else if (var96 < 0) {
+ continue;
+ }
+
+ var15 = var0.hitSplatTypes2[var77];
+ HitSplatDefinition var81 = null;
+ if (var15 >= 0) {
+ var81 = Projectile.getHitSplatDefinition(var15);
+ if (var81 != null && var81.transforms != null) {
+ var81 = var81.transform();
+ }
+ }
+
+ if (var96 - var98 > Client.cycle) {
+ continue;
+ }
+ if (var95 == null) {
+ var0.hitSplatCycles[var77] = -1;
+ continue;
+ }
+ class219.getActorScreenLocation(var0, var0.defaultHeight / 2);
+ if (Client.viewportTempX <= -1) {
+ continue;
+ }
+ if (var77 == 1) {
+ Client.viewportTempY -= 20;
+ }
+
+ if (var77 == 2) {
+ Client.viewportTempX -= 15;
+ Client.viewportTempY -= 10;
+ }
+
+ if (var77 == 3) {
+ Client.viewportTempX += 15;
+ Client.viewportTempY -= 10;
+ }
+
+ Sprite var82 = null;
+ Sprite var83 = null;
+ Sprite var84 = null;
+ Sprite var85 = null;
+ var22 = 0;
+ var23 = 0;
+ int var24 = 0;
+ int var25 = 0;
+ int var26 = 0;
+ int var27 = 0;
+ int var28 = 0;
+ int var29 = 0;
+ Sprite var30 = null;
+ Sprite var31 = null;
+ Sprite var32 = null;
+ Sprite var33 = null;
+ int var34 = 0;
+ int var35 = 0;
+ int var36 = 0;
+ int var37 = 0;
+ int var38 = 0;
+ int var39 = 0;
+ int var40 = 0;
+ int var41 = 0;
+ int var42 = 0;
+ var82 = var95.method4551();
+ int var43;
+ if (var82 != null) {
+ var22 = var82.subWidth;
+ var43 = var82.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var26 = var82.xOffset;
+ }
+
+ var83 = var95.method4557();
+ if (var83 != null) {
+ var23 = var83.subWidth;
+ var43 = var83.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var27 = var83.xOffset;
+ }
+
+ var84 = var95.method4558();
+ if (var84 != null) {
+ var24 = var84.subWidth;
+ var43 = var84.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var28 = var84.xOffset;
+ }
+
+ var85 = var95.method4583();
+ if (var85 != null) {
+ var25 = var85.subWidth;
+ var43 = var85.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var29 = var85.xOffset;
+ }
+
+ if (var81 != null) {
+ var30 = var81.method4551();
+ if (var30 != null) {
+ var34 = var30.subWidth;
+ var43 = var30.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var38 = var30.xOffset;
+ }
+
+ var31 = var81.method4557();
+ if (var31 != null) {
+ var35 = var31.subWidth;
+ var43 = var31.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var39 = var31.xOffset;
+ }
+
+ var32 = var81.method4558();
+ if (var32 != null) {
+ var36 = var32.subWidth;
+ var43 = var32.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var40 = var32.xOffset;
+ }
+
+ var33 = var81.method4583();
+ if (var33 != null) {
+ var37 = var33.subWidth;
+ var43 = var33.subHeight;
+ if (var43 > var42) {
+ var42 = var43;
+ }
+
+ var41 = var33.xOffset;
+ }
+ }
+
+ Font var86 = var95.getFont();
+ if (var86 == null) {
+ var86 = Coord.fontPlain11;
+ }
+
+ Font var44;
+ if (var81 != null) {
+ var44 = var81.getFont();
+ if (var44 == null) {
+ var44 = Coord.fontPlain11;
+ }
+ } else {
+ var44 = Coord.fontPlain11;
+ }
+
+ String var45 = null;
+ String var46 = null;
+ boolean var47 = false;
+ int var48 = 0;
+ var45 = var95.getString(var0.hitSplatValues[var77]);
+ int var94 = var86.stringWidth(var45);
+ if (var81 != null) {
+ var46 = var81.getString(var0.hitSplatValues2[var77]);
+ var48 = var44.stringWidth(var46);
+ }
+
+ int var49 = 0;
+ int var50 = 0;
+ if (var23 > 0) {
+ if (var84 == null && var85 == null) {
+ var49 = 1;
+ } else {
+ var49 = var94 / var23 + 1;
+ }
+ }
+
+ if (var81 != null && var35 > 0) {
+ if (var32 == null && var33 == null) {
+ var50 = 1;
+ } else {
+ var50 = var48 / var35 + 1;
+ }
+ }
+
+ int var51 = 0;
+ int var52 = var51;
+ if (var22 > 0) {
+ var51 += var22;
+ }
+
+ var51 += 2;
+ int var53 = var51;
+ if (var24 > 0) {
+ var51 += var24;
+ }
+
+ int var54 = var51;
+ int var55 = var51;
+ int var56;
+ if (var23 > 0) {
+ var56 = var23 * var49;
+ var51 += var56;
+ var55 += (var56 - var94) / 2;
+ } else {
+ var51 += var94;
+ }
+
+ var56 = var51;
+ if (var25 > 0) {
+ var51 += var25;
+ }
+
+ int var57 = 0;
+ int var58 = 0;
+ int var59 = 0;
+ int var60 = 0;
+ int var61 = 0;
+ int var62;
+ if (var81 != null) {
+ var51 += 2;
+ var57 = var51;
+ if (var34 > 0) {
+ var51 += var34;
+ }
+
+ var51 += 2;
+ var58 = var51;
+ if (var36 > 0) {
+ var51 += var36;
+ }
+
+ var59 = var51;
+ var61 = var51;
+ if (var35 > 0) {
+ var62 = var50 * var35;
+ var51 += var62;
+ var61 += (var62 - var48) / 2;
+ } else {
+ var51 += var48;
+ }
+
+ var60 = var51;
+ if (var37 > 0) {
+ var51 += var37;
+ }
+ }
+
+ var62 = var0.hitSplatCycles[var77] - Client.cycle;
+ int var63 = var95.field3335 - var62 * var95.field3335 / var95.field3344;
+ int var64 = var62 * var95.field3340 / var95.field3344 + -var95.field3340;
+ int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1));
+ int var66 = var3 + Client.viewportTempY - 12 + var64;
+ int var67 = var66;
+ int var68 = var42 + var66;
+ int var69 = var66 + var95.field3328 + 15;
+ int var70 = var69 - var86.maxAscent;
+ int var71 = var69 + var86.maxDescent;
+ if (var70 < var66) {
+ var67 = var70;
+ }
+
+ if (var71 > var68) {
+ var68 = var71;
+ }
+
+ int var72 = 0;
+ int var73;
+ int var74;
+ if (var81 != null) {
+ var72 = var66 + var81.field3328 + 15;
+ var73 = var72 - var44.maxAscent;
+ var74 = var72 + var44.maxDescent;
+ if (var73 < var67) {
+ ;
+ }
+
+ if (var74 > var68) {
+ ;
+ }
+ }
+
+ var73 = 255;
+ if (var95.field3341 >= 0) {
+ var73 = (var62 << 8) / (var95.field3344 - var95.field3341);
+ }
+
+ if (var73 >= 0 && var73 < 255) {
+ if (var82 != null) {
+ var82.drawTransAt(var65 + var52 - var26, var66, var73);
+ }
+
+ if (var84 != null) {
+ var84.drawTransAt(var65 + var53 - var28, var66, var73);
+ }
+
+ if (var83 != null) {
+ for (var74 = 0; var74 < var49; ++var74) {
+ var83.drawTransAt(var23 * var74 + (var54 + var65 - var27), var66, var73);
+ }
+ }
+
+ if (var85 != null) {
+ var85.drawTransAt(var56 + var65 - var29, var66, var73);
+ }
+
+ var86.drawAlpha(var45, var55 + var65, var69, var95.field3333, 0, var73);
+ if (var81 != null) {
+ if (var30 != null) {
+ var30.drawTransAt(var65 + var57 - var38, var66, var73);
+ }
+
+ if (var32 != null) {
+ var32.drawTransAt(var65 + var58 - var40, var66, var73);
+ }
+
+ if (var31 != null) {
+ for (var74 = 0; var74 < var50; ++var74) {
+ var31.drawTransAt(var74 * var35 + (var65 + var59 - var39), var66, var73);
+ }
+ }
+
+ if (var33 != null) {
+ var33.drawTransAt(var60 + var65 - var41, var66, var73);
+ }
+
+ var44.drawAlpha(var46, var65 + var61, var72, var81.field3333, 0, var73);
+ }
+ } else {
+ if (var82 != null) {
+ var82.drawTransBgAt(var52 + var65 - var26, var66);
+ }
+
+ if (var84 != null) {
+ var84.drawTransBgAt(var53 + var65 - var28, var66);
+ }
+
+ if (var83 != null) {
+ for (var74 = 0; var74 < var49; ++var74) {
+ var83.drawTransBgAt(var74 * var23 + (var65 + var54 - var27), var66);
+ }
+ }
+
+ if (var85 != null) {
+ var85.drawTransBgAt(var65 + var56 - var29, var66);
+ }
+
+ var86.draw(var45, var65 + var55, var69, var95.field3333 | 0xff000000, 0);
+ if (var81 == null) {
+ continue;
+ }
+ if (var30 != null) {
+ var30.drawTransBgAt(var57 + var65 - var38, var66);
+ }
+
+ if (var32 != null) {
+ var32.drawTransBgAt(var58 + var65 - var40, var66);
+ }
+
+ if (var31 != null) {
+ for (var74 = 0; var74 < var50; ++var74) {
+ var31.drawTransBgAt(var74 * var35 + (var65 + var59 - var39), var66);
+ }
+ }
+
+ if (var33 != null) {
+ var33.drawTransBgAt(var60 + var65 - var41, var66);
+ }
+
+ var44.draw(var46, var61 + var65, var72, var81.field3333 | 0xff000000, 0);
+ }
+ }
+
}
@ObfuscatedName("je")
diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java
index b8d9eba5bb..4eea9adf19 100644
--- a/runescape-client/src/main/java/DevicePcmPlayer.java
+++ b/runescape-client/src/main/java/DevicePcmPlayer.java
@@ -98,7 +98,7 @@ public class DevicePcmPlayer extends PcmPlayer {
for (int var2 = 0; var2 < var1; ++var2) {
int var3 = super.samples[var2];
- if ((var3 + 8388608 & -16777216) != 0) {
+ if ((var3 + 8388608 & 0xff000000) != 0) {
var3 = 8388607 ^ var3 >> 31;
}
diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java
index a5e48b5cb1..ed36baa741 100644
--- a/runescape-client/src/main/java/DirectByteArrayCopier.java
+++ b/runescape-client/src/main/java/DirectByteArrayCopier.java
@@ -96,7 +96,7 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier {
int var12;
if (0L != var7) {
var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var2, var3, var7);
- int var14 = class43.method770(var7);
+ int var14 = class43.getObjectIdFromTag(var7);
int var15 = var12 & 31;
int var16 = var12 >> 6 & 3;
ObjectDefinition var13;
diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java
index 5b71f767c1..1d40340919 100644
--- a/runescape-client/src/main/java/DynamicObject.java
+++ b/runescape-client/src/main/java/DynamicObject.java
@@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature;
@Implements("DynamicObject")
public class DynamicObject extends Entity {
@ObfuscatedName("x")
- static int[] field1301;
+ static int[] Tiles_hueMultiplier;
@ObfuscatedName("q")
@ObfuscatedGetter(
intValue = -982722193
diff --git a/runescape-client/src/main/java/EnumDefinition.java b/runescape-client/src/main/java/EnumDefinition.java
index 3ce92fecda..ff21f7a4ea 100644
--- a/runescape-client/src/main/java/EnumDefinition.java
+++ b/runescape-client/src/main/java/EnumDefinition.java
@@ -133,28 +133,30 @@ public class EnumDefinition extends DualNode {
}
@ObfuscatedName("q")
- public static final void method4550(long var0) {
- if (var0 > 0L) {
- if (0L == var0 % 10L) {
- long var2 = var0 - 1L;
-
- try {
- Thread.sleep(var2);
- } catch (InterruptedException var8) {
- }
-
- try {
- Thread.sleep(1L);
- } catch (InterruptedException var7) {
- }
- } else {
- try {
- Thread.sleep(var0);
- } catch (InterruptedException var6) {
- }
- }
-
+ @Export("sleepMillis")
+ public static final void sleepMillis(long var0) {
+ if (var0 <= 0L) {
+ return;
}
+ if (0L != var0 % 10L) {
+ try {
+ Thread.sleep(var0);
+ } catch (InterruptedException var6) {
+ }
+ return;
+ }
+ long var2 = var0 - 1L;
+
+ try {
+ Thread.sleep(var2);
+ } catch (InterruptedException var8) {
+ }
+
+ try {
+ Thread.sleep(1L);
+ } catch (InterruptedException var7) {
+ }
+
}
@ObfuscatedName("ar")
diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java
index 8e347efdb4..2ecba3feba 100644
--- a/runescape-client/src/main/java/FaceNormal.java
+++ b/runescape-client/src/main/java/FaceNormal.java
@@ -43,8 +43,8 @@ public class FaceNormal {
signature = "(Lhp;Lhp;B)V",
garbageValue = "-92"
)
- @Export("setNpcDefinitionArchives")
- public static void setNpcDefinitionArchives(AbstractArchive var0, AbstractArchive var1) {
+ @Export("NpcDefinition_setArchives")
+ public static void NpcDefinition_setArchives(AbstractArchive var0, AbstractArchive var1) {
NPCDefinition.NpcDefinition_archive = var0;
NPCDefinition.NpcDefinition_modelArchive = var1;
}
@@ -80,8 +80,8 @@ public class FaceNormal {
static void method3264() {
Client.mouseLastLastPressedTimeMillis = 1L;
class40.mouseRecorder.index = 0;
- class267.field3557 = true;
- Client.field667 = true;
+ class267.hasFocus = true;
+ Client.hadFocus = true;
Client.field879 = -1L;
class192.method3678();
Client.packetWriter.method2218();
@@ -158,7 +158,7 @@ public class FaceNormal {
Client.followerIndex = -1;
if (Client.rootInterface != -1) {
var0 = Client.rootInterface;
- if (var0 != -1 && ViewportMouse.loadedInterfaces[var0]) {
+ if (var0 != -1 && ViewportMouse.Widget_loadedInterfaces[var0]) {
Widget.Widget_archive.clearFilesGroup(var0);
if (Widget.Widget_interfaceComponents[var0] != null) {
boolean var5 = true;
@@ -177,7 +177,7 @@ public class FaceNormal {
Widget.Widget_interfaceComponents[var0] = null;
}
- ViewportMouse.loadedInterfaces[var0] = false;
+ ViewportMouse.Widget_loadedInterfaces[var0] = false;
}
}
}
@@ -188,7 +188,7 @@ public class FaceNormal {
Client.rootInterface = -1;
Client.interfaceParents = new NodeHashTable(8);
- Client.field850 = null;
+ Client.meslayerContinueWidget = null;
Strings.method4121();
Client.playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1);
diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java
index c537dac56f..faeced04c3 100644
--- a/runescape-client/src/main/java/FontName.java
+++ b/runescape-client/src/main/java/FontName.java
@@ -204,616 +204,624 @@ public class FontName {
for (int var9 = 0; var9 < var0.length; ++var9) {
Widget var10 = var0[var9];
- if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) {
- int var11;
- if (var8 == -1) {
- Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6;
- Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y;
- Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width;
- Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height;
- var11 = ++Client.rootWidgetCount - 1;
- } else {
- var11 = var8;
+ if (var10 == null || (var10.parentId != var1 && (var1 != -1412584499 || var10 != Client.clickedWidget))) {
+ continue;
+ }
+
+ int var11;
+ if (var8 == -1) {
+ Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6;
+ Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y;
+ Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width;
+ Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height;
+ var11 = ++Client.rootWidgetCount - 1;
+ } else {
+ var11 = var8;
+ }
+
+ var10.rootIndex = var11;
+ var10.cycle = Client.cycle;
+ if (var10.isIf3 && ScriptEvent.isComponentHidden(var10)) {
+ continue;
+ }
+
+ if (var10.contentType > 0) {
+ GrandExchangeOfferTotalQuantityComparator.method85(var10);
+ }
+
+ int var12 = var10.x + var6;
+ int var13 = var7 + var10.y;
+ int var14 = var10.transparencyTop;
+ int var15;
+ int var16;
+ if (var10 == Client.clickedWidget) {
+ if (var1 != 0xabcdabcd && !var10.isScrollBar) {
+ WorldMapIcon_1.field188 = var0;
+ WorldMapDecorationType.field2742 = var6;
+ ClientPacket.field2305 = var7;
+ continue;
}
- var10.rootIndex = var11;
- var10.cycle = Client.cycle;
- if (!var10.isIf3 || !ScriptEvent.isComponentHidden(var10)) {
- if (var10.contentType > 0) {
- GrandExchangeOfferTotalQuantityComparator.method85(var10);
+ if (Client.isDraggingWidget && Client.field873) {
+ var15 = MouseHandler.MouseHandler_x;
+ var16 = MouseHandler.MouseHandler_y;
+ var15 -= Client.widgetClickX;
+ var16 -= Client.widgetClickY;
+ if (var15 < Client.field834) {
+ var15 = Client.field834;
}
- int var12 = var10.x + var6;
- int var13 = var7 + var10.y;
- int var14 = var10.transparencyTop;
- int var15;
- int var16;
- if (var10 == Client.clickedWidget) {
- if (var1 != -1412584499 && !var10.isScrollBar) {
- WorldMapIcon_1.field188 = var0;
- WorldMapDecorationType.field2742 = var6;
- ClientPacket.field2305 = var7;
- continue;
- }
-
- if (Client.isDraggingWidget && Client.field873) {
- var15 = MouseHandler.MouseHandler_x;
- var16 = MouseHandler.MouseHandler_y;
- var15 -= Client.widgetClickX;
- var16 -= Client.widgetClickY;
- if (var15 < Client.field834) {
- var15 = Client.field834;
- }
-
- if (var15 + var10.width > Client.field834 + Client.clickedWidgetParent.width) {
- var15 = Client.field834 + Client.clickedWidgetParent.width - var10.width;
- }
-
- if (var16 < Client.field835) {
- var16 = Client.field835;
- }
-
- if (var16 + var10.height > Client.field835 + Client.clickedWidgetParent.height) {
- var16 = Client.field835 + Client.clickedWidgetParent.height - var10.height;
- }
-
- var12 = var15;
- var13 = var16;
- }
-
- if (!var10.isScrollBar) {
- var14 = 128;
- }
+ if (var15 + var10.width > Client.field834 + Client.clickedWidgetParent.width) {
+ var15 = Client.field834 + Client.clickedWidgetParent.width - var10.width;
}
- int var17;
- int var18;
- int var19;
- int var20;
- int var21;
- int var22;
- if (var10.type == 2) {
- var15 = var2;
- var16 = var3;
- var17 = var4;
- var18 = var5;
- } else if (var10.type == 9) {
- var19 = var12;
- var20 = var13;
- var21 = var12 + var10.width;
- var22 = var13 + var10.height;
- if (var21 < var12) {
- var19 = var21;
- var21 = var12;
- }
-
- if (var22 < var13) {
- var20 = var22;
- var22 = var13;
- }
-
- ++var21;
- ++var22;
- var15 = var19 > var2 ? var19 : var2;
- var16 = var20 > var3 ? var20 : var3;
- var17 = var21 < var4 ? var21 : var4;
- var18 = var22 < var5 ? var22 : var5;
- } else {
- var19 = var12 + var10.width;
- var20 = var13 + var10.height;
- var15 = var12 > var2 ? var12 : var2;
- var16 = var13 > var3 ? var13 : var3;
- var17 = var19 < var4 ? var19 : var4;
- var18 = var20 < var5 ? var20 : var5;
+ if (var16 < Client.field835) {
+ var16 = Client.field835;
}
- if (!var10.isIf3 || var15 < var17 && var16 < var18) {
- if (var10.contentType != 0) {
- if (var10.contentType == 1336) {
- if (Client.displayFps) {
- var13 += 15;
- class169.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 16776960, -1);
- var13 += 15;
- Runtime var42 = Runtime.getRuntime();
- var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L);
- var21 = 16776960;
- if (var20 > 327680 && !Client.isLowDetail) {
- var21 = 16711680;
- }
+ if (var16 + var10.height > Client.field835 + Client.clickedWidgetParent.height) {
+ var16 = Client.field835 + Client.clickedWidgetParent.height - var10.height;
+ }
- class169.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1);
- var13 += 15;
- }
- continue;
- }
+ var12 = var15;
+ var13 = var16;
+ }
- if (var10.contentType == 1337) {
- Client.field803 = var12;
- Client.field804 = var13;
- class4.drawEntities(var12, var13, var10.width, var10.height);
- Client.field843[var10.rootIndex] = true;
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
- continue;
- }
+ if (!var10.isScrollBar) {
+ var14 = 128;
+ }
+ }
- if (var10.contentType == 1338) {
- ArchiveLoader.drawMinimap(var10, var12, var13, var11);
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
- continue;
- }
+ int var17;
+ int var18;
+ int var19;
+ int var20;
+ int var21;
+ int var22;
+ if (var10.type == 2) {
+ var15 = var2;
+ var16 = var3;
+ var17 = var4;
+ var18 = var5;
+ } else if (var10.type == 9) {
+ var19 = var12;
+ var20 = var13;
+ var21 = var12 + var10.width;
+ var22 = var13 + var10.height;
+ if (var21 < var12) {
+ var19 = var21;
+ var21 = var12;
+ }
- if (var10.contentType == 1339) {
- WorldMapIcon_0.drawCompass(var10, var12, var13, var11);
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
- continue;
- }
+ if (var22 < var13) {
+ var20 = var22;
+ var22 = var13;
+ }
- if (var10.contentType == 1400) {
- BoundaryObject.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle);
- }
+ ++var21;
+ ++var22;
+ var15 = var19 > var2 ? var19 : var2;
+ var16 = var20 > var3 ? var20 : var3;
+ var17 = var21 < var4 ? var21 : var4;
+ var18 = var22 < var5 ? var22 : var5;
+ } else {
+ var19 = var12 + var10.width;
+ var20 = var13 + var10.height;
+ var15 = var12 > var2 ? var12 : var2;
+ var16 = var13 > var3 ? var13 : var3;
+ var17 = var19 < var4 ? var19 : var4;
+ var18 = var20 < var5 ? var20 : var5;
+ }
- if (var10.contentType == 1401) {
- BoundaryObject.worldMap.drawOverview(var12, var13, var10.width, var10.height);
- }
-
- if (var10.contentType == 1402) {
- Ignored.loginScreenRunesAnimation.draw(var12, Client.cycle);
- }
+ if (var10.isIf3 && (var15 >= var17 || var16 >= var18)) {
+ continue;
+ }
+ if (var10.contentType != 0) {
+ if (var10.contentType == 1336) {
+ if (Client.displayFps) {
+ var13 += 15;
+ class169.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 0xffff00, -1);
+ var13 += 15;
+ Runtime var42 = Runtime.getRuntime();
+ var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L);
+ var21 = 0xffff00;
+ if (var20 > 327680 && !Client.isLowDetail) {
+ var21 = 0xff0000;
}
- if (var10.type == 0) {
- if (!var10.isIf3 && ScriptEvent.isComponentHidden(var10) && var10 != LoginScreenAnimation.mousedOverWidgetIf1) {
- continue;
- }
+ class169.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1);
+ var13 += 15;
+ }
+ continue;
+ }
- if (!var10.isIf3) {
- if (var10.scrollY > var10.scrollHeight - var10.height) {
- var10.scrollY = var10.scrollHeight - var10.height;
- }
+ if (var10.contentType == 1337) {
+ Client.viewportX = var12;
+ Client.viewportY = var13;
+ class4.drawEntities(var12, var13, var10.width, var10.height);
+ Client.field843[var10.rootIndex] = true;
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
+ continue;
+ }
- if (var10.scrollY < 0) {
- var10.scrollY = 0;
- }
- }
+ if (var10.contentType == 1338) {
+ ArchiveLoader.drawMinimap(var10, var12, var13, var11);
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
+ continue;
+ }
- drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
- if (var10.children != null) {
- drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
- }
+ if (var10.contentType == 1339) {
+ WorldMapIcon_0.drawCompass(var10, var12, var13, var11);
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
+ continue;
+ }
- InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id);
- if (var30 != null) {
- class191.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11);
- }
+ if (var10.contentType == 1400) {
+ BoundaryObject.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle);
+ }
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
- Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
+ if (var10.contentType == 1401) {
+ BoundaryObject.worldMap.drawOverview(var12, var13, var10.width, var10.height);
+ }
+
+ if (var10.contentType == 1402) {
+ Ignored.loginScreenRunesAnimation.draw(var12, Client.cycle);
+ }
+ }
+
+ if (var10.type == 0) {
+ if (!var10.isIf3 && ScriptEvent.isComponentHidden(var10) && var10 != LoginScreenAnimation.mousedOverWidgetIf1) {
+ continue;
+ }
+
+ if (!var10.isIf3) {
+ if (var10.scrollY > var10.scrollHeight - var10.height) {
+ var10.scrollY = var10.scrollHeight - var10.height;
+ }
+
+ if (var10.scrollY < 0) {
+ var10.scrollY = 0;
+ }
+ }
+
+ drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
+ if (var10.children != null) {
+ drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
+ }
+
+ InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id);
+ if (var30 != null) {
+ class191.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11);
+ }
+
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
+ Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
+ }
+
+ if (!Client.isResizable && !Client.field862[var11] && Client.gameDrawingMode <= 1) {
+ continue;
+ }
+
+ if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) {
+ NetFileRequest.method4139(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
+ }
+
+ if (var10.type == 1) {
+ continue;
+ }
+ int var23;
+ int var24;
+ int var25;
+ int var26;
+ if (var10.type == 2) {
+ var19 = 0;
+
+ for (var20 = 0; var20 < var10.rawHeight; ++var20) {
+ for (var21 = 0; var21 < var10.rawWidth; ++var21) {
+ var22 = var12 + var21 * (var10.paddingX + 32);
+ var23 = var13 + var20 * (var10.paddingY + 32);
+ if (var19 < 20) {
+ var22 += var10.inventoryXOffsets[var19];
+ var23 += var10.inventoryYOffsets[var19];
}
- if (Client.isResizable || Client.field862[var11] || Client.gameDrawingMode > 1) {
- if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) {
- NetFileRequest.method4139(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
+ if (var10.itemIds[var19] <= 0) {
+ if (var10.inventorySprites != null && var19 < 20) {
+ Sprite var46 = var10.getInventorySprite(var19);
+ if (var46 != null) {
+ var46.drawTransBgAt(var22, var23);
+ } else if (Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
}
+ } else {
+ boolean var37 = false;
+ boolean var38 = false;
+ var26 = var10.itemIds[var19] - 1;
+ if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
+ Sprite var27;
+ if (Client.isItemSelected == 1 && var19 == WorldMapIcon_1.selectedItemSlot && var10.id == MouseRecorder.selectedItemWidget) {
+ var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false);
+ } else {
+ var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false);
+ }
- if (var10.type != 1) {
- int var23;
- int var24;
- int var25;
- int var26;
- if (var10.type == 2) {
- var19 = 0;
+ if (var27 != null) {
+ if (var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
+ var24 = MouseHandler.MouseHandler_x - Client.field654;
+ var25 = MouseHandler.MouseHandler_y - Client.field763;
+ if (var24 < 5 && var24 > -5) {
+ var24 = 0;
+ }
- for (var20 = 0; var20 < var10.rawHeight; ++var20) {
- for (var21 = 0; var21 < var10.rawWidth; ++var21) {
- var22 = var12 + var21 * (var10.paddingX + 32);
- var23 = var13 + var20 * (var10.paddingY + 32);
- if (var19 < 20) {
- var22 += var10.inventoryXOffsets[var19];
- var23 += var10.inventoryYOffsets[var19];
- }
+ if (var25 < 5 && var25 > -5) {
+ var25 = 0;
+ }
- if (var10.itemIds[var19] <= 0) {
- if (var10.inventorySprites != null && var19 < 20) {
- Sprite var46 = var10.getInventorySprite(var19);
- if (var46 != null) {
- var46.drawAt2(var22, var23);
- } else if (Widget.field2562) {
- Strings.method4120(var10);
- }
+ if (Client.itemDragDuration < 5) {
+ var24 = 0;
+ var25 = 0;
+ }
+
+ var27.drawTransAt(var24 + var22, var25 + var23, 128);
+ if (var1 != -1) {
+ Widget var28 = var0[var1 & 65535];
+ int var29;
+ if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) {
+ var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field718 / 3;
+ if (var29 > Client.field718 * 10) {
+ var29 = Client.field718 * 10;
}
- } else {
- boolean var37 = false;
- boolean var38 = false;
- var26 = var10.itemIds[var19] - 1;
- if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
- Sprite var27;
- if (Client.isItemSelected == 1 && var19 == WorldMapIcon_1.selectedItemSlot && var10.id == MouseRecorder.selectedItemWidget) {
- var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false);
- } else {
- var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false);
- }
- if (var27 != null) {
- if (var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
- var24 = MouseHandler.MouseHandler_x - Client.field654;
- var25 = MouseHandler.MouseHandler_y - Client.field763;
- if (var24 < 5 && var24 > -5) {
- var24 = 0;
- }
-
- if (var25 < 5 && var25 > -5) {
- var25 = 0;
- }
-
- if (Client.itemDragDuration < 5) {
- var24 = 0;
- var25 = 0;
- }
-
- var27.method6129(var24 + var22, var25 + var23, 128);
- if (var1 != -1) {
- Widget var28 = var0[var1 & 65535];
- int var29;
- if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) {
- var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field718 / 3;
- if (var29 > Client.field718 * 10) {
- var29 = Client.field718 * 10;
- }
-
- if (var29 > var28.scrollY) {
- var29 = var28.scrollY;
- }
-
- var28.scrollY -= var29;
- Client.field763 += var29;
- Strings.method4120(var28);
- }
-
- if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) {
- var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field718 / 3;
- if (var29 > Client.field718 * 10) {
- var29 = Client.field718 * 10;
- }
-
- if (var29 > var28.scrollHeight - var28.height - var28.scrollY) {
- var29 = var28.scrollHeight - var28.height - var28.scrollY;
- }
-
- var28.scrollY += var29;
- Client.field763 -= var29;
- Strings.method4120(var28);
- }
- }
- } else if (var10 == ItemContainer.field549 && var19 == Client.field698) {
- var27.method6129(var22, var23, 128);
- } else {
- var27.drawAt2(var22, var23);
- }
- } else {
- Strings.method4120(var10);
- }
+ if (var29 > var28.scrollY) {
+ var29 = var28.scrollY;
}
+
+ var28.scrollY -= var29;
+ Client.field763 += var29;
+ Strings.invalidateWidget(var28);
}
- ++var19;
- }
- }
- } else if (var10.type == 3) {
- if (ChatChannel.runCs1(var10)) {
- var19 = var10.color2;
- if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
- var19 = var10.mouseOverColor2;
- }
- } else {
- var19 = var10.color;
- if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
- var19 = var10.mouseOverColor;
- }
- }
+ if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) {
+ var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field718 / 3;
+ if (var29 > Client.field718 * 10) {
+ var29 = Client.field718 * 10;
+ }
- if (var10.fill) {
- switch(var10.fillMode.value) {
- case 1:
- Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2);
- break;
- case 2:
- Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255));
- break;
- default:
- if (var14 == 0) {
- Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19);
- } else {
- Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
+ if (var29 > var28.scrollHeight - var28.height - var28.scrollY) {
+ var29 = var28.scrollHeight - var28.height - var28.scrollY;
+ }
+
+ var28.scrollY += var29;
+ Client.field763 -= var29;
+ Strings.invalidateWidget(var28);
}
}
- } else if (var14 == 0) {
- Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19);
+ } else if (var10 == ItemContainer.field549 && var19 == Client.field698) {
+ var27.drawTransAt(var22, var23, 128);
} else {
- Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
+ var27.drawTransBgAt(var22, var23);
}
} else {
- Font var39;
- if (var10.type == 4) {
- var39 = var10.getFont();
- if (var39 == null) {
- if (Widget.field2562) {
- Strings.method4120(var10);
- }
+ Strings.invalidateWidget(var10);
+ }
+ }
+ }
+
+ ++var19;
+ }
+ }
+ } else if (var10.type == 3) {
+ if (ChatChannel.runCs1(var10)) {
+ var19 = var10.color2;
+ if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
+ var19 = var10.mouseOverColor2;
+ }
+ } else {
+ var19 = var10.color;
+ if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
+ var19 = var10.mouseOverColor;
+ }
+ }
+
+ if (var10.fill) {
+ switch(var10.fillMode.value) {
+ case 1:
+ Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2);
+ break;
+ case 2:
+ Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255));
+ break;
+ default:
+ if (var14 == 0) {
+ Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19);
+ } else {
+ Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
+ }
+ }
+ } else if (var14 == 0) {
+ Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19);
+ } else {
+ Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
+ }
+ } else {
+ Font var39;
+ if (var10.type == 4) {
+ var39 = var10.getFont();
+ if (var39 == null) {
+ if (Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ } else {
+ String var44 = var10.text;
+ if (ChatChannel.runCs1(var10)) {
+ var20 = var10.color2;
+ if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
+ var20 = var10.mouseOverColor2;
+ }
+
+ if (var10.text2.length() > 0) {
+ var44 = var10.text2;
+ }
+ } else {
+ var20 = var10.color;
+ if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
+ var20 = var10.mouseOverColor;
+ }
+ }
+
+ if (var10.isIf3 && var10.itemId != -1) {
+ ItemDefinition var45 = WorldMapArea.getItemDefinition(var10.itemId);
+ var44 = var45.name;
+ if (var44 == null) {
+ var44 = "null";
+ }
+
+ if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) {
+ var44 = ClientPreferences.colorStartTag(16748608) + var44 + "" + " " + 'x' + class188.method3631(var10.itemQuantity);
+ }
+ }
+
+ if (var10 == Client.meslayerContinueWidget) {
+ var44 = "Please wait...";
+ var20 = var10.color;
+ }
+
+ if (!var10.isIf3) {
+ var44 = GrandExchangeOfferTotalQuantityComparator.method92(var44, var10);
+ }
+
+ var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight);
+ }
+ } else if (var10.type == 5) {
+ Sprite var40;
+ if (!var10.isIf3) {
+ var40 = var10.getSprite(ChatChannel.runCs1(var10));
+ if (var40 != null) {
+ var40.drawTransBgAt(var12, var13);
+ } else if (Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ } else {
+ if (var10.itemId != -1) {
+ var40 = WorldMapSection0.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false);
+ } else {
+ var40 = var10.getSprite(false);
+ }
+
+ if (var40 == null) {
+ if (Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ } else {
+ var20 = var40.width;
+ var21 = var40.height;
+ if (!var10.spriteTiling) {
+ var22 = var10.width * 4096 / var20;
+ if (var10.spriteAngle != 0) {
+ var40.method6186(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22);
+ } else if (var14 != 0) {
+ var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255));
+ } else if (var20 == var10.width && var21 == var10.height) {
+ var40.drawTransBgAt(var12, var13);
+ } else {
+ var40.drawScaledAt(var12, var13, var10.width, var10.height);
+ }
+ } else {
+ Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
+ var22 = (var20 - 1 + var10.width) / var20;
+ var23 = (var21 - 1 + var10.height) / var21;
+
+ for (var24 = 0; var24 < var22; ++var24) {
+ for (var25 = 0; var25 < var23; ++var25) {
+ if (var10.spriteAngle != 0) {
+ var40.method6186(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096);
+ } else if (var14 != 0) {
+ var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255));
} else {
- String var44 = var10.text;
- if (ChatChannel.runCs1(var10)) {
- var20 = var10.color2;
- if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
- var20 = var10.mouseOverColor2;
- }
-
- if (var10.text2.length() > 0) {
- var44 = var10.text2;
- }
- } else {
- var20 = var10.color;
- if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
- var20 = var10.mouseOverColor;
- }
- }
-
- if (var10.isIf3 && var10.itemId != -1) {
- ItemDefinition var45 = WorldMapArea.getItemDefinition(var10.itemId);
- var44 = var45.name;
- if (var44 == null) {
- var44 = "null";
- }
-
- if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) {
- var44 = ClientPreferences.colorStartTag(16748608) + var44 + "" + " " + 'x' + class188.method3631(var10.itemQuantity);
- }
- }
-
- if (var10 == Client.field850) {
- var44 = "Please wait...";
- var20 = var10.color;
- }
-
- if (!var10.isIf3) {
- var44 = GrandExchangeOfferTotalQuantityComparator.method92(var44, var10);
- }
-
- var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight);
- }
- } else if (var10.type == 5) {
- Sprite var40;
- if (!var10.isIf3) {
- var40 = var10.getSprite(ChatChannel.runCs1(var10));
- if (var40 != null) {
- var40.drawAt2(var12, var13);
- } else if (Widget.field2562) {
- Strings.method4120(var10);
- }
- } else {
- if (var10.itemId != -1) {
- var40 = WorldMapSection0.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false);
- } else {
- var40 = var10.getSprite(false);
- }
-
- if (var40 == null) {
- if (Widget.field2562) {
- Strings.method4120(var10);
- }
- } else {
- var20 = var40.width;
- var21 = var40.height;
- if (!var10.spriteTiling) {
- var22 = var10.width * 4096 / var20;
- if (var10.spriteAngle != 0) {
- var40.method6186(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22);
- } else if (var14 != 0) {
- var40.method6131(var12, var13, var10.width, var10.height, 256 - (var14 & 255));
- } else if (var20 == var10.width && var21 == var10.height) {
- var40.drawAt2(var12, var13);
- } else {
- var40.method6125(var12, var13, var10.width, var10.height);
- }
- } else {
- Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
- var22 = (var20 - 1 + var10.width) / var20;
- var23 = (var21 - 1 + var10.height) / var21;
-
- for (var24 = 0; var24 < var22; ++var24) {
- for (var25 = 0; var25 < var23; ++var25) {
- if (var10.spriteAngle != 0) {
- var40.method6186(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096);
- } else if (var14 != 0) {
- var40.method6129(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255));
- } else {
- var40.drawAt2(var12 + var24 * var20, var13 + var21 * var25);
- }
- }
- }
-
- Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
- }
- }
- }
- } else {
- ItemDefinition var33;
- if (var10.type == 6) {
- boolean var36 = ChatChannel.runCs1(var10);
- if (var36) {
- var20 = var10.sequenceId2;
- } else {
- var20 = var10.sequenceId;
- }
-
- Model var41 = null;
- var22 = 0;
- if (var10.itemId != -1) {
- var33 = WorldMapArea.getItemDefinition(var10.itemId);
- if (var33 != null) {
- var33 = var33.getCountObj(var10.itemQuantity);
- var41 = var33.getModel(1);
- if (var41 != null) {
- var41.calculateBoundsCylinder();
- var22 = var41.height / 2;
- } else {
- Strings.method4120(var10);
- }
- }
- } else if (var10.modelType == 5) {
- if (var10.modelId == 0) {
- var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1);
- } else {
- var41 = Client.localPlayer.getModel();
- }
- } else if (var20 == -1) {
- var41 = var10.getModel((SequenceDefinition)null, -1, var36, Client.localPlayer.appearance);
- if (var41 == null && Widget.field2562) {
- Strings.method4120(var10);
- }
- } else {
- SequenceDefinition var47 = GrandExchangeEvent.getSequenceDefinition(var20);
- var41 = var10.getModel(var47, var10.modelFrame, var36, Client.localPlayer.appearance);
- if (var41 == null && Widget.field2562) {
- Strings.method4120(var10);
- }
- }
-
- Rasterizer3D.method2976(var10.width / 2 + var12, var10.height / 2 + var13);
- var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
- var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
- if (var41 != null) {
- if (!var10.isIf3) {
- var41.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24);
- } else {
- var41.calculateBoundsCylinder();
- if (var10.modelOrthog) {
- var41.method2876(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
- } else {
- var41.method2866(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY);
- }
- }
- }
-
- Rasterizer3D.Rasterizer3D_method3();
- } else {
- if (var10.type == 7) {
- var39 = var10.getFont();
- if (var39 == null) {
- if (Widget.field2562) {
- Strings.method4120(var10);
- }
- continue;
- }
-
- var20 = 0;
-
- for (var21 = 0; var21 < var10.rawHeight; ++var21) {
- for (var22 = 0; var22 < var10.rawWidth; ++var22) {
- if (var10.itemIds[var20] > 0) {
- var33 = WorldMapArea.getItemDefinition(var10.itemIds[var20] - 1);
- String var34;
- if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) {
- var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "";
- } else {
- var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "" + " " + 'x' + class188.method3631(var10.itemQuantities[var20]);
- }
-
- var25 = var22 * (var10.paddingX + 115) + var12;
- var26 = var21 * (var10.paddingY + 12) + var13;
- if (var10.textXAlignment == 0) {
- var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
- } else if (var10.textXAlignment == 1) {
- var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
- } else {
- var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
- }
- }
-
- ++var20;
- }
- }
- }
-
- if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) {
- var19 = 0;
- var20 = 0;
- Font var31 = class169.fontPlain12;
- String var32 = var10.text;
-
- String var43;
- for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) {
- var24 = var32.indexOf("
");
- if (var24 != -1) {
- var43 = var32.substring(0, var24);
- var32 = var32.substring(var24 + 4);
- } else {
- var43 = var32;
- var32 = "";
- }
-
- var25 = var31.stringWidth(var43);
- if (var25 > var19) {
- var19 = var25;
- }
- }
-
- var19 += 6;
- var20 += 7;
- var24 = var12 + var10.width - 5 - var19;
- var25 = var13 + var10.height + 5;
- if (var24 < var12 + 5) {
- var24 = var12 + 5;
- }
-
- if (var24 + var19 > var4) {
- var24 = var4 - var19;
- }
-
- if (var20 + var25 > var5) {
- var25 = var5 - var20;
- }
-
- Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120);
- Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0);
- var32 = var10.text;
- var26 = var25 + var31.ascent + 2;
-
- for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) {
- int var35 = var32.indexOf("
");
- if (var35 != -1) {
- var43 = var32.substring(0, var35);
- var32 = var32.substring(var35 + 4);
- } else {
- var43 = var32;
- var32 = "";
- }
-
- var31.draw(var43, var24 + 3, var26, 0, -1);
- }
- }
-
- if (var10.type == 9) {
- if (var10.field2598) {
- var19 = var12;
- var20 = var13 + var10.height;
- var21 = var12 + var10.width;
- var22 = var13;
- } else {
- var19 = var12;
- var20 = var13;
- var21 = var12 + var10.width;
- var22 = var13 + var10.height;
- }
-
- if (var10.lineWid == 1) {
- Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color);
- } else {
- MusicPatchPcmStream.method3912(var19, var20, var21, var22, var10.color, var10.lineWid);
- }
- }
+ var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25);
}
}
}
+
+ Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
+ }
+ }
+ }
+ } else {
+ ItemDefinition var33;
+ if (var10.type == 6) {
+ boolean var36 = ChatChannel.runCs1(var10);
+ if (var36) {
+ var20 = var10.sequenceId2;
+ } else {
+ var20 = var10.sequenceId;
+ }
+
+ Model var41 = null;
+ var22 = 0;
+ if (var10.itemId != -1) {
+ var33 = WorldMapArea.getItemDefinition(var10.itemId);
+ if (var33 != null) {
+ var33 = var33.getCountObj(var10.itemQuantity);
+ var41 = var33.getModel(1);
+ if (var41 != null) {
+ var41.calculateBoundsCylinder();
+ var22 = var41.height / 2;
+ } else {
+ Strings.invalidateWidget(var10);
+ }
+ }
+ } else if (var10.modelType == 5) {
+ if (var10.modelId == 0) {
+ var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1);
+ } else {
+ var41 = Client.localPlayer.getModel();
+ }
+ } else if (var20 == -1) {
+ var41 = var10.getModel((SequenceDefinition)null, -1, var36, Client.localPlayer.appearance);
+ if (var41 == null && Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ } else {
+ SequenceDefinition var47 = GrandExchangeEvent.getSequenceDefinition(var20);
+ var41 = var10.getModel(var47, var10.modelFrame, var36, Client.localPlayer.appearance);
+ if (var41 == null && Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ }
+
+ Rasterizer3D.method2976(var10.width / 2 + var12, var10.height / 2 + var13);
+ var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
+ var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
+ if (var41 != null) {
+ if (!var10.isIf3) {
+ var41.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24);
+ } else {
+ var41.calculateBoundsCylinder();
+ if (var10.modelOrthog) {
+ var41.method2876(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
+ } else {
+ var41.method2866(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY);
+ }
+ }
+ }
+
+ Rasterizer3D.Rasterizer3D_method3();
+ } else {
+ if (var10.type == 7) {
+ var39 = var10.getFont();
+ if (var39 == null) {
+ if (Widget.field2562) {
+ Strings.invalidateWidget(var10);
+ }
+ continue;
+ }
+
+ var20 = 0;
+
+ for (var21 = 0; var21 < var10.rawHeight; ++var21) {
+ for (var22 = 0; var22 < var10.rawWidth; ++var22) {
+ if (var10.itemIds[var20] > 0) {
+ var33 = WorldMapArea.getItemDefinition(var10.itemIds[var20] - 1);
+ String var34;
+ if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) {
+ var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "";
+ } else {
+ var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "" + " " + 'x' + class188.method3631(var10.itemQuantities[var20]);
+ }
+
+ var25 = var22 * (var10.paddingX + 115) + var12;
+ var26 = var21 * (var10.paddingY + 12) + var13;
+ if (var10.textXAlignment == 0) {
+ var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
+ } else if (var10.textXAlignment == 1) {
+ var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
+ } else {
+ var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
+ }
+ }
+
+ ++var20;
+ }
+ }
+ }
+
+ if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) {
+ var19 = 0;
+ var20 = 0;
+ Font var31 = class169.fontPlain12;
+ String var32 = var10.text;
+
+ String var43;
+ for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) {
+ var24 = var32.indexOf("
");
+ if (var24 != -1) {
+ var43 = var32.substring(0, var24);
+ var32 = var32.substring(var24 + 4);
+ } else {
+ var43 = var32;
+ var32 = "";
+ }
+
+ var25 = var31.stringWidth(var43);
+ if (var25 > var19) {
+ var19 = var25;
+ }
+ }
+
+ var19 += 6;
+ var20 += 7;
+ var24 = var12 + var10.width - 5 - var19;
+ var25 = var13 + var10.height + 5;
+ if (var24 < var12 + 5) {
+ var24 = var12 + 5;
+ }
+
+ if (var24 + var19 > var4) {
+ var24 = var4 - var19;
+ }
+
+ if (var20 + var25 > var5) {
+ var25 = var5 - var20;
+ }
+
+ Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120);
+ Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0);
+ var32 = var10.text;
+ var26 = var25 + var31.ascent + 2;
+
+ for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) {
+ int var35 = var32.indexOf("
");
+ if (var35 != -1) {
+ var43 = var32.substring(0, var35);
+ var32 = var32.substring(var35 + 4);
+ } else {
+ var43 = var32;
+ var32 = "";
+ }
+
+ var31.draw(var43, var24 + 3, var26, 0, -1);
+ }
+ }
+
+ if (var10.type == 9) {
+ if (var10.field2598) {
+ var19 = var12;
+ var20 = var13 + var10.height;
+ var21 = var12 + var10.width;
+ var22 = var13;
+ } else {
+ var19 = var12;
+ var20 = var13;
+ var21 = var12 + var10.width;
+ var22 = var13 + var10.height;
+ }
+
+ if (var10.lineWid == 1) {
+ Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color);
+ } else {
+ MusicPatchPcmStream.method3912(var19, var20, var21, var22, var10.color, var10.lineWid);
}
}
}
diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java
index 2f5c526593..fbfb05352e 100644
--- a/runescape-client/src/main/java/FriendSystem.java
+++ b/runescape-client/src/main/java/FriendSystem.java
@@ -84,7 +84,8 @@ public class FriendSystem {
signature = "(B)V",
garbageValue = "9"
)
- final void method1762() {
+ @Export("processFriendUpdates")
+ final void processFriendUpdates() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.field3661 < DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) {
if (var1.world > 0) {
@@ -342,7 +343,7 @@ public class FriendSystem {
garbageValue = "-77884497"
)
public static int method1784(int var0) {
- return class43.method770(ViewportMouse.ViewportMouse_entityTags[var0]);
+ return class43.getObjectIdFromTag(ViewportMouse.ViewportMouse_entityTags[var0]);
}
@ObfuscatedName("ag")
diff --git a/runescape-client/src/main/java/GameShell.java b/runescape-client/src/main/java/GameShell.java
index e8339586fa..d629ec590a 100644
--- a/runescape-client/src/main/java/GameShell.java
+++ b/runescape-client/src/main/java/GameShell.java
@@ -62,12 +62,13 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@ObfuscatedGetter(
intValue = 798302801
)
- static int field448;
+ @Export("cycleDurationMillis")
+ static int cycleDurationMillis;
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = 369880599
)
- static int field443;
+ static int fiveOrOne;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = 1519220993
@@ -90,8 +91,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
)
static int field465;
@ObfuscatedName("au")
- @Export("hasFocus")
- static volatile boolean hasFocus;
+ @Export("volatileFocus")
+ static volatile boolean volatileFocus;
@ObfuscatedName("ah")
@ObfuscatedGetter(
longValue = -5454616642198733289L
@@ -190,13 +191,13 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
field466 = 0;
stopTimeMs = 0L;
isKilled = false;
- field448 = 20;
- field443 = 1;
+ cycleDurationMillis = 20;
+ fiveOrOne = 1;
fps = 0;
field452 = new long[32];
field453 = new long[32];
field465 = 500;
- hasFocus = true;
+ volatileFocus = true;
garbageCollectorLastCollectionTime = -1L;
garbageCollectorLastCheckTimeMs = -1L;
}
@@ -243,16 +244,17 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
)
@Export("post")
final void post(Object var1) {
- if (this.eventQueue != null) {
- for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) {
- EnumDefinition.method4550(1L);
- }
-
- if (var1 != null) {
- this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy"));
- }
-
+ if (this.eventQueue == null) {
+ return;
}
+ for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) {
+ EnumDefinition.sleepMillis(1L);
+ }
+
+ if (var1 != null) {
+ this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy"));
+ }
+
}
@ObfuscatedName("k")
@@ -444,7 +446,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
var2.removeMouseListener(MouseHandler.MouseHandler_instance);
var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance);
var2.removeFocusListener(MouseHandler.MouseHandler_instance);
- MouseHandler.MouseHandler_currentButton0 = 0;
+ MouseHandler.MouseHandler_currentButtonVolatile = 0;
if (this.mouseWheelHandler != null) {
this.mouseWheelHandler.removeFrom(this.canvas);
}
@@ -587,7 +589,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
}
synchronized(this) {
- class267.field3557 = hasFocus;
+ class267.hasFocus = volatileFocus;
}
this.doCycle();
@@ -876,7 +878,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
public final void destroy() {
if (this == gameShell && !isKilled) {
stopTimeMs = DirectByteArrayCopier.currentTimeMs();
- EnumDefinition.method4550(5000L);
+ EnumDefinition.sleepMillis(5000L);
this.kill();
}
}
@@ -894,7 +896,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
if (var2.startsWith("1.6.0_")) {
int var3;
- for (var3 = 6; var3 < var2.length() && class49.isCharDigit(var2.charAt(var3)); ++var3) {
+ for (var3 = 6; var3 < var2.length() && class49.isDigit(var2.charAt(var3)); ++var3) {
}
String var4 = var2.substring(6, var3);
@@ -904,17 +906,17 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
}
}
- field443 = 5;
+ fiveOrOne = 5;
}
}
this.setFocusCycleRoot(true);
this.addCanvas();
this.setUp();
- clock = class173.method3589();
+ clock = class173.newClock();
while (0L == stopTimeMs || DirectByteArrayCopier.currentTimeMs() < stopTimeMs) {
- field449 = clock.wait(field448, field443);
+ field449 = clock.wait(cycleDurationMillis, fiveOrOne);
for (int var5 = 0; var5 < field449; ++var5) {
this.method953();
@@ -951,12 +953,12 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
}
public final void focusGained(FocusEvent var1) {
- hasFocus = true;
+ volatileFocus = true;
this.field464 = true;
}
public final void focusLost(FocusEvent var1) {
- hasFocus = false;
+ volatileFocus = false;
}
public final void windowActivated(WindowEvent var1) {
diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java
index 5b279ec280..24cf74f075 100644
--- a/runescape-client/src/main/java/GrandExchangeEvent.java
+++ b/runescape-client/src/main/java/GrandExchangeEvent.java
@@ -122,9 +122,9 @@ public class GrandExchangeEvent {
}
}
- if (Client.field850 != null) {
- Strings.method4120(Client.field850);
- Client.field850 = null;
+ if (Client.meslayerContinueWidget != null) {
+ Strings.invalidateWidget(Client.meslayerContinueWidget);
+ Client.meslayerContinueWidget = null;
}
}
diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java
index a0773e8d7c..9e1482bd50 100644
--- a/runescape-client/src/main/java/GrandExchangeEvents.java
+++ b/runescape-client/src/main/java/GrandExchangeEvents.java
@@ -92,7 +92,8 @@ public class GrandExchangeEvents {
signature = "(Lhp;Lhp;B)V",
garbageValue = "-127"
)
- public static void method66(AbstractArchive var0, AbstractArchive var1) {
+ @Export("KitDefinition_setArchives")
+ public static void KitDefinition_setArchives(AbstractArchive var0, AbstractArchive var1) {
KitDefinition.KitDefinition_archive = var0;
class288.KitDefinition_modelsArchive = var1;
KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3);
@@ -103,7 +104,8 @@ public class GrandExchangeEvents {
signature = "(Lhp;B)V",
garbageValue = "1"
)
- public static void method68(AbstractArchive var0) {
+ @Export("VarpDefinition_setArchives")
+ public static void VarpDefinition_setArchives(AbstractArchive var0) {
VarpDefinition.VarpDefinition_archive = var0;
VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16);
}
@@ -186,10 +188,10 @@ public class GrandExchangeEvents {
}
for (var11 = 0; var11 < 104; ++var11) {
- ServerBuild.field3103[var11] = 0;
- Tiles.field508[var11] = 0;
- Tiles.field507[var11] = 0;
- DynamicObject.field1301[var11] = 0;
+ ServerBuild.Tiles_hue[var11] = 0;
+ Tiles.Tiles_saturation[var11] = 0;
+ Tiles.Tiles_lightness[var11] = 0;
+ DynamicObject.Tiles_hueMultiplier[var11] = 0;
Fonts.field3689[var11] = 0;
}
@@ -200,14 +202,14 @@ public class GrandExchangeEvents {
if (var13 >= 0 && var13 < 104) {
var14 = Tiles.field504[var2][var13][var12] & 255;
if (var14 > 0) {
- FloorUnderlayDefinition var45 = ItemContainer.method1117(var14 - 1);
- var10000 = ServerBuild.field3103;
+ FloorUnderlayDefinition var45 = ItemContainer.FloorUnderlayDefinition_get(var14 - 1);
+ var10000 = ServerBuild.Tiles_hue;
var10000[var12] += var45.hue;
- var10000 = Tiles.field508;
+ var10000 = Tiles.Tiles_saturation;
var10000[var12] += var45.saturation;
- var10000 = Tiles.field507;
+ var10000 = Tiles.Tiles_lightness;
var10000[var12] += var45.lightness;
- var10000 = DynamicObject.field1301;
+ var10000 = DynamicObject.Tiles_hueMultiplier;
var10000[var12] += var45.hueMultiplier;
var10002 = Fonts.field3689[var12]++;
}
@@ -234,13 +236,13 @@ public class GrandExchangeEvents {
var47 = var46;
}
- var10000 = ServerBuild.field3103;
+ var10000 = ServerBuild.Tiles_hue;
var10000[var12] -= var47.hue;
- var10000 = Tiles.field508;
+ var10000 = Tiles.Tiles_saturation;
var10000[var12] -= var47.saturation;
- var10000 = Tiles.field507;
+ var10000 = Tiles.Tiles_lightness;
var10000[var12] -= var47.lightness;
- var10000 = DynamicObject.field1301;
+ var10000 = DynamicObject.Tiles_hueMultiplier;
var10000[var12] -= var47.hueMultiplier;
var10002 = Fonts.field3689[var12]--;
}
@@ -257,19 +259,19 @@ public class GrandExchangeEvents {
for (var17 = -5; var17 < 109; ++var17) {
var18 = var17 + 5;
if (var18 >= 0 && var18 < 104) {
- var12 += ServerBuild.field3103[var18];
- var13 += Tiles.field508[var18];
- var14 += Tiles.field507[var18];
- var15 += DynamicObject.field1301[var18];
+ var12 += ServerBuild.Tiles_hue[var18];
+ var13 += Tiles.Tiles_saturation[var18];
+ var14 += Tiles.Tiles_lightness[var18];
+ var15 += DynamicObject.Tiles_hueMultiplier[var18];
var16 += Fonts.field3689[var18];
}
var19 = var17 - 5;
if (var19 >= 0 && var19 < 104) {
- var12 -= ServerBuild.field3103[var19];
- var13 -= Tiles.field508[var19];
- var14 -= Tiles.field507[var19];
- var15 -= DynamicObject.field1301[var19];
+ var12 -= ServerBuild.Tiles_hue[var19];
+ var13 -= Tiles.Tiles_saturation[var19];
+ var14 -= Tiles.Tiles_lightness[var19];
+ var15 -= DynamicObject.Tiles_hueMultiplier[var19];
var16 -= Fonts.field3689[var19];
}
@@ -380,7 +382,7 @@ public class GrandExchangeEvents {
if (var51 >= 0) {
var40 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var51);
var39 = -1;
- } else if (var35.primaryRgb == 16711935) {
+ } else if (var35.primaryRgb == 0xff00ff) {
var39 = -2;
var51 = -1;
var40 = -2;
@@ -631,10 +633,10 @@ public class GrandExchangeEvents {
if (MouseHandler.MouseHandler_currentButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) {
if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) {
var0.scrollY -= 4;
- Strings.method4120(var0);
+ Strings.invalidateWidget(var0);
} else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) {
var0.scrollY += 4;
- Strings.method4120(var0);
+ Strings.invalidateWidget(var0);
} else if (var5 >= var1 - Client.field882 && var5 < Client.field882 + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) {
var7 = var3 * (var3 - 32) / var4;
if (var7 < 8) {
@@ -644,7 +646,7 @@ public class GrandExchangeEvents {
int var8 = var6 - var2 - 16 - var7 / 2;
int var9 = var3 - 32 - var7;
var0.scrollY = var8 * (var4 - var3) / var9;
- Strings.method4120(var0);
+ Strings.invalidateWidget(var0);
Client.field719 = true;
}
}
@@ -653,7 +655,7 @@ public class GrandExchangeEvents {
var7 = var0.width;
if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) {
var0.scrollY += Client.mouseWheelRotation * 45;
- Strings.method4120(var0);
+ Strings.invalidateWidget(var0);
}
}
diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java
index 2e6a09fd34..4ff2e4d750 100644
--- a/runescape-client/src/main/java/GrandExchangeOffer.java
+++ b/runescape-client/src/main/java/GrandExchangeOffer.java
@@ -524,7 +524,7 @@ public class GrandExchangeOffer {
WorldMapElement var6;
if (var0 == ScriptOpcodes.MEC_TEXT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
- var6 = class222.getWorldMapElement(var3);
+ var6 = class222.WorldMapElement_get(var3);
if (var6.name == null) {
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = "";
} else {
@@ -535,13 +535,13 @@ public class GrandExchangeOffer {
}
if (var0 == ScriptOpcodes.MEC_TEXTSIZE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
- var6 = class222.getWorldMapElement(var3);
+ var6 = class222.WorldMapElement_get(var3);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.textSize;
return 1;
}
if (var0 == ScriptOpcodes.MEC_CATEGORY) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
- var6 = class222.getWorldMapElement(var3);
+ var6 = class222.WorldMapElement_get(var3);
if (var6 == null) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1;
} else {
@@ -552,7 +552,7 @@ public class GrandExchangeOffer {
}
if (var0 == ScriptOpcodes.MEC_SPRITE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
- var6 = class222.getWorldMapElement(var3);
+ var6 = class222.WorldMapElement_get(var3);
if (var6 == null) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1;
} else {
diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java
index d0ce0c6828..df655ff3cf 100644
--- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java
+++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java
@@ -195,16 +195,16 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
}
if (var1 == 324) {
- Client.playerAppearance.method4006(false);
+ Client.playerAppearance.changeSex(false);
}
if (var1 == 325) {
- Client.playerAppearance.method4006(true);
+ Client.playerAppearance.changeSex(true);
}
if (var1 == 326) {
PacketBufferNode var4 = Archive.method4265(ClientPacket.field2215, Client.packetWriter.isaacCipher);
- Client.playerAppearance.method3995(var4.packetBuffer);
+ Client.playerAppearance.write(var4.packetBuffer);
Client.packetWriter.method2219(var4);
return true;
}
diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java
index 65097c1db6..c8b4a45cd0 100644
--- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java
+++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java
@@ -87,362 +87,353 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
signature = "(IIIIIILer;Lfv;S)V",
garbageValue = "-19782"
)
- static final void method1236(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) {
- if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) {
- if (var0 < Tiles.Tiles_minPlane) {
- Tiles.Tiles_minPlane = var0;
- }
+ static final void method1236(int plane, int x, int y, int objectID, int rotation, int objectType, Scene var6, CollisionMap var7) {
+ if (Client.isLowDetail && (Tiles.Tiles_renderFlags[0][x][y] & 2) == 0 && (Tiles.Tiles_renderFlags[plane][x][y] & 16) != 0) {
+ return;
+ }
+ if (plane < Tiles.Tiles_minPlane) {
+ Tiles.Tiles_minPlane = plane;
+ }
- ObjectDefinition var8 = ViewportMouse.getObjectDefinition(var3);
- int var9;
- int var10;
- if (var4 != 1 && var4 != 3) {
- var9 = var8.sizeX;
- var10 = var8.sizeY;
- } else {
- var9 = var8.sizeY;
- var10 = var8.sizeX;
- }
+ ObjectDefinition var8 = ViewportMouse.getObjectDefinition(objectID);
+ int var9;
+ int var10;
+ if (rotation != 1 && rotation != 3) {
+ var9 = var8.sizeX;
+ var10 = var8.sizeY;
+ } else {
+ var9 = var8.sizeY;
+ var10 = var8.sizeX;
+ }
- int var11;
- int var12;
- if (var9 + var1 <= 104) {
- var11 = (var9 >> 1) + var1;
- var12 = (var9 + 1 >> 1) + var1;
- } else {
- var11 = var1;
- var12 = var1 + 1;
- }
+ int var11;
+ int var12;
+ if (var9 + x <= 104) {
+ var11 = (var9 >> 1) + x;
+ var12 = (var9 + 1 >> 1) + x;
+ } else {
+ var11 = x;
+ var12 = x + 1;
+ }
- int var13;
- int var14;
- if (var10 + var2 <= 104) {
- var13 = (var10 >> 1) + var2;
- var14 = var2 + (var10 + 1 >> 1);
- } else {
- var13 = var2;
- var14 = var2 + 1;
- }
+ int var13;
+ int var14;
+ if (var10 + y <= 104) {
+ var13 = (var10 >> 1) + y;
+ var14 = y + (var10 + 1 >> 1);
+ } else {
+ var13 = y;
+ var14 = y + 1;
+ }
- int[][] var15 = Tiles.Tiles_heights[var0];
- int var16 = var15[var11][var14] + var15[var12][var13] + var15[var11][var13] + var15[var12][var14] >> 2;
- int var17 = (var1 << 7) + (var9 << 6);
- int var18 = (var2 << 7) + (var10 << 6);
- long var19 = Tile.calculateTag(var1, var2, 2, var8.int1 == 0, var3);
- int var21 = var5 + (var4 << 6);
- if (var8.int3 == 1) {
- var21 += 256;
- }
+ int[][] var15 = Tiles.Tiles_heights[plane];
+ int var16 = var15[var11][var14] + var15[var12][var13] + var15[var11][var13] + var15[var12][var14] >> 2;
+ int var17 = (x << 7) + (var9 << 6);
+ int var18 = (y << 7) + (var10 << 6);
+ long var19 = Tile.calculateTag(x, y, 2, var8.int1 == 0, objectID);
+ int var21 = objectType + (rotation << 6);
+ if (var8.int3 == 1) {
+ var21 += 256;
+ }
- if (var8.method4598()) {
- class83.method1996(var0, var1, var2, var8, var4);
- }
+ if (var8.hasSound()) {
+ class83.newObjectSound(plane, x, y, var8, rotation);
+ }
- Object var22;
- if (var5 == 22) {
- if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(22, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newFloorDecoration(var0, var1, var2, var16, (Entity)var22, var19, var21);
- if (var8.interactType == 1 && var7 != null) {
- var7.method3562(var1, var2);
- }
-
- }
- } else {
- int var23;
- if (var5 != 10 && var5 != 11) {
- int[] var10000;
- if (var5 >= 12) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(var5, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.method3076(var0, var1, var2, var16, 1, 1, (Entity)var22, 0, var19, var21);
- if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 2340;
- }
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3560(var1, var2, var9, var10, var8.boolean1);
- }
-
- } else if (var5 == 0) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(0, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field512[var4], 0, var19, var21);
- if (var4 == 0) {
- if (var8.clipped) {
- class32.field282[var0][var1][var2] = 50;
- class32.field282[var0][var1][var2 + 1] = 50;
- }
-
- if (var8.modelClipped) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 585;
- }
- } else if (var4 == 1) {
- if (var8.clipped) {
- class32.field282[var0][var1][var2 + 1] = 50;
- class32.field282[var0][var1 + 1][var2 + 1] = 50;
- }
-
- if (var8.modelClipped) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[1 + var2] |= 1170;
- }
- } else if (var4 == 2) {
- if (var8.clipped) {
- class32.field282[var0][var1 + 1][var2] = 50;
- class32.field282[var0][var1 + 1][var2 + 1] = 50;
- }
-
- if (var8.modelClipped) {
- var10000 = FaceNormal.field1887[var0][var1 + 1];
- var10000[var2] |= 585;
- }
- } else if (var4 == 3) {
- if (var8.clipped) {
- class32.field282[var0][var1][var2] = 50;
- class32.field282[var0][var1 + 1][var2] = 50;
- }
-
- if (var8.modelClipped) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 1170;
- }
- }
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3559(var1, var2, var5, var4, var8.boolean1);
- }
-
- if (var8.int2 != 16) {
- var6.method3082(var0, var1, var2, var8.int2);
- }
-
- } else if (var5 == 1) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(1, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field513[var4], 0, var19, var21);
- if (var8.clipped) {
- if (var4 == 0) {
- class32.field282[var0][var1][var2 + 1] = 50;
- } else if (var4 == 1) {
- class32.field282[var0][var1 + 1][var2 + 1] = 50;
- } else if (var4 == 2) {
- class32.field282[var0][var1 + 1][var2] = 50;
- } else if (var4 == 3) {
- class32.field282[var0][var1][var2] = 50;
- }
- }
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3559(var1, var2, var5, var4, var8.boolean1);
- }
-
- } else {
- int var28;
- if (var5 == 2) {
- var28 = var4 + 1 & 3;
- Object var29;
- Object var30;
- if (var8.animationId == -1 && var8.transforms == null) {
- var29 = var8.method4591(2, var4 + 4, var15, var17, var16, var18);
- var30 = var8.method4591(2, var28, var15, var17, var16, var18);
- } else {
- var29 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null);
- var30 = new DynamicObject(var3, 2, var28, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var29, (Entity)var30, Tiles.field512[var4], Tiles.field512[var28], var19, var21);
- if (var8.modelClipped) {
- if (var4 == 0) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 585;
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2 + 1] |= 1170;
- } else if (var4 == 1) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2 + 1] |= 1170;
- var10000 = FaceNormal.field1887[var0][var1 + 1];
- var10000[var2] |= 585;
- } else if (var4 == 2) {
- var10000 = FaceNormal.field1887[var0][var1 + 1];
- var10000[var2] |= 585;
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 1170;
- } else if (var4 == 3) {
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 1170;
- var10000 = FaceNormal.field1887[var0][var1];
- var10000[var2] |= 585;
- }
- }
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3559(var1, var2, var5, var4, var8.boolean1);
- }
-
- if (var8.int2 != 16) {
- var6.method3082(var0, var1, var2, var8.int2);
- }
-
- } else if (var5 == 3) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(3, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field513[var4], 0, var19, var21);
- if (var8.clipped) {
- if (var4 == 0) {
- class32.field282[var0][var1][var2 + 1] = 50;
- } else if (var4 == 1) {
- class32.field282[var0][var1 + 1][var2 + 1] = 50;
- } else if (var4 == 2) {
- class32.field282[var0][var1 + 1][var2] = 50;
- } else if (var4 == 3) {
- class32.field282[var0][var1][var2] = 50;
- }
- }
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3559(var1, var2, var5, var4, var8.boolean1);
- }
-
- } else if (var5 == 9) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(var5, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.method3076(var0, var1, var2, var16, 1, 1, (Entity)var22, 0, var19, var21);
- if (var8.interactType != 0 && var7 != null) {
- var7.method3560(var1, var2, var9, var10, var8.boolean1);
- }
-
- if (var8.int2 != 16) {
- var6.method3082(var0, var1, var2, var8.int2);
- }
-
- } else if (var5 == 4) {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(4, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newWallDecoration(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field512[var4], 0, 0, 0, var19, var21);
- } else {
- long var31;
- Object var33;
- if (var5 == 5) {
- var28 = 16;
- var31 = var6.getBoundaryObjectTag(var0, var1, var2);
- if (var31 != 0L) {
- var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2;
- }
-
- if (var8.animationId == -1 && var8.transforms == null) {
- var33 = var8.method4591(4, var4, var15, var17, var16, var18);
- } else {
- var33 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, Tiles.field512[var4], 0, var28 * Tiles.field514[var4], var28 * Tiles.field520[var4], var19, var21);
- } else if (var5 == 6) {
- var28 = 8;
- var31 = var6.getBoundaryObjectTag(var0, var1, var2);
- if (0L != var31) {
- var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2 / 2;
- }
-
- if (var8.animationId == -1 && var8.transforms == null) {
- var33 = var8.method4591(4, var4 + 4, var15, var17, var16, var18);
- } else {
- var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, 256, var4, var28 * Tiles.field509[var4], var28 * Tiles.field517[var4], var19, var21);
- } else if (var5 == 7) {
- var23 = var4 + 2 & 3;
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(4, var23 + 4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newWallDecoration(var0, var1, var2, var16, (Entity)var22, (Entity)null, 256, var23, 0, 0, var19, var21);
- } else if (var5 == 8) {
- var28 = 8;
- var31 = var6.getBoundaryObjectTag(var0, var1, var2);
- if (var31 != 0L) {
- var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2 / 2;
- }
-
- int var27 = var4 + 2 & 3;
- Object var26;
- if (var8.animationId == -1 && var8.transforms == null) {
- var33 = var8.method4591(4, var4 + 4, var15, var17, var16, var18);
- var26 = var8.method4591(4, var27 + 4, var15, var17, var16, var18);
- } else {
- var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null);
- var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, true, (Entity)null);
- }
-
- var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)var26, 256, var4, var28 * Tiles.field509[var4], var28 * Tiles.field517[var4], var19, var21);
- }
- }
- }
+ Object var22;
+ if (objectType == 22) {
+ if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(22, rotation, var15, var17, var16, var18);
} else {
- if (var8.animationId == -1 && var8.transforms == null) {
- var22 = var8.method4591(10, var4, var15, var17, var16, var18);
- } else {
- var22 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, true, (Entity)null);
+ var22 = new DynamicObject(objectID, 22, rotation, plane, x, y, var8.animationId, true, (Entity)null);
+ }
+
+ var6.newFloorDecoration(plane, x, y, var16, (Entity)var22, var19, var21);
+ if (var8.interactType == 1 && var7 != null) {
+ var7.method3562(x, y);
+ }
+
+ }
+ } else if (objectType == 10 || objectType == 11) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(10, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 10, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ if (var22 != null && var6.method3076(plane, x, y, var16, var9, var10, (Entity) var22, objectType == 11 ? 256 : 0, var19, var21) && var8.clipped) {
+ int var23 = 15;
+ if (var22 instanceof Model) {
+ var23 = ((Model) var22).method2864() / 4;
+ if (var23 > 30) {
+ var23 = 30;
}
+ }
- if (var22 != null && var6.method3076(var0, var1, var2, var16, var9, var10, (Entity)var22, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) {
- var23 = 15;
- if (var22 instanceof Model) {
- var23 = ((Model)var22).method2864() / 4;
- if (var23 > 30) {
- var23 = 30;
- }
- }
-
- for (int var24 = 0; var24 <= var9; ++var24) {
- for (int var25 = 0; var25 <= var10; ++var25) {
- if (var23 > class32.field282[var0][var24 + var1][var25 + var2]) {
- class32.field282[var0][var24 + var1][var25 + var2] = (byte)var23;
- }
- }
+ for (int var24 = 0; var24 <= var9; ++var24) {
+ for (int var25 = 0; var25 <= var10; ++var25) {
+ if (var23 > class32.field282[plane][var24 + x][var25 + y]) {
+ class32.field282[plane][var24 + x][var25 + y] = (byte) var23;
}
}
-
- if (var8.interactType != 0 && var7 != null) {
- var7.method3560(var1, var2, var9, var10, var8.boolean1);
- }
-
}
}
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3560(x, y, var9, var10, var8.boolean1);
+ }
+
+ } else if (objectType >= 12) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(objectType, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, objectType, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.method3076(plane, x, y, var16, 1, 1, (Entity) var22, 0, var19, var21);
+ if (objectType >= 12 && objectType <= 17 && objectType != 13 && plane > 0) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 2340;
+ }
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3560(x, y, var9, var10, var8.boolean1);
+ }
+
+ } else if (objectType == 0) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(0, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 0, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newBoundaryObject(plane, x, y, var16, (Entity) var22, (Entity) null, Tiles.field512[rotation], 0, var19, var21);
+ if (rotation == 0) {
+ if (var8.clipped) {
+ class32.field282[plane][x][y] = 50;
+ class32.field282[plane][x][y + 1] = 50;
+ }
+
+ if (var8.modelClipped) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 585;
+ }
+ } else if (rotation == 1) {
+ if (var8.clipped) {
+ class32.field282[plane][x][y + 1] = 50;
+ class32.field282[plane][x + 1][y + 1] = 50;
+ }
+
+ if (var8.modelClipped) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[1 + y] |= 1170;
+ }
+ } else if (rotation == 2) {
+ if (var8.clipped) {
+ class32.field282[plane][x + 1][y] = 50;
+ class32.field282[plane][x + 1][y + 1] = 50;
+ }
+
+ if (var8.modelClipped) {
+ int[] var10000 = FaceNormal.field1887[plane][x + 1];
+ var10000[y] |= 585;
+ }
+ } else if (rotation == 3) {
+ if (var8.clipped) {
+ class32.field282[plane][x][y] = 50;
+ class32.field282[plane][x + 1][y] = 50;
+ }
+
+ if (var8.modelClipped) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 1170;
+ }
+ }
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3559(x, y, objectType, rotation, var8.boolean1);
+ }
+
+ if (var8.int2 != 16) {
+ var6.method3082(plane, x, y, var8.int2);
+ }
+
+ } else if (objectType == 1) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(1, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 1, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newBoundaryObject(plane, x, y, var16, (Entity) var22, (Entity) null, Tiles.field513[rotation], 0, var19, var21);
+ if (var8.clipped) {
+ if (rotation == 0) {
+ class32.field282[plane][x][y + 1] = 50;
+ } else if (rotation == 1) {
+ class32.field282[plane][x + 1][y + 1] = 50;
+ } else if (rotation == 2) {
+ class32.field282[plane][x + 1][y] = 50;
+ } else if (rotation == 3) {
+ class32.field282[plane][x][y] = 50;
+ }
+ }
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3559(x, y, objectType, rotation, var8.boolean1);
+ }
+
+ } else if (objectType == 2) {
+ int var28 = rotation + 1 & 3;
+ Object var29;
+ Object var30;
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var29 = var8.method4591(2, rotation + 4, var15, var17, var16, var18);
+ var30 = var8.method4591(2, var28, var15, var17, var16, var18);
+ } else {
+ var29 = new DynamicObject(objectID, 2, rotation + 4, plane, x, y, var8.animationId, true, (Entity) null);
+ var30 = new DynamicObject(objectID, 2, var28, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newBoundaryObject(plane, x, y, var16, (Entity) var29, (Entity) var30, Tiles.field512[rotation], Tiles.field512[var28], var19, var21);
+ if (var8.modelClipped) {
+ if (rotation == 0) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 585;
+ var10000 = FaceNormal.field1887[plane][x];
+ var10000[y + 1] |= 1170;
+ } else if (rotation == 1) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y + 1] |= 1170;
+ var10000 = FaceNormal.field1887[plane][x + 1];
+ var10000[y] |= 585;
+ } else if (rotation == 2) {
+ int[] var10000 = FaceNormal.field1887[plane][x + 1];
+ var10000[y] |= 585;
+ var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 1170;
+ } else if (rotation == 3) {
+ int[] var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 1170;
+ var10000 = FaceNormal.field1887[plane][x];
+ var10000[y] |= 585;
+ }
+ }
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3559(x, y, objectType, rotation, var8.boolean1);
+ }
+
+ if (var8.int2 != 16) {
+ var6.method3082(plane, x, y, var8.int2);
+ }
+
+ } else if (objectType == 3) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(3, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 3, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newBoundaryObject(plane, x, y, var16, (Entity) var22, (Entity) null, Tiles.field513[rotation], 0, var19, var21);
+ if (var8.clipped) {
+ if (rotation == 0) {
+ class32.field282[plane][x][y + 1] = 50;
+ } else if (rotation == 1) {
+ class32.field282[plane][x + 1][y + 1] = 50;
+ } else if (rotation == 2) {
+ class32.field282[plane][x + 1][y] = 50;
+ } else if (rotation == 3) {
+ class32.field282[plane][x][y] = 50;
+ }
+ }
+
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3559(x, y, objectType, rotation, var8.boolean1);
+ }
+
+ } else if (objectType == 9) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(objectType, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, objectType, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.method3076(plane, x, y, var16, 1, 1, (Entity) var22, 0, var19, var21);
+ if (var8.interactType != 0 && var7 != null) {
+ var7.method3560(x, y, var9, var10, var8.boolean1);
+ }
+
+ if (var8.int2 != 16) {
+ var6.method3082(plane, x, y, var8.int2);
+ }
+
+ } else if (objectType == 4) {
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(4, rotation, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 4, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newWallDecoration(plane, x, y, var16, (Entity) var22, (Entity) null, Tiles.field512[rotation], 0, 0, 0, var19, var21);
+ } else if (objectType == 5) {
+ int var28 = 16;
+ long var31 = var6.getBoundaryObjectTag(plane, x, y);
+ Object var33;
+ if (var31 != 0L) {
+ var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2;
+ }
+
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var33 = var8.method4591(4, rotation, var15, var17, var16, var18);
+ } else {
+ var33 = new DynamicObject(objectID, 4, rotation, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newWallDecoration(plane, x, y, var16, (Entity) var33, (Entity) null, Tiles.field512[rotation], 0, var28 * Tiles.field514[rotation], var28 * Tiles.field520[rotation], var19, var21);
+ } else if (objectType == 6) {
+ int var28 = 8;
+ long var31 = var6.getBoundaryObjectTag(plane, x, y);
+ Object var33;
+ if (0L != var31) {
+ var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2;
+ }
+
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var33 = var8.method4591(4, rotation + 4, var15, var17, var16, var18);
+ } else {
+ var33 = new DynamicObject(objectID, 4, rotation + 4, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newWallDecoration(plane, x, y, var16, (Entity) var33, (Entity) null, 256, rotation, var28 * Tiles.field509[rotation], var28 * Tiles.field517[rotation], var19, var21);
+ } else if (objectType == 7) {
+ int var23 = rotation + 2 & 3;
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var22 = var8.method4591(4, var23 + 4, var15, var17, var16, var18);
+ } else {
+ var22 = new DynamicObject(objectID, 4, var23 + 4, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newWallDecoration(plane, x, y, var16, (Entity) var22, (Entity) null, 256, var23, 0, 0, var19, var21);
+ } else if (objectType == 8) {
+ int var28 = 8;
+ long var31 = var6.getBoundaryObjectTag(plane, x, y);
+ if (var31 != 0L) {
+ var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2;
+ }
+
+ int var27 = rotation + 2 & 3;
+ Object var26;
+ Object var33;
+ if (var8.animationId == -1 && var8.transforms == null) {
+ var33 = var8.method4591(4, rotation + 4, var15, var17, var16, var18);
+ var26 = var8.method4591(4, var27 + 4, var15, var17, var16, var18);
+ } else {
+ var33 = new DynamicObject(objectID, 4, rotation + 4, plane, x, y, var8.animationId, true, (Entity) null);
+ var26 = new DynamicObject(objectID, 4, var27 + 4, plane, x, y, var8.animationId, true, (Entity) null);
+ }
+
+ var6.newWallDecoration(plane, x, y, var16, (Entity) var33, (Entity) var26, 256, rotation, var28 * Tiles.field509[rotation], var28 * Tiles.field517[rotation], var19, var21);
}
}
diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java
index f9a17693ca..b5b1c8ed42 100644
--- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java
+++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java
@@ -44,153 +44,154 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator {
}
int var4 = GrandExchangeOfferWorldComparator.method61(var0).type;
- if (var4 != 0) {
- int var2 = Varps.Varps_main[var0];
- if (var4 == 1) {
- if (var2 == 1) {
- Rasterizer3D.Rasterizer3D_setBrightness(0.9D);
- ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.9D);
- }
-
- if (var2 == 2) {
- Rasterizer3D.Rasterizer3D_setBrightness(0.8D);
- ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D);
- }
-
- if (var2 == 3) {
- Rasterizer3D.Rasterizer3D_setBrightness(0.7D);
- ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D);
- }
-
- if (var2 == 4) {
- Rasterizer3D.Rasterizer3D_setBrightness(0.6D);
- ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D);
- }
-
- FontName.method5317();
- }
-
- if (var4 == 3) {
- short var3 = 0;
- if (var2 == 0) {
- var3 = 255;
- }
-
- if (var2 == 1) {
- var3 = 192;
- }
-
- if (var2 == 2) {
- var3 = 128;
- }
-
- if (var2 == 3) {
- var3 = 64;
- }
-
- if (var2 == 4) {
- var3 = 0;
- }
-
- if (var3 != Client.field911) {
- if (Client.field911 == 0 && Client.field889 != -1) {
- class169.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false);
- Client.field699 = false;
- } else if (var3 == 0) {
- NetSocket.method3553();
- Client.field699 = false;
- } else if (class197.field2402 != 0) {
- ScriptFrame.field529 = var3;
- } else {
- Interpreter.midiPcmStream.method3706(var3);
- }
-
- Client.field911 = var3;
- }
- }
-
- if (var4 == 4) {
- if (var2 == 0) {
- Client.soundEffectVolume = 127;
- }
-
- if (var2 == 1) {
- Client.soundEffectVolume = 96;
- }
-
- if (var2 == 2) {
- Client.soundEffectVolume = 64;
- }
-
- if (var2 == 3) {
- Client.soundEffectVolume = 32;
- }
-
- if (var2 == 4) {
- Client.soundEffectVolume = 0;
- }
- }
-
- if (var4 == 5) {
- Client.field789 = var2;
- }
-
- if (var4 == 6) {
- Client.chatEffects = var2;
- }
-
- if (var4 == 9) {
- Client.field809 = var2;
- }
-
- if (var4 == 10) {
- if (var2 == 0) {
- Client.field892 = 127;
- }
-
- if (var2 == 1) {
- Client.field892 = 96;
- }
-
- if (var2 == 2) {
- Client.field892 = 64;
- }
-
- if (var2 == 3) {
- Client.field892 = 32;
- }
-
- if (var2 == 4) {
- Client.field892 = 0;
- }
- }
-
- if (var4 == 17) {
- Client.followerIndex = var2 & 65535;
- }
-
- if (var4 == 18) {
- Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
- if (Client.playerAttackOption == null) {
- Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
- }
- }
-
- if (var4 == 19) {
- if (var2 == -1) {
- Client.combatTargetPlayerIndex = -1;
- } else {
- Client.combatTargetPlayerIndex = var2 & 2047;
- }
- }
-
- if (var4 == 22) {
- Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
- if (Client.npcAttackOption == null) {
- Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
- }
- }
-
+ if (var4 == 0) {
+ return;
}
+ int var2 = Varps.Varps_main[var0];
+ if (var4 == 1) {
+ if (var2 == 1) {
+ Rasterizer3D.Rasterizer3D_setBrightness(0.9D);
+ ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.9D);
+ }
+
+ if (var2 == 2) {
+ Rasterizer3D.Rasterizer3D_setBrightness(0.8D);
+ ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D);
+ }
+
+ if (var2 == 3) {
+ Rasterizer3D.Rasterizer3D_setBrightness(0.7D);
+ ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D);
+ }
+
+ if (var2 == 4) {
+ Rasterizer3D.Rasterizer3D_setBrightness(0.6D);
+ ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D);
+ }
+
+ FontName.method5317();
+ }
+
+ if (var4 == 3) {
+ short var3 = 0;
+ if (var2 == 0) {
+ var3 = 255;
+ }
+
+ if (var2 == 1) {
+ var3 = 192;
+ }
+
+ if (var2 == 2) {
+ var3 = 128;
+ }
+
+ if (var2 == 3) {
+ var3 = 64;
+ }
+
+ if (var2 == 4) {
+ var3 = 0;
+ }
+
+ if (var3 != Client.field911) {
+ if (Client.field911 == 0 && Client.field889 != -1) {
+ class169.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false);
+ Client.field699 = false;
+ } else if (var3 == 0) {
+ NetSocket.method3553();
+ Client.field699 = false;
+ } else if (class197.field2402 != 0) {
+ ScriptFrame.field529 = var3;
+ } else {
+ Interpreter.midiPcmStream.method3706(var3);
+ }
+
+ Client.field911 = var3;
+ }
+ }
+
+ if (var4 == 4) {
+ if (var2 == 0) {
+ Client.soundEffectVolume = 127;
+ }
+
+ if (var2 == 1) {
+ Client.soundEffectVolume = 96;
+ }
+
+ if (var2 == 2) {
+ Client.soundEffectVolume = 64;
+ }
+
+ if (var2 == 3) {
+ Client.soundEffectVolume = 32;
+ }
+
+ if (var2 == 4) {
+ Client.soundEffectVolume = 0;
+ }
+ }
+
+ if (var4 == 5) {
+ Client.field789 = var2;
+ }
+
+ if (var4 == 6) {
+ Client.chatEffects = var2;
+ }
+
+ if (var4 == 9) {
+ Client.field809 = var2;
+ }
+
+ if (var4 == 10) {
+ if (var2 == 0) {
+ Client.field892 = 127;
+ }
+
+ if (var2 == 1) {
+ Client.field892 = 96;
+ }
+
+ if (var2 == 2) {
+ Client.field892 = 64;
+ }
+
+ if (var2 == 3) {
+ Client.field892 = 32;
+ }
+
+ if (var2 == 4) {
+ Client.field892 = 0;
+ }
+ }
+
+ if (var4 == 17) {
+ Client.followerIndex = var2 & 65535;
+ }
+
+ if (var4 == 18) {
+ Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
+ if (Client.playerAttackOption == null) {
+ Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
+ }
+ }
+
+ if (var4 == 19) {
+ if (var2 == -1) {
+ Client.combatTargetPlayerIndex = -1;
+ } else {
+ Client.combatTargetPlayerIndex = var2 & 2047;
+ }
+ }
+
+ if (var4 == 22) {
+ Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
+ if (Client.npcAttackOption == null) {
+ Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
+ }
+ }
+
}
}
diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java
index 4104e01882..1f32111eef 100644
--- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java
+++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java
@@ -43,8 +43,8 @@ final class GrandExchangeOfferWorldComparator implements Comparator {
signature = "(Lhp;B)V",
garbageValue = "0"
)
- @Export("setVarcIntArchive")
- public static void setVarcIntArchive(AbstractArchive var0) {
+ @Export("VarcInt_setArchives")
+ public static void VarcInt_setArchives(AbstractArchive var0) {
VarcInt.VarcInt_archive = var0;
}
diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java
index a57a51fa41..9b576a03ce 100644
--- a/runescape-client/src/main/java/HealthBar.java
+++ b/runescape-client/src/main/java/HealthBar.java
@@ -77,19 +77,19 @@ public class HealthBar extends Node {
@Export("get")
HealthBarUpdate get(int var1) {
HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last();
- if (var2 != null && var2.cycle <= var1) {
- for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) {
- var2.remove();
- var2 = var3;
- }
+ if (var2 == null || var2.cycle > var1) {
+ return null;
+ }
+ for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) {
+ var2.remove();
+ var2 = var3;
+ }
- if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) {
- return var2;
- }
+ if (this.definition.int5 + var2.cycle + var2.cycleOffset <= var1) {
var2.remove();
return null;
}
- return null;
+ return var2;
}
@ObfuscatedName("e")
diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java
index 8e8476d104..538cf8aea8 100644
--- a/runescape-client/src/main/java/HealthBarUpdate.java
+++ b/runescape-client/src/main/java/HealthBarUpdate.java
@@ -105,96 +105,95 @@ public class HealthBarUpdate extends Node {
)
public static void method1671(PacketBuffer var0) {
ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last();
- if (var1 != null) {
- int var2 = var0.offset;
- var0.writeInt(var1.id);
-
- for (int var3 = 0; var3 < var1.size; ++var3) {
- if (var1.creationErrors[var3] != 0) {
- var0.writeByte(var1.creationErrors[var3]);
- } else {
- try {
- int var4 = var1.operations[var3];
- Field var5;
- int var6;
- if (var4 == 0) {
- var5 = var1.fields[var3];
- var6 = Reflection.getInt(var5, (Object)null);
- var0.writeByte(0);
- var0.writeInt(var6);
- } else if (var4 == 1) {
- var5 = var1.fields[var3];
- Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]);
- var0.writeByte(0);
- } else if (var4 == 2) {
- var5 = var1.fields[var3];
- var6 = var5.getModifiers();
- var0.writeByte(0);
- var0.writeInt(var6);
- }
-
- Method var25;
- if (var4 != 3) {
- if (var4 == 4) {
- var25 = var1.methods[var3];
- var6 = var25.getModifiers();
- var0.writeByte(0);
- var0.writeInt(var6);
- }
- } else {
- var25 = var1.methods[var3];
- byte[][] var10 = var1.arguments[var3];
- Object[] var7 = new Object[var10.length];
-
- for (int var8 = 0; var8 < var10.length; ++var8) {
- ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8]));
- var7[var8] = var9.readObject();
- }
-
- Object var11 = Reflection.invoke(var25, (Object)null, var7);
- if (var11 == null) {
- var0.writeByte(0);
- } else if (var11 instanceof Number) {
- var0.writeByte(1);
- var0.writeLong(((Number)var11).longValue());
- } else if (var11 instanceof String) {
- var0.writeByte(2);
- var0.writeStringCp1252NullTerminated((String)var11);
- } else {
- var0.writeByte(4);
- }
- }
- } catch (ClassNotFoundException var13) {
- var0.writeByte(-10);
- } catch (InvalidClassException var14) {
- var0.writeByte(-11);
- } catch (StreamCorruptedException var15) {
- var0.writeByte(-12);
- } catch (OptionalDataException var16) {
- var0.writeByte(-13);
- } catch (IllegalAccessException var17) {
- var0.writeByte(-14);
- } catch (IllegalArgumentException var18) {
- var0.writeByte(-15);
- } catch (InvocationTargetException var19) {
- var0.writeByte(-16);
- } catch (SecurityException var20) {
- var0.writeByte(-17);
- } catch (IOException var21) {
- var0.writeByte(-18);
- } catch (NullPointerException var22) {
- var0.writeByte(-19);
- } catch (Exception var23) {
- var0.writeByte(-20);
- } catch (Throwable var24) {
- var0.writeByte(-21);
- }
- }
- }
-
- var0.writeCrc(var2);
- var1.remove();
+ if (var1 == null) {
+ return;
}
+ int var2 = var0.offset;
+ var0.writeInt(var1.id);
+
+ for (int var3 = 0; var3 < var1.size; ++var3) {
+ if (var1.creationErrors[var3] != 0) {
+ var0.writeByte(var1.creationErrors[var3]);
+ continue;
+ }
+ try {
+ int var4 = var1.operations[var3];
+ Field var5;
+ int var6;
+ if (var4 == 0) {
+ var5 = var1.fields[var3];
+ var6 = Reflection.getInt(var5, (Object)null);
+ var0.writeByte(0);
+ var0.writeInt(var6);
+ } else if (var4 == 1) {
+ var5 = var1.fields[var3];
+ Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]);
+ var0.writeByte(0);
+ } else if (var4 == 2) {
+ var5 = var1.fields[var3];
+ var6 = var5.getModifiers();
+ var0.writeByte(0);
+ var0.writeInt(var6);
+ }
+
+ Method var25;
+ if (var4 == 3) {
+ var25 = var1.methods[var3];
+ byte[][] var10 = var1.arguments[var3];
+ Object[] var7 = new Object[var10.length];
+
+ for (int var8 = 0; var8 < var10.length; ++var8) {
+ ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8]));
+ var7[var8] = var9.readObject();
+ }
+
+ Object var11 = Reflection.invoke(var25, (Object)null, var7);
+ if (var11 == null) {
+ var0.writeByte(0);
+ } else if (var11 instanceof Number) {
+ var0.writeByte(1);
+ var0.writeLong(((Number)var11).longValue());
+ } else if (var11 instanceof String) {
+ var0.writeByte(2);
+ var0.writeStringCp1252NullTerminated((String)var11);
+ } else {
+ var0.writeByte(4);
+ }
+ } else if (var4 == 4) {
+ var25 = var1.methods[var3];
+ var6 = var25.getModifiers();
+ var0.writeByte(0);
+ var0.writeInt(var6);
+ }
+ } catch (ClassNotFoundException var13) {
+ var0.writeByte(-10);
+ } catch (InvalidClassException var14) {
+ var0.writeByte(-11);
+ } catch (StreamCorruptedException var15) {
+ var0.writeByte(-12);
+ } catch (OptionalDataException var16) {
+ var0.writeByte(-13);
+ } catch (IllegalAccessException var17) {
+ var0.writeByte(-14);
+ } catch (IllegalArgumentException var18) {
+ var0.writeByte(-15);
+ } catch (InvocationTargetException var19) {
+ var0.writeByte(-16);
+ } catch (SecurityException var20) {
+ var0.writeByte(-17);
+ } catch (IOException var21) {
+ var0.writeByte(-18);
+ } catch (NullPointerException var22) {
+ var0.writeByte(-19);
+ } catch (Exception var23) {
+ var0.writeByte(-20);
+ } catch (Throwable var24) {
+ var0.writeByte(-21);
+ }
+ }
+
+ var0.writeCrc(var2);
+ var1.remove();
}
@ObfuscatedName("ax")
diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java
index 1121a95e23..7194145dc2 100644
--- a/runescape-client/src/main/java/HitSplatDefinition.java
+++ b/runescape-client/src/main/java/HitSplatDefinition.java
@@ -132,7 +132,7 @@ public class HitSplatDefinition extends DualNode {
HitSplatDefinition() {
this.fontId = -1;
- this.field3333 = 16777215;
+ this.field3333 = 0xffffff;
this.field3344 = 70;
this.field3334 = -1;
this.field3336 = -1;
diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java
index 6793335efb..bf2bc53958 100644
--- a/runescape-client/src/main/java/Interpreter.java
+++ b/runescape-client/src/main/java/Interpreter.java
@@ -129,7 +129,7 @@ public class Interpreter {
if (var7 > 2500) {
var4.method6146(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths);
} else {
- var4.drawAt2(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2);
+ var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2);
}
}
diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java
index c2f9a67ba1..e29719f619 100644
--- a/runescape-client/src/main/java/ItemContainer.java
+++ b/runescape-client/src/main/java/ItemContainer.java
@@ -38,7 +38,8 @@ public class ItemContainer extends Node {
signature = "(IB)Lic;",
garbageValue = "-70"
)
- public static FloorUnderlayDefinition method1117(int var0) {
+ @Export("FloorUnderlayDefinition_get")
+ public static FloorUnderlayDefinition FloorUnderlayDefinition_get(int var0) {
FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;
diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java
index 8f3055723a..27e9dda651 100644
--- a/runescape-client/src/main/java/KeyHandler.java
+++ b/runescape-client/src/main/java/KeyHandler.java
@@ -178,7 +178,8 @@ public final class KeyHandler implements KeyListener, FocusListener {
signature = "(Lhp;I)V",
garbageValue = "-939658474"
)
- public static void method794(AbstractArchive var0) {
+ @Export("ParamDefinition_setArchives")
+ public static void ParamDefinition_setArchives(AbstractArchive var0) {
ParamDefinition.ParamDefinition_archive = var0;
}
@@ -195,10 +196,10 @@ public final class KeyHandler implements KeyListener, FocusListener {
FaceNormal.field1887 = null;
class32.field282 = null;
Tiles.field515 = null;
- ServerBuild.field3103 = null;
- Tiles.field508 = null;
- Tiles.field507 = null;
- DynamicObject.field1301 = null;
+ ServerBuild.Tiles_hue = null;
+ Tiles.Tiles_saturation = null;
+ Tiles.Tiles_lightness = null;
+ DynamicObject.Tiles_hueMultiplier = null;
Fonts.field3689 = null;
}
diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java
index c9b7e9320e..506e333993 100644
--- a/runescape-client/src/main/java/KitDefinition.java
+++ b/runescape-client/src/main/java/KitDefinition.java
@@ -257,46 +257,47 @@ public class KitDefinition extends DualNode {
Client.soundEffects[var0] = var9;
}
- if (Client.queuedSoundEffectDelays[var0] < 0) {
- int var2;
- if (Client.soundLocations[var0] != 0) {
- int var3 = (Client.soundLocations[var0] & 255) * 128;
- int var4 = Client.soundLocations[var0] >> 16 & 255;
- int var5 = var4 * 128 + 64 - Client.localPlayer.x;
- if (var5 < 0) {
- var5 = -var5;
- }
-
- int var6 = Client.soundLocations[var0] >> 8 & 255;
- int var7 = var6 * 128 + 64 - Client.localPlayer.y;
- if (var7 < 0) {
- var7 = -var7;
- }
-
- int var8 = var5 + var7 - 128;
- if (var8 > var3) {
- Client.queuedSoundEffectDelays[var0] = -100;
- continue;
- }
-
- if (var8 < 0) {
- var8 = 0;
- }
-
- var2 = (var3 - var8) * Client.field892 / var3;
- } else {
- var2 = Client.soundEffectVolume;
- }
-
- if (var2 > 0) {
- RawSound var10 = var9.toRawSound().resample(AttackOption.decimator);
- RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2);
- var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1);
- SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
- }
-
- Client.queuedSoundEffectDelays[var0] = -100;
+ if (Client.queuedSoundEffectDelays[var0] >= 0) {
+ continue;
}
+ int var2;
+ if (Client.soundLocations[var0] != 0) {
+ int var3 = (Client.soundLocations[var0] & 255) * 128;
+ int var4 = Client.soundLocations[var0] >> 16 & 255;
+ int var5 = var4 * 128 + 64 - Client.localPlayer.x;
+ if (var5 < 0) {
+ var5 = -var5;
+ }
+
+ int var6 = Client.soundLocations[var0] >> 8 & 255;
+ int var7 = var6 * 128 + 64 - Client.localPlayer.y;
+ if (var7 < 0) {
+ var7 = -var7;
+ }
+
+ int var8 = var5 + var7 - 128;
+ if (var8 > var3) {
+ Client.queuedSoundEffectDelays[var0] = -100;
+ continue;
+ }
+
+ if (var8 < 0) {
+ var8 = 0;
+ }
+
+ var2 = (var3 - var8) * Client.field892 / var3;
+ } else {
+ var2 = Client.soundEffectVolume;
+ }
+
+ if (var2 > 0) {
+ RawSound var10 = var9.toRawSound().resample(AttackOption.decimator);
+ RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2);
+ var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1);
+ SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
+ }
+
+ Client.queuedSoundEffectDelays[var0] = -100;
} else {
--Client.soundEffectCount;
@@ -312,21 +313,22 @@ public class KitDefinition extends DualNode {
}
}
- if (Client.field699) {
- boolean var12;
- if (class197.field2402 != 0) {
- var12 = true;
- } else {
- var12 = Interpreter.midiPcmStream.isReady();
+ if (!Client.field699) {
+ return;
+ }
+ boolean var12;
+ if (class197.field2402 != 0) {
+ var12 = true;
+ } else {
+ var12 = Interpreter.midiPcmStream.isReady();
+ }
+
+ if (!var12) {
+ if (Client.field911 != 0 && Client.field889 != -1) {
+ class169.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false);
}
- if (!var12) {
- if (Client.field911 != 0 && Client.field889 != -1) {
- class169.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false);
- }
-
- Client.field699 = false;
- }
+ Client.field699 = false;
}
}
diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java
index 07ebc31dd3..f93dadc05a 100644
--- a/runescape-client/src/main/java/LoginScreenAnimation.java
+++ b/runescape-client/src/main/java/LoginScreenAnimation.java
@@ -80,7 +80,7 @@ public class LoginScreenAnimation {
this.field1055 = 0;
this.field1056 = 0;
this.sprites = var1;
- this.method1721();
+ this.initColors();
}
@ObfuscatedName("q")
@@ -88,7 +88,8 @@ public class LoginScreenAnimation {
signature = "(I)V",
garbageValue = "-1195148401"
)
- void method1721() {
+ @Export("initColors")
+ void initColors() {
this.field1045 = new int[256];
int var1;
@@ -97,15 +98,15 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1045[var1 + 64] = var1 * 1024 + 16711680;
+ this.field1045[var1 + 64] = var1 * 1024 + 0xff0000;
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1045[var1 + 128] = var1 * 4 + 16776960;
+ this.field1045[var1 + 128] = var1 * 4 + 0xffff00;
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1045[var1 + 192] = 16777215;
+ this.field1045[var1 + 192] = 0xffffff;
}
this.field1046 = new int[256];
@@ -115,7 +116,7 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1046[var1 + 64] = var1 * 4 + 65280;
+ this.field1046[var1 + 64] = var1 * 4 + 0xff00;
}
for (var1 = 0; var1 < 64; ++var1) {
@@ -123,7 +124,7 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1046[var1 + 192] = 16777215;
+ this.field1046[var1 + 192] = 0xffffff;
}
this.field1047 = new int[256];
@@ -137,11 +138,11 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1047[var1 + 128] = var1 * 1024 + 16711935;
+ this.field1047[var1 + 128] = var1 * 1024 + 0xff00ff;
}
for (var1 = 0; var1 < 64; ++var1) {
- this.field1047[var1 + 192] = 16777215;
+ this.field1047[var1 + 192] = 0xffffff;
}
this.field1044 = new int[256];
@@ -179,7 +180,7 @@ public class LoginScreenAnimation {
@Export("draw")
void draw(int var1, int var2) {
if (this.field1039 == null) {
- this.method1721();
+ this.initColors();
}
if (this.field1056 == 0) {
@@ -340,7 +341,7 @@ public class LoginScreenAnimation {
)
final int method1725(int var1, int var2, int var3) {
int var4 = 256 - var3;
- return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var3 * (var2 & 65280) + var4 * (var1 & 65280) & 16711680) >> 8;
+ return (var4 * (var1 & 0xff00ff) + var3 * (var2 & 0xff00ff) & 0xff00ff00) + (var3 * (var2 & 0xff00) + var4 * (var1 & 0xff00) & 0xff0000) >> 8;
}
@ObfuscatedName("l")
@@ -416,7 +417,7 @@ public class LoginScreenAnimation {
int var13 = 256 - var10;
var10 = this.field1044[var10];
int var14 = MusicPatchPcmStream.rasterProvider.pixels[var8];
- MusicPatchPcmStream.rasterProvider.pixels[var8++] = -16777216 | (var13 * (var14 & 65280) + var12 * (var10 & 65280) & 16711680) + ((var14 & 16711935) * var13 + (var10 & 16711935) * var12 & -16711936) >> 8;
+ MusicPatchPcmStream.rasterProvider.pixels[var8++] = 0xff000000 | (var13 * (var14 & 0xff00) + var12 * (var10 & 0xff00) & 0xff0000) + ((var14 & 0xff00ff) * var13 + (var10 & 0xff00ff) * var12 & 0xff00ff00) >> 8;
} else {
++var8;
}
@@ -534,7 +535,7 @@ public class LoginScreenAnimation {
var13 = Client.localPlayer.plane;
var14 = MusicPatchNode2.baseX * 64 + (MouseHandler.oculusOrbFocalPointX >> 7);
var15 = class1.baseY * 64 + (WorldMapArea.oculusOrbFocalPointY >> 7);
- WorldMapLabel.method418(var14, var15, var13, true);
+ WorldMapLabel.changePlane(var14, var15, var13, true);
}
}
diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java
index 73e907cc05..592bdbc38e 100644
--- a/runescape-client/src/main/java/Messages.java
+++ b/runescape-client/src/main/java/Messages.java
@@ -421,9 +421,9 @@ public class Messages {
}
if (var16.isIf3) {
- Client.selectedSpellName = var16.dataText + ClientPreferences.colorStartTag(16777215);
+ Client.selectedSpellName = var16.dataText + ClientPreferences.colorStartTag(0xffffff);
} else {
- Client.selectedSpellName = ClientPreferences.colorStartTag(65280) + var16.spellName + ClientPreferences.colorStartTag(16777215);
+ Client.selectedSpellName = ClientPreferences.colorStartTag(0xff00) + var16.spellName + ClientPreferences.colorStartTag(0xffffff);
}
}
@@ -458,10 +458,10 @@ public class Messages {
}
}
} else if (var2 == 30) {
- if (Client.field850 == null) {
- ScriptFrame.method1086(var1, var0);
- Client.field850 = Client.getWidgetChild(var1, var0);
- Strings.method4120(Client.field850);
+ if (Client.meslayerContinueWidget == null) {
+ ScriptFrame.resumePauseWidget(var1, var0);
+ Client.meslayerContinueWidget = Client.getWidgetChild(var1, var0);
+ Strings.invalidateWidget(Client.meslayerContinueWidget);
}
} else if (var2 == 31) {
var8 = Archive.method4265(ClientPacket.field2266, Client.packetWriter.isaacCipher);
@@ -539,8 +539,8 @@ public class Messages {
WorldMapIcon_1.selectedItemSlot = var0;
MouseRecorder.selectedItemWidget = var1;
class4.selectedItemId = var3;
- Strings.method4120(var16);
- Client.selectedItemName = ClientPreferences.colorStartTag(16748608) + WorldMapArea.getItemDefinition(var3).name + ClientPreferences.colorStartTag(16777215);
+ Strings.invalidateWidget(var16);
+ Client.selectedItemName = ClientPreferences.colorStartTag(16748608) + WorldMapArea.getItemDefinition(var3).name + ClientPreferences.colorStartTag(0xffffff);
if (Client.selectedItemName == null) {
Client.selectedItemName = "null";
}
@@ -821,7 +821,7 @@ public class Messages {
if (Client.isItemSelected != 0) {
Client.isItemSelected = 0;
- Strings.method4120(class80.getWidget(MouseRecorder.selectedItemWidget));
+ Strings.invalidateWidget(class80.getWidget(MouseRecorder.selectedItemWidget));
}
if (Client.isSpellSelected) {
@@ -829,7 +829,7 @@ public class Messages {
}
if (ItemContainer.field549 != null && Client.field759 == 0) {
- Strings.method4120(ItemContainer.field549);
+ Strings.invalidateWidget(ItemContainer.field549);
}
}
@@ -841,109 +841,111 @@ public class Messages {
)
static void method2163(int var0, int var1, int var2, int var3, String var4) {
Widget var5 = Client.getWidgetChild(var1, var2);
- if (var5 != null) {
- if (var5.onOp != null) {
- ScriptEvent var6 = new ScriptEvent();
- var6.widget = var5;
- var6.opIndex = var0;
- var6.targetName = var4;
- var6.args = var5.onOp;
- LoginPacket.runScriptEvent(var6);
+ if (var5 == null) {
+ return;
+ }
+ if (var5.onOp != null) {
+ ScriptEvent var6 = new ScriptEvent();
+ var6.widget = var5;
+ var6.opIndex = var0;
+ var6.targetName = var4;
+ var6.args = var5.onOp;
+ LoginPacket.runScriptEvent(var6);
+ }
+
+ boolean var11 = true;
+ if (var5.contentType > 0) {
+ var11 = GrandExchangeOfferAgeComparator.method149(var5);
+ }
+
+ if (!var11) {
+ return;
+ }
+ int var8 = class268.getWidgetClickMask(var5);
+ int var9 = var0 - 1;
+ boolean var7 = (var8 >> var9 + 1 & 1) != 0;
+ if (var7) {
+ PacketBufferNode var10;
+ if (var0 == 1) {
+ var10 = Archive.method4265(ClientPacket.field2271, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
}
- boolean var11 = true;
- if (var5.contentType > 0) {
- var11 = GrandExchangeOfferAgeComparator.method149(var5);
+ if (var0 == 2) {
+ var10 = Archive.method4265(ClientPacket.field2255, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
}
- if (var11) {
- int var8 = class268.getWidgetClickMask(var5);
- int var9 = var0 - 1;
- boolean var7 = (var8 >> var9 + 1 & 1) != 0;
- if (var7) {
- PacketBufferNode var10;
- if (var0 == 1) {
- var10 = Archive.method4265(ClientPacket.field2271, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 2) {
- var10 = Archive.method4265(ClientPacket.field2255, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 3) {
- var10 = Archive.method4265(ClientPacket.field2206, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 4) {
- var10 = Archive.method4265(ClientPacket.field2222, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 5) {
- var10 = Archive.method4265(ClientPacket.field2243, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 6) {
- var10 = Archive.method4265(ClientPacket.field2264, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 7) {
- var10 = Archive.method4265(ClientPacket.field2288, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 8) {
- var10 = Archive.method4265(ClientPacket.field2251, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 9) {
- var10 = Archive.method4265(ClientPacket.field2287, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- if (var0 == 10) {
- var10 = Archive.method4265(ClientPacket.field2289, Client.packetWriter.isaacCipher);
- var10.packetBuffer.writeInt(var1);
- var10.packetBuffer.writeShort(var2);
- var10.packetBuffer.writeShort(var3);
- Client.packetWriter.method2219(var10);
- }
-
- }
+ if (var0 == 3) {
+ var10 = Archive.method4265(ClientPacket.field2206, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
}
+
+ if (var0 == 4) {
+ var10 = Archive.method4265(ClientPacket.field2222, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 5) {
+ var10 = Archive.method4265(ClientPacket.field2243, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 6) {
+ var10 = Archive.method4265(ClientPacket.field2264, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 7) {
+ var10 = Archive.method4265(ClientPacket.field2288, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 8) {
+ var10 = Archive.method4265(ClientPacket.field2251, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 9) {
+ var10 = Archive.method4265(ClientPacket.field2287, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
+ if (var0 == 10) {
+ var10 = Archive.method4265(ClientPacket.field2289, Client.packetWriter.isaacCipher);
+ var10.packetBuffer.writeInt(var1);
+ var10.packetBuffer.writeShort(var2);
+ var10.packetBuffer.writeShort(var3);
+ Client.packetWriter.method2219(var10);
+ }
+
}
}
}
diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java
index 0950c0e505..64e33f8e39 100644
--- a/runescape-client/src/main/java/MilliClock.java
+++ b/runescape-client/src/main/java/MilliClock.java
@@ -67,7 +67,7 @@ public class MilliClock extends Clock {
garbageValue = "-333181863"
)
@Export("wait")
- public int wait(int var1, int var2) {
+ public int wait(int tickLength, int fiveOrOne) {
int var3 = this.field2014;
int var4 = this.field2013;
this.field2014 = 300;
@@ -77,7 +77,7 @@ public class MilliClock extends Clock {
this.field2014 = var3;
this.field2013 = var4;
} else if (this.field2012 > this.field2011[this.field2016]) {
- this.field2014 = (int)((long)(var1 * 2560) / (this.field2012 - this.field2011[this.field2016]));
+ this.field2014 = (int)((long)(tickLength * 2560) / (this.field2012 - this.field2011[this.field2016]));
}
if (this.field2014 < 25) {
@@ -86,11 +86,11 @@ public class MilliClock extends Clock {
if (this.field2014 > 256) {
this.field2014 = 256;
- this.field2013 = (int)((long)var1 - (this.field2012 - this.field2011[this.field2016]) / 10L);
+ this.field2013 = (int)((long) tickLength - (this.field2012 - this.field2011[this.field2016]) / 10L);
}
- if (this.field2013 > var1) {
- this.field2013 = var1;
+ if (this.field2013 > tickLength) {
+ this.field2013 = tickLength;
}
this.field2011[this.field2016] = this.field2012;
@@ -104,11 +104,11 @@ public class MilliClock extends Clock {
}
}
- if (this.field2013 < var2) {
- this.field2013 = var2;
+ if (this.field2013 < fiveOrOne) {
+ this.field2013 = fiveOrOne;
}
- EnumDefinition.method4550((long)this.field2013);
+ EnumDefinition.sleepMillis((long)this.field2013);
for (var5 = 0; this.field2015 < 256; this.field2015 += this.field2014) {
++var5;
diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java
index 7ca9d24542..2af540dcab 100644
--- a/runescape-client/src/main/java/Model.java
+++ b/runescape-client/src/main/java/Model.java
@@ -545,120 +545,123 @@ public class Model extends Entity {
@ObfuscatedName("k")
@Export("calculateBoundingBox")
void calculateBoundingBox(int var1) {
- if (this.xMidOffset == -1) {
- int var2 = 0;
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
- int var8 = Model_cosine[var1];
- int var9 = Model_sine[var1];
-
- for (int var10 = 0; var10 < this.verticesCount; ++var10) {
- int var11 = Rasterizer3D.method3040(this.verticesX[var10], this.verticesZ[var10], var8, var9);
- int var12 = this.verticesY[var10];
- int var13 = Rasterizer3D.method3061(this.verticesX[var10], this.verticesZ[var10], var8, var9);
- if (var11 < var2) {
- var2 = var11;
- }
-
- if (var11 > var5) {
- var5 = var11;
- }
-
- if (var12 < var3) {
- var3 = var12;
- }
-
- if (var12 > var6) {
- var6 = var12;
- }
-
- if (var13 < var4) {
- var4 = var13;
- }
-
- if (var13 > var7) {
- var7 = var13;
- }
- }
-
- this.xMid = (var5 + var2) / 2;
- this.yMid = (var6 + var3) / 2;
- this.zMid = (var7 + var4) / 2;
- this.xMidOffset = (var5 - var2 + 1) / 2;
- this.yMidOffset = (var6 - var3 + 1) / 2;
- this.zMidOffset = (var7 - var4 + 1) / 2;
- if (this.xMidOffset < 32) {
- this.xMidOffset = 32;
- }
-
- if (this.zMidOffset < 32) {
- this.zMidOffset = 32;
- }
-
- if (this.isSingleTile) {
- this.xMidOffset += 8;
- this.zMidOffset += 8;
- }
-
+ if (this.xMidOffset != -1) {
+ return;
}
+ int var2 = 0;
+ int var3 = 0;
+ int var4 = 0;
+ int var5 = 0;
+ int var6 = 0;
+ int var7 = 0;
+ int var8 = Model_cosine[var1];
+ int var9 = Model_sine[var1];
+
+ for (int var10 = 0; var10 < this.verticesCount; ++var10) {
+ int var11 = Rasterizer3D.method3040(this.verticesX[var10], this.verticesZ[var10], var8, var9);
+ int var12 = this.verticesY[var10];
+ int var13 = Rasterizer3D.method3061(this.verticesX[var10], this.verticesZ[var10], var8, var9);
+ if (var11 < var2) {
+ var2 = var11;
+ }
+
+ if (var11 > var5) {
+ var5 = var11;
+ }
+
+ if (var12 < var3) {
+ var3 = var12;
+ }
+
+ if (var12 > var6) {
+ var6 = var12;
+ }
+
+ if (var13 < var4) {
+ var4 = var13;
+ }
+
+ if (var13 > var7) {
+ var7 = var13;
+ }
+ }
+
+ this.xMid = (var5 + var2) / 2;
+ this.yMid = (var6 + var3) / 2;
+ this.zMid = (var7 + var4) / 2;
+ this.xMidOffset = (var5 - var2 + 1) / 2;
+ this.yMidOffset = (var6 - var3 + 1) / 2;
+ this.zMidOffset = (var7 - var4 + 1) / 2;
+ if (this.xMidOffset < 32) {
+ this.xMidOffset = 32;
+ }
+
+ if (this.zMidOffset < 32) {
+ this.zMidOffset = 32;
+ }
+
+ if (this.isSingleTile) {
+ this.xMidOffset += 8;
+ this.zMidOffset += 8;
+ }
+
}
@ObfuscatedName("l")
@Export("calculateBoundsCylinder")
public void calculateBoundsCylinder() {
- if (this.boundsType != 1) {
- this.boundsType = 1;
- super.height = 0;
- this.bottomY = 0;
- this.xzRadius = 0;
+ if (this.boundsType == 1) {
+ return;
+ }
+ this.boundsType = 1;
+ super.height = 0;
+ this.bottomY = 0;
+ this.xzRadius = 0;
- for (int var1 = 0; var1 < this.verticesCount; ++var1) {
- int var2 = this.verticesX[var1];
- int var3 = this.verticesY[var1];
- int var4 = this.verticesZ[var1];
- if (-var3 > super.height) {
- super.height = -var3;
- }
-
- if (var3 > this.bottomY) {
- this.bottomY = var3;
- }
-
- int var5 = var2 * var2 + var4 * var4;
- if (var5 > this.xzRadius) {
- this.xzRadius = var5;
- }
+ for (int var1 = 0; var1 < this.verticesCount; ++var1) {
+ int var2 = this.verticesX[var1];
+ int var3 = this.verticesY[var1];
+ int var4 = this.verticesZ[var1];
+ if (-var3 > super.height) {
+ super.height = -var3;
}
- this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D);
- this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D);
- this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D);
+ if (var3 > this.bottomY) {
+ this.bottomY = var3;
+ }
+
+ int var5 = var2 * var2 + var4 * var4;
+ if (var5 > this.xzRadius) {
+ this.xzRadius = var5;
+ }
}
+
+ this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D);
+ this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D);
+ this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D);
}
@ObfuscatedName("b")
void method2910() {
- if (this.boundsType != 2) {
- this.boundsType = 2;
- this.xzRadius = 0;
-
- for (int var1 = 0; var1 < this.verticesCount; ++var1) {
- int var2 = this.verticesX[var1];
- int var3 = this.verticesY[var1];
- int var4 = this.verticesZ[var1];
- int var5 = var2 * var2 + var4 * var4 + var3 * var3;
- if (var5 > this.xzRadius) {
- this.xzRadius = var5;
- }
- }
-
- this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D);
- this.radius = this.xzRadius;
- this.diameter = this.xzRadius + this.xzRadius;
+ if (this.boundsType == 2) {
+ return;
}
+ this.boundsType = 2;
+ this.xzRadius = 0;
+
+ for (int var1 = 0; var1 < this.verticesCount; ++var1) {
+ int var2 = this.verticesX[var1];
+ int var3 = this.verticesY[var1];
+ int var4 = this.verticesZ[var1];
+ int var5 = var2 * var2 + var4 * var4 + var3 * var3;
+ if (var5 > this.xzRadius) {
+ this.xzRadius = var5;
+ }
+ }
+
+ this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D);
+ this.radius = this.xzRadius;
+ this.diameter = this.xzRadius + this.xzRadius;
}
@ObfuscatedName("i")
@@ -680,22 +683,21 @@ public class Model extends Entity {
)
@Export("animate")
public void animate(Frames var1, int var2) {
- if (this.vertexLabels != null) {
- if (var2 != -1) {
- Animation var3 = var1.frames[var2];
- Skeleton var4 = var3.skeleton;
- Model_transformTempX = 0;
- Model_transformTempY = 0;
- Model_transformTempZ = 0;
-
- for (int var5 = 0; var5 < var3.transformCount; ++var5) {
- int var6 = var3.transformSkeletonLabels[var5];
- this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]);
- }
-
- this.resetBounds();
- }
+ if (this.vertexLabels == null || var2 == -1) {
+ return;
}
+ Animation var3 = var1.frames[var2];
+ Skeleton var4 = var3.skeleton;
+ Model_transformTempX = 0;
+ Model_transformTempY = 0;
+ Model_transformTempZ = 0;
+
+ for (int var5 = 0; var5 < var3.transformCount; ++var5) {
+ int var6 = var3.transformSkeletonLabels[var5];
+ this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]);
+ }
+
+ this.resetBounds();
}
@ObfuscatedName("r")
@@ -704,50 +706,51 @@ public class Model extends Entity {
)
@Export("animate2")
public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) {
- if (var2 != -1) {
- if (var5 != null && var4 != -1) {
- Animation var6 = var1.frames[var2];
- Animation var7 = var3.frames[var4];
- Skeleton var8 = var6.skeleton;
- Model_transformTempX = 0;
- Model_transformTempY = 0;
- Model_transformTempZ = 0;
- byte var9 = 0;
- int var13 = var9 + 1;
- int var10 = var5[var9];
+ if (var2 == -1) {
+ return;
+ }
+ if (var5 == null || var4 == -1) {
+ this.animate(var1, var2);
+ return;
+ }
+ Animation var6 = var1.frames[var2];
+ Animation var7 = var3.frames[var4];
+ Skeleton var8 = var6.skeleton;
+ Model_transformTempX = 0;
+ Model_transformTempY = 0;
+ Model_transformTempZ = 0;
+ byte var9 = 0;
+ int var13 = var9 + 1;
+ int var10 = var5[var9];
- int var11;
- int var12;
- for (var11 = 0; var11 < var6.transformCount; ++var11) {
- for (var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) {
- }
+ int var11;
+ int var12;
+ for (var11 = 0; var11 < var6.transformCount; ++var11) {
+ for (var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) {
+ }
- if (var12 != var10 || var8.transformTypes[var12] == 0) {
- this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]);
- }
- }
-
- Model_transformTempX = 0;
- Model_transformTempY = 0;
- Model_transformTempZ = 0;
- var9 = 0;
- var13 = var9 + 1;
- var10 = var5[var9];
-
- for (var11 = 0; var11 < var7.transformCount; ++var11) {
- for (var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) {
- }
-
- if (var12 == var10 || var8.transformTypes[var12] == 0) {
- this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]);
- }
- }
-
- this.resetBounds();
- } else {
- this.animate(var1, var2);
+ if (var12 != var10 || var8.transformTypes[var12] == 0) {
+ this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]);
}
}
+
+ Model_transformTempX = 0;
+ Model_transformTempY = 0;
+ Model_transformTempZ = 0;
+ var9 = 0;
+ var13 = var9 + 1;
+ var10 = var5[var9];
+
+ for (var11 = 0; var11 < var7.transformCount; ++var11) {
+ for (var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) {
+ }
+
+ if (var12 == var10 || var8.transformTypes[var12] == 0) {
+ this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]);
+ }
+ }
+
+ this.resetBounds();
}
@ObfuscatedName("v")
diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java
index be8714d277..4c0c457147 100644
--- a/runescape-client/src/main/java/ModelData0.java
+++ b/runescape-client/src/main/java/ModelData0.java
@@ -17,8 +17,8 @@ public class ModelData0 {
@ObfuscatedName("b")
public static short[] field1870;
@ObfuscatedName("i")
- @Export("inMembersWorld")
- public static boolean inMembersWorld;
+ @Export("ItemDefinition_inMembersWorld")
+ public static boolean ItemDefinition_inMembersWorld;
ModelData0() {
}
@@ -81,7 +81,7 @@ public class ModelData0 {
var4.rawY = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
var4.xAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2];
var4.yAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3];
- Strings.method4120(var4);
+ Strings.invalidateWidget(var4);
WorldMapSprite.client.alignWidget(var4);
if (var3 != -1 && var4.type == 0) {
WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false);
@@ -95,7 +95,7 @@ public class ModelData0 {
var4.rawHeight = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
var4.widthAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2];
var4.heightAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3];
- Strings.method4120(var4);
+ Strings.invalidateWidget(var4);
WorldMapSprite.client.alignWidget(var4);
if (var3 != -1 && var4.type == 0) {
WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false);
@@ -107,7 +107,7 @@ public class ModelData0 {
boolean var5 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1;
if (var5 != var4.isHidden) {
var4.isHidden = var5;
- Strings.method4120(var4);
+ Strings.invalidateWidget(var4);
}
return 1;
diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java
index 82b704083b..f39e28e631 100644
--- a/runescape-client/src/main/java/MouseHandler.java
+++ b/runescape-client/src/main/java/MouseHandler.java
@@ -34,26 +34,26 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
@ObfuscatedGetter(
intValue = 1710921911
)
- @Export("MouseHandler_currentButton0")
- public static volatile int MouseHandler_currentButton0;
+ @Export("MouseHandler_currentButtonVolatile")
+ public static volatile int MouseHandler_currentButtonVolatile;
@ObfuscatedName("i")
@ObfuscatedGetter(
intValue = 1256133149
)
- @Export("MouseHandler_x0")
- public static volatile int MouseHandler_x0;
+ @Export("MouseHandler_xVolatile")
+ public static volatile int MouseHandler_xVolatile;
@ObfuscatedName("c")
@ObfuscatedGetter(
intValue = 1661434067
)
- @Export("MouseHandler_y0")
- public static volatile int MouseHandler_y0;
+ @Export("MouseHandler_yVolatile")
+ public static volatile int MouseHandler_yVolatile;
@ObfuscatedName("f")
@ObfuscatedGetter(
longValue = -8614064843857647631L
)
- @Export("MouseHandler_millis0")
- public static volatile long MouseHandler_millis0;
+ @Export("MouseHandler_lastMovedVolatile")
+ public static volatile long MouseHandler_lastMovedVolatile;
@ObfuscatedName("m")
@ObfuscatedGetter(
intValue = 1270652981
@@ -76,26 +76,26 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
@ObfuscatedGetter(
intValue = -1163235529
)
- @Export("MouseHandler_lastButton0")
- public static volatile int MouseHandler_lastButton0;
+ @Export("MouseHandler_lastButtonVolatile")
+ public static volatile int MouseHandler_lastButtonVolatile;
@ObfuscatedName("v")
@ObfuscatedGetter(
intValue = -1839013683
)
- @Export("MouseHandler_lastPressedX0")
- public static volatile int MouseHandler_lastPressedX0;
+ @Export("MouseHandler_lastPressedXVolatile")
+ public static volatile int MouseHandler_lastPressedXVolatile;
@ObfuscatedName("y")
@ObfuscatedGetter(
intValue = -62123151
)
- @Export("MouseHandler_lastPressedY0")
- public static volatile int MouseHandler_lastPressedY0;
+ @Export("MouseHandler_lastPressedYVolatile")
+ public static volatile int MouseHandler_lastPressedYVolatile;
@ObfuscatedName("g")
@ObfuscatedGetter(
longValue = -4691083224527858071L
)
- @Export("MouseHandler_lastPressedTimeMillis0")
- public static volatile long MouseHandler_lastPressedTimeMillis0;
+ @Export("MouseHandler_lastPressedTimeMillisVolatile")
+ public static volatile long MouseHandler_lastPressedTimeMillisVolatile;
@ObfuscatedName("a")
@ObfuscatedGetter(
intValue = 1647189949
@@ -130,18 +130,18 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
static {
MouseHandler_instance = new MouseHandler();
MouseHandler_idleCycles = 0;
- MouseHandler_currentButton0 = 0;
- MouseHandler_x0 = -1;
- MouseHandler_y0 = -1;
- MouseHandler_millis0 = -1L;
+ MouseHandler_currentButtonVolatile = 0;
+ MouseHandler_xVolatile = -1;
+ MouseHandler_yVolatile = -1;
+ MouseHandler_lastMovedVolatile = -1L;
MouseHandler_currentButton = 0;
MouseHandler_x = 0;
MouseHandler_y = 0;
MouseHandler_millis = 0L;
- MouseHandler_lastButton0 = 0;
- MouseHandler_lastPressedX0 = 0;
- MouseHandler_lastPressedY0 = 0;
- MouseHandler_lastPressedTimeMillis0 = 0L;
+ MouseHandler_lastButtonVolatile = 0;
+ MouseHandler_lastPressedXVolatile = 0;
+ MouseHandler_lastPressedYVolatile = 0;
+ MouseHandler_lastPressedTimeMillisVolatile = 0L;
MouseHandler_lastButton = 0;
MouseHandler_lastPressedX = 0;
MouseHandler_lastPressedY = 0;
@@ -168,9 +168,9 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
public final synchronized void mouseMoved(MouseEvent var1) {
if (MouseHandler_instance != null) {
MouseHandler_idleCycles = 0;
- MouseHandler_x0 = var1.getX();
- MouseHandler_y0 = var1.getY();
- MouseHandler_millis0 = var1.getWhen();
+ MouseHandler_xVolatile = var1.getX();
+ MouseHandler_yVolatile = var1.getY();
+ MouseHandler_lastMovedVolatile = var1.getWhen();
}
}
@@ -178,12 +178,12 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
public final synchronized void mousePressed(MouseEvent var1) {
if (MouseHandler_instance != null) {
MouseHandler_idleCycles = 0;
- MouseHandler_lastPressedX0 = var1.getX();
- MouseHandler_lastPressedY0 = var1.getY();
- MouseHandler_lastPressedTimeMillis0 = DirectByteArrayCopier.currentTimeMs();
- MouseHandler_lastButton0 = this.getButton(var1);
- if (MouseHandler_lastButton0 != 0) {
- MouseHandler_currentButton0 = MouseHandler_lastButton0;
+ MouseHandler_lastPressedXVolatile = var1.getX();
+ MouseHandler_lastPressedYVolatile = var1.getY();
+ MouseHandler_lastPressedTimeMillisVolatile = DirectByteArrayCopier.currentTimeMs();
+ MouseHandler_lastButtonVolatile = this.getButton(var1);
+ if (MouseHandler_lastButtonVolatile != 0) {
+ MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile;
}
}
@@ -196,7 +196,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
public final synchronized void mouseReleased(MouseEvent var1) {
if (MouseHandler_instance != null) {
MouseHandler_idleCycles = 0;
- MouseHandler_currentButton0 = 0;
+ MouseHandler_currentButtonVolatile = 0;
}
if (var1.isPopupTrigger()) {
@@ -218,7 +218,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
public final synchronized void focusLost(FocusEvent var1) {
if (MouseHandler_instance != null) {
- MouseHandler_currentButton0 = 0;
+ MouseHandler_currentButtonVolatile = 0;
}
}
@@ -226,9 +226,9 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
public final synchronized void mouseExited(MouseEvent var1) {
if (MouseHandler_instance != null) {
MouseHandler_idleCycles = 0;
- MouseHandler_x0 = -1;
- MouseHandler_y0 = -1;
- MouseHandler_millis0 = var1.getWhen();
+ MouseHandler_xVolatile = -1;
+ MouseHandler_yVolatile = -1;
+ MouseHandler_lastMovedVolatile = var1.getWhen();
}
}
diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java
index 722a18d162..9666b0c86f 100644
--- a/runescape-client/src/main/java/MouseRecorder.java
+++ b/runescape-client/src/main/java/MouseRecorder.java
@@ -45,7 +45,7 @@ public class MouseRecorder implements Runnable {
}
public void run() {
- for (; this.isRunning; EnumDefinition.method4550(50L)) {
+ for (; this.isRunning; EnumDefinition.sleepMillis(50L)) {
synchronized(this.lock) {
if (this.index < 500) {
this.xs[this.index] = MouseHandler.MouseHandler_x;
diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java
index b393b0363e..2df785f0f7 100644
--- a/runescape-client/src/main/java/MusicPatchPcmStream.java
+++ b/runescape-client/src/main/java/MusicPatchPcmStream.java
@@ -214,11 +214,11 @@ public class MusicPatchPcmStream extends PcmStream {
if (var0.isMembersOnly() != Client.isMembersWorld) {
Client.isMembersWorld = var0.isMembersOnly();
boolean var1 = var0.isMembersOnly();
- if (var1 != ModelData0.inMembersWorld) {
+ if (var1 != ModelData0.ItemDefinition_inMembersWorld) {
ItemDefinition.ItemDefinition_cached.clear();
ItemDefinition.ItemDefinition_cachedModels.clear();
ItemDefinition.ItemDefinition_cachedSprites.clear();
- ModelData0.inMembersWorld = var1;
+ ModelData0.ItemDefinition_inMembersWorld = var1;
}
}
diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java
index 2a00cb8a11..b669fadb82 100644
--- a/runescape-client/src/main/java/NanoClock.java
+++ b/runescape-client/src/main/java/NanoClock.java
@@ -34,19 +34,20 @@ public class NanoClock extends Clock {
garbageValue = "-333181863"
)
@Export("wait")
- public int wait(int var1, int var2) {
- long var3 = 1000000L * (long)var2;
+ public int wait(int tickLength, int fiveOrOne) {
+ long var3 = 1000000L * (long)fiveOrOne;
long var5 = this.lastTimeNano - System.nanoTime();
if (var5 < var3) {
var5 = var3;
}
- EnumDefinition.method4550(var5 / 1000000L);
+ EnumDefinition.sleepMillis(var5 / 1000000L);
long var7 = System.nanoTime();
- int var9;
- for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += (long)var1 * 1000000L) {
+ int var9 = 0;
+ while (var9 < 10 && (var9 < 1 || this.lastTimeNano < var7)) {
++var9;
+ this.lastTimeNano += (long)tickLength * 1000000L;
}
if (this.lastTimeNano < var7) {
diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java
index 924cea0dd9..e139b10687 100644
--- a/runescape-client/src/main/java/NetCache.java
+++ b/runescape-client/src/main/java/NetCache.java
@@ -144,7 +144,7 @@ public class NetCache {
int var3;
int var4;
for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) {
- var4 = WorldMapIcon_1.fontBold12.stringWidth(WorldMapLabel.method417(var3));
+ var4 = WorldMapIcon_1.fontBold12.stringWidth(WorldMapLabel.getMenuText(var3));
if (var4 > var2) {
var2 = var4;
}
diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java
index 8d5986c1a9..3208dc99b8 100644
--- a/runescape-client/src/main/java/NetSocket.java
+++ b/runescape-client/src/main/java/NetSocket.java
@@ -102,7 +102,7 @@ public final class NetSocket extends AbstractSocket implements Runnable {
if (this.task != null) {
while (this.task.status == 0) {
- EnumDefinition.method4550(1L);
+ EnumDefinition.sleepMillis(1L);
}
if (this.task.status == 1) {
diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java
index d47c4b1ce2..23ec0c6466 100644
--- a/runescape-client/src/main/java/Node.java
+++ b/runescape-client/src/main/java/Node.java
@@ -25,12 +25,13 @@ public class Node {
@ObfuscatedName("fz")
@Export("remove")
public void remove() {
- if (this.next != null) {
- this.next.previous = this.previous;
- this.previous.next = this.next;
- this.previous = null;
- this.next = null;
+ if (this.next == null) {
+ return;
}
+ this.next.previous = this.previous;
+ this.previous.next = this.next;
+ this.previous = null;
+ this.next = null;
}
@ObfuscatedName("fn")
diff --git a/runescape-client/src/main/java/ObjectDefinition.java b/runescape-client/src/main/java/ObjectDefinition.java
index f67a371a01..057af02454 100644
--- a/runescape-client/src/main/java/ObjectDefinition.java
+++ b/runescape-client/src/main/java/ObjectDefinition.java
@@ -248,7 +248,8 @@ public class ObjectDefinition extends DualNode {
@Export("int6")
public int int6;
@ObfuscatedName("ay")
- public int[] field3367;
+ @Export("soundEffectIds")
+ public int[] soundEffectIds;
@ObfuscatedName("af")
@ObfuscatedSignature(
signature = "Lla;"
@@ -472,10 +473,10 @@ public class ObjectDefinition extends DualNode {
this.int6 = var1.readUnsignedShort();
this.int4 = var1.readUnsignedByte();
var3 = var1.readUnsignedByte();
- this.field3367 = new int[var3];
+ this.soundEffectIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
- this.field3367[var4] = var1.readUnsignedShort();
+ this.soundEffectIds[var4] = var1.readUnsignedShort();
}
} else if (var2 == 81) {
this.clipType = var1.readUnsignedByte() * 65536;
@@ -889,14 +890,15 @@ public class ObjectDefinition extends DualNode {
signature = "(I)Z",
garbageValue = "-2033078684"
)
- public boolean method4598() {
+ @Export("hasSound")
+ public boolean hasSound() {
if (this.transforms == null) {
- return this.ambientSoundId != -1 || this.field3367 != null;
+ return this.ambientSoundId != -1 || this.soundEffectIds != null;
}
for (int var1 = 0; var1 < this.transforms.length; ++var1) {
if (this.transforms[var1] != -1) {
ObjectDefinition var2 = ViewportMouse.getObjectDefinition(this.transforms[var1]);
- if (var2.ambientSoundId != -1 || var2.field3367 != null) {
+ if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) {
return true;
}
}
diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java
index f93c33fcce..2c0d579751 100644
--- a/runescape-client/src/main/java/ObjectSound.java
+++ b/runescape-client/src/main/java/ObjectSound.java
@@ -23,17 +23,20 @@ public final class ObjectSound extends Node {
@ObfuscatedGetter(
intValue = 621824935
)
- int field1078;
+ @Export("plane")
+ int plane;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = 1620734975
)
- int field1083;
+ @Export("x")
+ int x;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = -1755977344
)
- int field1090;
+ @Export("y")
+ int y;
@ObfuscatedName("k")
@ObfuscatedGetter(
intValue = 75852160
@@ -113,7 +116,7 @@ public final class ObjectSound extends Node {
this.field1091 = var2.int4 * 128;
this.field1086 = var2.int5;
this.field1081 = var2.int6;
- this.soundEffectIds = var2.field3367;
+ this.soundEffectIds = var2.soundEffectIds;
} else {
this.soundEffectId = -1;
this.field1091 = 0;
diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java
index 2b5f10bf61..915337b52b 100644
--- a/runescape-client/src/main/java/PacketBuffer.java
+++ b/runescape-client/src/main/java/PacketBuffer.java
@@ -29,7 +29,7 @@ public class PacketBuffer extends Buffer {
int bitIndex;
static {
- field3724 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1};
+ field3724 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 0xffffff, 33554431, 67108863, 134217727, 0xfffffff, 536870911, 1073741823, Integer.MAX_VALUE, -1};
}
public PacketBuffer(int var1) {
diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java
index 1b0fb2d4b7..6e8984a64b 100644
--- a/runescape-client/src/main/java/PacketBufferNode.java
+++ b/runescape-client/src/main/java/PacketBufferNode.java
@@ -247,10 +247,10 @@ public class PacketBufferNode extends Node {
FaceNormal.field1887 = new int[4][105][105];
class32.field282 = new byte[4][105][105];
Tiles.field515 = new int[105][105];
- ServerBuild.field3103 = new int[104];
- Tiles.field508 = new int[104];
- Tiles.field507 = new int[104];
- DynamicObject.field1301 = new int[104];
+ ServerBuild.Tiles_hue = new int[104];
+ Tiles.Tiles_saturation = new int[104];
+ Tiles.Tiles_lightness = new int[104];
+ DynamicObject.Tiles_hueMultiplier = new int[104];
Fonts.field3689 = new int[104];
var1 = class13.regionLandArchives.length;
@@ -411,113 +411,117 @@ public class PacketBufferNode extends Node {
label447:
for (var4 = 0; var4 < 13; ++var4) {
var51 = Client.instanceChunkTemplates[var49][var3][var4];
- if (var51 != -1) {
- var6 = var51 >> 24 & 3;
- var7 = var51 >> 1 & 3;
- var52 = var51 >> 14 & 1023;
- var9 = var51 >> 3 & 2047;
- var10 = (var52 / 8 << 8) + var9 / 8;
+ if (var51 == -1) {
+ continue;
+ }
+ var6 = var51 >> 24 & 3;
+ var7 = var51 >> 1 & 3;
+ var52 = var51 >> 14 & 1023;
+ var9 = var51 >> 3 & 2047;
+ var10 = (var52 / 8 << 8) + var9 / 8;
- for (var11 = 0; var11 < DirectByteArrayCopier.regions.length; ++var11) {
- if (DirectByteArrayCopier.regions[var11] == var10 && class80.regionMapArchives[var11] != null) {
- byte[] var54 = class80.regionMapArchives[var11];
- int var13 = var3 * 8;
- int var14 = var4 * 8;
- int var15 = (var52 & 7) * 8;
- int var16 = (var9 & 7) * 8;
- Scene var17 = GrandExchangeOfferWorldComparator.scene;
- CollisionMap[] var18 = Client.collisionMaps;
- Buffer var19 = new Buffer(var54);
- int var20 = -1;
+ for (var11 = 0; var11 < DirectByteArrayCopier.regions.length; ++var11) {
+ if (DirectByteArrayCopier.regions[var11] != var10 || class80.regionMapArchives[var11] == null) {
+ continue;
+ }
+ byte[] var54 = class80.regionMapArchives[var11];
+ int var13 = var3 * 8;
+ int var14 = var4 * 8;
+ int var15 = (var52 & 7) * 8;
+ int var16 = (var9 & 7) * 8;
+ Scene var17 = GrandExchangeOfferWorldComparator.scene;
+ CollisionMap[] var18 = Client.collisionMaps;
+ Buffer var19 = new Buffer(var54);
+ int var20 = -1;
- while (true) {
- int var21 = var19.method5509();
- if (var21 == 0) {
- continue label447;
- }
+ while (true) {
+ int var21 = var19.method5509();
+ if (var21 == 0) {
+ continue label447;
+ }
- var20 += var21;
- int var22 = 0;
+ var20 += var21;
+ int var22 = 0;
- while (true) {
- int var23 = var19.readUShortSmart();
- if (var23 == 0) {
- break;
- }
-
- var22 += var23 - 1;
- int var24 = var22 & 63;
- int var25 = var22 >> 6 & 63;
- int var26 = var22 >> 12;
- int var27 = var19.readUnsignedByte();
- int var28 = var27 >> 2;
- int var29 = var27 & 3;
- if (var6 == var26 && var25 >= var15 && var25 < var15 + 8 && var24 >= var16 && var24 < var16 + 8) {
- ObjectDefinition var30 = ViewportMouse.getObjectDefinition(var20);
- int var33 = var25 & 7;
- int var34 = var24 & 7;
- int var36 = var30.sizeX;
- int var37 = var30.sizeY;
- int var38;
- if ((var29 & 1) == 1) {
- var38 = var36;
- var36 = var37;
- var37 = var38;
- }
-
- int var35 = var7 & 3;
- int var32;
- if (var35 == 0) {
- var32 = var33;
- } else if (var35 == 1) {
- var32 = var34;
- } else if (var35 == 2) {
- var32 = 7 - var33 - (var36 - 1);
- } else {
- var32 = 7 - var34 - (var37 - 1);
- }
-
- var38 = var32 + var13;
- int var41 = var25 & 7;
- int var42 = var24 & 7;
- int var44 = var30.sizeX;
- int var45 = var30.sizeY;
- int var46;
- if ((var29 & 1) == 1) {
- var46 = var44;
- var44 = var45;
- var45 = var46;
- }
-
- int var43 = var7 & 3;
- int var40;
- if (var43 == 0) {
- var40 = var42;
- } else if (var43 == 1) {
- var40 = 7 - var41 - (var44 - 1);
- } else if (var43 == 2) {
- var40 = 7 - var42 - (var45 - 1);
- } else {
- var40 = var41;
- }
-
- var46 = var40 + var14;
- if (var38 > 0 && var46 > 0 && var38 < 103 && var46 < 103) {
- int var47 = var49;
- if ((Tiles.Tiles_renderFlags[1][var38][var46] & 2) == 2) {
- var47 = var49 - 1;
- }
-
- CollisionMap var48 = null;
- if (var47 >= 0) {
- var48 = var18[var47];
- }
-
- GrandExchangeOfferOwnWorldComparator.method1236(var49, var38, var46, var20, var29 + var7 & 3, var28, var17, var48);
- }
- }
- }
+ while (true) {
+ int var23 = var19.readUShortSmart();
+ if (var23 == 0) {
+ break;
}
+
+ var22 += var23 - 1;
+ int var24 = var22 & 63;
+ int var25 = var22 >> 6 & 63;
+ int var26 = var22 >> 12;
+ int var27 = var19.readUnsignedByte();
+ int var28 = var27 >> 2;
+ int var29 = var27 & 3;
+ if (var6 != var26 || var25 < var15 || var25 >= var15 + 8 || var24 < var16 || var24 >= var16 + 8) {
+ continue;
+ }
+ ObjectDefinition var30 = ViewportMouse.getObjectDefinition(var20);
+ int var33 = var25 & 7;
+ int var34 = var24 & 7;
+ int var36 = var30.sizeX;
+ int var37 = var30.sizeY;
+ int var38;
+ if ((var29 & 1) == 1) {
+ var38 = var36;
+ var36 = var37;
+ var37 = var38;
+ }
+
+ int var35 = var7 & 3;
+ int var32;
+ if (var35 == 0) {
+ var32 = var33;
+ } else if (var35 == 1) {
+ var32 = var34;
+ } else if (var35 == 2) {
+ var32 = 7 - var33 - (var36 - 1);
+ } else {
+ var32 = 7 - var34 - (var37 - 1);
+ }
+
+ var38 = var32 + var13;
+ int var41 = var25 & 7;
+ int var42 = var24 & 7;
+ int var44 = var30.sizeX;
+ int var45 = var30.sizeY;
+ int var46;
+ if ((var29 & 1) == 1) {
+ var46 = var44;
+ var44 = var45;
+ var45 = var46;
+ }
+
+ int var43 = var7 & 3;
+ int var40;
+ if (var43 == 0) {
+ var40 = var42;
+ } else if (var43 == 1) {
+ var40 = 7 - var41 - (var44 - 1);
+ } else if (var43 == 2) {
+ var40 = 7 - var42 - (var45 - 1);
+ } else {
+ var40 = var41;
+ }
+
+ var46 = var40 + var14;
+ if (var38 <= 0 || var46 <= 0 || var38 >= 103 || var46 >= 103) {
+ continue;
+ }
+ int var47 = var49;
+ if ((Tiles.Tiles_renderFlags[1][var38][var46] & 2) == 2) {
+ var47 = var49 - 1;
+ }
+
+ CollisionMap var48 = null;
+ if (var47 >= 0) {
+ var48 = var18[var47];
+ }
+
+ GrandExchangeOfferOwnWorldComparator.method1236(var49, var38, var46, var20, var29 + var7 & 3, var28, var17, var48);
}
}
}
diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java
index 85898d2f89..cc913b263f 100644
--- a/runescape-client/src/main/java/PacketWriter.java
+++ b/runescape-client/src/main/java/PacketWriter.java
@@ -112,23 +112,24 @@ public class PacketWriter {
garbageValue = "294803591"
)
final void method2234() throws IOException {
- if (this.socket != null && this.bufferSize > 0) {
- this.buffer.offset = 0;
+ if (this.socket == null || this.bufferSize <= 0) {
+ return;
+ }
+ this.buffer.offset = 0;
- while (true) {
- PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last();
- if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) {
- this.socket.write(this.buffer.array, 0, this.buffer.offset);
- this.field1319 = 0;
- break;
- }
-
- this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index);
- this.bufferSize -= var1.index;
- var1.remove();
- var1.packetBuffer.method5477();
- var1.method3620();
+ while (true) {
+ PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last();
+ if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) {
+ this.socket.write(this.buffer.array, 0, this.buffer.offset);
+ this.field1319 = 0;
+ break;
}
+
+ this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index);
+ this.bufferSize -= var1.index;
+ var1.remove();
+ var1.packetBuffer.method5477();
+ var1.method3620();
}
}
diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java
index 2de3d6f035..3dda2ce70a 100644
--- a/runescape-client/src/main/java/PcmPlayer.java
+++ b/runescape-client/src/main/java/PcmPlayer.java
@@ -174,90 +174,91 @@ public class PcmPlayer {
)
@Export("run")
public final synchronized void run() {
- if (this.samples != null) {
- long var1 = DirectByteArrayCopier.currentTimeMs();
+ if (this.samples == null) {
+ return;
+ }
+ long var1 = DirectByteArrayCopier.currentTimeMs();
- try {
- if (0L != this.field1416) {
- if (var1 < this.field1416) {
+ try {
+ if (0L != this.field1416) {
+ if (var1 < this.field1416) {
+ return;
+ }
+
+ this.open(this.capacity);
+ this.field1416 = 0L;
+ this.field1421 = true;
+ }
+
+ int var3 = this.position();
+ if (this.field1419 - var3 > this.field1417) {
+ this.field1417 = this.field1419 - var3;
+ }
+
+ int var4 = this.field1413 + this.field1414;
+ if (var4 + 256 > 16384) {
+ var4 = 16128;
+ }
+
+ if (var4 + 256 > this.capacity) {
+ this.capacity += 1024;
+ if (this.capacity > 16384) {
+ this.capacity = 16384;
+ }
+
+ this.close();
+ this.open(this.capacity);
+ var3 = 0;
+ this.field1421 = true;
+ if (var4 + 256 > this.capacity) {
+ var4 = this.capacity - 256;
+ this.field1413 = var4 - this.field1414;
+ }
+ }
+
+ while (var3 < var4) {
+ this.fill(this.samples, 256);
+ this.write();
+ var3 += 256;
+ }
+
+ if (var1 > this.field1420) {
+ if (!this.field1421) {
+ if (this.field1417 == 0 && this.field1418 == 0) {
+ this.close();
+ this.field1416 = 2000L + var1;
return;
}
- this.open(this.capacity);
- this.field1416 = 0L;
- this.field1421 = true;
+ this.field1413 = Math.min(this.field1418, this.field1417);
+ this.field1418 = this.field1417;
+ } else {
+ this.field1421 = false;
}
- int var3 = this.position();
- if (this.field1419 - var3 > this.field1417) {
- this.field1417 = this.field1419 - var3;
- }
-
- int var4 = this.field1413 + this.field1414;
- if (var4 + 256 > 16384) {
- var4 = 16128;
- }
-
- if (var4 + 256 > this.capacity) {
- this.capacity += 1024;
- if (this.capacity > 16384) {
- this.capacity = 16384;
- }
-
- this.close();
- this.open(this.capacity);
- var3 = 0;
- this.field1421 = true;
- if (var4 + 256 > this.capacity) {
- var4 = this.capacity - 256;
- this.field1413 = var4 - this.field1414;
- }
- }
-
- while (var3 < var4) {
- this.fill(this.samples, 256);
- this.write();
- var3 += 256;
- }
-
- if (var1 > this.field1420) {
- if (!this.field1421) {
- if (this.field1417 == 0 && this.field1418 == 0) {
- this.close();
- this.field1416 = 2000L + var1;
- return;
- }
-
- this.field1413 = Math.min(this.field1418, this.field1417);
- this.field1418 = this.field1417;
- } else {
- this.field1421 = false;
- }
-
- this.field1417 = 0;
- this.field1420 = 2000L + var1;
- }
-
- this.field1419 = var3;
- } catch (Exception var7) {
- this.close();
- this.field1416 = var1 + 2000L;
- }
-
- try {
- if (var1 > 500000L + this.timeMs) {
- var1 = this.timeMs;
- }
-
- while (var1 > 5000L + this.timeMs) {
- this.skip(256);
- this.timeMs += (long)(256000 / CollisionMap.PcmPlayer_sampleRate);
- }
- } catch (Exception var6) {
- this.timeMs = var1;
+ this.field1417 = 0;
+ this.field1420 = 2000L + var1;
}
+ this.field1419 = var3;
+ } catch (Exception var7) {
+ this.close();
+ this.field1416 = var1 + 2000L;
}
+
+ try {
+ if (var1 > 500000L + this.timeMs) {
+ var1 = this.timeMs;
+ }
+
+ while (var1 > 5000L + this.timeMs) {
+ this.skip(256);
+ this.timeMs += (long)(256000 / CollisionMap.PcmPlayer_sampleRate);
+ }
+ } catch (Exception var6) {
+ this.timeMs = var1;
+ }
+
}
@ObfuscatedName("aw")
@@ -473,7 +474,8 @@ public class PcmPlayer {
signature = "(B)[Lll;",
garbageValue = "69"
)
- public static FillMode[] method2405() {
+ @Export("FillMode_values")
+ public static FillMode[] FillMode_values() {
return new FillMode[]{FillMode.GRADIENT, FillMode.SOLID, FillMode.GRADIENTALPHA};
}
diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java
index a0e29d84bb..cfe04a2b07 100644
--- a/runescape-client/src/main/java/PendingSpawn.java
+++ b/runescape-client/src/main/java/PendingSpawn.java
@@ -117,10 +117,10 @@ public final class PendingSpawn extends Node {
Client.interfaceParents.put(var3, (long)var0);
GrandExchangeOfferAgeComparator.method146(var1);
Widget var4 = class80.getWidget(var0);
- Strings.method4120(var4);
- if (Client.field850 != null) {
- Strings.method4120(Client.field850);
- Client.field850 = null;
+ Strings.invalidateWidget(var4);
+ if (Client.meslayerContinueWidget != null) {
+ Strings.invalidateWidget(Client.meslayerContinueWidget);
+ Client.meslayerContinueWidget = null;
}
for (int var5 = 0; var5 < Client.menuOptionsCount; ++var5) {
diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java
index 39a68c4736..247dcb22c7 100644
--- a/runescape-client/src/main/java/PlayerAppearance.java
+++ b/runescape-client/src/main/java/PlayerAppearance.java
@@ -53,25 +53,25 @@ public class PlayerAppearance {
garbageValue = "646936980"
)
@Export("update")
- public void update(int[] var1, int[] var2, boolean var3, int var4) {
- if (var1 == null) {
- var1 = new int[12];
+ public void update(int[] equipment, int[] bodyColors, boolean isFemale, int npcTransformId) {
+ if (equipment == null) {
+ equipment = new int[12];
for (int var5 = 0; var5 < 7; ++var5) {
for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) {
KitDefinition var7 = ArchiveDiskAction.getKitDefinition(var6);
- if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (var3 ? 7 : 0)) {
- var1[equipmentIndices[var5]] = var6 + 256;
+ if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (isFemale ? 7 : 0)) {
+ equipment[equipmentIndices[var5]] = var6 + 256;
break;
}
}
}
}
- this.equipment = var1;
- this.bodyColors = var2;
- this.isFemale = var3;
- this.npcTransformId = var4;
+ this.equipment = equipment;
+ this.bodyColors = bodyColors;
+ this.isFemale = isFemale;
+ this.npcTransformId = npcTransformId;
this.setHash();
}
@@ -81,32 +81,34 @@ public class PlayerAppearance {
garbageValue = "7431"
)
public void method3992(int var1, boolean var2) {
- if (var1 != 1 || !this.isFemale) {
- int var3 = this.equipment[equipmentIndices[var1]];
- if (var3 != 0) {
- var3 -= 256;
-
- KitDefinition var4;
- do {
- if (!var2) {
- --var3;
- if (var3 < 0) {
- var3 = KitDefinition.KitDefinition_fileCount - 1;
- }
- } else {
- ++var3;
- if (var3 >= KitDefinition.KitDefinition_fileCount) {
- var3 = 0;
- }
- }
-
- var4 = ArchiveDiskAction.getKitDefinition(var3);
- } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1);
-
- this.equipment[equipmentIndices[var1]] = var3 + 256;
- this.setHash();
- }
+ if (var1 == 1 && this.isFemale) {
+ return;
}
+ int var3 = this.equipment[equipmentIndices[var1]];
+ if (var3 == 0) {
+ return;
+ }
+ var3 -= 256;
+
+ KitDefinition var4;
+ do {
+ if (!var2) {
+ --var3;
+ if (var3 < 0) {
+ var3 = KitDefinition.KitDefinition_fileCount - 1;
+ }
+ } else {
+ ++var3;
+ if (var3 >= KitDefinition.KitDefinition_fileCount) {
+ var3 = 0;
+ }
+ }
+
+ var4 = ArchiveDiskAction.getKitDefinition(var3);
+ } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1);
+
+ this.equipment[equipmentIndices[var1]] = var3 + 256;
+ this.setHash();
}
@ObfuscatedName("e")
@@ -117,33 +119,27 @@ public class PlayerAppearance {
public void method3993(int var1, boolean var2) {
int var3 = this.bodyColors[var1];
boolean var4;
- if (!var2) {
- do {
+ do {
+ if (var2) {
--var3;
- if (var3 < 0) {
+ if (var3 < 0)
+ {
var3 = class247.field3291[var1].length - 1;
}
-
- if (var1 == 4 && var3 >= 8) {
- var4 = false;
- } else {
- var4 = true;
- }
- } while(!var4);
- } else {
- do {
+ } else {
++var3;
if (var3 >= class247.field3291[var1].length) {
var3 = 0;
}
+ }
+
+ if (var1 == 4 && var3 >= 8) {
+ var4 = false;
+ } else {
+ var4 = true;
+ }
+ } while(!var4);
- if (var1 == 4 && var3 >= 8) {
- var4 = false;
- } else {
- var4 = true;
- }
- } while(!var4);
- }
this.bodyColors[var1] = var3;
this.setHash();
@@ -154,7 +150,8 @@ public class PlayerAppearance {
signature = "(ZI)V",
garbageValue = "-1889308905"
)
- public void method4006(boolean var1) {
+ @Export("changeSex")
+ public void changeSex(boolean var1) {
if (this.isFemale != var1) {
this.update((int[])null, this.bodyColors, var1, -1);
}
@@ -165,7 +162,8 @@ public class PlayerAppearance {
signature = "(Lkf;I)V",
garbageValue = "318518244"
)
- public void method3995(Buffer var1) {
+ @Export("write")
+ public void write(Buffer var1) {
var1.writeByte(this.isFemale ? 1 : 0);
int var2;
diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java
index 109711e7c6..1860bc829b 100644
--- a/runescape-client/src/main/java/RasterProvider.java
+++ b/runescape-client/src/main/java/RasterProvider.java
@@ -29,7 +29,7 @@ public final class RasterProvider extends AbstractRasterProvider {
super.height = var2;
super.pixels = new int[var2 * var1 + 1];
DataBufferInt var4 = new DataBufferInt(super.pixels, super.pixels.length);
- DirectColorModel var5 = new DirectColorModel(32, 16711680, 65280, 255);
+ DirectColorModel var5 = new DirectColorModel(32, 0xff0000, 0xff00, 255);
WritableRaster var6 = Raster.createWritableRaster(var5.createCompatibleSampleModel(super.width, super.height), var4, (Point)null);
this.image = new BufferedImage(var5, var6, false, new Hashtable());
this.setComponent(var3);
diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java
index 14532b01a9..89f285e36b 100644
--- a/runescape-client/src/main/java/Rasterizer2D.java
+++ b/runescape-client/src/main/java/Rasterizer2D.java
@@ -370,7 +370,7 @@ public class Rasterizer2D extends DualNode {
var3 = Rasterizer2D_yClipEnd - var1;
}
- var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & 65280) >> 8 & 65280);
+ var4 = (var5 * (var4 & 0xff00ff) >> 8 & 0xff00ff) + (var5 * (var4 & 0xff00) >> 8 & 0xff00);
int var6 = 256 - var5;
int var7 = Rasterizer2D_width - var2;
int var8 = var0 + Rasterizer2D_width * var1;
@@ -378,7 +378,7 @@ public class Rasterizer2D extends DualNode {
for (int var9 = 0; var9 < var3; ++var9) {
for (int var10 = -var2; var10 < 0; ++var10) {
int var11 = Rasterizer2D_pixels[var8];
- var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & 65280) >> 8 & 65280);
+ var11 = ((var11 & 0xff00ff) * var6 >> 8 & 0xff00ff) + (var6 * (var11 & 0xff00) >> 8 & 0xff00);
Rasterizer2D_pixels[var8++] = var11 + var4;
}
@@ -452,7 +452,7 @@ public class Rasterizer2D extends DualNode {
for (int var10 = -var3; var10 < 0; ++var10) {
int var11 = 65536 - var6 >> 8;
int var12 = var6 >> 8;
- int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & 65280) + var11 * (var4 & 65280) & 16711680) >>> 8;
+ int var13 = (var12 * (var5 & 0xff00ff) + var11 * (var4 & 0xff00ff) & 0xff00ff00) + (var12 * (var5 & 0xff00) + var11 * (var4 & 0xff00) & 0xff0000) >>> 8;
for (int var14 = -var2; var14 < 0; ++var14) {
Rasterizer2D_pixels[var9++] = var13;
@@ -496,21 +496,21 @@ public class Rasterizer2D extends DualNode {
for (int var12 = -var3; var12 < 0; ++var12) {
int var13 = 65536 - var8 >> 8;
int var14 = var8 >> 8;
- int var15 = (var13 * var6 + var14 * var7 & 65280) >>> 8;
+ int var15 = (var13 * var6 + var14 * var7 & 0xff00) >>> 8;
if (var15 == 0) {
var11 += Rasterizer2D_width;
var8 += var9;
} else {
- int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & 65280) + var13 * (var4 & 65280) & 16711680) >>> 8;
+ int var16 = (var14 * (var5 & 0xff00ff) + var13 * (var4 & 0xff00ff) & 0xff00ff00) + (var14 * (var5 & 0xff00) + var13 * (var4 & 0xff00) & 0xff0000) >>> 8;
int var17 = 255 - var15;
- int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280);
+ int var18 = ((var16 & 0xff00ff) * var15 >> 8 & 0xff00ff) + (var15 * (var16 & 0xff00) >> 8 & 0xff00);
for (int var19 = -var2; var19 < 0; ++var19) {
int var20 = Rasterizer2D_pixels[var11];
if (var20 == 0) {
Rasterizer2D_pixels[var11++] = var18;
} else {
- var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & 65280) >> 8 & 65280);
+ var20 = ((var20 & 0xff00ff) * var17 >> 8 & 0xff00ff) + (var17 * (var20 & 0xff00) >> 8 & 0xff00);
Rasterizer2D_pixels[var11++] = var18 + var20;
}
}
@@ -592,7 +592,7 @@ public class Rasterizer2D extends DualNode {
int var20 = var19 >>> 24;
int var21 = 255 - var20;
int var22 = Rasterizer2D_pixels[var14];
- int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & 65280) + var21 * (var22 & 65280) & 16711680) >> 8;
+ int var23 = ((var19 & 0xff00ff) * var20 + (var22 & 0xff00ff) * var21 & 0xff00ff00) + (var20 * (var19 & 0xff00) + var21 * (var22 & 0xff00) & 0xff0000) >> 8;
Rasterizer2D_pixels[var14++] = var23;
}
diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java
index fe34559f86..709f82988f 100644
--- a/runescape-client/src/main/java/Rasterizer3D.java
+++ b/runescape-client/src/main/java/Rasterizer3D.java
@@ -819,15 +819,15 @@ public class Rasterizer3D extends Rasterizer2D {
do {
var2 = Rasterizer3D_colorPalette[var6 >> 8];
var6 += var7;
- var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
+ var2 = (var9 * (var2 & 0xff00) >> 8 & 0xff00) + (var9 * (var2 & 0xff00ff) >> 8 & 0xff00ff);
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
--var3;
} while(var3 > 0);
}
@@ -835,11 +835,11 @@ public class Rasterizer3D extends Rasterizer2D {
var3 = var5 - var4 & 3;
if (var3 > 0) {
var2 = Rasterizer3D_colorPalette[var6 >> 8];
- var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
+ var2 = (var9 * (var2 & 0xff00) >> 8 & 0xff00) + (var9 * (var2 & 0xff00ff) >> 8 & 0xff00ff);
do {
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
--var3;
} while(var3 > 0);
}
@@ -860,9 +860,9 @@ public class Rasterizer3D extends Rasterizer2D {
do {
var2 = Rasterizer3D_colorPalette[var6 >> 8];
var6 += var7;
- var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935);
+ var2 = (var9 * (var2 & 0xff00) >> 8 & 0xff00) + (var9 * (var2 & 0xff00ff) >> 8 & 0xff00ff);
var10 = var0[var1];
- var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var10 & 0xff00ff) * var8 >> 8 & 0xff00ff) + var2 + (var8 * (var10 & 0xff00) >> 8 & 0xff00);
--var3;
} while(var3 > 0);
}
@@ -1359,7 +1359,7 @@ public class Rasterizer3D extends Rasterizer2D {
}
int var6 = Rasterizer3D_alpha;
int var7 = 256 - Rasterizer3D_alpha;
- var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935);
+ var2 = (var7 * (var2 & 0xff00) >> 8 & 0xff00) + (var7 * (var2 & 0xff00ff) >> 8 & 0xff00ff);
while (true) {
--var3;
@@ -1374,18 +1374,18 @@ public class Rasterizer3D extends Rasterizer2D {
}
var8 = var0[var1];
- var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var8 & 0xff00ff) * var6 >> 8 & 0xff00ff) + var2 + (var6 * (var8 & 0xff00) >> 8 & 0xff00);
}
}
var8 = var0[var1];
- var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var8 & 0xff00ff) * var6 >> 8 & 0xff00ff) + var2 + (var6 * (var8 & 0xff00) >> 8 & 0xff00);
var8 = var0[var1];
- var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var8 & 0xff00ff) * var6 >> 8 & 0xff00ff) + var2 + (var6 * (var8 & 0xff00) >> 8 & 0xff00);
var8 = var0[var1];
- var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var8 & 0xff00ff) * var6 >> 8 & 0xff00ff) + var2 + (var6 * (var8 & 0xff00) >> 8 & 0xff00);
var8 = var0[var1];
- var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280);
+ var0[var1++] = ((var8 & 0xff00ff) * var6 >> 8 & 0xff00ff) + var2 + (var6 * (var8 & 0xff00) >> 8 & 0xff00);
}
}
while (true) {
@@ -2094,28 +2094,28 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var10000 = var16 + var2;
var18 = var20;
var19 = var21;
@@ -2148,7 +2148,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
--var17;
} while(var17 > 0);
@@ -2157,49 +2157,49 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -2235,7 +2235,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -2289,28 +2289,28 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var10000 = var16 + var2;
var18 = var20;
var19 = var21;
@@ -2343,7 +2343,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
--var17;
} while(var17 > 0);
@@ -2352,49 +2352,49 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -2430,7 +2430,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -3116,28 +3116,28 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var7 += var8;
var15 = var7 >> 8;
@@ -3149,7 +3149,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 >>> 26) + (var2 & 4032)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
--var17;
} while(var17 > 0);
@@ -3158,49 +3158,49 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -3215,7 +3215,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -3259,28 +3259,28 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
var7 += var8;
var15 = var7 >> 8;
@@ -3292,7 +3292,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
var3 = var1[(var2 & 16256) + (var2 >>> 25)];
- var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4++] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
var2 += var16;
--var17;
} while(var17 > 0);
@@ -3301,49 +3301,49 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
var2 += var16;
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
@@ -3358,7 +3358,7 @@ public class Rasterizer3D extends Rasterizer2D {
if (var17 > 0) {
do {
if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) {
- var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8;
+ var0[var4] = (var15 * (var3 & 0xff00) & 0xff0000) + ((var3 & 0xff00ff) * var15 & 0xff00ff00) >> 8;
}
++var4;
diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java
index 13ee29c6bb..c2aa916453 100644
--- a/runescape-client/src/main/java/RouteStrategy.java
+++ b/runescape-client/src/main/java/RouteStrategy.java
@@ -55,7 +55,7 @@ public abstract class RouteStrategy {
)
static final void method3593() {
Client.packetWriter.close();
- class197.FloorUnderlayDefinition_clearCached();
+ class197.FloorOverlayDefinition_clearCached();
FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear();
KitDefinition.KitDefinition_cached.clear();
TileItemPile.ObjectDefinition_clearCached();
diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java
index ccb9fb79c4..216d9ceeba 100644
--- a/runescape-client/src/main/java/Scene.java
+++ b/runescape-client/src/main/java/Scene.java
@@ -1058,37 +1058,37 @@ public class Scene {
@ObfuscatedName("ak")
@Export("draw")
- public void draw(int var1, int var2, int var3, int var4, int var5, int var6) {
- if (var1 < 0) {
- var1 = 0;
- } else if (var1 >= this.xSize * 128) {
- var1 = this.xSize * 128 - 1;
+ public void draw(int camX, int camY, int camZ, int camPitch, int camYaw, int plane) {
+ if (camX < 0) {
+ camX = 0;
+ } else if (camX >= this.xSize * 128) {
+ camX = this.xSize * 128 - 1;
}
- if (var3 < 0) {
- var3 = 0;
- } else if (var3 >= this.ySize * 128) {
- var3 = this.ySize * 128 - 1;
+ if (camZ < 0) {
+ camZ = 0;
+ } else if (camZ >= this.ySize * 128) {
+ camZ = this.ySize * 128 - 1;
}
- if (var4 < 128) {
- var4 = 128;
- } else if (var4 > 383) {
- var4 = 383;
+ if (camPitch < 128) {
+ camPitch = 128;
+ } else if (camPitch > 383) {
+ camPitch = 383;
}
++Scene_drawnCount;
- Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var4];
- Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var4];
- Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var5];
- Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var5];
- visibleTiles = visibilityMap[(var4 - 128) / 32][var5 / 64];
- Scene_cameraX = var1;
- Scene_cameraY = var2;
- Scene_cameraZ = var3;
- Scene_cameraXTile = var1 / 128;
- Scene_cameraYTile = var3 / 128;
- Scene_plane = var6;
+ Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[camPitch];
+ Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[camPitch];
+ Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[camYaw];
+ Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[camYaw];
+ visibleTiles = visibilityMap[(camPitch - 128) / 32][camYaw / 64];
+ Scene_cameraX = camX;
+ Scene_cameraY = camY;
+ Scene_cameraZ = camZ;
+ Scene_cameraXTile = camX / 128;
+ Scene_cameraYTile = camZ / 128;
+ Scene_plane = plane;
Scene_cameraXTileMin = Scene_cameraXTile - 25;
if (Scene_cameraXTileMin < 0) {
Scene_cameraXTileMin = 0;
@@ -1122,22 +1122,23 @@ public class Scene {
for (var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) {
for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) {
Tile var11 = var8[var9][var10];
- if (var11 != null) {
- if (var11.minPlane > var6 || !visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] && this.tileHeights[var7][var9][var10] - var2 < 2000) {
- var11.drawPrimary = false;
- var11.drawSecondary = false;
- var11.drawGameObjectEdges = 0;
+ if (var11 == null) {
+ continue;
+ }
+ if (var11.minPlane > plane || !visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] && this.tileHeights[var7][var9][var10] - camY < 2000) {
+ var11.drawPrimary = false;
+ var11.drawSecondary = false;
+ var11.drawGameObjectEdges = 0;
+ } else {
+ var11.drawPrimary = true;
+ var11.drawSecondary = true;
+ if (var11.gameObjectsCount > 0) {
+ var11.drawGameObjects = true;
} else {
- var11.drawPrimary = true;
- var11.drawSecondary = true;
- if (var11.gameObjectsCount > 0) {
- var11.drawGameObjects = true;
- } else {
- var11.drawGameObjects = false;
- }
-
- ++tileUpdateCount;
+ var11.drawGameObjects = false;
}
+
+ ++tileUpdateCount;
}
}
}
@@ -1154,47 +1155,48 @@ public class Scene {
for (var9 = -25; var9 <= 0; ++var9) {
var10 = var9 + Scene_cameraXTile;
var16 = Scene_cameraXTile - var9;
- if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) {
- for (var12 = -25; var12 <= 0; ++var12) {
- var13 = var12 + Scene_cameraYTile;
- var14 = Scene_cameraYTile - var12;
- if (var10 >= Scene_cameraXTileMin) {
- if (var13 >= Scene_cameraYTileMin) {
- var15 = var8[var10][var13];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, true);
- }
- }
-
- if (var14 < Scene_cameraYTileMax) {
- var15 = var8[var10][var14];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, true);
- }
+ if (var10 < Scene_cameraXTileMin && var16 >= Scene_cameraXTileMax) {
+ continue;
+ }
+ for (var12 = -25; var12 <= 0; ++var12) {
+ var13 = var12 + Scene_cameraYTile;
+ var14 = Scene_cameraYTile - var12;
+ if (var10 >= Scene_cameraXTileMin) {
+ if (var13 >= Scene_cameraYTileMin) {
+ var15 = var8[var10][var13];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, true);
}
}
- if (var16 < Scene_cameraXTileMax) {
- if (var13 >= Scene_cameraYTileMin) {
- var15 = var8[var16][var13];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, true);
- }
+ if (var14 < Scene_cameraYTileMax) {
+ var15 = var8[var10][var14];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, true);
}
+ }
+ }
- if (var14 < Scene_cameraYTileMax) {
- var15 = var8[var16][var14];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, true);
- }
+ if (var16 < Scene_cameraXTileMax) {
+ if (var13 >= Scene_cameraYTileMin) {
+ var15 = var8[var16][var13];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, true);
}
}
- if (tileUpdateCount == 0) {
- checkClick = false;
- return;
+ if (var14 < Scene_cameraYTileMax) {
+ var15 = var8[var16][var14];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, true);
+ }
}
}
+
+ if (tileUpdateCount == 0) {
+ checkClick = false;
+ return;
+ }
}
}
}
@@ -1205,47 +1207,48 @@ public class Scene {
for (var9 = -25; var9 <= 0; ++var9) {
var10 = var9 + Scene_cameraXTile;
var16 = Scene_cameraXTile - var9;
- if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) {
- for (var12 = -25; var12 <= 0; ++var12) {
- var13 = var12 + Scene_cameraYTile;
- var14 = Scene_cameraYTile - var12;
- if (var10 >= Scene_cameraXTileMin) {
- if (var13 >= Scene_cameraYTileMin) {
- var15 = var8[var10][var13];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, false);
- }
- }
-
- if (var14 < Scene_cameraYTileMax) {
- var15 = var8[var10][var14];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, false);
- }
+ if (var10 < Scene_cameraXTileMin && var16 >= Scene_cameraXTileMax) {
+ continue;
+ }
+ for (var12 = -25; var12 <= 0; ++var12) {
+ var13 = var12 + Scene_cameraYTile;
+ var14 = Scene_cameraYTile - var12;
+ if (var10 >= Scene_cameraXTileMin) {
+ if (var13 >= Scene_cameraYTileMin) {
+ var15 = var8[var10][var13];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, false);
}
}
- if (var16 < Scene_cameraXTileMax) {
- if (var13 >= Scene_cameraYTileMin) {
- var15 = var8[var16][var13];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, false);
- }
+ if (var14 < Scene_cameraYTileMax) {
+ var15 = var8[var10][var14];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, false);
}
+ }
+ }
- if (var14 < Scene_cameraYTileMax) {
- var15 = var8[var16][var14];
- if (var15 != null && var15.drawPrimary) {
- this.drawTile(var15, false);
- }
+ if (var16 < Scene_cameraXTileMax) {
+ if (var13 >= Scene_cameraYTileMin) {
+ var15 = var8[var16][var13];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, false);
}
}
- if (tileUpdateCount == 0) {
- checkClick = false;
- return;
+ if (var14 < Scene_cameraYTileMax) {
+ var15 = var8[var16][var14];
+ if (var15 != null && var15.drawPrimary) {
+ this.drawTile(var15, false);
+ }
}
}
+
+ if (tileUpdateCount == 0) {
+ checkClick = false;
+ return;
+ }
}
}
}
diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java
index adec0358d5..c947ac835f 100644
--- a/runescape-client/src/main/java/ScriptFrame.java
+++ b/runescape-client/src/main/java/ScriptFrame.java
@@ -353,10 +353,10 @@ public class ScriptFrame {
signature = "(III)V",
garbageValue = "-881674814"
)
- static void method1086(int var0, int var1) {
+ static void resumePauseWidget(int parentID, int childID) {
PacketBufferNode var2 = Archive.method4265(ClientPacket.field2273, Client.packetWriter.isaacCipher);
- var2.packetBuffer.writeIntLE16(var0);
- var2.packetBuffer.method5530(var1);
+ var2.packetBuffer.writeIntLE16(parentID);
+ var2.packetBuffer.method5530(childID);
Client.packetWriter.method2219(var2);
}
diff --git a/runescape-client/src/main/java/ServerBuild.java b/runescape-client/src/main/java/ServerBuild.java
index e7c9432a08..9efa442180 100644
--- a/runescape-client/src/main/java/ServerBuild.java
+++ b/runescape-client/src/main/java/ServerBuild.java
@@ -32,7 +32,7 @@ public class ServerBuild {
@Export("WIP")
static final ServerBuild WIP;
@ObfuscatedName("f")
- static int[] field3103;
+ static int[] Tiles_hue;
@ObfuscatedName("k")
@Export("name")
public final String name;
diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java
index 05e95d6a64..f4de471815 100644
--- a/runescape-client/src/main/java/Skeleton.java
+++ b/runescape-client/src/main/java/Skeleton.java
@@ -181,7 +181,7 @@ public class Skeleton extends Node {
Calendar.field2507 = var12;
}
- Strings.method4120(var6);
+ Strings.invalidateWidget(var6);
return 1;
}
Widget var9;
@@ -189,13 +189,13 @@ public class Skeleton extends Node {
var9 = var2 ? Interpreter.field1111 : Calendar.field2507;
Widget var10 = class80.getWidget(var9.id);
var10.children[var9.childIndex] = null;
- Strings.method4120(var10);
+ Strings.invalidateWidget(var10);
return 1;
}
if (var0 == ScriptOpcodes.CC_DELETEALL) {
var9 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
var9.children = null;
- Strings.method4120(var9);
+ Strings.invalidateWidget(var9);
return 1;
}
if (var0 == ScriptOpcodes.CC_FIND) {
diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java
index a53933d2bf..4d296f26dc 100644
--- a/runescape-client/src/main/java/SoundSystem.java
+++ b/runescape-client/src/main/java/SoundSystem.java
@@ -65,16 +65,13 @@ public class SoundSystem implements Runnable {
ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0;
} else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) {
ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0;
- } else {
- if (class189.ByteArrayPool_arrays != null) {
- for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) {
- if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && class43.ByteArrayPool_altSizeArrayCounts[var1] < class189.ByteArrayPool_arrays[var1].length) {
- class189.ByteArrayPool_arrays[var1][class43.ByteArrayPool_altSizeArrayCounts[var1]++] = var0;
- return;
- }
+ } else if (class189.ByteArrayPool_arrays != null) {
+ for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) {
+ if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && class43.ByteArrayPool_altSizeArrayCounts[var1] < class189.ByteArrayPool_arrays[var1].length) {
+ class189.ByteArrayPool_arrays[var1][class43.ByteArrayPool_altSizeArrayCounts[var1]++] = var0;
+ return;
}
}
-
}
}
diff --git a/runescape-client/src/main/java/Sprite.java b/runescape-client/src/main/java/Sprite.java
index a32ba8c64c..4e64c8ee68 100644
--- a/runescape-client/src/main/java/Sprite.java
+++ b/runescape-client/src/main/java/Sprite.java
@@ -16,11 +16,11 @@ public final class Sprite extends Rasterizer2D {
@Export("subHeight")
public int subHeight;
@ObfuscatedName("p")
- @Export("yOffset")
- public int yOffset;
- @ObfuscatedName("k")
@Export("xOffset")
- int xOffset;
+ public int xOffset;
+ @ObfuscatedName("k")
+ @Export("yOffset")
+ int yOffset;
@ObfuscatedName("l")
@Export("width")
public int width;
@@ -28,16 +28,16 @@ public final class Sprite extends Rasterizer2D {
@Export("height")
public int height;
- public Sprite(int[] var1, int var2, int var3) {
- this.pixels = var1;
- this.subWidth = this.width = var2;
- this.subHeight = this.height = var3;
- this.xOffset = 0;
+ public Sprite(int[] px, int w, int h) {
+ this.pixels = px;
+ this.subWidth = this.width = w;
+ this.subHeight = this.height = h;
this.yOffset = 0;
+ this.xOffset = 0;
}
- public Sprite(int var1, int var2) {
- this(new int[var2 * var1], var1, var2);
+ public Sprite(int w, int h) {
+ this(new int[h * w], w, h);
}
Sprite() {
@@ -52,8 +52,8 @@ public final class Sprite extends Rasterizer2D {
Sprite var1 = new Sprite(this.subWidth, this.subHeight);
var1.width = this.width;
var1.height = this.height;
- var1.yOffset = this.width - this.subWidth - this.yOffset;
- var1.xOffset = this.xOffset;
+ var1.xOffset = this.width - this.subWidth - this.xOffset;
+ var1.yOffset = this.yOffset;
for (int var2 = 0; var2 < this.subHeight; ++var2) {
for (int var3 = 0; var3 < this.subWidth; ++var3) {
@@ -74,7 +74,7 @@ public final class Sprite extends Rasterizer2D {
for (int var2 = 0; var2 < this.subHeight; ++var2) {
for (int var3 = 0; var3 < this.subWidth; ++var3) {
- var1.pixels[var3 + (var2 + this.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth];
+ var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth];
}
}
@@ -90,66 +90,70 @@ public final class Sprite extends Rasterizer2D {
@ObfuscatedName("p")
@Export("normalize")
public void normalize() {
- if (this.subWidth != this.width || this.subHeight != this.height) {
- int[] var1 = new int[this.width * this.height];
-
- for (int var2 = 0; var2 < this.subHeight; ++var2) {
- for (int var3 = 0; var3 < this.subWidth; ++var3) {
- var1[var3 + (var2 + this.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth];
- }
- }
-
- this.pixels = var1;
- this.subWidth = this.width;
- this.subHeight = this.height;
- this.yOffset = 0;
- this.xOffset = 0;
+ if (this.subWidth == this.width && this.subHeight == this.height) {
+ return;
}
+ int[] var1 = new int[this.width * this.height];
+
+ for (int var2 = 0; var2 < this.subHeight; ++var2) {
+ for (int var3 = 0; var3 < this.subWidth; ++var3) {
+ var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth];
+ }
+ }
+
+ this.pixels = var1;
+ this.subWidth = this.width;
+ this.subHeight = this.height;
+ this.xOffset = 0;
+ this.yOffset = 0;
}
@ObfuscatedName("k")
- public void method6115(int var1) {
- if (this.subWidth != this.width || this.subHeight != this.height) {
- int var2 = var1;
- if (var1 > this.yOffset) {
- var2 = this.yOffset;
- }
-
- int var3 = var1;
- if (var1 + this.yOffset + this.subWidth > this.width) {
- var3 = this.width - this.yOffset - this.subWidth;
- }
-
- int var4 = var1;
- if (var1 > this.xOffset) {
- var4 = this.xOffset;
- }
-
- int var5 = var1;
- if (var1 + this.xOffset + this.subHeight > this.height) {
- var5 = this.height - this.xOffset - this.subHeight;
- }
-
- int var6 = var2 + var3 + this.subWidth;
- int var7 = var4 + var5 + this.subHeight;
- int[] var8 = new int[var6 * var7];
-
- for (int var9 = 0; var9 < this.subHeight; ++var9) {
- for (int var10 = 0; var10 < this.subWidth; ++var10) {
- var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth];
- }
- }
-
- this.pixels = var8;
- this.subWidth = var6;
- this.subHeight = var7;
- this.yOffset -= var2;
- this.xOffset -= var4;
+ @Export("pad")
+ public void pad(int amount) {
+ if (this.subWidth == this.width && this.subHeight == this.height) {
+ return;
}
+ int var2 = amount;
+ if (amount > this.xOffset) {
+ var2 = this.xOffset;
+ }
+
+ int var3 = amount;
+ if (amount + this.xOffset + this.subWidth > this.width) {
+ var3 = this.width - this.xOffset - this.subWidth;
+ }
+
+ int var4 = amount;
+ if (amount > this.yOffset) {
+ var4 = this.yOffset;
+ }
+
+ int var5 = amount;
+ if (amount + this.yOffset + this.subHeight > this.height) {
+ var5 = this.height - this.yOffset - this.subHeight;
+ }
+
+ int var6 = var2 + var3 + this.subWidth;
+ int var7 = var4 + var5 + this.subHeight;
+ int[] var8 = new int[var6 * var7];
+
+ for (int var9 = 0; var9 < this.subHeight; ++var9) {
+ for (int var10 = 0; var10 < this.subWidth; ++var10) {
+ var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth];
+ }
+ }
+
+ this.pixels = var8;
+ this.subWidth = var6;
+ this.subHeight = var7;
+ this.xOffset -= var2;
+ this.yOffset -= var4;
}
@ObfuscatedName("l")
- public void method6117() {
+ @Export("flipHorizontally")
+ public void flipHorizontally() {
int[] var1 = new int[this.subWidth * this.subHeight];
int var2 = 0;
@@ -160,11 +164,12 @@ public final class Sprite extends Rasterizer2D {
}
this.pixels = var1;
- this.yOffset = this.width - this.subWidth - this.yOffset;
+ this.xOffset = this.width - this.subWidth - this.xOffset;
}
@ObfuscatedName("b")
- public void method6128() {
+ @Export("flipVertically")
+ public void flipVertically() {
int[] var1 = new int[this.subWidth * this.subHeight];
int var2 = 0;
@@ -175,12 +180,12 @@ public final class Sprite extends Rasterizer2D {
}
this.pixels = var1;
- this.xOffset = this.height - this.subHeight - this.xOffset;
+ this.yOffset = this.height - this.subHeight - this.yOffset;
}
@ObfuscatedName("i")
@Export("outline")
- public void outline(int var1) {
+ public void outline(int color) {
int[] var2 = new int[this.subWidth * this.subHeight];
int var3 = 0;
@@ -189,13 +194,13 @@ public final class Sprite extends Rasterizer2D {
int var6 = this.pixels[var3];
if (var6 == 0) {
if (var5 > 0 && this.pixels[var3 - 1] != 0) {
- var6 = var1;
+ var6 = color;
} else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) {
- var6 = var1;
+ var6 = color;
} else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) {
- var6 = var1;
+ var6 = color;
} else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) {
- var6 = var1;
+ var6 = color;
}
}
@@ -223,364 +228,369 @@ public final class Sprite extends Rasterizer2D {
@ObfuscatedName("u")
@Export("drawAt")
- public void drawAt(int var1, int var2) {
- var1 += this.yOffset;
- var2 += this.xOffset;
- int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
+ public void drawAt(int x, int y) {
+ x += this.xOffset;
+ y += this.yOffset;
+ int var3 = x + y * Rasterizer2D.Rasterizer2D_width;
int var4 = 0;
int var5 = this.subHeight;
int var6 = this.subWidth;
int var7 = Rasterizer2D.Rasterizer2D_width - var6;
int var8 = 0;
int var9;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var9 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var5 -= var9;
- var2 = Rasterizer2D.Rasterizer2D_yClipStart;
+ y = Rasterizer2D.Rasterizer2D_yClipStart;
var4 += var9 * var6;
var3 += var9 * Rasterizer2D.Rasterizer2D_width;
}
- if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
+ if (var5 + y > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var5 -= var5 + y - Rasterizer2D.Rasterizer2D_yClipEnd;
}
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var9 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var6 -= var9;
- var1 = Rasterizer2D.Rasterizer2D_xClipStart;
+ x = Rasterizer2D.Rasterizer2D_xClipStart;
var4 += var9;
var3 += var9;
var8 += var9;
var7 += var9;
}
- if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
+ if (var6 + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var9 = var6 + x - Rasterizer2D.Rasterizer2D_xClipEnd;
var6 -= var9;
var8 += var9;
var7 += var9;
}
if (var6 > 0 && var5 > 0) {
- Sprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8);
+ Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8);
}
}
@ObfuscatedName("r")
- @Export("drawAt2")
- public void drawAt2(int var1, int var2) {
- var1 += this.yOffset;
- var2 += this.xOffset;
- int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
+ @Export("drawTransBgAt")
+ public void drawTransBgAt(int x, int y) {
+ x += this.xOffset;
+ y += this.yOffset;
+ int var3 = x + y * Rasterizer2D.Rasterizer2D_width;
int var4 = 0;
int var5 = this.subHeight;
int var6 = this.subWidth;
int var7 = Rasterizer2D.Rasterizer2D_width - var6;
int var8 = 0;
int var9;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var9 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var5 -= var9;
- var2 = Rasterizer2D.Rasterizer2D_yClipStart;
+ y = Rasterizer2D.Rasterizer2D_yClipStart;
var4 += var9 * var6;
var3 += var9 * Rasterizer2D.Rasterizer2D_width;
}
- if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
+ if (var5 + y > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var5 -= var5 + y - Rasterizer2D.Rasterizer2D_yClipEnd;
}
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var9 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var6 -= var9;
- var1 = Rasterizer2D.Rasterizer2D_xClipStart;
+ x = Rasterizer2D.Rasterizer2D_xClipStart;
var4 += var9;
var3 += var9;
var8 += var9;
var7 += var9;
}
- if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
+ if (var6 + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var9 = var6 + x - Rasterizer2D.Rasterizer2D_xClipEnd;
var6 -= var9;
var8 += var9;
var7 += var9;
}
if (var6 > 0 && var5 > 0) {
- Sprite_andAnotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8);
+ Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8);
}
}
@ObfuscatedName("y")
- public void method6125(int var1, int var2, int var3, int var4) {
- if (var3 > 0 && var4 > 0) {
- int var5 = this.subWidth;
- int var6 = this.subHeight;
- int var7 = 0;
- int var8 = 0;
- int var9 = this.width;
- int var10 = this.height;
- int var11 = (var9 << 16) / var3;
- int var12 = (var10 << 16) / var4;
- int var13;
- if (this.yOffset > 0) {
- var13 = (var11 + (this.yOffset << 16) - 1) / var11;
- var1 += var13;
- var7 += var13 * var11 - (this.yOffset << 16);
- }
-
- if (this.xOffset > 0) {
- var13 = (var12 + (this.xOffset << 16) - 1) / var12;
- var2 += var13;
- var8 += var13 * var12 - (this.xOffset << 16);
- }
-
- if (var5 < var9) {
- var3 = (var11 + ((var5 << 16) - var7) - 1) / var11;
- }
-
- if (var6 < var10) {
- var4 = (var12 + ((var6 << 16) - var8) - 1) / var12;
- }
-
- var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
- int var14 = Rasterizer2D.Rasterizer2D_width - var3;
- if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
- }
-
- int var15;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
- var4 -= var15;
- var13 += var15 * Rasterizer2D.Rasterizer2D_width;
- var8 += var12 * var15;
- }
-
- if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
- var3 -= var15;
- var14 += var15;
- }
-
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
- var3 -= var15;
- var13 += var15;
- var7 += var11 * var15;
- var14 += var15;
- }
-
- Sprite_somethingElse(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5);
+ @Export("drawScaledAt")
+ public void drawScaledAt(int x, int y, int width, int height) {
+ if (width <= 0 || height <= 0) {
+ return;
}
+ int var5 = this.subWidth;
+ int var6 = this.subHeight;
+ int var7 = 0;
+ int var8 = 0;
+ int var9 = this.width;
+ int var10 = this.height;
+ int var11 = (var9 << 16) / width;
+ int var12 = (var10 << 16) / height;
+ int var13;
+ if (this.xOffset > 0) {
+ var13 = (var11 + (this.xOffset << 16) - 1) / var11;
+ x += var13;
+ var7 += var13 * var11 - (this.xOffset << 16);
+ }
+
+ if (this.yOffset > 0) {
+ var13 = (var12 + (this.yOffset << 16) - 1) / var12;
+ y += var13;
+ var8 += var13 * var12 - (this.yOffset << 16);
+ }
+
+ if (var5 < var9) {
+ width = (var11 + ((var5 << 16) - var7) - 1) / var11;
+ }
+
+ if (var6 < var10) {
+ height = (var12 + ((var6 << 16) - var8) - 1) / var12;
+ }
+
+ var13 = x + y * Rasterizer2D.Rasterizer2D_width;
+ int var14 = Rasterizer2D.Rasterizer2D_width - width;
+ if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
+ }
+
+ int var15;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var15 = Rasterizer2D.Rasterizer2D_yClipStart - y;
+ height -= var15;
+ var13 += var15 * Rasterizer2D.Rasterizer2D_width;
+ var8 += var12 * var15;
+ }
+
+ if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var15 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
+ width -= var15;
+ var14 += var15;
+ }
+
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var15 = Rasterizer2D.Rasterizer2D_xClipStart - x;
+ width -= var15;
+ var13 += var15;
+ var7 += var11 * var15;
+ var14 += var15;
+ }
+
+ Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, width, height, var11, var12, var5);
}
@ObfuscatedName("a")
- @Export("drawAtTransOverlay")
- public void drawAtTransOverlay(int var1, int var2, int var3, int var4) {
- if (var3 == 256) {
- this.drawAt2(var1, var2);
- } else {
- var1 += this.yOffset;
- var2 += this.xOffset;
- int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
- int var6 = 0;
- int var7 = this.subHeight;
- int var8 = this.subWidth;
- int var9 = Rasterizer2D.Rasterizer2D_width - var8;
- int var10 = 0;
- int var11;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
- var7 -= var11;
- var2 = Rasterizer2D.Rasterizer2D_yClipStart;
- var6 += var11 * var8;
- var5 += var11 * Rasterizer2D.Rasterizer2D_width;
- }
+ @Export("drawTransOverlayAt")
+ public void drawTransOverlayAt(int x, int y, int overlayOpacity, int overlayColor) {
+ if (overlayOpacity == 256) {
+ this.drawTransBgAt(x, y);
+ return;
+ }
+ x += this.xOffset;
+ y += this.yOffset;
+ int var5 = x + y * Rasterizer2D.Rasterizer2D_width;
+ int var6 = 0;
+ int var7 = this.subHeight;
+ int var8 = this.subWidth;
+ int var9 = Rasterizer2D.Rasterizer2D_width - var8;
+ int var10 = 0;
+ int var11;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var11 = Rasterizer2D.Rasterizer2D_yClipStart - y;
+ var7 -= var11;
+ y = Rasterizer2D.Rasterizer2D_yClipStart;
+ var6 += var11 * var8;
+ var5 += var11 * Rasterizer2D.Rasterizer2D_width;
+ }
- if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
- }
+ if (var7 + y > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var7 -= var7 + y - Rasterizer2D.Rasterizer2D_yClipEnd;
+ }
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
- var8 -= var11;
- var1 = Rasterizer2D.Rasterizer2D_xClipStart;
- var6 += var11;
- var5 += var11;
- var10 += var11;
- var9 += var11;
- }
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var11 = Rasterizer2D.Rasterizer2D_xClipStart - x;
+ var8 -= var11;
+ x = Rasterizer2D.Rasterizer2D_xClipStart;
+ var6 += var11;
+ var5 += var11;
+ var10 += var11;
+ var9 += var11;
+ }
- if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
- var8 -= var11;
- var10 += var11;
- var9 += var11;
- }
+ if (var8 + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var11 = var8 + x - Rasterizer2D.Rasterizer2D_xClipEnd;
+ var8 -= var11;
+ var10 += var11;
+ var9 += var11;
+ }
- if (var8 > 0 && var7 > 0) {
- Sprite_anotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4);
- }
+ if (var8 > 0 && var7 > 0) {
+ Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, overlayOpacity, overlayColor);
}
}
@ObfuscatedName("o")
- public void method6129(int var1, int var2, int var3) {
- var1 += this.yOffset;
- var2 += this.xOffset;
- int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
+ @Export("drawTransAt")
+ public void drawTransAt(int x, int y, int opacity) {
+ x += this.xOffset;
+ y += this.yOffset;
+ int var4 = x + y * Rasterizer2D.Rasterizer2D_width;
int var5 = 0;
int var6 = this.subHeight;
int var7 = this.subWidth;
int var8 = Rasterizer2D.Rasterizer2D_width - var7;
int var9 = 0;
int var10;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var10 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var6 -= var10;
- var2 = Rasterizer2D.Rasterizer2D_yClipStart;
+ y = Rasterizer2D.Rasterizer2D_yClipStart;
var5 += var10 * var7;
var4 += var10 * Rasterizer2D.Rasterizer2D_width;
}
- if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
+ if (var6 + y > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var6 -= var6 + y - Rasterizer2D.Rasterizer2D_yClipEnd;
}
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var10 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var7 -= var10;
- var1 = Rasterizer2D.Rasterizer2D_xClipStart;
+ x = Rasterizer2D.Rasterizer2D_xClipStart;
var5 += var10;
var4 += var10;
var9 += var10;
var8 += var10;
}
- if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
+ if (var7 + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var10 = var7 + x - Rasterizer2D.Rasterizer2D_xClipEnd;
var7 -= var10;
var9 += var10;
var8 += var10;
}
if (var7 > 0 && var6 > 0) {
- Sprite_alpha1(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3);
+ Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, opacity);
}
}
@ObfuscatedName("s")
- public void method6131(int var1, int var2, int var3, int var4, int var5) {
- if (var3 > 0 && var4 > 0) {
- int var6 = this.subWidth;
- int var7 = this.subHeight;
- int var8 = 0;
- int var9 = 0;
- int var10 = this.width;
- int var11 = this.height;
- int var12 = (var10 << 16) / var3;
- int var13 = (var11 << 16) / var4;
- int var14;
- if (this.yOffset > 0) {
- var14 = (var12 + (this.yOffset << 16) - 1) / var12;
- var1 += var14;
- var8 += var14 * var12 - (this.yOffset << 16);
- }
-
- if (this.xOffset > 0) {
- var14 = (var13 + (this.xOffset << 16) - 1) / var13;
- var2 += var14;
- var9 += var14 * var13 - (this.xOffset << 16);
- }
-
- if (var6 < var10) {
- var3 = (var12 + ((var6 << 16) - var8) - 1) / var12;
- }
-
- if (var7 < var11) {
- var4 = (var13 + ((var7 << 16) - var9) - 1) / var13;
- }
-
- var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
- int var15 = Rasterizer2D.Rasterizer2D_width - var3;
- if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
- }
-
- int var16;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
- var4 -= var16;
- var14 += var16 * Rasterizer2D.Rasterizer2D_width;
- var9 += var13 * var16;
- }
-
- if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
- var3 -= var16;
- var15 += var16;
- }
-
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
- var3 -= var16;
- var14 += var16;
- var8 += var12 * var16;
- var15 += var16;
- }
-
- Sprite_alpha2(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5);
+ @Export("drawTransScaledAt")
+ public void drawTransScaledAt(int x, int y, int width, int height, int opacity) {
+ if (width <= 0 || height <= 0) {
+ return;
}
+ int var6 = this.subWidth;
+ int var7 = this.subHeight;
+ int var8 = 0;
+ int var9 = 0;
+ int var10 = this.width;
+ int var11 = this.height;
+ int var12 = (var10 << 16) / width;
+ int var13 = (var11 << 16) / height;
+ int var14;
+ if (this.xOffset > 0) {
+ var14 = (var12 + (this.xOffset << 16) - 1) / var12;
+ x += var14;
+ var8 += var14 * var12 - (this.xOffset << 16);
+ }
+
+ if (this.yOffset > 0) {
+ var14 = (var13 + (this.yOffset << 16) - 1) / var13;
+ y += var14;
+ var9 += var14 * var13 - (this.yOffset << 16);
+ }
+
+ if (var6 < var10) {
+ width = (var12 + ((var6 << 16) - var8) - 1) / var12;
+ }
+
+ if (var7 < var11) {
+ height = (var13 + ((var7 << 16) - var9) - 1) / var13;
+ }
+
+ var14 = x + y * Rasterizer2D.Rasterizer2D_width;
+ int var15 = Rasterizer2D.Rasterizer2D_width - width;
+ if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
+ }
+
+ int var16;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var16 = Rasterizer2D.Rasterizer2D_yClipStart - y;
+ height -= var16;
+ var14 += var16 * Rasterizer2D.Rasterizer2D_width;
+ var9 += var13 * var16;
+ }
+
+ if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var16 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
+ width -= var16;
+ var15 += var16;
+ }
+
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var16 = Rasterizer2D.Rasterizer2D_xClipStart - x;
+ width -= var16;
+ var14 += var16;
+ var8 += var12 * var16;
+ var15 += var16;
+ }
+
+ Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, width, height, var12, var13, var6, opacity);
}
@ObfuscatedName("al")
- public void method6135(int var1, int var2, int var3) {
- var1 += this.yOffset;
- var2 += this.xOffset;
- int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
+ public void method6135(int x, int y, int opacity) {
+ x += this.xOffset;
+ y += this.yOffset;
+ int var4 = x + y * Rasterizer2D.Rasterizer2D_width;
int var5 = 0;
int var6 = this.subHeight;
int var7 = this.subWidth;
int var8 = Rasterizer2D.Rasterizer2D_width - var7;
int var9 = 0;
int var10;
- if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
+ if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var10 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var6 -= var10;
- var2 = Rasterizer2D.Rasterizer2D_yClipStart;
+ y = Rasterizer2D.Rasterizer2D_yClipStart;
var5 += var10 * var7;
var4 += var10 * Rasterizer2D.Rasterizer2D_width;
}
- if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
+ if (var6 + y > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var6 -= var6 + y - Rasterizer2D.Rasterizer2D_yClipEnd;
}
- if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
+ if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var10 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var7 -= var10;
- var1 = Rasterizer2D.Rasterizer2D_xClipStart;
+ x = Rasterizer2D.Rasterizer2D_xClipStart;
var5 += var10;
var4 += var10;
var9 += var10;
var8 += var10;
}
- if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
+ if (var7 + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var10 = var7 + x - Rasterizer2D.Rasterizer2D_xClipEnd;
var7 -= var10;
var9 += var10;
var8 += var10;
}
if (var7 > 0 && var6 > 0) {
- if (var3 == 256) {
+ if (opacity == 256) {
method6134(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9);
} else {
- method6119(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3);
+ method6119(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, opacity);
}
}
@@ -598,16 +608,16 @@ public final class Sprite extends Rasterizer2D {
int var12 = (var10 << 16) / var3;
int var13 = (var11 << 16) / var4;
int var14;
- if (this.yOffset > 0) {
- var14 = (var12 + (this.yOffset << 16) - 1) / var12;
+ if (this.xOffset > 0) {
+ var14 = (var12 + (this.xOffset << 16) - 1) / var12;
var1 += var14;
- var8 += var14 * var12 - (this.yOffset << 16);
+ var8 += var14 * var12 - (this.xOffset << 16);
}
- if (this.xOffset > 0) {
- var14 = (var13 + (this.xOffset << 16) - 1) / var13;
+ if (this.yOffset > 0) {
+ var14 = (var13 + (this.yOffset << 16) - 1) / var13;
var2 += var14;
- var9 += var14 * var13 - (this.xOffset << 16);
+ var9 += var14 * var13 - (this.yOffset << 16);
}
if (var6 < var10) {
@@ -784,805 +794,811 @@ public final class Sprite extends Rasterizer2D {
@ObfuscatedName("ao")
void method6143(int var1, int var2, int var3, int var4, int var5, int var6) {
- if (var6 != 0) {
- var1 -= this.yOffset << 4;
- var2 -= this.xOffset << 4;
- double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D;
- int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D);
- int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D);
- int var11 = var10 * -var1 + -var2 * var9;
- int var12 = -var2 * var10 + var9 * -(-var1);
- int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9;
- int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10;
- int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1;
- int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1);
- int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1);
- int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1);
- int var19;
- int var20;
- if (var11 < var13) {
- var19 = var11;
- var20 = var13;
- } else {
- var19 = var13;
- var20 = var11;
- }
+ if (var6 == 0) {
+ return;
+ }
+ var1 -= this.xOffset << 4;
+ var2 -= this.yOffset << 4;
+ double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D;
+ int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D);
+ int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D);
+ int var11 = var10 * -var1 + -var2 * var9;
+ int var12 = -var2 * var10 + var9 * -(-var1);
+ int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9;
+ int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10;
+ int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1;
+ int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1);
+ int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1);
+ int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1);
+ int var19;
+ int var20;
+ if (var11 < var13) {
+ var19 = var11;
+ var20 = var13;
+ } else {
+ var19 = var13;
+ var20 = var11;
+ }
- if (var15 < var19) {
- var19 = var15;
- }
+ if (var15 < var19) {
+ var19 = var15;
+ }
- if (var17 < var19) {
- var19 = var17;
- }
+ if (var17 < var19) {
+ var19 = var17;
+ }
- if (var15 > var20) {
- var20 = var15;
- }
+ if (var15 > var20) {
+ var20 = var15;
+ }
- if (var17 > var20) {
- var20 = var17;
- }
+ if (var17 > var20) {
+ var20 = var17;
+ }
- int var21;
- int var22;
- if (var12 < var14) {
- var21 = var12;
- var22 = var14;
- } else {
- var21 = var14;
- var22 = var12;
- }
+ int var21;
+ int var22;
+ if (var12 < var14) {
+ var21 = var12;
+ var22 = var14;
+ } else {
+ var21 = var14;
+ var22 = var12;
+ }
- if (var16 < var21) {
- var21 = var16;
- }
+ if (var16 < var21) {
+ var21 = var16;
+ }
- if (var18 < var21) {
- var21 = var18;
- }
+ if (var18 < var21) {
+ var21 = var18;
+ }
- if (var16 > var22) {
- var22 = var16;
- }
+ if (var16 > var22) {
+ var22 = var16;
+ }
- if (var18 > var22) {
- var22 = var18;
- }
+ if (var18 > var22) {
+ var22 = var18;
+ }
- var19 >>= 12;
- var20 = var20 + 4095 >> 12;
- var21 >>= 12;
- var22 = var22 + 4095 >> 12;
- var19 += var3;
- var20 += var3;
- var21 += var4;
- var22 += var4;
- var19 >>= 4;
- var20 = var20 + 15 >> 4;
- var21 >>= 4;
- var22 = var22 + 15 >> 4;
- if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var19 = Rasterizer2D.Rasterizer2D_xClipStart;
- }
+ var19 >>= 12;
+ var20 = var20 + 4095 >> 12;
+ var21 >>= 12;
+ var22 = var22 + 4095 >> 12;
+ var19 += var3;
+ var20 += var3;
+ var21 += var4;
+ var22 += var4;
+ var19 >>= 4;
+ var20 = var20 + 15 >> 4;
+ var21 >>= 4;
+ var22 = var22 + 15 >> 4;
+ if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var19 = Rasterizer2D.Rasterizer2D_xClipStart;
+ }
- if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var20 = Rasterizer2D.Rasterizer2D_xClipEnd;
- }
+ if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var20 = Rasterizer2D.Rasterizer2D_xClipEnd;
+ }
- if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var21 = Rasterizer2D.Rasterizer2D_yClipStart;
- }
+ if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var21 = Rasterizer2D.Rasterizer2D_yClipStart;
+ }
- if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var22 = Rasterizer2D.Rasterizer2D_yClipEnd;
- }
+ if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var22 = Rasterizer2D.Rasterizer2D_yClipEnd;
+ }
- var20 = var19 - var20;
- if (var20 < 0) {
- var22 = var21 - var22;
- if (var22 < 0) {
- int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width;
- double var24 = 1.6777216E7D / (double)var6;
- int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D);
- int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D);
- int var28 = (var19 << 4) + 8 - var3;
- int var29 = (var21 << 4) + 8 - var4;
- int var30 = (var1 << 8) - (var29 * var26 >> 4);
- int var31 = (var29 * var27 >> 4) + (var2 << 8);
- int var32;
- int var33;
- int var34;
- int var35;
- int var36;
- int var37;
- int var38;
- if (var27 == 0) {
- if (var26 == 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = var30;
- var36 = var31;
- var37 = var20;
- if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) {
- for (; var37 < 0; ++var37) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
- }
- }
-
- ++var33;
+ var20 = var19 - var20;
+ if (var20 >= 0) {
+ return;
+ }
+ var22 = var21 - var22;
+ if (var22 >= 0) {
+ return;
+ }
+ int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width;
+ double var24 = 1.6777216E7D / (double)var6;
+ int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D);
+ int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D);
+ int var28 = (var19 << 4) + 8 - var3;
+ int var29 = (var21 << 4) + 8 - var4;
+ int var30 = (var1 << 8) - (var29 * var26 >> 4);
+ int var31 = (var29 * var27 >> 4) + (var2 << 8);
+ int var32;
+ int var33;
+ int var34;
+ int var35;
+ int var36;
+ int var37;
+ int var38;
+ if (var27 == 0) {
+ if (var26 == 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = var30;
+ var36 = var31;
+ var37 = var20;
+ if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) {
+ for (; var37 < 0; ++var37) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
}
- } else if (var26 < 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) {
- if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
- var32 = (var26 - var32) / var26;
- var37 = var20 + var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var36 - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var36 += var26;
- ++var37;
- }
- }
-
- ++var33;
- var30 -= var26;
- }
- } else {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) {
- if (var36 < 0) {
- var32 = (var26 - 1 - var36) / var26;
- var37 = var20 + var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var36 += var26;
- ++var37;
- }
- }
-
- ++var33;
- var30 -= var26;
- }
- }
- } else if (var27 < 0) {
- if (var26 == 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = var31;
- var37 = var20;
- if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) {
- if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
- var32 = (var27 - var32) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 - var27) / var27) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- ++var37;
- }
- }
-
- ++var33;
- var31 += var27;
- }
- } else if (var26 < 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
- var32 = (var27 - var32) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 - var27) / var27) > var37) {
- var37 = var32;
- }
-
- if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
- var32 = (var26 - var32) / var26;
- var37 += var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 += var32;
- }
-
- if ((var32 = (var36 - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- var36 += var26;
- ++var37;
- }
-
- ++var33;
- var30 -= var26;
- var31 += var27;
- }
- } else {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
- var32 = (var27 - var32) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 - var27) / var27) > var37) {
- var37 = var32;
- }
-
- if (var36 < 0) {
- var32 = (var26 - 1 - var36) / var26;
- var37 += var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 += var32;
- }
-
- if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- var36 += var26;
- ++var37;
- }
-
- ++var33;
- var30 -= var26;
- var31 += var27;
- }
- }
- } else if (var26 == 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = var31;
- var37 = var20;
- if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) {
- if (var35 < 0) {
- var32 = (var27 - 1 - var35) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- ++var37;
- }
- }
-
- ++var33;
- var31 += var27;
- }
- } else if (var26 < 0) {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if (var35 < 0) {
- var32 = (var27 - 1 - var35) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
- var37 = var32;
- }
-
- if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
- var32 = (var26 - var32) / var26;
- var37 += var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 += var32;
- }
-
- if ((var32 = (var36 - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- var36 += var26;
- ++var37;
- }
-
- ++var33;
- var30 -= var26;
- var31 += var27;
- }
- } else {
- for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
- var34 = var23;
- var35 = (var28 * var27 >> 4) + var30;
- var36 = (var28 * var26 >> 4) + var31;
- var37 = var20;
- if (var35 < 0) {
- var32 = (var27 - 1 - var35) / var27;
- var37 = var20 + var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 = var23 + var32;
- }
-
- if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
- var37 = var32;
- }
-
- if (var36 < 0) {
- var32 = (var26 - 1 - var36) / var26;
- var37 += var32;
- var35 += var27 * var32;
- var36 += var26 * var32;
- var34 += var32;
- }
-
- if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
- var37 = var32;
- }
-
- while (var37 < 0) {
- var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
- if (var38 != 0) {
- Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
- } else {
- ++var34;
- }
-
- var35 += var27;
- var36 += var26;
- ++var37;
- }
-
- ++var33;
- var30 -= var26;
- var31 += var27;
}
}
+ ++var33;
+ }
+ } else if (var26 < 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) {
+ if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
+ var32 = (var26 - var32) / var26;
+ var37 = var20 + var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var36 - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var36 += var26;
+ ++var37;
+ }
+ }
+
+ ++var33;
+ var30 -= var26;
+ }
+ } else {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) {
+ if (var36 < 0) {
+ var32 = (var26 - 1 - var36) / var26;
+ var37 = var20 + var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var36 += var26;
+ ++var37;
+ }
+ }
+
+ ++var33;
+ var30 -= var26;
}
}
+ } else if (var27 < 0) {
+ if (var26 == 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = var31;
+ var37 = var20;
+ if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) {
+ if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
+ var32 = (var27 - var32) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ ++var37;
+ }
+ }
+
+ ++var33;
+ var31 += var27;
+ }
+ } else if (var26 < 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
+ var32 = (var27 - var32) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
+ var32 = (var26 - var32) / var26;
+ var37 += var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 += var32;
+ }
+
+ if ((var32 = (var36 - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ var36 += var26;
+ ++var37;
+ }
+
+ ++var33;
+ var30 -= var26;
+ var31 += var27;
+ }
+ } else {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if ((var32 = var35 - (this.subWidth << 12)) >= 0) {
+ var32 = (var27 - var32) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ if (var36 < 0) {
+ var32 = (var26 - 1 - var36) / var26;
+ var37 += var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 += var32;
+ }
+
+ if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ var36 += var26;
+ ++var37;
+ }
+
+ ++var33;
+ var30 -= var26;
+ var31 += var27;
+ }
+ }
+ } else if (var26 == 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = var31;
+ var37 = var20;
+ if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) {
+ if (var35 < 0) {
+ var32 = (var27 - 1 - var35) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ ++var37;
+ }
+ }
+
+ ++var33;
+ var31 += var27;
+ }
+ } else if (var26 < 0) {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if (var35 < 0) {
+ var32 = (var27 - 1 - var35) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ if ((var32 = var36 - (this.subHeight << 12)) >= 0) {
+ var32 = (var26 - var32) / var26;
+ var37 += var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 += var32;
+ }
+
+ if ((var32 = (var36 - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ var36 += var26;
+ ++var37;
+ }
+
+ ++var33;
+ var30 -= var26;
+ var31 += var27;
+ }
+ } else {
+ for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) {
+ var34 = var23;
+ var35 = (var28 * var27 >> 4) + var30;
+ var36 = (var28 * var26 >> 4) + var31;
+ var37 = var20;
+ if (var35 < 0) {
+ var32 = (var27 - 1 - var35) / var27;
+ var37 = var20 + var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 = var23 + var32;
+ }
+
+ if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) {
+ var37 = var32;
+ }
+
+ if (var36 < 0) {
+ var32 = (var26 - 1 - var36) / var26;
+ var37 += var32;
+ var35 += var27 * var32;
+ var36 += var26 * var32;
+ var34 += var32;
+ }
+
+ if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) {
+ var37 = var32;
+ }
+
+ while (var37 < 0) {
+ var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth];
+ if (var38 != 0) {
+ Rasterizer2D.Rasterizer2D_pixels[var34++] = var38;
+ } else {
+ ++var34;
+ }
+
+ var35 += var27;
+ var36 += var26;
+ ++var37;
+ }
+
+ ++var33;
+ var30 -= var26;
+ var31 += var27;
+ }
}
+
}
@ObfuscatedName("aj")
- public void method6144(int var1, int var2, int var3, int var4) {
- if (var3 <= this.width && var4 <= this.height) {
- int var5 = var3 * this.yOffset / this.width + var1;
- int var6 = (var3 * (this.yOffset + this.subWidth) + this.width - 1) / this.width + var1;
- int var7 = var2 + var4 * this.xOffset / this.height;
- int var8 = var2 + (this.height + (this.xOffset + this.subHeight) * var4 - 1) / this.height;
- if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) {
- var5 = Rasterizer2D.Rasterizer2D_xClipStart;
- }
-
- if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) {
- var6 = Rasterizer2D.Rasterizer2D_xClipEnd;
- }
-
- if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) {
- var7 = Rasterizer2D.Rasterizer2D_yClipStart;
- }
-
- if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) {
- var8 = Rasterizer2D.Rasterizer2D_yClipEnd;
- }
-
- if (var5 < var6 && var7 < var8) {
- int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width;
- int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5);
- if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) {
- for (int var11 = var7; var11 < var8; ++var11) {
- for (int var12 = var5; var12 < var6; ++var12) {
- int var13 = var12 - var1 << 4;
- int var14 = var11 - var2 << 4;
- int var15 = var13 * this.width / var3 - (this.yOffset << 4);
- int var16 = (var13 + 16) * this.width / var3 - (this.yOffset << 4);
- int var17 = var14 * this.height / var4 - (this.xOffset << 4);
- int var18 = (var14 + 16) * this.height / var4 - (this.xOffset << 4);
- int var19 = (var16 - var15) * (var18 - var17) >> 1;
- if (var19 != 0) {
- if (var15 < 0) {
- var15 = 0;
- }
-
- if (var16 >= this.subWidth << 4) {
- var16 = this.subWidth << 4;
- }
-
- if (var17 < 0) {
- var17 = 0;
- }
-
- if (var18 >= this.subHeight << 4) {
- var18 = this.subHeight << 4;
- }
-
- --var16;
- --var18;
- int var20 = 16 - (var15 & 15);
- int var21 = (var16 & 15) + 1;
- int var22 = 16 - (var17 & 15);
- int var23 = (var18 & 15) + 1;
- var15 >>= 4;
- var16 >>= 4;
- var17 >>= 4;
- var18 >>= 4;
- int var24 = 0;
- int var25 = 0;
- int var26 = 0;
- int var27 = 0;
-
- int var28;
- for (var28 = var17; var28 <= var18; ++var28) {
- int var29 = 16;
- if (var28 == var17) {
- var29 = var22;
- }
-
- if (var28 == var18) {
- var29 = var23;
- }
-
- for (int var30 = var15; var30 <= var16; ++var30) {
- int var31 = this.pixels[var30 + var28 * this.subWidth];
- if (var31 != 0) {
- int var32;
- if (var30 == var15) {
- var32 = var29 * var20;
- } else if (var30 == var16) {
- var32 = var29 * var21;
- } else {
- var32 = var29 << 4;
- }
-
- var27 += var32;
- var24 += var32 * (var31 >> 16 & 255);
- var25 += var32 * (var31 >> 8 & 255);
- var26 += (var31 & 255) * var32;
- }
- }
- }
-
- if (var27 >= var19) {
- var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8);
- if (var28 == 0) {
- var28 = 1;
- }
-
- Rasterizer2D.Rasterizer2D_pixels[var9] = var28;
- }
-
- ++var9;
- }
- }
-
- var9 += var10;
- }
-
- }
- }
- } else {
+ @Export("drawScaledWorldmap")
+ public void drawScaledWorldmap(int x, int y, int width, int height) {
+ if (width > this.width || height > this.height) {
throw new IllegalArgumentException();
}
+ int var5 = width * this.xOffset / this.width + x;
+ int var6 = (width * (this.xOffset + this.subWidth) + this.width - 1) / this.width + x;
+ int var7 = y + height * this.yOffset / this.height;
+ int var8 = y + (this.height + (this.yOffset + this.subHeight) * height - 1) / this.height;
+ if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) {
+ var5 = Rasterizer2D.Rasterizer2D_xClipStart;
+ }
+
+ if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) {
+ var6 = Rasterizer2D.Rasterizer2D_xClipEnd;
+ }
+
+ if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) {
+ var7 = Rasterizer2D.Rasterizer2D_yClipStart;
+ }
+
+ if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) {
+ var8 = Rasterizer2D.Rasterizer2D_yClipEnd;
+ }
+
+ if (var5 >= var6 || var7 >= var8) {
+ return;
+ }
+ int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width;
+ int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5);
+ if (var9 >= Rasterizer2D.Rasterizer2D_pixels.length) {
+ return;
+ }
+ for (int var11 = var7; var11 < var8; ++var11) {
+ for (int var12 = var5; var12 < var6; ++var12) {
+ int var13 = var12 - x << 4;
+ int var14 = var11 - y << 4;
+ int var15 = var13 * this.width / width - (this.xOffset << 4);
+ int var16 = (var13 + 16) * this.width / width - (this.xOffset << 4);
+ int var17 = var14 * this.height / height - (this.yOffset << 4);
+ int var18 = (var14 + 16) * this.height / height - (this.yOffset << 4);
+ int var19 = (var16 - var15) * (var18 - var17) >> 1;
+ if (var19 == 0) {
+ continue;
+ }
+ if (var15 < 0) {
+ var15 = 0;
+ }
+
+ if (var16 >= this.subWidth << 4) {
+ var16 = this.subWidth << 4;
+ }
+
+ if (var17 < 0) {
+ var17 = 0;
+ }
+
+ if (var18 >= this.subHeight << 4) {
+ var18 = this.subHeight << 4;
+ }
+
+ --var16;
+ --var18;
+ int var20 = 16 - (var15 & 15);
+ int var21 = (var16 & 15) + 1;
+ int var22 = 16 - (var17 & 15);
+ int var23 = (var18 & 15) + 1;
+ var15 >>= 4;
+ var16 >>= 4;
+ var17 >>= 4;
+ var18 >>= 4;
+ int var24 = 0;
+ int var25 = 0;
+ int var26 = 0;
+ int var27 = 0;
+
+ int var28;
+ for (var28 = var17; var28 <= var18; ++var28) {
+ int var29 = 16;
+ if (var28 == var17) {
+ var29 = var22;
+ }
+
+ if (var28 == var18) {
+ var29 = var23;
+ }
+
+ for (int var30 = var15; var30 <= var16; ++var30) {
+ int var31 = this.pixels[var30 + var28 * this.subWidth];
+ if (var31 == 0) {
+ continue;
+ }
+ int var32;
+ if (var30 == var15) {
+ var32 = var29 * var20;
+ } else if (var30 == var16) {
+ var32 = var29 * var21;
+ } else {
+ var32 = var29 << 4;
+ }
+
+ var27 += var32;
+ var24 += var32 * (var31 >> 16 & 255);
+ var25 += var32 * (var31 >> 8 & 255);
+ var26 += (var31 & 255) * var32;
+ }
+ }
+
+ if (var27 >= var19) {
+ var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8);
+ if (var28 == 0) {
+ var28 = 1;
+ }
+
+ Rasterizer2D.Rasterizer2D_pixels[var9] = var28;
+ }
+
+ ++var9;
+ }
+
+ var9 += var10;
+ }
+
}
@ObfuscatedName("x")
- @Export("Sprite_something")
- static void Sprite_something(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) {
- for (int var8 = -var5; var8 < 0; ++var8) {
+ @Export("Sprite_draw")
+ static void Sprite_draw(int[] rasterPx, int[] spritePx, int spritePxIdx, int rasterPxIdx, int width, int height, int rasterStartOffset, int spriteStartOffset) {
+ for (int var8 = -height; var8 < 0; ++var8) {
int var9;
- for (var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) {
- var0[var3++] = var1[var2++];
- var0[var3++] = var1[var2++];
- var0[var3++] = var1[var2++];
+ for (var9 = rasterPxIdx + width - 3; rasterPxIdx < var9; rasterPx[rasterPxIdx++] = spritePx[spritePxIdx++]) {
+ rasterPx[rasterPxIdx++] = spritePx[spritePxIdx++];
+ rasterPx[rasterPxIdx++] = spritePx[spritePxIdx++];
+ rasterPx[rasterPxIdx++] = spritePx[spritePxIdx++];
}
- for (var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) {
+ for (var9 += 3; rasterPxIdx < var9; rasterPx[rasterPxIdx++] = spritePx[spritePxIdx++]) {
}
- var3 += var6;
- var2 += var7;
+ rasterPxIdx += rasterStartOffset;
+ spritePxIdx += spriteStartOffset;
}
}
@ObfuscatedName("v")
- @Export("Sprite_andAnotherOne")
- static void Sprite_andAnotherOne(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
- int var9 = -(var5 >> 2);
- var5 = -(var5 & 3);
+ @Export("Sprite_drawTransBg")
+ static void Sprite_drawTransBg(int[] rasterPx, int[] spritePx, int currentPx, int spritePxIdx, int rasterPxIdx, int width, int height, int rasterStartOffset, int spriteStartOffset) {
+ int var9 = -(width >> 2);
+ width = -(width & 3);
- for (int var10 = -var6; var10 < 0; ++var10) {
- int var11;
- for (var11 = var9; var11 < 0; ++var11) {
- var2 = var1[var3++];
- if (var2 != 0) {
- var0[var4++] = var2;
+ for (int var10 = -height; var10 < 0; ++var10) {
+ for (int var11 = var9; var11 < 0; ++var11) {
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var4;
+ ++rasterPxIdx;
}
- var2 = var1[var3++];
- if (var2 != 0) {
- var0[var4++] = var2;
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var4;
+ ++rasterPxIdx;
}
- var2 = var1[var3++];
- if (var2 != 0) {
- var0[var4++] = var2;
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var4;
+ ++rasterPxIdx;
}
- var2 = var1[var3++];
- if (var2 != 0) {
- var0[var4++] = var2;
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var4;
+ ++rasterPxIdx;
}
}
- for (var11 = var5; var11 < 0; ++var11) {
- var2 = var1[var3++];
- if (var2 != 0) {
- var0[var4++] = var2;
+ for (int var11 = width; var11 < 0; ++var11) {
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var4;
+ ++rasterPxIdx;
}
}
- var4 += var7;
- var3 += var8;
+ rasterPxIdx += rasterStartOffset;
+ spritePxIdx += spriteStartOffset;
}
}
@ObfuscatedName("g")
- @Export("Sprite_somethingElse")
- static void Sprite_somethingElse(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) {
- int var12 = var3;
+ @Export("Sprite_drawScaled")
+ static void Sprite_drawScaled(int[] rasterPx, int[] spritePx, int currentPx, int xIdx, int yIdx, int rasterPxIdx, int rasterPxOffset, int width, int height, int pixelWidth, int pixelHeight, int subWidth) {
+ int var12 = xIdx;
- for (int var13 = -var8; var13 < 0; ++var13) {
- int var14 = var11 * (var4 >> 16);
+ for (int var13 = -height; var13 < 0; ++var13) {
+ int var14 = subWidth * (yIdx >> 16);
- for (int var15 = -var7; var15 < 0; ++var15) {
- var2 = var1[(var3 >> 16) + var14];
- if (var2 != 0) {
- var0[var5++] = var2;
+ for (int var15 = -width; var15 < 0; ++var15) {
+ currentPx = spritePx[(xIdx >> 16) + var14];
+ if (currentPx != 0) {
+ rasterPx[rasterPxIdx++] = currentPx;
} else {
- ++var5;
+ ++rasterPxIdx;
}
- var3 += var9;
+ xIdx += pixelWidth;
}
- var4 += var10;
- var3 = var12;
- var5 += var6;
+ yIdx += pixelHeight;
+ xIdx = var12;
+ rasterPxIdx += rasterPxOffset;
}
}
@ObfuscatedName("j")
- @Export("Sprite_anotherOne")
- static void Sprite_anotherOne(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) {
- int var11 = 256 - var9;
- int var12 = (var10 & 16711935) * var11 & -16711936;
- int var13 = (var10 & 65280) * var11 & 16711680;
- var10 = (var12 | var13) >>> 8;
+ @Export("Sprite_drawTransOverlay")
+ static void Sprite_drawTransOverlay(int[] rasterPx, int[] spritePx, int currentPx, int spritePxIdx, int rasterPxIdx, int width, int height, int rasterStartOffset, int spriteStartOffset, int overlayOpacity, int overlayColor) {
+ int var11 = 256 - overlayOpacity;
+ int var12 = (overlayColor & 0xff00ff) * var11 & 0xff00ff00;
+ int var13 = (overlayColor & 0xff00) * var11 & 0xff0000;
+ overlayColor = (var12 | var13) >>> 8;
- for (int var14 = -var6; var14 < 0; ++var14) {
- for (int var15 = -var5; var15 < 0; ++var15) {
- var2 = var1[var3++];
- if (var2 != 0) {
- var12 = var9 * (var2 & 16711935) & -16711936;
- var13 = (var2 & 65280) * var9 & 16711680;
- var0[var4++] = var10 + ((var12 | var13) >>> 8);
+ for (int var14 = -height; var14 < 0; ++var14) {
+ for (int var15 = -width; var15 < 0; ++var15) {
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ var12 = overlayOpacity * (currentPx & 0xff00ff) & 0xff00ff00;
+ var13 = (currentPx & 0xff00) * overlayOpacity & 0xff0000;
+ rasterPx[rasterPxIdx++] = overlayColor + ((var12 | var13) >>> 8);
} else {
- ++var4;
+ ++rasterPxIdx;
}
}
- var4 += var7;
- var3 += var8;
+ rasterPxIdx += rasterStartOffset;
+ spritePxIdx += spriteStartOffset;
}
}
@ObfuscatedName("d")
- @Export("Sprite_alpha1")
- static void Sprite_alpha1(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
- int var10 = 256 - var9;
+ @Export("Sprite_drawTransparent")
+ static void Sprite_drawTransparent(int[] rasterPx, int[] spritePx, int currentPx, int spritePxIdx, int rasterPxIdx, int width, int height, int rasterStartOffset, int spriteStartOffset, int opacity) {
+ int var10 = 256 - opacity;
- for (int var11 = -var6; var11 < 0; ++var11) {
- for (int var12 = -var5; var12 < 0; ++var12) {
- var2 = var1[var3++];
- if (var2 != 0) {
- int var13 = var0[var4];
- var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & 65280) * var9 + var10 * (var13 & 65280) & 16711680) >> 8;
+ for (int var11 = -height; var11 < 0; ++var11) {
+ for (int var12 = -width; var12 < 0; ++var12) {
+ currentPx = spritePx[spritePxIdx++];
+ if (currentPx != 0) {
+ int var13 = rasterPx[rasterPxIdx];
+ rasterPx[rasterPxIdx++] = ((var13 & 0xff00ff) * var10 + opacity * (currentPx & 0xff00ff) & 0xff00ff00) + ((currentPx & 0xff00) * opacity + var10 * (var13 & 0xff00) & 0xff0000) >> 8;
} else {
- ++var4;
+ ++rasterPxIdx;
}
}
- var4 += var7;
- var3 += var8;
+ rasterPxIdx += rasterStartOffset;
+ spritePxIdx += spriteStartOffset;
}
}
@ObfuscatedName("z")
- @Export("Sprite_alpha2")
- static void Sprite_alpha2(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) {
- int var13 = 256 - var12;
- int var14 = var3;
+ @Export("Sprite_drawTransScaled")
+ static void Sprite_drawTransScaled(int[] rasterPx, int[] spritePx, int currentPx, int xIdx, int yIdx, int rasterPxIdx, int rasterPxOffset, int width, int height, int pxWidth, int pxHeight, int subWidth, int opacity) {
+ int var13 = 256 - opacity;
+ int var14 = xIdx;
- for (int var15 = -var8; var15 < 0; ++var15) {
- int var16 = var11 * (var4 >> 16);
+ for (int var15 = -height; var15 < 0; ++var15) {
+ int var16 = subWidth * (yIdx >> 16);
- for (int var17 = -var7; var17 < 0; ++var17) {
- var2 = var1[(var3 >> 16) + var16];
- if (var2 != 0) {
- int var18 = var0[var5];
- var0[var5++] = ((var2 & 65280) * var12 + var13 * (var18 & 65280) & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8;
+ for (int var17 = -width; var17 < 0; ++var17) {
+ currentPx = spritePx[(xIdx >> 16) + var16];
+ if (currentPx != 0) {
+ int var18 = rasterPx[rasterPxIdx];
+ rasterPx[rasterPxIdx++] = ((currentPx & 0xff00) * opacity + var13 * (var18 & 0xff00) & 0xff0000) + ((var18 & 0xff00ff) * var13 + opacity * (currentPx & 0xff00ff) & 0xff00ff00) >> 8;
} else {
- ++var5;
+ ++rasterPxIdx;
}
- var3 += var9;
+ xIdx += pxWidth;
}
- var4 += var10;
- var3 = var14;
- var5 += var6;
+ yIdx += pxHeight;
+ xIdx = var14;
+ rasterPxIdx += rasterPxOffset;
}
}
@ObfuscatedName("av")
- static void method6134(int var0, int var1, int var2, int[] var3, int[] var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) {
- for (var8 = -var10; var8 < 0; ++var8) {
- for (var6 = -var9; var6 < 0; ++var6) {
- var0 = var4[var5++];
- if (var0 != 0) {
- var1 = var3[var7];
- var2 = var0 + var1;
- var0 = (var0 & 16711935) + (var1 & 16711935);
- var1 = (var0 & 16777472) + (var2 - var0 & 65536);
- var3[var7++] = var2 - var1 | var1 - (var1 >>> 8);
+ static void method6134(int curSpritePx, int curRasterPx, int var2, int[] rasterPx, int[] spritePx, int spritePxIdx, int var6, int rasterPxIdx, int var8, int width, int height, int rasterPxOffset, int spritePxOffset) {
+ for (var8 = -height; var8 < 0; ++var8) {
+ for (var6 = -width; var6 < 0; ++var6) {
+ curSpritePx = spritePx[spritePxIdx++];
+ if (curSpritePx != 0) {
+ curRasterPx = rasterPx[rasterPxIdx];
+ var2 = curSpritePx + curRasterPx;
+ curSpritePx = (curSpritePx & 0xff00ff) + (curRasterPx & 0xff00ff);
+ curRasterPx = (curSpritePx & 0x1000100) + (var2 - curSpritePx & 0x10000);
+ rasterPx[rasterPxIdx++] = var2 - curRasterPx | curRasterPx - (curRasterPx >>> 8);
} else {
- ++var7;
+ ++rasterPxIdx;
}
}
- var7 += var11;
- var5 += var12;
+ rasterPxIdx += rasterPxOffset;
+ spritePxIdx += spritePxOffset;
}
}
@ObfuscatedName("as")
- static void method6119(int var0, int var1, int var2, int[] var3, int[] var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13) {
+ static void method6119(int var0, int var1, int var2, int[] rasterPx, int[] spritePx, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int opacity) {
for (var8 = -var10; var8 < 0; ++var8) {
for (var6 = -var9; var6 < 0; ++var6) {
- var0 = var4[var5++];
+ var0 = spritePx[var5++];
if (var0 != 0) {
- var1 = var13 * (var0 & 16711935);
- var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8;
- var1 = var3[var7];
+ var1 = opacity * (var0 & 0xff00ff);
+ var0 = (var1 & 0xff00ff00) + (opacity * var0 - var1 & 0xff0000) >>> 8;
+ var1 = rasterPx[var7];
var2 = var0 + var1;
- var0 = (var0 & 16711935) + (var1 & 16711935);
+ var0 = (var0 & 0xff00ff) + (var1 & 0xff00ff);
var1 = (var0 & 16777472) + (var2 - var0 & 65536);
- var3[var7++] = var2 - var1 | var1 - (var1 >>> 8);
+ rasterPx[var7++] = var2 - var1 | var1 - (var1 >>> 8);
} else {
++var7;
}
@@ -1604,7 +1620,7 @@ public final class Sprite extends Rasterizer2D {
if (var0 != 0) {
var1 = var5[var10];
var2 = var0 + var1;
- var0 = (var0 & 16711935) + (var1 & 16711935);
+ var0 = (var0 & 0xff00ff) + (var1 & 0xff00ff);
var1 = (var0 & 16777472) + (var2 - var0 & 65536);
var5[var10++] = var2 - var1 | var1 - (var1 >>> 8);
} else {
@@ -1629,11 +1645,11 @@ public final class Sprite extends Rasterizer2D {
for (var6 = -var12; var6 < 0; ++var6) {
var0 = var4[(var3 >> 16) + var7];
if (var0 != 0) {
- var1 = (var0 & 16711935) * var16;
- var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8;
+ var1 = (var0 & 0xff00ff) * var16;
+ var0 = (var1 & 0xff00ff00) + (var0 * var16 - var1 & 0xff0000) >>> 8;
var1 = var5[var10];
var2 = var0 + var1;
- var0 = (var0 & 16711935) + (var1 & 16711935);
+ var0 = (var0 & 0xff00ff) + (var1 & 0xff00ff);
var1 = (var0 & 16777472) + (var2 - var0 & 65536);
var5[var10++] = var2 - var1 | var1 - (var1 >>> 8);
} else {
diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java
index efc8b67b64..98f7730355 100644
--- a/runescape-client/src/main/java/Strings.java
+++ b/runescape-client/src/main/java/Strings.java
@@ -1,3 +1,4 @@
+import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@@ -39,7 +40,8 @@ public class Strings {
signature = "(Lhj;I)V",
garbageValue = "-2041903885"
)
- static void method4120(Widget var0) {
+ @Export("invalidateWidget")
+ static void invalidateWidget(Widget var0) {
if (var0.cycle == Client.field741) {
Client.field843[var0.rootIndex] = true;
}
diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java
index bd765f3869..07414a9bfd 100644
--- a/runescape-client/src/main/java/Texture.java
+++ b/runescape-client/src/main/java/Texture.java
@@ -120,25 +120,25 @@ public class Texture extends Node {
byte[] var17 = var7.pixels;
int[] var11 = var7.palette;
int var12 = this.field1619[var6];
- if ((var12 & -16777216) == 16777216) {
+ if ((var12 & 0xff000000) == 16777216) {
}
- if ((var12 & -16777216) == 33554432) {
+ if ((var12 & 0xff000000) == 33554432) {
}
int var13;
int var14;
int var15;
int var16;
- if ((var12 & -16777216) == 50331648) {
- var13 = var12 & 16711935;
+ if ((var12 & 0xff000000) == 50331648) {
+ var13 = var12 & 0xff00ff;
var14 = var12 >> 8 & 255;
for (var15 = 0; var15 < var11.length; ++var15) {
var16 = var11[var15];
if (var16 >> 8 == (var16 & 65535)) {
var16 &= 255;
- var11[var15] = var13 * var16 >> 8 & 16711935 | var14 * var16 & 65280;
+ var11[var15] = var13 * var16 >> 8 & 0xff00ff | var14 * var16 & 0xff00;
}
}
}
diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java
index c555b201bd..89bdf4e8fe 100644
--- a/runescape-client/src/main/java/TileItem.java
+++ b/runescape-client/src/main/java/TileItem.java
@@ -49,7 +49,8 @@ public final class TileItem extends Entity {
signature = "(Lhp;B)V",
garbageValue = "97"
)
- public static void method2054(AbstractArchive var0) {
+ @Export("StructDefinition_setArchives")
+ public static void StructDefinition_setArchives(AbstractArchive var0) {
StructDefinition.StructDefinition_archive = var0;
}
@@ -82,6 +83,6 @@ public final class TileItem extends Entity {
WorldMapEvent.field359 = var0;
Client.field848 = var1;
WorldMapCacheName.selectedSpellFlags = var2;
- Strings.method4120(var4);
+ Strings.invalidateWidget(var4);
}
}
diff --git a/runescape-client/src/main/java/TilePaint.java b/runescape-client/src/main/java/TilePaint.java
index f63f7de02c..6de75c248d 100644
--- a/runescape-client/src/main/java/TilePaint.java
+++ b/runescape-client/src/main/java/TilePaint.java
@@ -74,8 +74,8 @@ public final class TilePaint {
Sprite var6 = var4[var5] = new Sprite();
var6.width = SpriteBuffer.SpriteBuffer_spriteWidth;
var6.height = SpriteBuffer.SpriteBuffer_spriteHeight;
- var6.yOffset = Varps.SpriteBuffer_xOffsets[var5];
- var6.xOffset = SpriteBuffer.SpriteBuffer_yOffsets[var5];
+ var6.xOffset = Varps.SpriteBuffer_xOffsets[var5];
+ var6.yOffset = SpriteBuffer.SpriteBuffer_yOffsets[var5];
var6.subWidth = SpriteBuffer.SpriteBuffer_spriteWidths[var5];
var6.subHeight = class216.SpriteBuffer_spriteHeights[var5];
int var7 = var6.subHeight * var6.subWidth;
diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java
index aac5846170..60ef0bb063 100644
--- a/runescape-client/src/main/java/Tiles.java
+++ b/runescape-client/src/main/java/Tiles.java
@@ -33,9 +33,9 @@ public final class Tiles {
@ObfuscatedName("c")
static int[][] field515;
@ObfuscatedName("m")
- static int[] field508;
+ static int[] Tiles_saturation;
@ObfuscatedName("u")
- static int[] field507;
+ static int[] Tiles_lightness;
@ObfuscatedName("j")
static final int[] field512;
@ObfuscatedName("t")
diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java
index f5e6302121..39b48df818 100644
--- a/runescape-client/src/main/java/Timer.java
+++ b/runescape-client/src/main/java/Timer.java
@@ -416,57 +416,71 @@ public class Timer {
Login.Login_loadingText = "Loading config - " + class215.archive2.loadPercent() + "%";
Login.Login_loadingPercent = 60;
} else {
+ // floorovl def inlined
Archive var31 = class215.archive2;
FloorOverlayDefinition.FloorOverlayDefinition_archive = var31;
- WorldMapSprite.setFloorUnderlayDefinitionArchive(class215.archive2);
- GrandExchangeEvents.method66(class215.archive2, NPCDefinition.archive7);
+ // ---
+ WorldMapSprite.FloorUnderlayDefinition_setArchives(class215.archive2);
+ GrandExchangeEvents.KitDefinition_setArchives(class215.archive2, NPCDefinition.archive7);
+ // object def inlined
var25 = class215.archive2;
var2 = NPCDefinition.archive7;
boolean var34 = Client.isLowDetail;
ObjectDefinition.ObjectDefinition_archive = var25;
ObjectDefinition.ObjectDefinition_modelsArchive = var2;
ObjectDefinition.ObjectDefinition_isLowDetail = var34;
- FaceNormal.setNpcDefinitionArchives(class215.archive2, NPCDefinition.archive7);
- TileItem.method2054(class215.archive2);
+ // ---
+ FaceNormal.NpcDefinition_setArchives(class215.archive2, NPCDefinition.archive7);
+ TileItem.StructDefinition_setArchives(class215.archive2);
+ // item def inlined
Archive var27 = class215.archive2;
Archive var5 = NPCDefinition.archive7;
boolean var6 = Client.isMembersWorld;
Font var7 = Coord.fontPlain11;
Messages.ItemDefinition_archive = var27;
ItemDefinition.ItemDefinition_modelArchive = var5;
- ModelData0.inMembersWorld = var6;
+ ModelData0.ItemDefinition_inMembersWorld = var6;
ItemDefinition.ItemDefinition_fileCount = Messages.ItemDefinition_archive.getGroupFileCount(10);
HealthBar.ItemDefinition_fontPlain11 = var7;
+ // sequence def inlined
Archive var8 = class215.archive2;
Archive var9 = class197.archive0;
Archive var10 = class167.archive1;
SequenceDefinition.SequenceDefinition_archive = var8;
SequenceDefinition.SequenceDefinition_animationsArchive = var9;
SequenceDefinition.SequenceDefinition_skeletonsArchive = var10;
+ // spotanim def inlined
Archive var11 = class215.archive2;
Archive var12 = NPCDefinition.archive7;
SpotAnimationDefinition.SpotAnimationDefinition_archive = var11;
class43.SpotAnimationDefinition_modelArchive = var12;
+ // varbit def inlined
Archive var13 = class215.archive2;
VarbitDefinition.VarbitDefinition_archive = var13;
- GrandExchangeEvents.method68(class215.archive2);
- UrlRequest.method3317(class43.archive3, NPCDefinition.archive7, Client.archive8, class2.archive13);
- WorldMapData_0.method173(class215.archive2);
+ // ---
+ GrandExchangeEvents.VarpDefinition_setArchives(class215.archive2);
+ UrlRequest.Widget_setArchives(class43.archive3, NPCDefinition.archive7, Client.archive8, class2.archive13);
+ WorldMapData_0.InvDefinition_setArchives(class215.archive2);
+ // enum def inlined
Archive var14 = class215.archive2;
EnumDefinition.EnumDefinition_archive = var14;
- GrandExchangeOfferWorldComparator.setVarcIntArchive(class215.archive2);
- KeyHandler.method794(class215.archive2);
+ // ---
+ GrandExchangeOfferWorldComparator.VarcInt_setArchives(class215.archive2);
+ KeyHandler.ParamDefinition_setArchives(class215.archive2);
Clock.varcs = new Varcs();
+ // hitsplat def inlined
Archive var15 = class215.archive2;
Archive var16 = Client.archive8;
Archive var17 = class2.archive13;
HitSplatDefinition.HitSplatDefinition_archive = var15;
HitSplatDefinition.HitSplatDefinition_spritesArchive = var16;
HitSplatDefinition.HitSplatDefinition_fontsArchive = var17;
+ // healthbar def inlined
Archive var18 = class215.archive2;
Archive var19 = Client.archive8;
HealthBarDefinition.HealthBarDefinition_archive = var18;
HealthBarDefinition.HealthBarDefinition_spritesArchive = var19;
+ // worldmap element inlined
Archive var20 = class215.archive2;
Archive var21 = Client.archive8;
WorldMapElement.WorldMapElement_archive = var21;
@@ -483,6 +497,7 @@ public class Timer {
}
}
}
+ // ---
Login.Login_loadingText = "Loaded config";
Login.Login_loadingPercent = 60;
diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java
index 91f9c5d05b..b2424f14f2 100644
--- a/runescape-client/src/main/java/TriBool.java
+++ b/runescape-client/src/main/java/TriBool.java
@@ -41,31 +41,32 @@ public class TriBool {
)
@Export("drawLoadingMessage")
static final void drawLoadingMessage(String var0, boolean var1) {
- if (Client.showLoadingMessages) {
- byte var2 = 4;
- int var3 = var2 + 6;
- int var4 = var2 + 6;
- int var5 = class169.fontPlain12.lineWidth(var0, 250);
- int var6 = class169.fontPlain12.lineCount(var0, 250) * 13;
- Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var6 + var2 + var2, 0);
- Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var5 + var2 + var2, var6 + var2 + var2, 16777215);
- class169.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0);
- ChatChannel.method2215(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2);
- if (var1) {
- MusicPatchPcmStream.rasterProvider.drawFull(0, 0);
- } else {
- int var7 = var3;
- int var8 = var4;
- int var9 = var5;
- int var10 = var6;
+ if (!Client.showLoadingMessages) {
+ return;
+ }
+ byte var2 = 4;
+ int var3 = var2 + 6;
+ int var4 = var2 + 6;
+ int var5 = class169.fontPlain12.lineWidth(var0, 250);
+ int var6 = class169.fontPlain12.lineCount(var0, 250) * 13;
+ Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var6 + var2 + var2, 0);
+ Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var5 + var2 + var2, var6 + var2 + var2, 0xffffff);
+ class169.fontPlain12.drawLines(var0, var3, var4, var5, var6, 0xffffff, -1, 1, 1, 0);
+ ChatChannel.method2215(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2);
+ if (var1) {
+ MusicPatchPcmStream.rasterProvider.drawFull(0, 0);
+ } else {
+ int var7 = var3;
+ int var8 = var4;
+ int var9 = var5;
+ int var10 = var6;
- for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) {
- if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var7 + var9 && Client.rootWidgetYs[var11] + Client.rootWidgetHeights[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) {
- Client.field861[var11] = true;
- }
+ for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) {
+ if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var7 + var9 && Client.rootWidgetYs[var11] + Client.rootWidgetHeights[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) {
+ Client.field861[var11] = true;
}
}
-
}
+
}
}
diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java
index cbcca414ef..259c4fba4e 100644
--- a/runescape-client/src/main/java/UrlRequest.java
+++ b/runescape-client/src/main/java/UrlRequest.java
@@ -46,13 +46,14 @@ public class UrlRequest {
signature = "(Lhp;Lhp;Lhp;Lhp;I)V",
garbageValue = "-354587299"
)
- public static void method3317(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) {
+ @Export("Widget_setArchives")
+ public static void Widget_setArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) {
Widget.Widget_archive = var0;
ViewportMouse.Widget_modelsArchive = var1;
class216.Widget_spritesArchive = var2;
DirectByteArrayCopier.Widget_fontsArchive = var3;
Widget.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][];
- ViewportMouse.loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()];
+ ViewportMouse.Widget_loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()];
}
@ObfuscatedName("e")
@@ -129,8 +130,8 @@ public class UrlRequest {
var9 = (var2 - var8) / 2;
if (var4) {
Rasterizer2D.Rasterizer2D_resetClip();
- Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216);
- Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, 0xff000000);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, 0xff000000);
}
var0 += var9;
@@ -145,8 +146,8 @@ public class UrlRequest {
var9 = (var3 - var8) / 2;
if (var4) {
Rasterizer2D.Rasterizer2D_resetClip();
- Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216);
- Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, 0xff000000);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, 0xff000000);
}
var1 += var9;
diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java
index 94824246f8..2f8a66b460 100644
--- a/runescape-client/src/main/java/Varcs.java
+++ b/runescape-client/src/main/java/Varcs.java
@@ -34,7 +34,8 @@ public class Varcs {
@ObfuscatedGetter(
longValue = -277979548816975331L
)
- long field1272;
+ @Export("lastWrittenMs")
+ long lastWrittenMs;
Varcs() {
this.unwrittenChanges = false;
@@ -252,7 +253,7 @@ public class Varcs {
}
this.unwrittenChanges = false;
- this.field1272 = DirectByteArrayCopier.currentTimeMs();
+ this.lastWrittenMs = DirectByteArrayCopier.currentTimeMs();
}
@ObfuscatedName("u")
@@ -354,7 +355,7 @@ public class Varcs {
)
@Export("tryWrite")
void tryWrite() {
- if (this.unwrittenChanges && this.field1272 < DirectByteArrayCopier.currentTimeMs() - 60000L) {
+ if (this.unwrittenChanges && this.lastWrittenMs < DirectByteArrayCopier.currentTimeMs() - 60000L) {
this.write();
}
diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java
index 577e48c255..400e03b615 100644
--- a/runescape-client/src/main/java/Varps.java
+++ b/runescape-client/src/main/java/Varps.java
@@ -38,159 +38,159 @@ public class Varps {
garbageValue = "1546167720"
)
static final int method3969(Widget var0, int var1) {
- if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) {
- try {
- int[] var2 = var0.cs1Instructions[var1];
- int var3 = 0;
- int var4 = 0;
- byte var5 = 0;
+ if (var0.cs1Instructions == null || var1 >= var0.cs1Instructions.length) {
+ return -2;
+ }
+ try {
+ int[] var2 = var0.cs1Instructions[var1];
+ int var3 = 0;
+ int var4 = 0;
+ byte var5 = 0;
- while (true) {
- int var6 = var2[var4++];
- int var7 = 0;
- byte var8 = 0;
- if (var6 == 0) {
- return var3;
- }
+ while (true) {
+ int var6 = var2[var4++];
+ int var7 = 0;
+ byte var8 = 0;
+ if (var6 == 0) {
+ return var3;
+ }
- if (var6 == 1) {
- var7 = Client.currentLevels[var2[var4++]];
- }
+ if (var6 == 1) {
+ var7 = Client.currentLevels[var2[var4++]];
+ }
- if (var6 == 2) {
- var7 = Client.levels[var2[var4++]];
- }
+ if (var6 == 2) {
+ var7 = Client.levels[var2[var4++]];
+ }
- if (var6 == 3) {
- var7 = Client.experience[var2[var4++]];
- }
+ if (var6 == 3) {
+ var7 = Client.experience[var2[var4++]];
+ }
- int var9;
- Widget var10;
- int var11;
- int var12;
- if (var6 == 4) {
- var9 = var2[var4++] << 16;
- var9 += var2[var4++];
- var10 = class80.getWidget(var9);
- var11 = var2[var4++];
- if (var11 != -1 && (!WorldMapArea.getItemDefinition(var11).isMembersOnly || Client.isMembersWorld)) {
- for (var12 = 0; var12 < var10.itemIds.length; ++var12) {
- if (var11 + 1 == var10.itemIds[var12]) {
- var7 += var10.itemQuantities[var12];
- }
+ int var9;
+ Widget var10;
+ int var11;
+ int var12;
+ if (var6 == 4) {
+ var9 = var2[var4++] << 16;
+ var9 += var2[var4++];
+ var10 = class80.getWidget(var9);
+ var11 = var2[var4++];
+ if (var11 != -1 && (!WorldMapArea.getItemDefinition(var11).isMembersOnly || Client.isMembersWorld)) {
+ for (var12 = 0; var12 < var10.itemIds.length; ++var12) {
+ if (var11 + 1 == var10.itemIds[var12]) {
+ var7 += var10.itemQuantities[var12];
}
}
}
-
- if (var6 == 5) {
- var7 = Varps_main[var2[var4++]];
- }
-
- if (var6 == 6) {
- var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1];
- }
-
- if (var6 == 7) {
- var7 = Varps_main[var2[var4++]] * 100 / 46875;
- }
-
- if (var6 == 8) {
- var7 = Client.localPlayer.combatLevel;
- }
-
- if (var6 == 9) {
- for (var9 = 0; var9 < 25; ++var9) {
- if (Skills.Skills_enabled[var9]) {
- var7 += Client.levels[var9];
- }
- }
- }
-
- if (var6 == 10) {
- var9 = var2[var4++] << 16;
- var9 += var2[var4++];
- var10 = class80.getWidget(var9);
- var11 = var2[var4++];
- if (var11 != -1 && (!WorldMapArea.getItemDefinition(var11).isMembersOnly || Client.isMembersWorld)) {
- for (var12 = 0; var12 < var10.itemIds.length; ++var12) {
- if (var11 + 1 == var10.itemIds[var12]) {
- var7 = 999999999;
- break;
- }
- }
- }
- }
-
- if (var6 == 11) {
- var7 = Client.runEnergy;
- }
-
- if (var6 == 12) {
- var7 = Client.weight;
- }
-
- if (var6 == 13) {
- var9 = Varps_main[var2[var4++]];
- int var13 = var2[var4++];
- var7 = (var9 & 1 << var13) != 0 ? 1 : 0;
- }
-
- if (var6 == 14) {
- var9 = var2[var4++];
- var7 = GrandExchangeOfferOwnWorldComparator.getVarbit(var9);
- }
-
- if (var6 == 15) {
- var8 = 1;
- }
-
- if (var6 == 16) {
- var8 = 2;
- }
-
- if (var6 == 17) {
- var8 = 3;
- }
-
- if (var6 == 18) {
- var7 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7);
- }
-
- if (var6 == 19) {
- var7 = class1.baseY * 64 + (Client.localPlayer.y >> 7);
- }
-
- if (var6 == 20) {
- var7 = var2[var4++];
- }
-
- if (var8 == 0) {
- if (var5 == 0) {
- var3 += var7;
- }
-
- if (var5 == 1) {
- var3 -= var7;
- }
-
- if (var5 == 2 && var7 != 0) {
- var3 /= var7;
- }
-
- if (var5 == 3) {
- var3 *= var7;
- }
-
- var5 = 0;
- } else {
- var5 = var8;
- }
}
- } catch (Exception var14) {
- return -1;
+
+ if (var6 == 5) {
+ var7 = Varps_main[var2[var4++]];
+ }
+
+ if (var6 == 6) {
+ var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1];
+ }
+
+ if (var6 == 7) {
+ var7 = Varps_main[var2[var4++]] * 100 / 46875;
+ }
+
+ if (var6 == 8) {
+ var7 = Client.localPlayer.combatLevel;
+ }
+
+ if (var6 == 9) {
+ for (var9 = 0; var9 < 25; ++var9) {
+ if (Skills.Skills_enabled[var9]) {
+ var7 += Client.levels[var9];
+ }
+ }
+ }
+
+ if (var6 == 10) {
+ var9 = var2[var4++] << 16;
+ var9 += var2[var4++];
+ var10 = class80.getWidget(var9);
+ var11 = var2[var4++];
+ if (var11 != -1 && (!WorldMapArea.getItemDefinition(var11).isMembersOnly || Client.isMembersWorld)) {
+ for (var12 = 0; var12 < var10.itemIds.length; ++var12) {
+ if (var11 + 1 == var10.itemIds[var12]) {
+ var7 = 999999999;
+ break;
+ }
+ }
+ }
+ }
+
+ if (var6 == 11) {
+ var7 = Client.runEnergy;
+ }
+
+ if (var6 == 12) {
+ var7 = Client.weight;
+ }
+
+ if (var6 == 13) {
+ var9 = Varps_main[var2[var4++]];
+ int var13 = var2[var4++];
+ var7 = (var9 & 1 << var13) != 0 ? 1 : 0;
+ }
+
+ if (var6 == 14) {
+ var9 = var2[var4++];
+ var7 = GrandExchangeOfferOwnWorldComparator.getVarbit(var9);
+ }
+
+ if (var6 == 15) {
+ var8 = 1;
+ }
+
+ if (var6 == 16) {
+ var8 = 2;
+ }
+
+ if (var6 == 17) {
+ var8 = 3;
+ }
+
+ if (var6 == 18) {
+ var7 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7);
+ }
+
+ if (var6 == 19) {
+ var7 = class1.baseY * 64 + (Client.localPlayer.y >> 7);
+ }
+
+ if (var6 == 20) {
+ var7 = var2[var4++];
+ }
+
+ if (var8 == 0) {
+ if (var5 == 0) {
+ var3 += var7;
+ }
+
+ if (var5 == 1) {
+ var3 -= var7;
+ }
+
+ if (var5 == 2 && var7 != 0) {
+ var3 /= var7;
+ }
+
+ if (var5 == 3) {
+ var3 *= var7;
+ }
+
+ var5 = 0;
+ } else {
+ var5 = var8;
+ }
}
+ } catch (Exception var14) {
+ return -1;
}
- return -2;
}
}
diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java
index 334c37f412..12bbe70407 100644
--- a/runescape-client/src/main/java/ViewportMouse.java
+++ b/runescape-client/src/main/java/ViewportMouse.java
@@ -36,8 +36,8 @@ public class ViewportMouse {
)
static int field1746;
@ObfuscatedName("i")
- @Export("loadedInterfaces")
- public static boolean[] loadedInterfaces;
+ @Export("Widget_loadedInterfaces")
+ public static boolean[] Widget_loadedInterfaces;
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "Lhp;"
diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java
index 07b1d1def4..1e76e0656f 100644
--- a/runescape-client/src/main/java/Widget.java
+++ b/runescape-client/src/main/java/Widget.java
@@ -635,9 +635,11 @@ public class Widget extends Node {
@Export("children")
public Widget[] children;
@ObfuscatedName("fi")
- public boolean field2642;
+ @Export("containsMouse")
+ public boolean containsMouse;
@ObfuscatedName("fk")
- public boolean field2589;
+ @Export("isClicked")
+ public boolean isClicked;
@ObfuscatedName("fg")
@ObfuscatedGetter(
intValue = -1473790409
@@ -773,8 +775,8 @@ public class Widget extends Node {
this.itemQuantity = 0;
this.modelFrame = 0;
this.modelFrameCycle = 0;
- this.field2642 = false;
- this.field2589 = false;
+ this.containsMouse = false;
+ this.isClicked = false;
this.field2689 = -1;
this.field2592 = 0;
this.field2603 = 0;
@@ -1275,15 +1277,15 @@ public class Widget extends Node {
return null;
}
if (this.spriteFlipV) {
- var5.method6128();
+ var5.flipVertically();
}
if (this.spriteFlipH) {
- var5.method6117();
+ var5.flipHorizontally();
}
if (this.outline > 0) {
- var5.method6115(this.outline);
+ var5.pad(this.outline);
}
if (this.outline >= 1) {
@@ -1291,7 +1293,7 @@ public class Widget extends Node {
}
if (this.outline >= 2) {
- var5.outline(16777215);
+ var5.outline(0xffffff);
}
if (this.spriteShadow != 0) {
diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java
index df6336903f..28c08e17b2 100644
--- a/runescape-client/src/main/java/WorldMap.java
+++ b/runescape-client/src/main/java/WorldMap.java
@@ -237,7 +237,8 @@ public class WorldMap {
)
int field4011;
@ObfuscatedName("bi")
- final int[] field4020;
+ @Export("menuOpcodes")
+ final int[] menuOpcodes;
@ObfuscatedName("bg")
List field3972;
@ObfuscatedName("bh")
@@ -314,7 +315,7 @@ public class WorldMap {
this.field3988 = new HashSet();
this.elementsDisabled = false;
this.field4011 = 0;
- this.field4020 = new int[]{1008, 1009, 1010, 1011, 1012};
+ this.menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012};
this.field4005 = new HashSet();
this.mouseCoord = null;
this.showCoord = false;
@@ -373,49 +374,51 @@ public class WorldMap {
garbageValue = "-2047217979"
)
@Export("onCycle")
- public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) {
- if (this.cacheLoader.getIsLoaded()) {
- this.smoothZoom();
- this.scrollToTarget();
- if (var3) {
- int var8 = (int)Math.ceil((double)((float)var6 / this.zoom));
- int var9 = (int)Math.ceil((double)((float)var7 / this.zoom));
- List var10 = this.worldMapManager.method607(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2);
- HashSet var11 = new HashSet();
+ public void onCycle(int mouseX, int mouseY, boolean mouseOver, int xOffset, int yOffset, int width, int height) {
+ if (!this.cacheLoader.isLoaded()) {
+ return;
+ }
+ this.smoothZoom();
+ this.scrollToTarget();
+ if (!mouseOver) {
+ return;
+ }
+ int var8 = (int)Math.ceil((double)((float)width / this.zoom));
+ int var9 = (int)Math.ceil((double)((float)height / this.zoom));
+ List var10 = this.worldMapManager.method607(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, xOffset, yOffset, width, height, mouseX, mouseY);
+ HashSet var11 = new HashSet();
- Iterator var12;
- AbstractWorldMapIcon var13;
- ScriptEvent var14;
- WorldMapEvent var15;
- for (var12 = var10.iterator(); var12.hasNext(); LoginPacket.runScriptEvent(var14)) {
- var13 = (AbstractWorldMapIcon)var12.next();
- var11.add(var13);
- var14 = new ScriptEvent();
- var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2);
- var14.setArgs(new Object[]{var15, var1, var2});
- if (this.field4005.contains(var13)) {
- var14.setType(17);
- } else {
- var14.setType(15);
- }
- }
-
- var12 = this.field4005.iterator();
-
- while (var12.hasNext()) {
- var13 = (AbstractWorldMapIcon)var12.next();
- if (!var11.contains(var13)) {
- var14 = new ScriptEvent();
- var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2);
- var14.setArgs(new Object[]{var15, var1, var2});
- var14.setType(16);
- LoginPacket.runScriptEvent(var14);
- }
- }
-
- this.field4005 = var11;
+ Iterator var12;
+ AbstractWorldMapIcon var13;
+ ScriptEvent var14;
+ WorldMapEvent var15;
+ for (var12 = var10.iterator(); var12.hasNext(); LoginPacket.runScriptEvent(var14)) {
+ var13 = (AbstractWorldMapIcon)var12.next();
+ var11.add(var13);
+ var14 = new ScriptEvent();
+ var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2);
+ var14.setArgs(new Object[]{var15, mouseX, mouseY});
+ if (this.field4005.contains(var13)) {
+ var14.setType(17);
+ } else {
+ var14.setType(15);
}
}
+
+ var12 = this.field4005.iterator();
+
+ while (var12.hasNext()) {
+ var13 = (AbstractWorldMapIcon)var12.next();
+ if (!var11.contains(var13)) {
+ var14 = new ScriptEvent();
+ var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2);
+ var14.setArgs(new Object[]{var15, mouseX, mouseY});
+ var14.setType(16);
+ LoginPacket.runScriptEvent(var14);
+ }
+ }
+
+ this.field4005 = var11;
}
@ObfuscatedName("p")
@@ -423,11 +426,11 @@ public class WorldMap {
signature = "(IIZZB)V",
garbageValue = "24"
)
- public void method6301(int var1, int var2, boolean var3, boolean var4) {
+ public void method6301(int var1, int var2, boolean isClicked, boolean wasClicked) {
long var5 = DirectByteArrayCopier.currentTimeMs();
- this.method6302(var1, var2, var4, var5);
- if (!this.hasTarget() && (var4 || var3)) {
- if (var4) {
+ this.method6302(var1, var2, wasClicked, var5);
+ if (!this.hasTarget() && (wasClicked || isClicked)) {
+ if (wasClicked) {
this.field4001 = var1;
this.field3989 = var2;
this.field4006 = this.centerTileX;
@@ -443,7 +446,7 @@ public class WorldMap {
this.method6306();
}
- if (var4) {
+ if (wasClicked) {
this.field3982 = var5;
this.field4000 = var1;
this.field4012 = var2;
@@ -460,7 +463,7 @@ public class WorldMap {
if (this.mouseCoord != null && var3) {
boolean var8 = Client.staffModLevel >= 2;
if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) {
- WorldMapLabel.method418(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false);
+ WorldMapLabel.changePlane(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false);
} else {
boolean var9 = true;
if (this.field4013) {
@@ -729,60 +732,60 @@ public class WorldMap {
garbageValue = "-365948534"
)
@Export("draw")
- public void draw(int var1, int var2, int var3, int var4, int var5) {
+ public void draw(int x, int y, int width, int height, int cycle) {
int[] var6 = new int[4];
Rasterizer2D.Rasterizer2D_getClipArray(var6);
- Rasterizer2D.Rasterizer2D_setClip(var1, var2, var3 + var1, var2 + var4);
- Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216);
+ Rasterizer2D.Rasterizer2D_setClip(x, y, width + x, y + height);
+ Rasterizer2D.Rasterizer2D_fillRectangle(x, y, width, height, 0xff000000);
int var7 = this.cacheLoader.getPercentLoaded();
if (var7 < 100) {
- this.drawLoading(var1, var2, var3, var4, var7);
- } else {
- if (!this.worldMapManager.isLoaded()) {
- this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld);
- if (!this.worldMapManager.isLoaded()) {
- return;
- }
- }
-
- if (this.flashingElements != null) {
- ++this.flashCycle;
- if (this.flashCycle % this.cyclesPerFlash == 0) {
- this.flashCycle = 0;
- ++this.flashCount;
- }
-
- if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) {
- this.flashingElements = null;
- }
- }
-
- int var8 = (int)Math.ceil((double)((float)var3 / this.zoom));
- int var9 = (int)Math.ceil((double)((float)var4 / this.zoom));
- this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4);
- boolean var10;
- if (!this.elementsDisabled) {
- var10 = false;
- if (var5 - this.field4011 > 100) {
- this.field4011 = var5;
- var10 = true;
- }
-
- this.worldMapManager.method605(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field3988, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10);
- }
-
- this.method6319(var1, var2, var3, var4, var8, var9);
- var10 = Client.staffModLevel >= 2;
- if (var10 && this.showCoord && this.mouseCoord != null) {
- this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1);
- }
-
- this.worldMapDisplayWidth = var8;
- this.worldMapDisplayHeight = var9;
- this.worldMapDisplayX = var1;
- this.worldMapDisplayY = var2;
- Rasterizer2D.Rasterizer2D_setClipArray(var6);
+ this.drawLoading(x, y, width, height, var7);
+ return;
}
+ if (!this.worldMapManager.isLoaded()) {
+ this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld);
+ if (!this.worldMapManager.isLoaded()) {
+ return;
+ }
+ }
+
+ if (this.flashingElements != null) {
+ ++this.flashCycle;
+ if (this.flashCycle % this.cyclesPerFlash == 0) {
+ this.flashCycle = 0;
+ ++this.flashCount;
+ }
+
+ if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) {
+ this.flashingElements = null;
+ }
+ }
+
+ int var8 = (int)Math.ceil((double)((float)width / this.zoom));
+ int var9 = (int)Math.ceil((double)((float)height / this.zoom));
+ this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, x, y, width + x, y + height);
+ boolean var10;
+ if (!this.elementsDisabled) {
+ var10 = false;
+ if (cycle - this.field4011 > 100) {
+ this.field4011 = cycle;
+ var10 = true;
+ }
+
+ this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, x, y, width + x, y + height, this.field3988, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10);
+ }
+
+ this.method6319(x, y, width, height, var8, var9);
+ var10 = Client.staffModLevel >= 2;
+ if (var10 && this.showCoord && this.mouseCoord != null) {
+ this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 0xffff00, -1);
+ }
+
+ this.worldMapDisplayWidth = var8;
+ this.worldMapDisplayHeight = var9;
+ this.worldMapDisplayX = x;
+ this.worldMapDisplayY = y;
+ Rasterizer2D.Rasterizer2D_setClipArray(var6);
}
@ObfuscatedName("z")
@@ -794,18 +797,18 @@ public class WorldMap {
if (this.sprite == null) {
return true;
}
- if (this.sprite.subWidth == var1 && this.sprite.subHeight == var2) {
- if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) {
- return true;
- }
- if (this.field4030 != Client.field924) {
- return true;
- }
- if (var3 <= 0 && var4 <= 0) {
- return var3 + var1 < var5 || var2 + var4 < var6;
- }
+ if (this.sprite.subWidth != var1 || this.sprite.subHeight != var2) {
return true;
}
+ if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) {
+ return true;
+ }
+ if (this.field4030 != Client.field924) {
+ return true;
+ }
+ if (var3 <= 0 && var4 <= 0) {
+ return var3 + var1 < var5 || var2 + var4 < var6;
+ }
return true;
}
@@ -815,39 +818,40 @@ public class WorldMap {
garbageValue = "-125"
)
void method6319(int var1, int var2, int var3, int var4, int var5, int var6) {
- if (PendingSpawn.field944 != null) {
- int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2);
- int var8 = var3 + 512;
- int var9 = var4 + 512;
- float var10 = 1.0F;
- var8 = (int)((float)var8 / var10);
- var9 = (int)((float)var9 / var10);
- int var11 = this.getDisplayX() - var5 / 2 - var7;
- int var12 = this.getDisplayY() - var6 / 2 - var7;
- int var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile;
- int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY));
- if (this.method6318(var8, var9, var13, var14, var3, var4)) {
- if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) {
- Arrays.fill(this.sprite.pixels, 0);
- } else {
- this.sprite = new Sprite(var8, var9);
- }
-
- this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7;
- this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7;
- this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile;
- PendingSpawn.field944.method4321(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10);
- this.field4030 = Client.field924;
- var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile;
- var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY));
- }
-
- Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128);
- if (1.0F == var10) {
- this.sprite.method6135(var13, var14, 192);
+ if (PendingSpawn.field944 == null) {
+ return;
+ }
+ int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2);
+ int var8 = var3 + 512;
+ int var9 = var4 + 512;
+ float var10 = 1.0F;
+ var8 = (int)((float)var8 / var10);
+ var9 = (int)((float)var9 / var10);
+ int var11 = this.getDisplayX() - var5 / 2 - var7;
+ int var12 = this.getDisplayY() - var6 / 2 - var7;
+ int var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile;
+ int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY));
+ if (this.method6318(var8, var9, var13, var14, var3, var4)) {
+ if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) {
+ Arrays.fill(this.sprite.pixels, 0);
} else {
- this.sprite.method6217(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192);
+ this.sprite = new Sprite(var8, var9);
}
+
+ this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7;
+ this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7;
+ this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile;
+ PendingSpawn.field944.method4321(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10);
+ this.field4030 = Client.field924;
+ var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile;
+ var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY));
+ }
+
+ Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128);
+ if (1.0F == var10) {
+ this.sprite.method6135(var13, var14, 192);
+ } else {
+ this.sprite.method6217(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192);
}
}
@@ -859,7 +863,7 @@ public class WorldMap {
)
@Export("drawOverview")
public void drawOverview(int var1, int var2, int var3, int var4) {
- if (this.cacheLoader.getIsLoaded()) {
+ if (this.cacheLoader.isLoaded()) {
if (!this.worldMapManager.isLoaded()) {
this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld);
if (!this.worldMapManager.isLoaded()) {
@@ -887,13 +891,13 @@ public class WorldMap {
garbageValue = "1955930802"
)
@Export("drawLoading")
- void drawLoading(int var1, int var2, int var3, int var4, int var5) {
+ void drawLoading(int x, int y, int width, int height, int percentLoaded) {
byte var6 = 20;
- int var7 = var3 / 2 + var1;
- int var8 = var4 / 2 + var2 - 18 - var6;
- Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216);
+ int var7 = width / 2 + x;
+ int var8 = height / 2 + y - 18 - var6;
+ Rasterizer2D.Rasterizer2D_fillRectangle(x, y, width, height, 0xff000000);
Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536);
- Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536);
+ Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, percentLoaded * 3, 30, -65536);
this.font.drawCentered("Loading...", var7, var6 + var8, -1, -1);
}
@@ -958,7 +962,7 @@ public class WorldMap {
)
@Export("isCacheLoaded")
public boolean isCacheLoaded() {
- return this.cacheLoader.getIsLoaded();
+ return this.cacheLoader.isLoaded();
}
@ObfuscatedName("az")
@@ -1168,8 +1172,8 @@ public class WorldMap {
this.flashCycle = 0;
for (int var2 = 0; var2 < UserComparator1.WorldMapElement_count; ++var2) {
- if (class222.getWorldMapElement(var2) != null && class222.getWorldMapElement(var2).category == var1) {
- this.flashingElements.add(class222.getWorldMapElement(var2).objectId);
+ if (class222.WorldMapElement_get(var2) != null && class222.WorldMapElement_get(var2).category == var1) {
+ this.flashingElements.add(class222.WorldMapElement_get(var2).objectId);
}
}
@@ -1225,8 +1229,8 @@ public class WorldMap {
}
for (int var3 = 0; var3 < UserComparator1.WorldMapElement_count; ++var3) {
- if (class222.getWorldMapElement(var3) != null && class222.getWorldMapElement(var3).category == var1) {
- int var4 = class222.getWorldMapElement(var3).objectId;
+ if (class222.WorldMapElement_get(var3) != null && class222.WorldMapElement_get(var3).category == var1) {
+ int var4 = class222.WorldMapElement_get(var3).objectId;
if (!var2) {
this.enabledElementIds.add(var4);
} else {
@@ -1284,34 +1288,37 @@ public class WorldMap {
signature = "(IIIIIII)V",
garbageValue = "90618974"
)
- public void method6482(int var1, int var2, int var3, int var4, int var5, int var6) {
- if (this.cacheLoader.getIsLoaded()) {
- int var7 = (int)Math.ceil((double)((float)var3 / this.zoom));
- int var8 = (int)Math.ceil((double)((float)var4 / this.zoom));
- List var9 = this.worldMapManager.method607(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6);
- if (!var9.isEmpty()) {
- Iterator var10 = var9.iterator();
-
- boolean var13;
- do {
- if (!var10.hasNext()) {
- return;
- }
-
- AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next();
- WorldMapElement var12 = class222.getWorldMapElement(var11.getElement());
- var13 = false;
-
- for (int var14 = this.field4020.length - 1; var14 >= 0; --var14) {
- if (var12.strings[var14] != null) {
- class188.insertMenuItemNoShift(var12.strings[var14], var12.string1, this.field4020[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed());
- var13 = true;
- }
- }
- } while(!var13);
-
- }
+ @Export("addElementMenuOptions")
+ public void addElementMenuOptions(int xOffset, int yOffset, int width, int height, int mouseX, int mouseY) {
+ if (!this.cacheLoader.isLoaded()) {
+ return;
}
+ int var7 = (int)Math.ceil((double)((float)width / this.zoom));
+ int var8 = (int)Math.ceil((double)((float)height / this.zoom));
+ List var9 = this.worldMapManager.method607(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, xOffset, yOffset, width, height, mouseX, mouseY);
+ if (var9.isEmpty()) {
+ return;
+ }
+ Iterator var10 = var9.iterator();
+
+ boolean var13;
+ do {
+ if (!var10.hasNext()) {
+ return;
+ }
+
+ AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next();
+ WorldMapElement var12 = class222.WorldMapElement_get(var11.getElement());
+ var13 = false;
+
+ for (int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) {
+ if (var12.menuActions[var14] != null) {
+ class188.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed());
+ var13 = true;
+ }
+ }
+ } while(!var13);
+
}
@ObfuscatedName("bx")
@@ -1320,7 +1327,7 @@ public class WorldMap {
garbageValue = "719601861"
)
public Coord method6352(int var1, Coord var2) {
- if (!this.cacheLoader.getIsLoaded()) {
+ if (!this.cacheLoader.isLoaded()) {
return null;
}
if (!this.worldMapManager.isLoaded()) {
@@ -1397,7 +1404,7 @@ public class WorldMap {
)
@Export("iconStart")
public AbstractWorldMapIcon iconStart() {
- if (!this.cacheLoader.getIsLoaded()) {
+ if (!this.cacheLoader.isLoaded()) {
return null;
}
if (!this.worldMapManager.isLoaded()) {
diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java
index f3e7491d63..542725bfc9 100644
--- a/runescape-client/src/main/java/WorldMapArchiveLoader.java
+++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java
@@ -23,15 +23,15 @@ public class WorldMapArchiveLoader {
@Export("percentLoaded")
int percentLoaded;
@ObfuscatedName("i")
- @Export("isLoaded")
- boolean isLoaded;
+ @Export("loaded")
+ boolean loaded;
@ObfuscatedSignature(
signature = "(Lhp;)V"
)
WorldMapArchiveLoader(AbstractArchive var1) {
this.percentLoaded = 0;
- this.isLoaded = false;
+ this.loaded = false;
this.archive = var1;
}
@@ -46,7 +46,7 @@ public class WorldMapArchiveLoader {
if (var1 != this.cacheName) {
this.cacheName = var1;
this.percentLoaded = 0;
- this.isLoaded = false;
+ this.loaded = false;
this.load();
}
}
@@ -81,7 +81,7 @@ public class WorldMapArchiveLoader {
}
this.percentLoaded = 100;
- this.isLoaded = true;
+ this.loaded = true;
}
return this.percentLoaded;
@@ -92,9 +92,9 @@ public class WorldMapArchiveLoader {
signature = "(I)Z",
garbageValue = "1906092832"
)
- @Export("getIsLoaded")
- boolean getIsLoaded() {
- return this.isLoaded;
+ @Export("isLoaded")
+ boolean isLoaded() {
+ return this.loaded;
}
@ObfuscatedName("p")
diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java
index 48d8b6c53c..a160bde3e1 100644
--- a/runescape-client/src/main/java/WorldMapArea.java
+++ b/runescape-client/src/main/java/WorldMapArea.java
@@ -427,7 +427,7 @@ public class WorldMapArea {
var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder));
}
- if (!ModelData0.inMembersWorld && var1.isMembersOnly) {
+ if (!ModelData0.ItemDefinition_inMembersWorld && var1.isMembersOnly) {
var1.name = "Members object";
var1.isTradable = false;
var1.groundActions = null;
@@ -608,7 +608,7 @@ public class WorldMapArea {
var22.offset += var7;
NetCache.field3175 += var7;
if (var6 == VarpDefinition.NetCache_responseArchiveBuffer.offset) {
- if (16711935L == class226.NetCache_currentResponse.key) {
+ if (0xff00ffL == class226.NetCache_currentResponse.key) {
AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer;
for (var8 = 0; var8 < 256; ++var8) {
@@ -638,7 +638,7 @@ public class WorldMapArea {
NetCache.NetCache_crcMismatches = 0;
NetCache.NetCache_ioExceptions = 0;
- class226.NetCache_currentResponse.archive.write((int)(class226.NetCache_currentResponse.key & 65535L), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 16711680L) == 16711680L, class215.field2545);
+ class226.NetCache_currentResponse.archive.write((int)(class226.NetCache_currentResponse.key & 65535L), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 0xff0000L) == 0xff0000L, class215.field2545);
}
class226.NetCache_currentResponse.remove();
diff --git a/runescape-client/src/main/java/WorldMapData_0.java b/runescape-client/src/main/java/WorldMapData_0.java
index 070789d82a..86bf6ae9bc 100644
--- a/runescape-client/src/main/java/WorldMapData_0.java
+++ b/runescape-client/src/main/java/WorldMapData_0.java
@@ -78,7 +78,8 @@ public class WorldMapData_0 extends AbstractWorldMapData {
signature = "(Lhp;I)V",
garbageValue = "-1590503408"
)
- public static void method173(AbstractArchive var0) {
+ @Export("InvDefinition_setArchives")
+ public static void InvDefinition_setArchives(AbstractArchive var0) {
InvDefinition.InvDefinition_archive = var0;
}
}
diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java
index 8e3fef0932..f733190e8f 100644
--- a/runescape-client/src/main/java/WorldMapDecoration.java
+++ b/runescape-client/src/main/java/WorldMapDecoration.java
@@ -52,7 +52,7 @@ public class WorldMapDecoration {
var3 = var2 ? Interpreter.field1111 : Calendar.field2507;
}
- Strings.method4120(var3);
+ Strings.invalidateWidget(var3);
if (var0 == ScriptOpcodes.CC_SETOBJECT || var0 == ScriptOpcodes.CC_SETOBJECT_NONUM || var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) {
HealthBarUpdate.Interpreter_intStackSize -= 2;
int var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java
index a2f77eac51..b45bc93410 100644
--- a/runescape-client/src/main/java/WorldMapElement.java
+++ b/runescape-client/src/main/java/WorldMapElement.java
@@ -59,11 +59,11 @@ public class WorldMapElement extends DualNode {
@Export("textSize")
public int textSize;
@ObfuscatedName("u")
- @Export("strings")
- public String[] strings;
+ @Export("menuActions")
+ public String[] menuActions;
@ObfuscatedName("x")
- @Export("string1")
- public String string1;
+ @Export("menuTargetName")
+ public String menuTargetName;
@ObfuscatedName("r")
int[] field3221;
@ObfuscatedName("v")
@@ -117,7 +117,7 @@ public class WorldMapElement extends DualNode {
this.sprite1 = -1;
this.sprite2 = -1;
this.textSize = 0;
- this.strings = new String[5];
+ this.menuActions = new String[5];
this.field3222 = Integer.MAX_VALUE;
this.field3223 = Integer.MAX_VALUE;
this.field3224 = Integer.MIN_VALUE;
@@ -164,72 +164,72 @@ public class WorldMapElement extends DualNode {
var1.readMedium();
} else if (var2 == 6) {
this.textSize = var1.readUnsignedByte();
- } else {
- int var3;
- if (var2 == 7) {
- var3 = var1.readUnsignedByte();
- if ((var3 & 1) == 0) {
- }
-
- if ((var3 & 2) == 2) {
- }
- } else if (var2 == 8) {
- var1.readUnsignedByte();
- } else if (var2 >= 10 && var2 <= 14) {
- this.strings[var2 - 10] = var1.readStringCp1252NullTerminated();
- } else if (var2 == 15) {
- var3 = var1.readUnsignedByte();
- this.field3221 = new int[var3 * 2];
-
- int var4;
- for (var4 = 0; var4 < var3 * 2; ++var4) {
- this.field3221[var4] = var1.readShort();
- }
-
- var1.readInt();
- var4 = var1.readUnsignedByte();
- this.field3228 = new int[var4];
-
- int var5;
- for (var5 = 0; var5 < this.field3228.length; ++var5) {
- this.field3228[var5] = var1.readInt();
- }
-
- this.field3214 = new byte[var3];
-
- for (var5 = 0; var5 < var3; ++var5) {
- this.field3214[var5] = var1.readByte();
- }
- } else if (var2 != 16) {
- if (var2 == 17) {
- this.string1 = var1.readStringCp1252NullTerminated();
- } else if (var2 == 18) {
- var1.method5511();
- } else if (var2 == 19) {
- this.category = var1.readUnsignedShort();
- } else if (var2 == 21) {
- var1.readInt();
- } else if (var2 == 22) {
- var1.readInt();
- } else if (var2 == 23) {
- var1.readUnsignedByte();
- var1.readUnsignedByte();
- var1.readUnsignedByte();
- } else if (var2 == 24) {
- var1.readShort();
- var1.readShort();
- } else if (var2 == 25) {
- var1.method5511();
- } else if (var2 == 28) {
- var1.readUnsignedByte();
- } else if (var2 == 29) {
- HorizontalAlignment[] var6 = new HorizontalAlignment[]{HorizontalAlignment.field3461, HorizontalAlignment.field3460, HorizontalAlignment.HorizontalAlignment_centered};
- this.horizontalAlignment = (HorizontalAlignment)SoundSystem.findEnumerated(var6, var1.readUnsignedByte());
- } else if (var2 == 30) {
- VerticalAlignment[] var7 = new VerticalAlignment[]{VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field3195, VerticalAlignment.field3194};
- this.verticalAlignment = (VerticalAlignment)SoundSystem.findEnumerated(var7, var1.readUnsignedByte());
- }
+ } else if (var2 == 7) {
+ int var3 = var1.readUnsignedByte();
+ if ((var3 & 1) == 0)
+ {
}
+
+ if ((var3 & 2) == 2)
+ {
+ }
+ } else if (var2 == 8) {
+ var1.readUnsignedByte();
+ } else if (var2 >= 10 && var2 <= 14) {
+ this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated();
+ } else if (var2 == 15) {
+ int var3 = var1.readUnsignedByte();
+ this.field3221 = new int[var3 * 2];
+
+ int var4;
+ for (var4 = 0; var4 < var3 * 2; ++var4) {
+ this.field3221[var4] = var1.readShort();
+ }
+
+ var1.readInt();
+ var4 = var1.readUnsignedByte();
+ this.field3228 = new int[var4];
+
+ int var5;
+ for (var5 = 0; var5 < this.field3228.length; ++var5) {
+ this.field3228[var5] = var1.readInt();
+ }
+
+ this.field3214 = new byte[var3];
+
+ for (var5 = 0; var5 < var3; ++var5) {
+ this.field3214[var5] = var1.readByte();
+ }
+ } else if (var2 == 16) {
+ return;
+ }
+ if (var2 == 17) {
+ this.menuTargetName = var1.readStringCp1252NullTerminated();
+ } else if (var2 == 18) {
+ var1.method5511();
+ } else if (var2 == 19) {
+ this.category = var1.readUnsignedShort();
+ } else if (var2 == 21) {
+ var1.readInt();
+ } else if (var2 == 22) {
+ var1.readInt();
+ } else if (var2 == 23) {
+ var1.readUnsignedByte();
+ var1.readUnsignedByte();
+ var1.readUnsignedByte();
+ } else if (var2 == 24) {
+ var1.readShort();
+ var1.readShort();
+ } else if (var2 == 25) {
+ var1.method5511();
+ } else if (var2 == 28) {
+ var1.readUnsignedByte();
+ } else if (var2 == 29) {
+ HorizontalAlignment[] var6 = new HorizontalAlignment[]{HorizontalAlignment.field3461, HorizontalAlignment.field3460, HorizontalAlignment.HorizontalAlignment_centered};
+ this.horizontalAlignment = (HorizontalAlignment) SoundSystem.findEnumerated(var6, var1.readUnsignedByte());
+ } else if (var2 == 30) {
+ VerticalAlignment[] var7 = new VerticalAlignment[]{VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field3195, VerticalAlignment.field3194};
+ this.verticalAlignment = (VerticalAlignment) SoundSystem.findEnumerated(var7, var1.readUnsignedByte());
}
}
@@ -240,19 +240,20 @@ public class WorldMapElement extends DualNode {
garbageValue = "2017602837"
)
public void method4370() {
- if (this.field3221 != null) {
- for (int var1 = 0; var1 < this.field3221.length; var1 += 2) {
- if (this.field3221[var1] < this.field3222) {
- this.field3222 = this.field3221[var1];
- } else if (this.field3221[var1] > this.field3224) {
- this.field3224 = this.field3221[var1];
- }
+ if (this.field3221 == null) {
+ return;
+ }
+ for (int var1 = 0; var1 < this.field3221.length; var1 += 2) {
+ if (this.field3221[var1] < this.field3222) {
+ this.field3222 = this.field3221[var1];
+ } else if (this.field3221[var1] > this.field3224) {
+ this.field3224 = this.field3221[var1];
+ }
- if (this.field3221[var1 + 1] < this.field3223) {
- this.field3223 = this.field3221[var1 + 1];
- } else if (this.field3221[var1 + 1] > this.field3231) {
- this.field3231 = this.field3221[var1 + 1];
- }
+ if (this.field3221[var1 + 1] < this.field3223) {
+ this.field3223 = this.field3221[var1 + 1];
+ } else if (this.field3221[var1 + 1] > this.field3231) {
+ this.field3231 = this.field3221[var1 + 1];
}
}
@@ -309,19 +310,21 @@ public class WorldMapElement extends DualNode {
static final void method4368(boolean var0) {
class186.playPcmPlayers();
++Client.packetWriter.field1319;
- if (Client.packetWriter.field1319 >= 50 || var0) {
- Client.packetWriter.field1319 = 0;
- if (!Client.field701 && Client.packetWriter.getSocket() != null) {
- PacketBufferNode var1 = Archive.method4265(ClientPacket.field2225, Client.packetWriter.isaacCipher);
- Client.packetWriter.method2219(var1);
-
- try {
- Client.packetWriter.method2234();
- } catch (IOException var3) {
- Client.field701 = true;
- }
- }
-
+ if (Client.packetWriter.field1319 < 50 && !var0) {
+ return;
}
+ Client.packetWriter.field1319 = 0;
+ if (Client.field701 || Client.packetWriter.getSocket() == null) {
+ return;
+ }
+ PacketBufferNode var1 = Archive.method4265(ClientPacket.field2225, Client.packetWriter.isaacCipher);
+ Client.packetWriter.method2219(var1);
+
+ try {
+ Client.packetWriter.method2234();
+ } catch (IOException var3) {
+ Client.field701 = true;
+ }
+
}
}
diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java
index 1b573d35c8..7ac6c9db2a 100644
--- a/runescape-client/src/main/java/WorldMapID.java
+++ b/runescape-client/src/main/java/WorldMapID.java
@@ -239,7 +239,7 @@ public class WorldMapID {
}
Client.isSpellSelected = false;
- Strings.method4120(var0);
+ Strings.invalidateWidget(var0);
}
}
diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java
index 89517da150..827d05a5fa 100644
--- a/runescape-client/src/main/java/WorldMapIcon_0.java
+++ b/runescape-client/src/main/java/WorldMapIcon_0.java
@@ -54,7 +54,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon {
super(var1, var2);
this.element = var3;
this.label = var4;
- WorldMapElement var5 = class222.getWorldMapElement(this.getElement());
+ WorldMapElement var5 = class222.WorldMapElement_get(this.getElement());
Sprite var6 = var5.getSpriteBool(false);
if (var6 != null) {
this.subWidth = var6.subWidth;
diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java
index 41c3c543b2..2869b0d7dd 100644
--- a/runescape-client/src/main/java/WorldMapIcon_1.java
+++ b/runescape-client/src/main/java/WorldMapIcon_1.java
@@ -123,8 +123,8 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon {
@Export("init")
void init() {
this.element = ViewportMouse.getObjectDefinition(this.objectDefId).transform().mapIconId;
- this.label = this.region.createMapLabel(class222.getWorldMapElement(this.element));
- WorldMapElement var1 = class222.getWorldMapElement(this.getElement());
+ this.label = this.region.createMapLabel(class222.WorldMapElement_get(this.element));
+ WorldMapElement var1 = class222.WorldMapElement_get(this.getElement());
Sprite var2 = var1.getSpriteBool(false);
if (var2 != null) {
this.subWidth = var2.subWidth;
diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java
index 2b518b79f5..f2586dcc30 100644
--- a/runescape-client/src/main/java/WorldMapLabel.java
+++ b/runescape-client/src/main/java/WorldMapLabel.java
@@ -115,7 +115,8 @@ public class WorldMapLabel {
signature = "(IB)Ljava/lang/String;",
garbageValue = "108"
)
- static String method417(int var0) {
+ @Export("getMenuText")
+ static String getMenuText(int var0) {
if (var0 < 0) {
return "";
}
@@ -127,7 +128,8 @@ public class WorldMapLabel {
signature = "(IIIZI)V",
garbageValue = "-1379117889"
)
- public static void method418(int var0, int var1, int var2, boolean var3) {
+ @Export("changePlane")
+ public static void changePlane(int var0, int var1, int var2, boolean var3) {
PacketBufferNode var4 = Archive.method4265(ClientPacket.field2296, Client.packetWriter.isaacCipher);
var4.packetBuffer.writeIntME(var3 ? Client.field855 : 0);
var4.packetBuffer.writeShortLE(var1);
diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java
index ae88f71c25..e2466a532a 100644
--- a/runescape-client/src/main/java/WorldMapManager.java
+++ b/runescape-client/src/main/java/WorldMapManager.java
@@ -240,7 +240,7 @@ public final class WorldMapManager {
for (int var21 = var13.x; var21 < var13.x + var13.width; ++var21) {
for (int var22 = var13.y; var22 < var13.y + var13.height; ++var22) {
- this.regions[var21][var22].method506(var5 + var18 * (this.regions[var21][var22].regionx * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18);
+ this.regions[var21][var22].method506(var5 + var18 * (this.regions[var21][var22].regionX * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18);
}
}
@@ -251,12 +251,13 @@ public final class WorldMapManager {
signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V",
garbageValue = "-855095363"
)
- public final void method605(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) {
- WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4);
- float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1);
+ @Export("drawElements")
+ public final void drawElements(int minTileX, int minTileY, int maxTileX, int maxTileY, int x, int y, int endX, int endY, HashSet var9, HashSet flashingElements, int flashCycle, int cyclesPerFlash, boolean var13) {
+ WorldMapRectangle var14 = this.createWorldMapRectangle(minTileX, minTileY, maxTileX, maxTileY);
+ float var15 = this.getPixelsPerTile(endX - x, maxTileX - minTileX);
int var16 = (int)(var15 * 64.0F);
- int var17 = this.tileX * 4096 + var1;
- int var18 = this.tileY * 4096 + var2;
+ int var17 = this.tileX * 4096 + minTileX;
+ int var18 = this.tileY * 4096 + minTileY;
int var19;
int var20;
@@ -266,14 +267,14 @@ public final class WorldMapManager {
this.regions[var19][var20].initWorldMapIcon1s();
}
- this.regions[var19][var20].method432(var5 + var16 * (this.regions[var19][var20].regionx * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9);
+ this.regions[var19][var20].method432(x + var16 * (this.regions[var19][var20].regionX * 64 - var17) / 64, endY - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9);
}
}
- if (var10 != null && var11 > 0) {
+ if (flashingElements != null && flashCycle > 0) {
for (var19 = var14.x; var19 < var14.width + var14.x; ++var19) {
for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) {
- this.regions[var19][var20].method433(var10, var11, var12);
+ this.regions[var19][var20].flashElements(flashingElements, flashCycle, cyclesPerFlash);
}
}
}
@@ -288,7 +289,7 @@ public final class WorldMapManager {
@Export("drawOverview")
public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) {
if (this.compositeTextureSprite != null) {
- this.compositeTextureSprite.method6125(var1, var2, var3, var4);
+ this.compositeTextureSprite.drawScaledAt(var1, var2, var3, var4);
if (var6 > 0 && var6 % var7 < var7 / 2) {
if (this.icons == null) {
this.buildIcons0();
@@ -313,7 +314,7 @@ public final class WorldMapManager {
AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next();
int var13 = var3 * (var12.coord2.x - this.tileX * 4096) / (this.tileWidth * 64);
int var14 = var4 - (var12.coord2.y - this.tileY * 4096) * var4 / (this.tileHeight * 64);
- Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256);
+ Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 0xffff00, 256);
}
}
}
@@ -325,20 +326,20 @@ public final class WorldMapManager {
signature = "(IIIIIIIIIII)Ljava/util/List;",
garbageValue = "286331893"
)
- public List method607(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) {
+ public List method607(int minTileX, int minTileY, int maxTileX, int maxTileY, int xOffset, int yOffset, int width, int height, int mouseX, int mouseY) {
LinkedList var11 = new LinkedList();
if (!this.loaded) {
return var11;
}
- WorldMapRectangle var12 = this.createWorldMapRectangle(var1, var2, var3, var4);
- float var13 = this.getPixelsPerTile(var7, var3 - var1);
+ WorldMapRectangle var12 = this.createWorldMapRectangle(minTileX, minTileY, maxTileX, maxTileY);
+ float var13 = this.getPixelsPerTile(width, maxTileX - minTileX);
int var14 = (int)(64.0F * var13);
- int var15 = this.tileX * 4096 + var1;
- int var16 = this.tileY * 4096 + var2;
+ int var15 = this.tileX * 4096 + minTileX;
+ int var16 = this.tileY * 4096 + minTileY;
for (int var17 = var12.x; var17 < var12.width + var12.x; ++var17) {
for (int var18 = var12.y; var18 < var12.y + var12.height; ++var18) {
- List var19 = this.regions[var17][var18].method440(var5 + var14 * (this.regions[var17][var18].regionx * 64 - var15) / 64, var8 + var6 - var14 * (this.regions[var17][var18].regionY * 64 - var16 + 64) / 64, var14, var9, var10);
+ List var19 = this.regions[var17][var18].method440(xOffset + var14 * (this.regions[var17][var18].regionX * 64 - var15) / 64, height + yOffset - var14 * (this.regions[var17][var18].regionY * 64 - var16 + 64) / 64, var14, mouseX, mouseY);
if (!var19.isEmpty()) {
var11.addAll(var19);
}
@@ -513,7 +514,7 @@ public final class WorldMapManager {
int var9 = var8 - var7;
String var6;
if (var9 < -9) {
- var6 = ClientPreferences.colorStartTag(16711680);
+ var6 = ClientPreferences.colorStartTag(0xff0000);
} else if (var9 < -6) {
var6 = ClientPreferences.colorStartTag(16723968);
} else if (var9 < -3) {
@@ -521,7 +522,7 @@ public final class WorldMapManager {
} else if (var9 < 0) {
var6 = ClientPreferences.colorStartTag(16756736);
} else if (var9 > 9) {
- var6 = ClientPreferences.colorStartTag(65280);
+ var6 = ClientPreferences.colorStartTag(0xff00);
} else if (var9 > 6) {
var6 = ClientPreferences.colorStartTag(4259584);
} else if (var9 > 3) {
@@ -529,7 +530,7 @@ public final class WorldMapManager {
} else if (var9 > 0) {
var6 = ClientPreferences.colorStartTag(12648192);
} else {
- var6 = ClientPreferences.colorStartTag(16776960);
+ var6 = ClientPreferences.colorStartTag(0xffff00);
}
var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2];
@@ -539,10 +540,10 @@ public final class WorldMapManager {
int var10;
if (Client.isItemSelected == 1) {
- class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16777215) + var4, 14, var1, var2, var3);
+ class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffffff) + var4, 14, var1, var2, var3);
} else if (Client.isSpellSelected) {
if ((WorldMapCacheName.selectedSpellFlags & 8) == 8) {
- class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16777215) + var4, 15, var1, var2, var3);
+ class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffffff) + var4, 15, var1, var2, var3);
}
} else {
for (var10 = 7; var10 >= 0; --var10) {
@@ -570,14 +571,14 @@ public final class WorldMapManager {
boolean var12 = false;
var7 = Client.playerMenuOpcodes[var10] + var11;
- class188.insertMenuItemNoShift(Client.playerMenuActions[var10], ClientPreferences.colorStartTag(16777215) + var4, var7, var1, var2, var3);
+ class188.insertMenuItemNoShift(Client.playerMenuActions[var10], ClientPreferences.colorStartTag(0xffffff) + var4, var7, var1, var2, var3);
}
}
}
for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) {
if (Client.menuOpcodes[var10] == 23) {
- Client.menuTargetNames[var10] = ClientPreferences.colorStartTag(16777215) + var4;
+ Client.menuTargetNames[var10] = ClientPreferences.colorStartTag(0xffffff) + var4;
break;
}
}
diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java
index e1d7cb3b29..6e3a8e91b8 100644
--- a/runescape-client/src/main/java/WorldMapRegion.java
+++ b/runescape-client/src/main/java/WorldMapRegion.java
@@ -38,8 +38,8 @@ public class WorldMapRegion {
@ObfuscatedGetter(
intValue = -862345975
)
- @Export("regionx")
- int regionx;
+ @Export("regionX")
+ int regionX;
@ObfuscatedName("b")
@ObfuscatedGetter(
intValue = -908569217
@@ -82,12 +82,12 @@ public class WorldMapRegion {
}
WorldMapRegion(int var1, int var2, int var3, HashMap var4) {
- this.regionx = var1;
+ this.regionX = var1;
this.regionY = var2;
this.worldMapData1List = new LinkedList();
this.icon0List = new LinkedList();
this.iconMap = new HashMap();
- this.backgroundColor = var3 | -16777216;
+ this.backgroundColor = var3 | 0xff000000;
this.fonts = var4;
}
@@ -96,16 +96,17 @@ public class WorldMapRegion {
signature = "(IIII)V",
garbageValue = "1947241845"
)
- void method506(int var1, int var2, int var3) {
- Sprite var4 = PlayerType.getWorldMapRegionCachedSprite(this.regionx, this.regionY, this.pixelsPerTile);
- if (var4 != null) {
- if (var3 == this.pixelsPerTile * 64) {
- var4.drawAt(var1, var2);
- } else {
- var4.method6144(var1, var2, var3, var3);
- }
-
+ void method506(int x, int y, int size) {
+ Sprite var4 = PlayerType.getWorldMapRegionCachedSprite(this.regionX, this.regionY, this.pixelsPerTile);
+ if (var4 == null) {
+ return;
}
+ if (size == this.pixelsPerTile * 64) {
+ var4.drawAt(x, y);
+ } else {
+ var4.drawScaledWorldmap(x, y, size, size);
+ }
+
}
@ObfuscatedName("k")
@@ -132,7 +133,7 @@ public class WorldMapRegion {
while (var3.hasNext()) {
WorldMapData_1 var4 = (WorldMapData_1)var3.next();
- if (var4.getRegionX() == this.regionx && var4.getRegionY() == this.regionY) {
+ if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) {
this.worldMapData1List.add(var4);
}
}
@@ -199,7 +200,7 @@ public class WorldMapRegion {
)
@Export("getIcon")
void getIcon(ObjectDefinition var1, int var2, int var3, int var4, AbstractWorldMapData var5) {
- Coord var6 = new Coord(var2, var3 + this.regionx * 64, this.regionY * 64 + var4);
+ Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4);
Coord var7 = null;
if (this.worldMapData_0 != null) {
var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, var4 + this.worldMapData_0.regionYLow * 64);
@@ -212,7 +213,7 @@ public class WorldMapRegion {
if (var1.transforms != null) {
var10 = new WorldMapIcon_1(var7, var6, var1.id, this);
} else {
- WorldMapElement var9 = class222.getWorldMapElement(var1.mapIconId);
+ WorldMapElement var9 = class222.WorldMapElement_get(var1.mapIconId);
var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9));
}
@@ -248,7 +249,7 @@ public class WorldMapRegion {
while (var2.hasNext()) {
WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next();
- if (var3.coord2.x >> 6 == this.regionx && var3.coord2.y >> 6 == this.regionY) {
+ if (var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) {
WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method502(var3.element));
this.icon0List.add(var4);
}
@@ -321,7 +322,7 @@ public class WorldMapRegion {
void drawTile(int var1, class40 var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) {
this.pixelsPerTile = var1;
if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) {
- if (PlayerType.getWorldMapRegionCachedSprite(this.regionx, this.regionY, var1) == null) {
+ if (PlayerType.getWorldMapRegionCachedSprite(this.regionX, this.regionY, var1) == null) {
boolean var6 = true;
var6 &= this.loadGeography(var4);
int var8;
@@ -349,7 +350,7 @@ public class WorldMapRegion {
this.method435(var2, var3, var9);
}
- int var12 = this.regionx;
+ int var12 = this.regionX;
int var13 = this.regionY;
int var14 = this.pixelsPerTile;
WorldMapRegion_cachedSprites.put(var11, Widget.getWorldMapSpriteHash(var12, var13, var14), var11.pixels.length * 4);
@@ -378,21 +379,23 @@ public class WorldMapRegion {
signature = "(Ljava/util/HashSet;IIB)V",
garbageValue = "82"
)
- void method433(HashSet var1, int var2, int var3) {
+ @Export("flashElements")
+ void flashElements(HashSet flashingElements, int flashCycle, int cyclesPerFlash) {
Iterator var4 = this.iconMap.values().iterator();
while (var4.hasNext()) {
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next();
- if (var5.hasValidElement()) {
- int var6 = var5.getElement();
- if (var1.contains(var6)) {
- WorldMapElement var7 = class222.getWorldMapElement(var6);
- this.method493(var7, var5.screenX, var5.screenY, var2, var3);
- }
+ if (!var5.hasValidElement()) {
+ continue;
+ }
+ int var6 = var5.getElement();
+ if (flashingElements.contains(var6)) {
+ WorldMapElement var7 = class222.WorldMapElement_get(var6);
+ this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, flashCycle, cyclesPerFlash);
}
}
- this.method443(var1, var2, var3);
+ this.method443(flashingElements, flashCycle, cyclesPerFlash);
}
@ObfuscatedName("a")
@@ -477,7 +480,7 @@ public class WorldMapRegion {
Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor);
}
- int var8 = 16711935;
+ int var8 = 0xff00ff;
int var9;
if (var7 != -1) {
int var10 = this.backgroundColor;
@@ -500,7 +503,7 @@ public class WorldMapRegion {
if (var11 == null) {
var9 = var10;
} else if (var11.secondaryRgb >= 0) {
- var9 = var11.secondaryRgb | -16777216;
+ var9 = var11.secondaryRgb | 0xff000000;
} else {
int var14;
byte var15;
@@ -531,8 +534,8 @@ public class WorldMapRegion {
var17 = var18 + (var14 & 65408);
}
- var9 = Rasterizer3D.Rasterizer3D_colorPalette[var17] | -16777216;
- } else if (var11.primaryRgb == 16711935) {
+ var9 = Rasterizer3D.Rasterizer3D_colorPalette[var17] | 0xff000000;
+ } else if (var11.primaryRgb == 0xff00ff) {
var9 = var10;
} else {
var17 = class192.method3679(var11.hue, var11.saturation, var11.lightness);
@@ -559,7 +562,7 @@ public class WorldMapRegion {
var14 = var18 + (var17 & 65408);
}
- var9 = Rasterizer3D.Rasterizer3D_colorPalette[var14] | -16777216;
+ var9 = Rasterizer3D.Rasterizer3D_colorPalette[var14] | 0xff000000;
}
}
@@ -586,97 +589,98 @@ public class WorldMapRegion {
void method520(int var1, int var2, AbstractWorldMapData var3, class40 var4) {
for (int var5 = 1; var5 < var3.planes; ++var5) {
int var6 = var3.floorOverlayIds[var5][var1][var2] - 1;
- if (var6 > -1) {
- int var8 = this.backgroundColor;
- FloorOverlayDefinition var10 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var6);
- FloorOverlayDefinition var9;
- if (var10 != null) {
- var9 = var10;
- } else {
- byte[] var11 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var6);
- var10 = new FloorOverlayDefinition();
- if (var11 != null) {
- var10.decode(new Buffer(var11), var6);
- }
-
- var10.postDecode();
- FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var10, (long)var6);
- var9 = var10;
+ if (var6 <= -1) {
+ continue;
+ }
+ int var8 = this.backgroundColor;
+ FloorOverlayDefinition var10 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var6);
+ FloorOverlayDefinition var9;
+ if (var10 != null) {
+ var9 = var10;
+ } else {
+ byte[] var11 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var6);
+ var10 = new FloorOverlayDefinition();
+ if (var11 != null) {
+ var10.decode(new Buffer(var11), var6);
}
- int var7;
- if (var9 == null) {
- var7 = var8;
- } else if (var9.secondaryRgb >= 0) {
- var7 = var9.secondaryRgb | -16777216;
- } else {
- int var12;
- byte var13;
- int var16;
- int var17;
- if (var9.texture >= 0) {
- var12 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture);
- var13 = 96;
- if (var12 == -2) {
- var16 = 12345678;
- } else if (var12 == -1) {
- if (var13 < 0) {
- var13 = 0;
- } else if (var13 > 127) {
- var13 = 127;
- }
+ var10.postDecode();
+ FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var10, (long)var6);
+ var9 = var10;
+ }
- var17 = 127 - var13;
- var16 = var17;
- } else {
- var17 = var13 * (var12 & 127) / 128;
- if (var17 < 2) {
- var17 = 2;
- } else if (var17 > 126) {
- var17 = 126;
- }
-
- var16 = var17 + (var12 & 65408);
+ int var7;
+ if (var9 == null) {
+ var7 = var8;
+ } else if (var9.secondaryRgb >= 0) {
+ var7 = var9.secondaryRgb | 0xff000000;
+ } else {
+ int var12;
+ byte var13;
+ int var16;
+ int var17;
+ if (var9.texture >= 0) {
+ var12 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture);
+ var13 = 96;
+ if (var12 == -2) {
+ var16 = 12345678;
+ } else if (var12 == -1) {
+ if (var13 < 0) {
+ var13 = 0;
+ } else if (var13 > 127) {
+ var13 = 127;
}
- var7 = Rasterizer3D.Rasterizer3D_colorPalette[var16] | -16777216;
- } else if (var9.primaryRgb == 16711935) {
- var7 = var8;
+ var17 = 127 - var13;
+ var16 = var17;
} else {
- var16 = class192.method3679(var9.hue, var9.saturation, var9.lightness);
- var13 = 96;
- if (var16 == -2) {
- var12 = 12345678;
- } else if (var16 == -1) {
- if (var13 < 0) {
- var13 = 0;
- } else if (var13 > 127) {
- var13 = 127;
- }
-
- var17 = 127 - var13;
- var12 = var17;
- } else {
- var17 = var13 * (var16 & 127) / 128;
- if (var17 < 2) {
- var17 = 2;
- } else if (var17 > 126) {
- var17 = 126;
- }
-
- var12 = var17 + (var16 & 65408);
+ var17 = var13 * (var12 & 127) / 128;
+ if (var17 < 2) {
+ var17 = 2;
+ } else if (var17 > 126) {
+ var17 = 126;
}
- var7 = Rasterizer3D.Rasterizer3D_colorPalette[var12] | -16777216;
+ var16 = var17 + (var12 & 65408);
}
- }
- if (var3.field165[var5][var1][var2] == 0) {
- Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7);
+ var7 = Rasterizer3D.Rasterizer3D_colorPalette[var16] | 0xff000000;
+ } else if (var9.primaryRgb == 0xff00ff) {
+ var7 = var8;
} else {
- var4.method698(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field165[var5][var1][var2], var3.field166[var5][var1][var2]);
+ var16 = class192.method3679(var9.hue, var9.saturation, var9.lightness);
+ var13 = 96;
+ if (var16 == -2) {
+ var12 = 12345678;
+ } else if (var16 == -1) {
+ if (var13 < 0) {
+ var13 = 0;
+ } else if (var13 > 127) {
+ var13 = 127;
+ }
+
+ var17 = 127 - var13;
+ var12 = var17;
+ } else {
+ var17 = var13 * (var16 & 127) / 128;
+ if (var17 < 2) {
+ var17 = 2;
+ } else if (var17 > 126) {
+ var17 = 126;
+ }
+
+ var12 = var17 + (var16 & 65408);
+ }
+
+ var7 = Rasterizer3D.Rasterizer3D_colorPalette[var12] | 0xff000000;
}
}
+
+ if (var3.field165[var5][var1][var2] == 0) {
+ Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7);
+ } else {
+ var4.method698(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field165[var5][var1][var2], var3.field166[var5][var1][var2]);
+ }
}
}
@@ -812,7 +816,7 @@ public class WorldMapRegion {
if (var12 != null && var12.hasValidElement()) {
var12.screenX = var10;
var12.screenY = var11;
- WorldMapElement var13 = class222.getWorldMapElement(var12.getElement());
+ WorldMapElement var13 = class222.WorldMapElement_get(var12.getElement());
if (!var3.contains(var13.getObjectId())) {
this.method445(var12, var10, var11, var5);
}
@@ -832,9 +836,9 @@ public class WorldMapRegion {
while (var4.hasNext()) {
AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next();
if (var5.hasValidElement()) {
- WorldMapElement var6 = class222.getWorldMapElement(var5.getElement());
+ WorldMapElement var6 = class222.WorldMapElement_get(var5.getElement());
if (var6 != null && var1.contains(var6.getObjectId())) {
- this.method493(var6, var5.screenX, var5.screenY, var2, var3);
+ this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3);
}
}
}
@@ -846,16 +850,18 @@ public class WorldMapRegion {
signature = "(Liw;IIIIB)V",
garbageValue = "14"
)
- void method493(WorldMapElement var1, int var2, int var3, int var4, int var5) {
+ @Export("drawBackgroundCircle")
+ void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) {
Sprite var6 = var1.getSpriteBool(false);
- if (var6 != null) {
- var6.drawAt2(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2);
- if (var4 % var5 < var5 / 2) {
- Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128);
- Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256);
- }
-
+ if (var6 == null) {
+ return;
}
+ var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2);
+ if (var4 % var5 < var5 / 2) {
+ Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 0xffff00, 128);
+ Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 0xffffff, 256);
+ }
+
}
@ObfuscatedName("ag")
@@ -864,7 +870,7 @@ public class WorldMapRegion {
garbageValue = "-89"
)
void method445(AbstractWorldMapIcon var1, int var2, int var3, float var4) {
- WorldMapElement var5 = class222.getWorldMapElement(var1.getElement());
+ WorldMapElement var5 = class222.WorldMapElement_get(var1.getElement());
this.method446(var5, var2, var3);
this.method447(var1, var5, var2, var3, var4);
}
@@ -879,7 +885,7 @@ public class WorldMapRegion {
if (var4 != null) {
int var5 = this.method455(var4, var1.horizontalAlignment);
int var6 = this.method450(var4, var1.verticalAlignment);
- var4.drawAt2(var5 + var2, var3 + var6);
+ var4.drawTransBgAt(var5 + var2, var3 + var6);
}
}
@@ -891,11 +897,12 @@ public class WorldMapRegion {
)
void method447(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) {
WorldMapLabel var6 = var1.getLabel();
- if (var6 != null) {
- if (var6.size.method184(var5)) {
- Font var7 = (Font)this.fonts.get(var6.size);
- var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3217, 0, 1, 0, var7.ascent / 2);
- }
+ if (var6 == null) {
+ return;
+ }
+ if (var6.size.method184(var5)) {
+ Font var7 = (Font)this.fonts.get(var6.size);
+ var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, 0xff000000 | var2.field3217, 0, 1, 0, var7.ascent / 2);
}
}
@@ -962,7 +969,7 @@ public class WorldMapRegion {
garbageValue = "1732767815"
)
WorldMapLabel method502(int var1) {
- WorldMapElement var2 = class222.getWorldMapElement(var1);
+ WorldMapElement var2 = class222.WorldMapElement_get(var1);
return this.createMapLabel(var2);
}
@@ -1009,31 +1016,31 @@ public class WorldMapRegion {
)
List method440(int var1, int var2, int var3, int var4, int var5) {
LinkedList var6 = new LinkedList();
- if (var4 >= var1 && var5 >= var2) {
- if (var4 < var3 + var1 && var5 < var3 + var2) {
- Iterator var7 = this.iconMap.values().iterator();
-
- AbstractWorldMapIcon var8;
- while (var7.hasNext()) {
- var8 = (AbstractWorldMapIcon)var7.next();
- if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
- var6.add(var8);
- }
- }
-
- var7 = this.icon0List.iterator();
-
- while (var7.hasNext()) {
- var8 = (AbstractWorldMapIcon)var7.next();
- if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
- var6.add(var8);
- }
- }
-
- return var6;
- }
+ if (var4 < var1 || var5 < var2) {
return var6;
}
+ if (var4 >= var3 + var1 || var5 >= var3 + var2) {
+ return var6;
+ }
+ Iterator var7 = this.iconMap.values().iterator();
+
+ AbstractWorldMapIcon var8;
+ while (var7.hasNext()) {
+ var8 = (AbstractWorldMapIcon)var7.next();
+ if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
+ var6.add(var8);
+ }
+ }
+
+ var7 = this.icon0List.iterator();
+
+ while (var7.hasNext()) {
+ var8 = (AbstractWorldMapIcon)var7.next();
+ if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) {
+ var6.add(var8);
+ }
+ }
+
return var6;
}
diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java
index f39e9a5a24..a7a32910fd 100644
--- a/runescape-client/src/main/java/WorldMapSection0.java
+++ b/runescape-client/src/main/java/WorldMapSection0.java
@@ -351,7 +351,7 @@ public class WorldMapSection0 implements WorldMapSection {
Rasterizer3D.method2976(16, 16);
Rasterizer3D.field1768 = false;
if (var9.placeholderTemplate != -1) {
- var22.drawAt2(0, 0);
+ var22.drawTransBgAt(0, 0);
}
int var16 = var9.zoom2d;
@@ -366,7 +366,7 @@ public class WorldMapSection0 implements WorldMapSection {
var21.calculateBoundsCylinder();
var21.method2866(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var21.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d);
if (var9.notedId != -1) {
- var22.drawAt2(0, 0);
+ var22.drawTransBgAt(0, 0);
}
if (var2 >= 1) {
@@ -374,7 +374,7 @@ public class WorldMapSection0 implements WorldMapSection {
}
if (var2 >= 2) {
- var8.outline(16777215);
+ var8.outline(0xffffff);
}
if (var3 != 0) {
@@ -383,7 +383,7 @@ public class WorldMapSection0 implements WorldMapSection {
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
if (var9.noteTemplate != -1) {
- var22.drawAt2(0, 0);
+ var22.drawTransBgAt(0, 0);
}
if (var4 == 1 || var4 == 2 && var9.isStackable == 1) {
@@ -397,7 +397,7 @@ public class WorldMapSection0 implements WorldMapSection {
var20 = "