diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFrameLoader.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFrameLoader.java new file mode 100644 index 0000000000..ad3d3037a6 --- /dev/null +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFrameLoader.java @@ -0,0 +1,3 @@ +package net.runelite.rs.api; + +public interface RSFrameLoader {} \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFrameProvider.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFrameProvider.java new file mode 100644 index 0000000000..5113e19d7f --- /dev/null +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFrameProvider.java @@ -0,0 +1,12 @@ +package net.runelite.rs.api; + +import net.runelite.mapping.Import; + +public interface RSFrameProvider { + + @Import("js5Port") + int getJs5Port(); + + @Import("js5Port") + void setJs5Port(); +} \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSMinimapRenderer.java b/runescape-api/src/main/java/net/runelite/rs/api/RSMinimapRenderer.java new file mode 100644 index 0000000000..4c35fc378d --- /dev/null +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSMinimapRenderer.java @@ -0,0 +1,13 @@ +package net.runelite.rs.api; + +import net.runelite.mapping.Import; + +public interface RSMinimapRenderer { + + @Import("cacheParentPaths") + String[] getCacheParentPaths(); + + @Import("cacheParentPaths") + void setCacheParentPaths(String[] cacheParentPaths); + +} \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java index d7eeba34d1..8ee24c1178 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java @@ -16,4 +16,10 @@ public interface RSMouseRecorder extends MouseRecorder @Import("index") int getIndex(); -} + + @Import("worldPort") + int getWorldPort(); + + @Import("worldPort") + void setWorldPort(); +} \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSTimer.java b/runescape-api/src/main/java/net/runelite/rs/api/RSTimer.java index c4ff6322f8..dfa5eeeb48 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSTimer.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSTimer.java @@ -1,3 +1,13 @@ package net.runelite.rs.api; -public interface RSTimer {} +import net.runelite.mapping.Import; + +public interface RSTimer { + + @Import("cacheSubPaths") + String[] getCacheSubPaths(); + + @Import("cacheSubPaths") + void setCacheSubPaths(String[] cacheSubPaths); + +} \ No newline at end of file diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index fc76684bd1..548440f69d 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -1188,23 +1188,23 @@ public abstract class AbstractWorldMapIcon { if (var3 == 4) { // L: 11146 if (var2 == 0) { // L: 11147 - class171.method3641(127); + FrameProvider.updateSoundEffectVolume(127); } if (var2 == 1) { // L: 11148 - class171.method3641(96); + FrameProvider.updateSoundEffectVolume(96); } if (var2 == 2) { // L: 11149 - class171.method3641(64); + FrameProvider.updateSoundEffectVolume(64); } if (var2 == 3) { // L: 11150 - class171.method3641(32); + FrameProvider.updateSoundEffectVolume(32); } if (var2 == 4) { // L: 11151 - class171.method3641(0); + FrameProvider.updateSoundEffectVolume(0); } } @@ -1270,4 +1270,4 @@ public abstract class AbstractWorldMapIcon { } } // L: 11178 -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index f95c85e6ed..06cbab133b 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -121,7 +121,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { return 1; // L: 1758 } else if (var0 == 3205) { // L: 1760 var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize], 0), 100); // L: 1761 - class171.method3641(Math.round(1.27F * (float)var3)); // L: 1762 + FrameProvider.updateSoundEffectVolume(Math.round(1.27F * (float)var3)); // L: 1762 return 1; // L: 1763 } else if (var0 == 3206) { // L: 1765 Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Math.round((float)WorldMapSectionType.clientPreferences.soundEffectsVolume / 1.27F); // L: 1766 @@ -423,4 +423,4 @@ public class ApproximateRouteStrategy extends RouteStrategy { } } // L: 11081 -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index f060628a30..ee4162b106 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -162,7 +162,7 @@ public class ChatChannel { Client.worldId = var0.id; // L: 1556 Client.worldProperties = var0.properties; // L: 1557 MouseRecorder.worldPort = Client.gameBuild == 0 ? 43594 : var0.id + 40000; // L: 1558 - class171.js5Port = Client.gameBuild == 0 ? 443 : var0.id + 50000; // L: 1559 + FrameProvider.js5Port = Client.gameBuild == 0 ? 443 : var0.id + 50000; // L: 1559 DynamicObject.currentPort = MouseRecorder.worldPort; // L: 1560 } // L: 1561 } \ No newline at end of file diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 3fa3ff79d7..f37c3dde9c 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1567,12 +1567,12 @@ public final class Client extends GameEngine implements Usernamed { protected final void setUp() { Strings.method4329(new int[]{20, 260, 10000}, new int[]{1000, 100, 500}); // L: 791 MouseRecorder.worldPort = gameBuild == 0 ? 43594 : worldId + 40000; // L: 792 - class171.js5Port = gameBuild == 0 ? 443 : worldId + 50000; // L: 793 + FrameProvider.js5Port = gameBuild == 0 ? 443 : worldId + 50000; // L: 793 DynamicObject.currentPort = MouseRecorder.worldPort; // L: 794 - PlayerComposition.field2565 = class224.field2577; // L: 795 - class105.field1339 = class224.field2573; // L: 796 - HealthBar.field1143 = class224.field2575; // L: 797 - WorldMapSprite.field259 = class224.field2574; // L: 798 + PlayerComposition.field2565 = MinimapRenderer.field2577; // L: 795 + class105.field1339 = MinimapRenderer.field2573; // L: 796 + HealthBar.field1143 = MinimapRenderer.field2575; // L: 797 + WorldMapSprite.field259 = MinimapRenderer.field2574; // L: 798 ScriptFrame.urlRequester = new UrlRequester(); // L: 799 this.setUpKeyboard(); // L: 800 this.setUpMouse(); // L: 801 @@ -2402,7 +2402,7 @@ public final class Client extends GameEngine implements Usernamed { WorldMapArea.js5Socket = null; // L: 1357 js5ConnectState = 0; // L: 1358 if (DynamicObject.currentPort == MouseRecorder.worldPort) { // L: 1359 - DynamicObject.currentPort = class171.js5Port; + DynamicObject.currentPort = FrameProvider.js5Port; } else { DynamicObject.currentPort = MouseRecorder.worldPort; // L: 1360 } @@ -2909,7 +2909,7 @@ public final class Client extends GameEngine implements Usernamed { if (field696 > 2000) { // L: 2396 if (field786 < 1) { // L: 2397 if (MouseRecorder.worldPort == DynamicObject.currentPort) { // L: 2398 - DynamicObject.currentPort = class171.js5Port; + DynamicObject.currentPort = FrameProvider.js5Port; } else { DynamicObject.currentPort = MouseRecorder.worldPort; // L: 2399 } @@ -3071,7 +3071,7 @@ public final class Client extends GameEngine implements Usernamed { } catch (IOException var22) { // L: 2408 if (field786 < 1) { // L: 2409 if (MouseRecorder.worldPort == DynamicObject.currentPort) { // L: 2410 - DynamicObject.currentPort = class171.js5Port; + DynamicObject.currentPort = FrameProvider.js5Port; } else { DynamicObject.currentPort = MouseRecorder.worldPort; // L: 2411 } @@ -3358,7 +3358,7 @@ public final class Client extends GameEngine implements Usernamed { var2 = npcIndices[var1]; // L: 2873 NPC var23 = npcs[var2]; // L: 2874 if (var23 != null) { // L: 2875 - class171.updateActorSequence(var23, var23.definition.size); // L: 2876 + FrameProvider.updateActorSequence(var23, var23.definition.size); // L: 2876 } } diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index b7330e0c2b..3f9c94f8d7 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -192,7 +192,7 @@ public class ClientPreferences { if (var1 != null) { // L: 188 return var1; } else { - var1 = class171.method3642(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); // L: 189 + var1 = FrameProvider.loadFrames(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); // L: 189 if (var1 != null) { // L: 190 SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); } @@ -237,4 +237,4 @@ public class ClientPreferences { } } // L: 10003 -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/FrameLoader.java b/runescape-client/src/main/java/FrameLoader.java new file mode 100644 index 0000000000..179cab8ee5 --- /dev/null +++ b/runescape-client/src/main/java/FrameLoader.java @@ -0,0 +1,7 @@ +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ff") +@Implements("FrameLoader") +public interface FrameLoader { +} \ No newline at end of file diff --git a/runescape-client/src/main/java/class171.java b/runescape-client/src/main/java/FrameProvider.java similarity index 96% rename from runescape-client/src/main/java/class171.java rename to runescape-client/src/main/java/FrameProvider.java index 8296fccfb8..670af39886 100644 --- a/runescape-client/src/main/java/class171.java +++ b/runescape-client/src/main/java/FrameProvider.java @@ -1,10 +1,12 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("fd") -public class class171 implements class170 { +@Implements("FrameProvider") +public class FrameProvider implements FrameLoader { @ObfuscatedName("ee") @ObfuscatedGetter( intValue = -853566565 @@ -17,7 +19,8 @@ public class class171 implements class170 { descriptor = "(Lig;Lig;IZI)Lel;", garbageValue = "-2064266261" ) - public static Frames method3642(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { + @Export("loadFrames") + public static Frames loadFrames(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { boolean var4 = true; // L: 11 int[] var5 = var0.getGroupFileIds(var2); // L: 12 @@ -281,7 +284,8 @@ public class class171 implements class170 { descriptor = "(IB)V", garbageValue = "0" ) - static final void method3641(int var0) { + @Export("updateSoundEffectVolume") + static final void updateSoundEffectVolume(int var0) { var0 = Math.min(Math.max(var0, 0), 127); // L: 11112 WorldMapSectionType.clientPreferences.soundEffectsVolume = var0; // L: 11113 class23.savePreferences(); // L: 11114 diff --git a/runescape-client/src/main/java/Login.java b/runescape-client/src/main/java/Login.java index f7c47a0d19..95e6752791 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -182,7 +182,7 @@ public class Login { worldSelectPage = 0; // L: 103 worldSelectPagesCount = 0; // L: 104 new DecimalFormat("##0.00"); // L: 107 - new class171(); + new FrameProvider(); field1213 = -1L; // L: 115 field1226 = -1L; // L: 116 } @@ -230,4 +230,4 @@ public class Login { return 1; // L: 1317 } } -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/class224.java b/runescape-client/src/main/java/MinimapRenderer.java similarity index 81% rename from runescape-client/src/main/java/class224.java rename to runescape-client/src/main/java/MinimapRenderer.java index 202a5d350e..f0872acb07 100644 --- a/runescape-client/src/main/java/class224.java +++ b/runescape-client/src/main/java/MinimapRenderer.java @@ -1,9 +1,11 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("hn") -public class class224 { +@Implements("MinimapRenderer") +public class MinimapRenderer { @ObfuscatedName("n") public static final short[] field2577; @ObfuscatedName("v") @@ -28,7 +30,8 @@ public class class224 { descriptor = "(II)V", garbageValue = "2091444199" ) - static final void method4232(int var0) { + @Export("redrawMiniMapIcons") + static final void redrawMiniMapIcons(int plane) { int[] var1 = GrandExchangeOfferAgeComparator.sceneMinimapSprite.pixels; // L: 5775 int var2 = var1.length; // L: 5776 @@ -43,12 +46,12 @@ public class class224 { var4 = (103 - var3) * 2048 + 24628; // L: 5779 for (var5 = 1; var5 < 103; ++var5) { // L: 5780 - if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { // L: 5781 - MilliClock.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); + if ((Tiles.Tiles_renderFlags[plane][var5][var3] & 24) == 0) { // L: 5781 + MilliClock.scene.drawTileMinimap(var1, var4, 512, plane, var5, var3); } - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { // L: 5782 - MilliClock.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); + if (plane < 3 && (Tiles.Tiles_renderFlags[plane + 1][var5][var3] & 8) != 0) { // L: 5782 + MilliClock.scene.drawTileMinimap(var1, var4, 512, plane + 1, var5, var3); } var4 += 4; // L: 5783 @@ -62,12 +65,12 @@ public class class224 { int var6; for (var5 = 1; var5 < 103; ++var5) { // L: 5789 for (var6 = 1; var6 < 103; ++var6) { // L: 5790 - if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { // L: 5791 - Username.drawObject(var0, var6, var5, var3, var4); + if ((Tiles.Tiles_renderFlags[plane][var6][var5] & 24) == 0) { // L: 5791 + Username.drawObject(plane, var6, var5, var3, var4); } - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { // L: 5792 - Username.drawObject(var0 + 1, var6, var5, var3, var4); + if (plane < 3 && (Tiles.Tiles_renderFlags[plane + 1][var6][var5] & 8) != 0) { // L: 5792 + Username.drawObject(plane + 1, var6, var5, var3, var4); } } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 56408e442c..dfd87bb923 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -286,7 +286,7 @@ public final class Projectile extends Renderable { JagexCache.userHomeDirectory = "~/"; } - class224.cacheParentPaths = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", JagexCache.userHomeDirectory, "/tmp/", ""}; // L: 65 + MinimapRenderer.cacheParentPaths = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", JagexCache.userHomeDirectory, "/tmp/", ""}; // L: 65 Timer.cacheSubPaths = new String[]{".jagex_cache_" + JagexCache.cacheGamebuild, ".file_store_" + JagexCache.cacheGamebuild}; // L: 66 int var18 = 0; @@ -357,8 +357,8 @@ public final class Projectile extends Renderable { if (var7 == null && var18 == 0) { // L: 116 label225: for (int var19 = 0; var19 < Timer.cacheSubPaths.length; ++var19) { // L: 117 - for (int var20 = 0; var20 < class224.cacheParentPaths.length; ++var20) { // L: 118 - File var21 = new File(class224.cacheParentPaths[var20] + Timer.cacheSubPaths[var19] + File.separatorChar + var0 + File.separatorChar); // L: 119 + for (int var20 = 0; var20 < MinimapRenderer.cacheParentPaths.length; ++var20) { // L: 118 + File var21 = new File(MinimapRenderer.cacheParentPaths[var20] + Timer.cacheSubPaths[var19] + File.separatorChar + var0 + File.separatorChar); // L: 119 if (var21.exists() && class23.isWriteable(new File(var21, "test.dat"), true)) { // L: 120 121 var7 = var21.toString(); // L: 122 var9 = true; // L: 123 diff --git a/runescape-client/src/main/java/Renderable.java b/runescape-client/src/main/java/Renderable.java index 06936740dc..9e34a29343 100644 --- a/runescape-client/src/main/java/Renderable.java +++ b/runescape-client/src/main/java/Renderable.java @@ -47,8 +47,8 @@ public abstract class Renderable extends DualNode { static final void method3417() { if (Client.field889 != class90.Client_plane) { // L: 3402 Client.field889 = class90.Client_plane; // L: 3403 - class224.method4232(class90.Client_plane); // L: 3404 + MinimapRenderer.redrawMiniMapIcons(class90.Client_plane); // L: 3404 } } // L: 3406 -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index a695b7c88c..847b415bed 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -408,8 +408,8 @@ public class Varcs { } else { label39: for (int var1 = 0; var1 < Timer.cacheSubPaths.length; ++var1) { // L: 255 - for (var2 = 0; var2 < class224.cacheParentPaths.length; ++var2) { // L: 256 - File var3 = new File(class224.cacheParentPaths[var2] + Timer.cacheSubPaths[var1] + File.separatorChar + "random.dat"); // L: 257 + for (var2 = 0; var2 < MinimapRenderer.cacheParentPaths.length; ++var2) { // L: 256 + File var3 = new File(MinimapRenderer.cacheParentPaths[var2] + Timer.cacheSubPaths[var1] + File.separatorChar + "random.dat"); // L: 257 if (var3.exists()) { // L: 258 JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); // L: 259 break label39; // L: 260 diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index 791b1b8cda..cc1888a3d7 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -159,7 +159,7 @@ public final class WorldMapRectangle { for (int var2 = 0; var2 < var0; ++var2) { // L: 3495 Player var3 = Client.players[var1[var2]]; // L: 3496 if (var3 != null) { // L: 3497 - class171.updateActorSequence(var3, 1); // L: 3498 + FrameProvider.updateActorSequence(var3, 1); // L: 3498 } } @@ -184,4 +184,4 @@ public final class WorldMapRectangle { return var1.length() > 6 ? " " + FileSystem.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + FileSystem.colorStartTag(16776960) + var1 + ""; // L: 9909 9910 } } -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index 01297ab912..9b4bd25e88 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -71,7 +71,7 @@ public final class class13 { if (!Client.isCameraLocked) { // L: 4014 var4 = AbstractWorldMapIcon.method712(); } else { - var4 = class171.method3639(); // L: 4015 + var4 = FrameProvider.method3639(); // L: 4015 } var28 = SecureRandomFuture.cameraX; // L: 4016 @@ -340,4 +340,4 @@ public final class class13 { } } // L: 11640 -} +} \ No newline at end of file diff --git a/runescape-client/src/main/java/class170.java b/runescape-client/src/main/java/class170.java deleted file mode 100644 index 6e6d5d5e8a..0000000000 --- a/runescape-client/src/main/java/class170.java +++ /dev/null @@ -1,5 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ff") -public interface class170 { -}