From db705f5dd5f9a5fd8703850d84b4709d152cd2c3 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Tue, 20 Aug 2019 22:24:51 +0200 Subject: [PATCH] rs-client: refactoring (#1344) * Rename some things to be more consistent everywhere * rs-client: refactoring * MenuAction -> MenuOpcode merge --- .../main/java/net/runelite/api/Client.java | 2 +- .../net/runelite/api/DecorativeObject.java | 4 +- .../java/net/runelite/api/GameObject.java | 2 +- .../java/net/runelite/api/GroundObject.java | 2 +- .../main/java/net/runelite/api/MenuEntry.java | 4 +- .../api/{MenuAction.java => MenuOpcode.java} | 12 +- .../src/main/java/net/runelite/api/Tile.java | 4 +- .../java/net/runelite/api/WallObject.java | 4 +- .../runelite/api/events/MenuEntryAdded.java | 2 +- .../api/events/MenuOptionClicked.java | 12 +- .../runelite/api/widgets/WidgetConfig.java | 2 +- .../client/menus/BaseComparableEntry.java | 2 +- .../runelite/client/menus/MenuManager.java | 22 +- .../client/plugins/agility/AgilityPlugin.java | 4 +- .../plugins/agility/LapCounterOverlay.java | 2 +- .../attackstyles/AttackStylesOverlay.java | 2 +- .../plugins/banktags/BankTagsPlugin.java | 6 +- .../plugins/banktags/tabs/TabInterface.java | 12 +- .../plugins/barbarianassault/Menus.java | 10 +- .../barrows/BarrowsBrotherSlainOverlay.java | 2 +- .../BlastFurnaceCofferOverlay.java | 2 +- .../blastfurnace/BlastFurnaceOverlay.java | 2 +- .../blastmine/BlastMineOreCountOverlay.java | 2 +- .../client/plugins/boosts/BoostsOverlay.java | 2 +- .../plugins/boosts/CombatIconsOverlay.java | 2 +- .../ChatTranslationPlugin.java | 4 +- .../cluescrolls/ClueScrollOverlay.java | 2 +- .../plugins/combatcounter/CombatOverlay.java | 2 +- .../plugins/combatcounter/DamageOverlay.java | 2 +- .../client/plugins/config/ConfigPlugin.java | 4 +- .../plugins/cooking/CookingOverlay.java | 2 +- .../plugins/corp/CorpDamageOverlay.java | 2 +- .../client/plugins/corp/CorpPlugin.java | 8 +- .../plugins/devtools/DevToolsOverlay.java | 2 +- .../plugins/devtools/DevToolsPlugin.java | 12 +- .../client/plugins/examine/ExaminePlugin.java | 2 +- .../plugins/fishing/FishingOverlay.java | 2 +- .../friendnotes/FriendNotesPlugin.java | 4 +- .../friendtagging/FriendTaggingPlugin.java | 4 +- .../plugins/gauntlet/GauntletTimer.java | 2 +- .../client/plugins/gpu/SceneUploader.java | 42 +- .../grandexchange/GrandExchangePlugin.java | 4 +- .../grounditems/GroundItemsPlugin.java | 26 +- .../groundmarkers/GroundMarkerPlugin.java | 4 +- .../client/plugins/hiscore/HiscorePlugin.java | 4 +- .../inventorytags/InventoryTagsPlugin.java | 6 +- .../plugins/itemprices/ItemPricesOverlay.java | 4 +- .../kourendlibrary/KourendLibraryPlugin.java | 4 +- .../loottracker/LootTrackerPlugin.java | 2 +- .../MenuEntrySwapperPlugin.java | 16 +- .../client/plugins/mining/MiningPlugin.java | 4 +- .../motherlode/MotherlodeGemOverlay.java | 2 +- .../plugins/motherlode/MotherlodePlugin.java | 4 +- .../motherlode/MotherlodeSackOverlay.java | 2 +- .../mousehighlight/MouseHighlightOverlay.java | 8 +- .../nightmarezone/NightmareZoneOverlay.java | 2 +- .../npchighlight/NpcIndicatorsPlugin.java | 16 +- .../ObjectIndicatorsPlugin.java | 8 +- .../opponentinfo/OpponentInfoOverlay.java | 2 +- .../opponentinfo/PlayerComparisonOverlay.java | 2 +- .../client/plugins/party/PartyPlugin.java | 4 +- .../plugins/party/PartyStatsOverlay.java | 4 +- .../PerformanceStatsOverlay.java | 8 +- .../PlayerIndicatorsPlugin.java | 26 +- .../client/plugins/raids/RaidsOverlay.java | 2 +- .../plugins/raids/RaidsPartyOverlay.java | 8 +- .../client/plugins/raids/RaidsPlugin.java | 4 +- .../plugins/raids/RaidsPointsOverlay.java | 2 +- .../slayermusiq/SlayermusiqPlugin.java | 6 +- .../plugins/smelting/SmeltingOverlay.java | 2 +- .../plugins/teamcapes/TeamCapesOverlay.java | 2 +- .../theatre/rooms/nylocas/NyloOverlay.java | 2 +- .../theatre/rooms/xarpus/XarpusCounter.java | 2 +- .../plugins/theatre/timers/RoomTimer.java | 2 +- .../warindicators/WarIndicatorPlugin.java | 24 +- .../whalewatchers/WhaleWatchersOverlay.java | 4 +- .../whalewatchers/WhaleWatchersPlugin.java | 4 +- .../client/plugins/wiki/WikiPlugin.java | 14 +- .../plugins/wintertodt/WintertodtOverlay.java | 2 +- .../woodcutting/WoodcuttingOverlay.java | 2 +- .../worldhopper/WorldHopperPlugin.java | 4 +- .../plugins/xpglobes/XpGlobesOverlay.java | 2 +- .../plugins/xptracker/XpInfoBoxOverlay.java | 2 +- .../plugins/xptracker/XpTrackerPlugin.java | 6 +- .../client/plugins/zalcano/ZalcanoUtil.java | 4 +- .../client/ui/overlay/OverlayManager.java | 4 +- .../client/ui/overlay/OverlayMenuEntry.java | 4 +- .../client/ui/overlay/OverlayRenderer.java | 4 +- .../ui/overlay/arrow/ArrowWorldOverlay.java | 4 +- .../plugins/examine/ExaminePluginTest.java | 6 +- .../net/runelite/mixins/EntityHiderMixin.java | 22 +- .../java/net/runelite/mixins/MenuMixin.java | 6 +- .../mixins/ProcessClientErrorMixin.java | 2 +- .../mixins/RSBoundaryObjectMixin.java | 4 +- .../net/runelite/mixins/RSClientMixin.java | 52 +- .../mixins/RSFloorDecorationMixin.java | 2 +- .../runelite/mixins/RSGameObjectMixin.java | 2 +- .../java/net/runelite/mixins/RSTileMixin.java | 4 +- .../mixins/RSWallDecorationMixin.java | 4 +- .../runelite/mixins/WorldHoppingMixin.java | 6 +- .../net/runelite/rs/api/RSBoundaryObject.java | 4 +- .../java/net/runelite/rs/api/RSClient.java | 19 +- .../runelite/rs/api/RSFloorDecoration.java | 2 +- .../net/runelite/rs/api/RSGameObject.java | 2 +- .../runelite/rs/api/RSTextureProvider.java | 2 +- .../main/java/net/runelite/rs/api/RSTile.java | 4 +- .../net/runelite/rs/api/RSWallDecoration.java | 4 +- .../src/main/java/AbstractArchive.java | 454 +-- .../src/main/java/AbstractFont.java | 528 ++-- .../src/main/java/AbstractWorldMapData.java | 236 +- runescape-client/src/main/java/Actor.java | 14 +- runescape-client/src/main/java/Archive.java | 3 +- .../src/main/java/ArchiveDisk.java | 77 +- .../src/main/java/ArchiveDiskAction.java | 4 +- .../main/java/ArchiveDiskActionHandler.java | 6 +- .../src/main/java/ArchiveLoader.java | 234 +- .../src/main/java/AudioFilter.java | 81 +- runescape-client/src/main/java/Buddy.java | 3 +- runescape-client/src/main/java/Buffer.java | 21 +- .../src/main/java/BufferedSource.java | 137 +- .../src/main/java/ByteArrayPool.java | 4 +- runescape-client/src/main/java/Canvas.java | 27 +- .../src/main/java/ChatChannel.java | 128 +- runescape-client/src/main/java/ClanChat.java | 43 +- runescape-client/src/main/java/Client.java | 2542 ++++++++--------- .../src/main/java/ClientPacket.java | 353 ++- .../src/main/java/ClientPreferences.java | 30 +- .../src/main/java/CollisionMap.java | 363 +-- runescape-client/src/main/java/Decimator.java | 9 +- .../src/main/java/DefaultsGroup.java | 2 +- .../java/DesktopPlatformInfoProvider.java | 6 +- .../src/main/java/DevicePcmPlayer.java | 10 +- .../main/java/DevicePcmPlayerProvider.java | 2 +- .../src/main/java/DirectByteArrayCopier.java | 127 +- .../src/main/java/DynamicObject.java | 102 +- runescape-client/src/main/java/Entity.java | 26 +- .../src/main/java/FaceNormal.java | 32 +- .../java/{class169.java => FileSystem.java} | 31 +- .../src/main/java/FloorDecoration.java | 54 +- .../src/main/java/FloorOverlayDefinition.java | 3 +- runescape-client/src/main/java/FontName.java | 724 ++--- runescape-client/src/main/java/Frames.java | 5 +- runescape-client/src/main/java/Friend.java | 125 +- .../src/main/java/FriendLoginUpdate.java | 5 +- .../src/main/java/FriendSystem.java | 201 +- .../src/main/java/FriendsList.java | 147 +- runescape-client/src/main/java/GameShell.java | 232 +- .../src/main/java/GrandExchangeEvent.java | 11 +- .../src/main/java/GrandExchangeEvents.java | 110 +- .../src/main/java/GrandExchangeOffer.java | 130 +- .../java/GrandExchangeOfferAgeComparator.java | 55 +- .../GrandExchangeOfferOwnWorldComparator.java | 79 +- ...dExchangeOfferTotalQuantityComparator.java | 48 +- ...GrandExchangeOfferUnitPriceComparator.java | 10 +- .../GrandExchangeOfferWorldComparator.java | 64 +- .../src/main/java/GraphicsObject.java | 39 +- .../src/main/java/HealthBarDefinition.java | 8 +- .../src/main/java/HealthBarUpdate.java | 10 +- .../src/main/java/HitSplatDefinition.java | 72 +- runescape-client/src/main/java/Huffman.java | 186 +- .../src/main/java/Instrument.java | 131 +- .../src/main/java/Interpreter.java | 3 +- .../src/main/java/ItemContainer.java | 2 +- .../src/main/java/ItemDefinition.java | 201 +- .../src/main/java/JagexCache.java | 52 + .../src/main/java/KeyHandler.java | 28 +- .../src/main/java/KitDefinition.java | 178 +- runescape-client/src/main/java/Language.java | 23 +- runescape-client/src/main/java/Link.java | 11 +- .../src/main/java/LoginPacket.java | 3 +- .../src/main/java/LoginScreenAnimation.java | 11 +- .../src/main/java/MenuAction.java | 13 +- runescape-client/src/main/java/Messages.java | 1353 +++++---- .../src/main/java/MidiFileReader.java | 23 +- .../src/main/java/MidiPcmStream.java | 225 +- runescape-client/src/main/java/Model.java | 447 +-- runescape-client/src/main/java/ModelData.java | 964 ++++--- .../src/main/java/MouseHandler.java | 157 +- .../src/main/java/MouseRecorder.java | 7 +- .../src/main/java/MusicPatch.java | 70 +- .../src/main/java/MusicPatchNode2.java | 3 +- .../src/main/java/MusicPatchPcmStream.java | 2 +- .../src/main/java/MusicTrack.java | 451 ++- runescape-client/src/main/java/NPC.java | 12 +- .../src/main/java/NPCDefinition.java | 52 +- runescape-client/src/main/java/NetCache.java | 22 +- .../src/main/java/NetFileRequest.java | 31 +- runescape-client/src/main/java/NetSocket.java | 102 +- .../src/main/java/ObjectDefinition.java | 161 +- .../src/main/java/PacketBuffer.java | 2 +- .../src/main/java/PacketBufferNode.java | 801 +++--- .../src/main/java/PacketWriter.java | 88 +- runescape-client/src/main/java/PcmPlayer.java | 127 +- .../src/main/java/PendingSpawn.java | 13 +- runescape-client/src/main/java/Player.java | 52 +- .../src/main/java/PlayerAppearance.java | 33 +- runescape-client/src/main/java/Players.java | 29 +- .../{class310.java => PrivateChatMode.java} | 19 +- .../src/main/java/Projectile.java | 10 +- .../src/main/java/Rasterizer2D.java | 32 +- .../src/main/java/Rasterizer3D.java | 1855 ++++++------ .../src/main/java/RawPcmStream.java | 16 +- .../src/main/java/RouteStrategy.java | 7 +- runescape-client/src/main/java/Scene.java | 1657 +++++------ runescape-client/src/main/java/Script.java | 3 +- .../src/main/java/ScriptEvent.java | 5 +- .../src/main/java/ScriptFrame.java | 46 +- .../src/main/java/SequenceDefinition.java | 16 +- .../src/main/java/SoundCache.java | 4 +- .../src/main/java/SoundEffect.java | 60 +- .../src/main/java/SoundEnvelope.java | 4 +- .../src/main/java/SoundSystem.java | 10 +- .../main/java/SpotAnimationDefinition.java | 82 +- runescape-client/src/main/java/Sprite.java | 2 +- runescape-client/src/main/java/Strings.java | 3 +- .../src/main/java/StructDefinition.java | 407 ++- .../src/main/java/TaskHandler.java | 16 +- runescape-client/src/main/java/Texture.java | 273 +- .../src/main/java/TextureLoader.java | 4 +- .../src/main/java/TextureProvider.java | 84 +- runescape-client/src/main/java/Tile.java | 22 +- runescape-client/src/main/java/TileItem.java | 5 +- runescape-client/src/main/java/Timer.java | 687 +++-- runescape-client/src/main/java/TriBool.java | 6 +- .../src/main/java/UrlRequest.java | 2 +- .../src/main/java/UrlRequester.java | 2 +- .../src/main/java/UserComparator1.java | 4 +- .../src/main/java/UserComparator10.java | 376 +-- .../src/main/java/UserComparator3.java | 22 +- .../src/main/java/UserComparator6.java | 76 +- .../src/main/java/UserComparator8.java | 13 +- .../src/main/java/UserComparator9.java | 78 +- .../src/main/java/VarbitDefinition.java | 1057 +++---- runescape-client/src/main/java/VarcInt.java | 5 +- .../src/main/java/VarpDefinition.java | 27 +- runescape-client/src/main/java/Varps.java | 70 +- .../src/main/java/VertexNormal.java | 24 +- .../src/main/java/ViewportMouse.java | 66 +- .../src/main/java/VorbisSample.java | 13 +- runescape-client/src/main/java/Widget.java | 978 +++---- runescape-client/src/main/java/World.java | 44 +- runescape-client/src/main/java/WorldMap.java | 180 +- .../src/main/java/WorldMapArchiveLoader.java | 6 +- .../src/main/java/WorldMapArea.java | 372 ++- .../src/main/java/WorldMapCacheName.java | 28 +- .../src/main/java/WorldMapData_1.java | 2 +- .../src/main/java/WorldMapDecoration.java | 43 +- .../src/main/java/WorldMapElement.java | 12 +- .../src/main/java/WorldMapEvent.java | 21 +- .../src/main/java/WorldMapID.java | 95 +- .../src/main/java/WorldMapIcon_0.java | 426 ++- .../src/main/java/WorldMapIcon_1.java | 34 +- .../src/main/java/WorldMapLabel.java | 85 +- .../src/main/java/WorldMapLabelSize.java | 14 +- .../src/main/java/WorldMapManager.java | 158 +- .../src/main/java/WorldMapRectangle.java | 2 +- .../src/main/java/WorldMapRegion.java | 89 +- .../src/main/java/WorldMapSection0.java | 4 +- .../src/main/java/WorldMapSectionType.java | 20 +- .../src/main/java/WorldMapSprite.java | 24 +- runescape-client/src/main/java/class1.java | 579 ++-- runescape-client/src/main/java/class13.java | 3 +- runescape-client/src/main/java/class14.java | 7 +- runescape-client/src/main/java/class167.java | 48 - runescape-client/src/main/java/class186.java | 3 +- runescape-client/src/main/java/class188.java | 260 +- runescape-client/src/main/java/class189.java | 16 +- runescape-client/src/main/java/class192.java | 65 +- runescape-client/src/main/java/class197.java | 24 +- runescape-client/src/main/java/class2.java | 158 +- runescape-client/src/main/java/class208.java | 2 +- runescape-client/src/main/java/class215.java | 60 +- runescape-client/src/main/java/class218.java | 4 +- runescape-client/src/main/java/class219.java | 4 +- runescape-client/src/main/java/class225.java | 2 +- runescape-client/src/main/java/class226.java | 2 +- runescape-client/src/main/java/class227.java | 60 +- runescape-client/src/main/java/class237.java | 4 +- runescape-client/src/main/java/class267.java | 2 +- runescape-client/src/main/java/class291.java | 264 +- runescape-client/src/main/java/class294.java | 4 +- runescape-client/src/main/java/class3.java | 11 +- runescape-client/src/main/java/class30.java | 26 +- runescape-client/src/main/java/class301.java | 3 +- runescape-client/src/main/java/class313.java | 10 +- runescape-client/src/main/java/class32.java | 43 +- runescape-client/src/main/java/class4.java | 425 ++- runescape-client/src/main/java/class40.java | 228 +- runescape-client/src/main/java/class43.java | 4 +- runescape-client/src/main/java/class51.java | 3 +- runescape-client/src/main/java/class60.java | 30 +- runescape-client/src/main/java/class65.java | 433 ++- runescape-client/src/main/java/class80.java | 42 +- runescape-client/src/main/java/class81.java | 16 +- runescape-client/src/main/java/class83.java | 3 +- runescape-client/src/main/java/class96.java | 578 ++-- .../src/test/resources/jav_config.ws | 65 + 297 files changed, 13734 insertions(+), 14043 deletions(-) rename runelite-api/src/main/java/net/runelite/api/{MenuAction.java => MenuOpcode.java} (96%) rename runescape-client/src/main/java/{class169.java => FileSystem.java} (69%) create mode 100644 runescape-client/src/main/java/JagexCache.java rename runescape-client/src/main/java/{class310.java => PrivateChatMode.java} (57%) delete mode 100644 runescape-client/src/main/java/class167.java create mode 100644 runescape-client/src/test/resources/jav_config.ws diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 621b6b3ca1..4e50b7e87b 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1685,7 +1685,7 @@ public interface Client extends GameShell * * @param param0 This is SceneX for gameObject, index for items, and 0 for npc. * @param param1 This is SceneY for gameObject, static for items, and 0 for npc. - * @param type Menu entry Action type. + * @param type Menu entry Action opcode. * @param id Targets ID * @param menuEntry Do these actually matter? * @param targetString Do these actually matter? diff --git a/runelite-api/src/main/java/net/runelite/api/DecorativeObject.java b/runelite-api/src/main/java/net/runelite/api/DecorativeObject.java index eb9326beec..e9ba02a18f 100644 --- a/runelite-api/src/main/java/net/runelite/api/DecorativeObject.java +++ b/runelite-api/src/main/java/net/runelite/api/DecorativeObject.java @@ -40,8 +40,8 @@ public interface DecorativeObject extends TileObject Polygon getConvexHull(); Polygon getConvexHull2(); - Entity getRenderable(); - Entity getRenderable2(); + Entity getEntity1(); + Entity getEntity2(); Model getModel1(); diff --git a/runelite-api/src/main/java/net/runelite/api/GameObject.java b/runelite-api/src/main/java/net/runelite/api/GameObject.java index 48c5591c2d..ca07bae8e5 100644 --- a/runelite-api/src/main/java/net/runelite/api/GameObject.java +++ b/runelite-api/src/main/java/net/runelite/api/GameObject.java @@ -68,7 +68,7 @@ public interface GameObject extends TileObject */ Angle getOrientation(); - Entity getRenderable(); + Entity getEntity(); int getRsOrientation(); diff --git a/runelite-api/src/main/java/net/runelite/api/GroundObject.java b/runelite-api/src/main/java/net/runelite/api/GroundObject.java index 0b333186e3..bfd7fc34e2 100644 --- a/runelite-api/src/main/java/net/runelite/api/GroundObject.java +++ b/runelite-api/src/main/java/net/runelite/api/GroundObject.java @@ -29,7 +29,7 @@ package net.runelite.api; */ public interface GroundObject extends TileObject { - Entity getRenderable(); + Entity getEntity(); Model getModel(); } diff --git a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java index b9990c8e99..bcfda0df77 100644 --- a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java +++ b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java @@ -57,7 +57,7 @@ public class MenuEntry /** * The action the entry will trigger. */ - private int type; + private int opcode; /** * An additional parameter for the action. */ @@ -80,7 +80,7 @@ public class MenuEntry src.getOption(), src.getTarget(), src.getIdentifier(), - src.getType(), + src.getOpcode(), src.getParam0(), src.getParam1(), src.isForceLeftClick() diff --git a/runelite-api/src/main/java/net/runelite/api/MenuAction.java b/runelite-api/src/main/java/net/runelite/api/MenuOpcode.java similarity index 96% rename from runelite-api/src/main/java/net/runelite/api/MenuAction.java rename to runelite-api/src/main/java/net/runelite/api/MenuOpcode.java index e61e502a64..886ce7aa56 100644 --- a/runelite-api/src/main/java/net/runelite/api/MenuAction.java +++ b/runelite-api/src/main/java/net/runelite/api/MenuOpcode.java @@ -30,7 +30,7 @@ import java.util.Map; /** * An enumeration of right-click menu actions. */ -public enum MenuAction +public enum MenuOpcode { /** * Menu action for using an item in your inventory on a tile object (GameObject or GroundObject). @@ -281,19 +281,19 @@ public enum MenuAction public static final int MENU_ACTION_DEPRIORITIZE_OFFSET = 2000; - private static final Map map = new HashMap<>(); + private static final Map map = new HashMap<>(); static { - for (MenuAction menuAction : values()) + for (MenuOpcode menuOpcode : values()) { - map.put(menuAction.getId(), menuAction); + map.put(menuOpcode.getId(), menuOpcode); } } private final int id; - MenuAction(int id) + MenuOpcode(int id) { this.id = id; } @@ -303,7 +303,7 @@ public enum MenuAction return id; } - public static MenuAction of(int id) + public static MenuOpcode of(int id) { return map.getOrDefault(id, UNKNOWN); } diff --git a/runelite-api/src/main/java/net/runelite/api/Tile.java b/runelite-api/src/main/java/net/runelite/api/Tile.java index 053fc7ffd3..691e3b5f87 100644 --- a/runelite-api/src/main/java/net/runelite/api/Tile.java +++ b/runelite-api/src/main/java/net/runelite/api/Tile.java @@ -73,14 +73,14 @@ public interface Tile * * @return the paint */ - TilePaint getSceneTilePaint(); + TilePaint getTilePaint(); /** * Gets the model of the tile in the scene. * * @return the tile model */ - TileModel getSceneTileModel(); + TileModel getTileModel(); /** * Gets the location coordinate of the tile in the world. diff --git a/runelite-api/src/main/java/net/runelite/api/WallObject.java b/runelite-api/src/main/java/net/runelite/api/WallObject.java index ee6fbd36c1..e5ff07a587 100644 --- a/runelite-api/src/main/java/net/runelite/api/WallObject.java +++ b/runelite-api/src/main/java/net/runelite/api/WallObject.java @@ -50,8 +50,8 @@ public interface WallObject extends TileObject */ int getConfig(); - Entity getRenderable1(); - Entity getRenderable2(); + Entity getEntity1(); + Entity getEntity2(); Model getModelA(); Model getModelB(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java b/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java index 733d36e7d1..d72162bba0 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java @@ -52,7 +52,7 @@ public class MenuEntryAdded implements Event public int getType() { - return menuEntry.getType(); + return menuEntry.getOpcode(); } public int getIdentifier() diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java index 977dfec0ff..04d1084c9a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java @@ -27,7 +27,7 @@ package net.runelite.api.events; import lombok.AccessLevel; import lombok.Data; import lombok.Setter; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; /** @@ -79,11 +79,11 @@ public class MenuOptionClicked implements Event } /** - * MenuAction but int-ish + * MenuOpcode but int-ish */ - public int getType() + public int getOpcode() { - return menuEntry.getType(); + return menuEntry.getOpcode(); } /** @@ -118,9 +118,9 @@ public class MenuOptionClicked implements Event /** * The action performed. */ - public MenuAction getMenuAction() + public MenuOpcode getMenuOpcode() { - return MenuAction.of(getType()); + return MenuOpcode.of(getOpcode()); } /** diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java index 96b60bd63d..587ecc3281 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetConfig.java @@ -91,7 +91,7 @@ public class WidgetConfig /** * Add a USE option * - * @see// MenuAction#ITEM_USE + * @see// MenuOpcode#ITEM_USE */ public static final int ITEM_USE_OP = 1 << 31; } diff --git a/runelite-client/src/main/java/net/runelite/client/menus/BaseComparableEntry.java b/runelite-client/src/main/java/net/runelite/client/menus/BaseComparableEntry.java index 472c27abfc..c2f14b2a82 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/BaseComparableEntry.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/BaseComparableEntry.java @@ -80,7 +80,7 @@ public class BaseComparableEntry extends AbstractComparableEntry if (type != -1) { - int type = entry.getType(); + int type = entry.getOpcode(); if (this.type != type) { diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java index b50b527ba0..1453b6d419 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java @@ -47,8 +47,8 @@ import javax.inject.Singleton; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; +import net.runelite.api.MenuOpcode; +import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; import net.runelite.api.MenuEntry; import net.runelite.api.NPCDefinition; import net.runelite.api.events.BeforeRender; @@ -166,7 +166,7 @@ public class MenuManager if (p.matches(entry)) { // Other entries need to be deprioritized if their types are lower than 1000 - if (entry.getType() >= 1000 && !shouldDeprioritize) + if (entry.getOpcode() >= 1000 && !shouldDeprioritize) { shouldDeprioritize = true; } @@ -202,8 +202,8 @@ public class MenuManager // Do not need to swap with itself or if the swapFrom is already the first entry if (swapFrom != null && swapFrom != entry && swapFrom != Iterables.getLast(newEntries)) { - // Deprioritize entries if the swaps are not in similar type groups - if ((swapFrom.getType() >= 1000 && entry.getType() < 1000) || (entry.getType() >= 1000 && swapFrom.getType() < 1000) && !shouldDeprioritize) + // Deprioritize entries if the swaps are not in similar opcode groups + if ((swapFrom.getOpcode() >= 1000 && entry.getOpcode() < 1000) || (entry.getOpcode() >= 1000 && swapFrom.getOpcode() < 1000) && !shouldDeprioritize) { shouldDeprioritize = true; } @@ -221,9 +221,9 @@ public class MenuManager { for (MenuEntry entry : newEntries) { - if (entry.getType() <= MENU_ACTION_DEPRIORITIZE_OFFSET) + if (entry.getOpcode() <= MENU_ACTION_DEPRIORITIZE_OFFSET) { - entry.setType(entry.getType() + MENU_ACTION_DEPRIORITIZE_OFFSET); + entry.setOpcode(entry.getOpcode() + MENU_ACTION_DEPRIORITIZE_OFFSET); } } } @@ -268,7 +268,7 @@ public class MenuManager menuEntry.setOption(currentMenu.getMenuOption()); menuEntry.setParam1(widgetId); menuEntry.setTarget(currentMenu.getMenuTarget()); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } @@ -441,7 +441,7 @@ public class MenuManager } } - if (event.getMenuAction() != MenuAction.RUNELITE) + if (event.getMenuOpcode() != MenuOpcode.RUNELITE) { return; // not a player menu } @@ -480,7 +480,7 @@ public class MenuManager { client.getPlayerOptions()[playerOptionIndex] = menuText; client.getPlayerOptionsPriorities()[playerOptionIndex] = true; - client.getPlayerMenuTypes()[playerOptionIndex] = MenuAction.RUNELITE.getId(); + client.getPlayerMenuTypes()[playerOptionIndex] = MenuOpcode.RUNELITE.getId(); playerMenuIndexMap.put(playerOptionIndex, menuText); } @@ -670,7 +670,7 @@ public class MenuManager } /** - * Adds to the map of swaps - Non-strict option/target, but with type & id + * Adds to the map of swaps - Non-strict option/target, but with opcode & id * ID's of -1 are ignored in matches()! */ public void addSwap(String option, String target, int id, int type, String option2, String target2, int id2, int type2) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java index 86fdc97fea..d283864740 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java @@ -39,7 +39,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.ItemID; import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Player; import net.runelite.api.Skill; @@ -502,7 +502,7 @@ public class AgilityPlugin extends Plugin } //Guarding against non-first option because agility shortcuts are always that type of event. - if (event.getType() != MenuAction.GAME_OBJECT_FIRST_OPTION.getId()) + if (event.getType() != MenuOpcode.GAME_OBJECT_FIRST_OPTION.getId()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java index e8d0a2771c..ab0f7e9a67 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java @@ -30,7 +30,7 @@ import java.time.Duration; import java.time.Instant; import javax.inject.Inject; import javax.inject.Singleton; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesOverlay.java index abf24879a3..784a569d4a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesOverlay.java @@ -29,7 +29,7 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index d4ab4b0cb3..91b84296e7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -49,7 +49,7 @@ import net.runelite.api.Item; import net.runelite.api.ItemDefinition; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; @@ -343,7 +343,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis editTags.setParam1(event.getActionParam1()); editTags.setTarget(event.getTarget()); editTags.setOption(text); - editTags.setType(MenuAction.RUNELITE.getId()); + editTags.setOpcode(MenuOpcode.RUNELITE.getId()); editTags.setIdentifier(event.getIdentifier()); entries = Arrays.copyOf(entries, entries.length + 1); entries[entries.length - 1] = editTags; @@ -356,7 +356,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis private void onMenuOptionClicked(MenuOptionClicked event) { if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId() - && event.getMenuAction() == MenuAction.RUNELITE + && event.getMenuOpcode() == MenuOpcode.RUNELITE && event.getOption().startsWith(EDIT_TAGS_MENU_OPTION)) { event.consume(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index 24f4b51093..09ed8775d6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -55,7 +55,7 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemDefinition; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Point; import net.runelite.api.ScriptEvent; @@ -579,7 +579,7 @@ public class TabInterface } if (chatboxPanelManager.getCurrentInput() != null - && event.getMenuAction() != MenuAction.CANCEL + && event.getMenuOpcode() != MenuOpcode.CANCEL && !event.getMenuEntry().equals(SCROLL_UP) && !event.getMenuEntry().equals(SCROLL_DOWN)) { @@ -587,7 +587,7 @@ public class TabInterface } if (event.getIdentifier() == WidgetInfo.BANK_ITEM_CONTAINER.getId() - && event.getMenuAction() == MenuAction.EXAMINE_ITEM_BANK_EQ + && event.getMenuOpcode() == MenuOpcode.EXAMINE_ITEM_BANK_EQ && event.getOption().equalsIgnoreCase("withdraw-x")) { waitSearchTick = true; @@ -631,7 +631,7 @@ public class TabInterface } else if (activeTab != null && event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId() - && event.getMenuAction() == MenuAction.RUNELITE + && event.getMenuOpcode() == MenuOpcode.RUNELITE && event.getOption().startsWith(REMOVE_TAG)) { // Add "remove" menu entry to all items in bank while tab is selected @@ -645,7 +645,7 @@ public class TabInterface bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true); } } - else if (event.getMenuAction() == MenuAction.RUNELITE + else if (event.getMenuOpcode() == MenuOpcode.RUNELITE && ((event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId() && event.getOption().equals(TAG_INVENTORY)) || (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_EQUIPMENT.getId() && event.getOption().equals(TAG_GEAR)))) { @@ -1065,7 +1065,7 @@ public class TabInterface entry.setParam1(event.getActionParam1()); entry.setTarget(target); entry.setOption(option); - entry.setType(MenuAction.RUNELITE.getId()); + entry.setOpcode(MenuOpcode.RUNELITE.getId()); entry.setIdentifier(event.getIdentifier()); entries = Arrays.copyOf(entries, entries.length + 1); entries[entries.length - 1] = entry; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Menus.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Menus.java index b6715ccef9..db06ce39fe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Menus.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Menus.java @@ -28,7 +28,7 @@ package net.runelite.client.plugins.barbarianassault; import com.google.common.collect.ImmutableSet; import lombok.AllArgsConstructor; import lombok.Getter; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.client.menus.BaseComparableEntry; import static net.runelite.client.menus.ComparableEntries.newBaseComparableEntry; @@ -62,10 +62,10 @@ public enum Menus TELL_TOFU_HEALER_HORN(Role.HEALER, newBaseComparableEntry("tell-tofu", "healer horn", -1, -1, true, true)), TELL_CRACKERS_HEALER_HORN(Role.HEALER, newBaseComparableEntry("tell-crackers", "healer horn", -1, -1, true, true)), TELL_WORMS_HEALER_HORN(Role.HEALER, newBaseComparableEntry("tell-worms", "healer horn", -1, -1, true, true)), - USE_VIAL_GROUND(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuAction.ITEM_USE_ON_GROUND_ITEM.getId(), true, false)), - USE_VIAL_ITEM(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuAction.ITEM_USE_ON_WIDGET_ITEM.getId(), true, false)), - USE_VIAL_NPC(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuAction.ITEM_USE_ON_NPC.getId(), true, false)), - USE_VIAL_WIDGET(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuAction.ITEM_USE_ON_WIDGET.getId(), true, false)), + USE_VIAL_GROUND(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuOpcode.ITEM_USE_ON_GROUND_ITEM.getId(), true, false)), + USE_VIAL_ITEM(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuOpcode.ITEM_USE_ON_WIDGET_ITEM.getId(), true, false)), + USE_VIAL_NPC(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuOpcode.ITEM_USE_ON_NPC.getId(), true, false)), + USE_VIAL_WIDGET(Role.HEALER, newBaseComparableEntry("use", "healing vial", -1, MenuOpcode.ITEM_USE_ON_WIDGET.getId(), true, false)), CONVERT_COLLECTOR_CONVERTER(Role.COLLECTOR, newBaseComparableEntry("convert", "collector converter", -1, -1, true, true)), LOAD_EGG_HOPPER(Role.COLLECTOR, newBaseComparableEntry("load", "egg hopper", -1, -1, true, true)), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java index f732d6bd07..ae7877481e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrotherSlainOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Varbits; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java index 12c1353973..68c21f06e4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java @@ -29,7 +29,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import static net.runelite.api.Varbits.BLAST_FURNACE_COFFER; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceOverlay.java index 2a83c6965d..d1fad4b216 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceOverlay.java @@ -30,7 +30,7 @@ import java.awt.image.BufferedImage; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMineOreCountOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMineOreCountOverlay.java index 0c4e15120d..714925ae3d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMineOreCountOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMineOreCountOverlay.java @@ -31,7 +31,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.ItemID; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Varbits; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsOverlay.java index 977fe0b5a0..4dd412cf8a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/CombatIconsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/CombatIconsOverlay.java index c3c69d9561..446cd5f800 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/CombatIconsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/CombatIconsOverlay.java @@ -8,7 +8,7 @@ import java.awt.image.BufferedImage; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.game.SkillIconManager; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java index 8159aae561..44286d567e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java @@ -12,7 +12,7 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.MessageNode; import static net.runelite.api.ScriptID.CHATBOX_INPUT; @@ -164,7 +164,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener final MenuEntry menuEntry = new MenuEntry(); menuEntry.setOption(TRANSLATE); menuEntry.setTarget(event.getTarget()); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); menuEntry.setParam0(event.getActionParam0()); menuEntry.setParam1(event.getActionParam1()); menuEntry.setIdentifier(event.getIdentifier()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java index 923325da2f..546ffa9817 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java @@ -32,7 +32,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import static net.runelite.api.ItemID.SPADE; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.plugins.cluescrolls.clues.ClueScroll; import net.runelite.client.plugins.cluescrolls.clues.item.ItemRequirement; import net.runelite.client.plugins.cluescrolls.clues.item.SingleItemRequirement; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatOverlay.java index de414bc3b2..71ce46c70b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatOverlay.java @@ -30,7 +30,7 @@ import java.util.Map; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Player; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/DamageOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/DamageOverlay.java index 8a27e6f96b..2a7cc38dc2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/DamageOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/DamageOverlay.java @@ -30,7 +30,7 @@ import java.util.Map; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Player; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java index 16cb909628..df55dd0818 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java @@ -30,7 +30,7 @@ import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import javax.inject.Singleton; import javax.swing.SwingUtilities; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.client.RuneLite; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ChatColorConfig; @@ -147,7 +147,7 @@ public class ConfigPlugin extends Plugin private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) { OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); - if (overlayMenuEntry.getMenuAction() == MenuAction.RUNELITE_OVERLAY_CONFIG) + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY_CONFIG) { Overlay overlay = overlayMenuClicked.getOverlay(); Plugin plugin = overlay.getPlugin(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java index 7b71bfad11..4bf9d3efe4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java @@ -36,7 +36,7 @@ import javax.inject.Singleton; import static net.runelite.api.AnimationID.COOKING_FIRE; import static net.runelite.api.AnimationID.COOKING_RANGE; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpDamageOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpDamageOverlay.java index 132075580a..7892b731ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpDamageOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpDamageOverlay.java @@ -31,7 +31,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.NPC; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java index 526105012a..d569090a93 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java @@ -35,8 +35,8 @@ import net.runelite.api.Actor; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; +import net.runelite.api.MenuOpcode; +import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.NpcID; @@ -66,7 +66,7 @@ import net.runelite.client.ui.overlay.OverlayManager; @Slf4j public class CorpPlugin extends Plugin { - private static final int NPC_SECTION_ACTION = MenuAction.NPC_SECOND_OPTION.getId(); + private static final int NPC_SECTION_ACTION = MenuOpcode.NPC_SECOND_OPTION.getId(); private static final String ATTACK = "Attack"; private static final String DARK_ENERGY_CORE = "Dark energy core"; @@ -263,7 +263,7 @@ public class CorpPlugin extends Plugin MenuEntry[] menuEntries = client.getMenuEntries(); MenuEntry menuEntry = menuEntries[menuEntries.length - 1]; - menuEntry.setType(NPC_SECTION_ACTION + MENU_ACTION_DEPRIORITIZE_OFFSET); + menuEntry.setOpcode(NPC_SECTION_ACTION + MENU_ACTION_DEPRIORITIZE_OFFSET); client.setMenuEntries(menuEntries); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index 6c49df4d76..b2bb646e5e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -310,7 +310,7 @@ class DevToolsOverlay extends Overlay { if (player.getLocalLocation().distanceTo(gameObject.getLocalLocation()) <= MAX_DISTANCE) { - Entity entity = gameObject.getRenderable(); + Entity entity = gameObject.getEntity(); if (entity instanceof DynamicObject) { OverlayUtil.renderTileOverlay(graphics, gameObject, "ID: " + gameObject.getId() + " Anim: " + ((DynamicObject) entity).getAnimationID(), TURQOISE); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index 1bef2b684f..963c8efea4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -36,7 +36,7 @@ import lombok.Getter; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.Experience; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.Player; @@ -71,8 +71,8 @@ import org.slf4j.LoggerFactory; @Getter public class DevToolsPlugin extends Plugin { - private static final List EXAMINE_MENU_ACTIONS = ImmutableList.of(MenuAction.EXAMINE_ITEM, - MenuAction.EXAMINE_ITEM_GROUND, MenuAction.EXAMINE_NPC, MenuAction.EXAMINE_OBJECT); + private static final List EXAMINE_MENU_ACTIONS = ImmutableList.of(MenuOpcode.EXAMINE_ITEM, + MenuOpcode.EXAMINE_ITEM_GROUND, MenuOpcode.EXAMINE_NPC, MenuOpcode.EXAMINE_OBJECT); @Inject private Client client; @@ -379,7 +379,7 @@ public class DevToolsPlugin extends Plugin return; } - MenuAction action = MenuAction.of(event.getType()); + MenuOpcode action = MenuOpcode.of(event.getType()); if (EXAMINE_MENU_ACTIONS.contains(action)) { @@ -389,7 +389,7 @@ public class DevToolsPlugin extends Plugin final int identifier = event.getIdentifier(); String info = "ID: "; - if (action == MenuAction.EXAMINE_NPC) + if (action == MenuOpcode.EXAMINE_NPC) { NPC npc = client.getCachedNPCs()[identifier]; info += npc.getId(); @@ -398,7 +398,7 @@ public class DevToolsPlugin extends Plugin { info += identifier; - if (action == MenuAction.EXAMINE_OBJECT) + if (action == MenuOpcode.EXAMINE_OBJECT) { WorldPoint point = WorldPoint.fromScene(client, entry.getParam0(), entry.getParam1(), client.getPlane()); info += " X: " + point.getX() + " Y: " + point.getY(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index c90495cf57..9a8087ce1d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -138,7 +138,7 @@ public class ExaminePlugin extends Plugin ExamineType type; int id, quantity = -1; - switch (event.getMenuAction()) + switch (event.getMenuOpcode()) { case EXAMINE_ITEM: { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java index 24f15c5e42..524d72682b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java index 836b3e7fe2..ad3c294f30 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java @@ -37,7 +37,7 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.Friend; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Nameable; import net.runelite.api.events.MenuEntryAdded; @@ -187,7 +187,7 @@ public class FriendNotesPlugin extends Plugin // Build "Add Note" or "Edit Note" menu entry final MenuEntry addNote = new MenuEntry(); addNote.setOption(hoveredFriend == null || hoveredFriend.getNote() == null ? ADD_NOTE : EDIT_NOTE); - addNote.setType(MenuAction.RUNELITE.getId()); + addNote.setOpcode(MenuOpcode.RUNELITE.getId()); addNote.setTarget(event.getTarget()); //Preserve color codes here addNote.setParam0(event.getActionParam0()); addNote.setParam1(event.getActionParam1()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java index 1f273ec5ba..6ae680b2a6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java @@ -24,7 +24,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.Friend; import net.runelite.api.Ignore; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Nameable; import net.runelite.api.events.MenuEntryAdded; @@ -131,7 +131,7 @@ public class FriendTaggingPlugin extends Plugin // Build "Add Note" or "Edit Note" menu entry final MenuEntry entry = new MenuEntry(); entry.setOption(friendName == null || getTag(friendName) == null ? ADD_TAG : DELETE_TAG); - entry.setType(MenuAction.RUNELITE.getId()); + entry.setOpcode(MenuOpcode.RUNELITE.getId()); entry.setTarget(event.getTarget()); //Preserve color codes here entry.setParam0(event.getActionParam0()); entry.setParam1(event.getActionParam1()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletTimer.java b/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletTimer.java index 1737bbec6e..5bfe9acc35 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletTimer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletTimer.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Player; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java index b2fd7a194b..cfcd1bcc87 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java @@ -100,13 +100,13 @@ class SceneUploader reset(bridge); } - TilePaint tilePaint = tile.getSceneTilePaint(); + TilePaint tilePaint = tile.getTilePaint(); if (tilePaint != null) { tilePaint.setBufferOffset(-1); } - TileModel sceneTileModel = tile.getSceneTileModel(); + TileModel sceneTileModel = tile.getTileModel(); if (sceneTileModel != null) { sceneTileModel.setBufferOffset(-1); @@ -115,26 +115,26 @@ class SceneUploader WallObject wallObject = tile.getWallObject(); if (wallObject != null) { - if (wallObject.getRenderable1() instanceof Model) + if (wallObject.getEntity1() instanceof Model) { - ((Model) wallObject.getRenderable1()).setBufferOffset(-1); + ((Model) wallObject.getEntity1()).setBufferOffset(-1); } - if (wallObject.getRenderable2() instanceof Model) + if (wallObject.getEntity2() instanceof Model) { - ((Model) wallObject.getRenderable2()).setBufferOffset(-1); + ((Model) wallObject.getEntity2()).setBufferOffset(-1); } } GroundObject groundObject = tile.getGroundObject(); - if (groundObject != null && groundObject.getRenderable() instanceof Model) + if (groundObject != null && groundObject.getEntity() instanceof Model) { - ((Model) groundObject.getRenderable()).setBufferOffset(-1); + ((Model) groundObject.getEntity()).setBufferOffset(-1); } DecorativeObject decorativeObject = tile.getDecorativeObject(); - if (decorativeObject != null && decorativeObject.getRenderable() instanceof Model) + if (decorativeObject != null && decorativeObject.getEntity1() instanceof Model) { - ((Model) decorativeObject.getRenderable()).setBufferOffset(-1); + ((Model) decorativeObject.getEntity1()).setBufferOffset(-1); } GameObject[] gameObjects = tile.getGameObjects(); @@ -144,9 +144,9 @@ class SceneUploader { continue; } - if (gameObject.getRenderable() instanceof Model) + if (gameObject.getEntity() instanceof Model) { - ((Model) gameObject.getRenderable()).setBufferOffset(-1); + ((Model) gameObject.getEntity()).setBufferOffset(-1); } } } @@ -159,7 +159,7 @@ class SceneUploader upload(bridge, vertexBuffer, uvBuffer); } - TilePaint tilePaint = tile.getSceneTilePaint(); + TilePaint tilePaint = tile.getTilePaint(); if (tilePaint != null) { tilePaint.setBufferOffset(offset); @@ -181,7 +181,7 @@ class SceneUploader } } - TileModel sceneTileModel = tile.getSceneTileModel(); + TileModel sceneTileModel = tile.getTileModel(); if (sceneTileModel != null) { sceneTileModel.setBufferOffset(offset); @@ -206,13 +206,13 @@ class SceneUploader WallObject wallObject = tile.getWallObject(); if (wallObject != null) { - Entity entity1 = wallObject.getRenderable1(); + Entity entity1 = wallObject.getEntity1(); if (entity1 instanceof Model) { uploadModel((Model) entity1, vertexBuffer, uvBuffer); } - Entity entity2 = wallObject.getRenderable2(); + Entity entity2 = wallObject.getEntity2(); if (entity2 instanceof Model) { uploadModel((Model) entity2, vertexBuffer, uvBuffer); @@ -222,7 +222,7 @@ class SceneUploader GroundObject groundObject = tile.getGroundObject(); if (groundObject != null) { - Entity entity = groundObject.getRenderable(); + Entity entity = groundObject.getEntity(); if (entity instanceof Model) { uploadModel((Model) entity, vertexBuffer, uvBuffer); @@ -232,13 +232,13 @@ class SceneUploader DecorativeObject decorativeObject = tile.getDecorativeObject(); if (decorativeObject != null) { - Entity entity = decorativeObject.getRenderable(); + Entity entity = decorativeObject.getEntity1(); if (entity instanceof Model) { uploadModel((Model) entity, vertexBuffer, uvBuffer); } - Entity entity2 = decorativeObject.getRenderable2(); + Entity entity2 = decorativeObject.getEntity2(); if (entity2 instanceof Model) { uploadModel((Model) entity2, vertexBuffer, uvBuffer); @@ -253,10 +253,10 @@ class SceneUploader continue; } - Entity entity = gameObject.getRenderable(); + Entity entity = gameObject.getEntity(); if (entity instanceof Model) { - uploadModel((Model) gameObject.getRenderable(), vertexBuffer, uvBuffer); + uploadModel((Model) gameObject.getEntity(), vertexBuffer, uvBuffer); } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 3f06041e24..e525b21abc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -54,7 +54,7 @@ import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemDefinition; import static net.runelite.api.ItemID.COINS_995; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; @@ -449,7 +449,7 @@ public class GrandExchangePlugin extends Plugin case WidgetID.GRAND_EXCHANGE_INVENTORY_GROUP_ID: case WidgetID.SHOP_INVENTORY_GROUP_ID: menuEntry.setOption(SEARCH_GRAND_EXCHANGE); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(entries); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java index b387ff9279..65108ca40e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java @@ -56,8 +56,8 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.ItemDefinition; import net.runelite.api.ItemID; +import net.runelite.api.MenuOpcode; import net.runelite.api.TileItemPile; -import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.Node; import net.runelite.api.Player; @@ -124,14 +124,14 @@ public class GroundItemsPlugin extends Plugin private static final int NORMAL_DURATION_MILLIS = 60 * 1000; private static final int NORMAL_DURATION_TICKS = (int) floor(60 / 0.6); // Ground item menu options - private static final int FIRST_OPTION = MenuAction.GROUND_ITEM_FIRST_OPTION.getId(); - private static final int SECOND_OPTION = MenuAction.GROUND_ITEM_SECOND_OPTION.getId(); - private static final int THIRD_OPTION = MenuAction.GROUND_ITEM_THIRD_OPTION.getId(); // this is Take - private static final int FOURTH_OPTION = MenuAction.GROUND_ITEM_FOURTH_OPTION.getId(); - private static final int FIFTH_OPTION = MenuAction.GROUND_ITEM_FIFTH_OPTION.getId(); - private static final int EXAMINE_ITEM = MenuAction.EXAMINE_ITEM_GROUND.getId(); - private static final int WALK = MenuAction.WALK.getId(); - private static final int CAST_ON_ITEM = MenuAction.SPELL_CAST_ON_GROUND_ITEM.getId(); + private static final int FIRST_OPTION = MenuOpcode.GROUND_ITEM_FIRST_OPTION.getId(); + private static final int SECOND_OPTION = MenuOpcode.GROUND_ITEM_SECOND_OPTION.getId(); + private static final int THIRD_OPTION = MenuOpcode.GROUND_ITEM_THIRD_OPTION.getId(); // this is Take + private static final int FOURTH_OPTION = MenuOpcode.GROUND_ITEM_FOURTH_OPTION.getId(); + private static final int FIFTH_OPTION = MenuOpcode.GROUND_ITEM_FIFTH_OPTION.getId(); + private static final int EXAMINE_ITEM = MenuOpcode.EXAMINE_ITEM_GROUND.getId(); + private static final int WALK = MenuOpcode.WALK.getId(); + private static final int CAST_ON_ITEM = MenuOpcode.SPELL_CAST_ON_GROUND_ITEM.getId(); private static final String TELEGRAB_TEXT = ColorUtil.wrapWithColorTag("Telekinetic Grab", Color.GREEN) + ColorUtil.prependColorTag(" -> ", Color.WHITE); private final Map priceChecks = new LinkedHashMap<>(); @Getter(AccessLevel.PACKAGE) @@ -450,7 +450,7 @@ public class GroundItemsPlugin extends Plugin if (this.collapseEntries) { - int menuType = menuEntry.getType(); + int menuType = menuEntry.getOpcode(); if (menuType == FIRST_OPTION || menuType == SECOND_OPTION || menuType == THIRD_OPTION || menuType == FOURTH_OPTION || menuType == FIFTH_OPTION || menuType == EXAMINE_ITEM) { @@ -472,12 +472,12 @@ public class GroundItemsPlugin extends Plugin newEntries.sort((a, b) -> { - final int aMenuType = a.getEntry().getType(); + final int aMenuType = a.getEntry().getOpcode(); if (aMenuType == FIRST_OPTION || aMenuType == SECOND_OPTION || aMenuType == THIRD_OPTION || aMenuType == FOURTH_OPTION || aMenuType == FIFTH_OPTION || aMenuType == EXAMINE_ITEM || aMenuType == WALK) { // only check for item related menu types, so we don't sort other stuff - final int bMenuType = b.getEntry().getType(); + final int bMenuType = b.getEntry().getOpcode(); if (bMenuType == FIRST_OPTION || bMenuType == SECOND_OPTION || bMenuType == THIRD_OPTION || bMenuType == FOURTH_OPTION || bMenuType == FIFTH_OPTION || bMenuType == EXAMINE_ITEM || bMenuType == WALK) @@ -942,7 +942,7 @@ public class GroundItemsPlugin extends Plugin private void onMenuOptionClicked(MenuOptionClicked menuOptionClicked) { - if (menuOptionClicked.getMenuAction() == MenuAction.ITEM_DROP) + if (menuOptionClicked.getMenuOpcode() == MenuOpcode.ITEM_DROP) { int itemId = menuOptionClicked.getIdentifier(); // Keep a queue of recently dropped items to better detect diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index 77e02e7b3b..aecdfec4bd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -47,7 +47,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import static net.runelite.api.Constants.CHUNK_SIZE; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Tile; import net.runelite.api.coords.LocalPoint; @@ -320,7 +320,7 @@ public class GroundMarkerPlugin extends Plugin final String option = (stream.isPresent() && stream.get().getGroup() == i) ? UNMARK : MARK; menuEntry.setOption(ColorUtil.prependColorTag(Text.removeTags(option + (i == 1 ? "" : " (Group " + i + ")")), getColor(i))); menuEntry.setTarget(event.getTarget()); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); lastIndex++; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java index cf21d1f2d7..5c53d1d5f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java @@ -39,7 +39,7 @@ import javax.inject.Singleton; import javax.swing.SwingUtilities; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ConfigChanged; @@ -202,7 +202,7 @@ public class HiscorePlugin extends Plugin final MenuEntry lookup = new MenuEntry(); lookup.setOption(LOOKUP); lookup.setTarget(event.getTarget()); - lookup.setType(MenuAction.RUNELITE.getId()); + lookup.setOpcode(MenuOpcode.RUNELITE.getId()); lookup.setParam0(event.getActionParam0()); lookup.setParam1(event.getActionParam1()); lookup.setIdentifier(event.getIdentifier()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java index e6986c1503..f33d73734e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java @@ -32,7 +32,7 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuOpened; @@ -182,7 +182,7 @@ public class InventoryTagsPlugin extends Plugin private void onMenuOptionClicked(final MenuOptionClicked event) { - if (event.getMenuAction() != MenuAction.RUNELITE) + if (event.getMenuOpcode() != MenuOpcode.RUNELITE) { return; } @@ -235,7 +235,7 @@ public class InventoryTagsPlugin extends Plugin newMenu.setTarget(ColorUtil.prependColorTag(groupName, MoreObjects.firstNonNull(color, Color.WHITE))); newMenu.setIdentifier(itemId); newMenu.setParam1(widgetId); - newMenu.setType(MenuAction.RUNELITE.getId()); + newMenu.setOpcode(MenuOpcode.RUNELITE.getId()); menuList[num++] = newMenu; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java index 442c750022..227f015136 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java @@ -36,7 +36,7 @@ import net.runelite.api.Item; import net.runelite.api.ItemDefinition; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; @@ -90,7 +90,7 @@ class ItemPricesOverlay extends Overlay } final MenuEntry menuEntry = menuEntries[last]; - final MenuAction action = MenuAction.of(menuEntry.getType()); + final MenuOpcode action = MenuOpcode.of(menuEntry.getOpcode()); final int widgetId = menuEntry.getParam1(); final int groupId = WidgetInfo.TO_GROUP(widgetId); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java index 0d8450e0f2..d32160d6e7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java @@ -41,7 +41,7 @@ import net.runelite.api.Client; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; @@ -208,7 +208,7 @@ public class KourendLibraryPlugin extends Plugin private void onMenuOptionClicked(MenuOptionClicked menuOpt) { - if (MenuAction.GAME_OBJECT_FIRST_OPTION == menuOpt.getMenuAction() && menuOpt.getTarget().contains("Bookshelf")) + if (MenuOpcode.GAME_OBJECT_FIRST_OPTION == menuOpt.getMenuOpcode() && menuOpt.getTarget().contains("Bookshelf")) { lastBookcaseClick = WorldPoint.fromScene(client, menuOpt.getActionParam0(), menuOpt.getActionParam1(), client.getPlane()); overlay.setHidden(false); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 4dfd93ef6c..f9f1d33a91 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -626,7 +626,7 @@ public class LootTrackerPlugin extends Plugin chestLooted = true; break; case (WidgetID.CLUE_SCROLL_REWARD_GROUP_ID): - // event type should be set via ChatMessage for clue scrolls. + // event opcode should be set via ChatMessage for clue scrolls. // Clue Scrolls use same InventoryID as Barrows container = client.getItemContainer(InventoryID.BARROWS_REWARD); break; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index 016858cf58..7223ec8816 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -48,9 +48,9 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; -import static net.runelite.api.MenuAction.WALK; +import net.runelite.api.MenuOpcode; +import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; +import static net.runelite.api.MenuOpcode.WALK; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.Player; @@ -116,9 +116,9 @@ public class MenuEntrySwapperPlugin extends Plugin { private static final String CONFIG_GROUP = "shiftclick"; private static final int PURO_PURO_REGION_ID = 10307; - private static final Set NPC_MENU_TYPES = ImmutableSet.of( - MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION, MenuAction.NPC_THIRD_OPTION, - MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION, MenuAction.EXAMINE_NPC + private static final Set NPC_MENU_TYPES = ImmutableSet.of( + MenuOpcode.NPC_FIRST_OPTION, MenuOpcode.NPC_SECOND_OPTION, MenuOpcode.NPC_THIRD_OPTION, + MenuOpcode.NPC_FOURTH_OPTION, MenuOpcode.NPC_FIFTH_OPTION, MenuOpcode.EXAMINE_NPC ); private static final Splitter NEWLINE_SPLITTER = Splitter .on("\n") @@ -534,7 +534,7 @@ public class MenuEntrySwapperPlugin extends Plugin { MenuEntry[] menuEntries = client.getMenuEntries(); MenuEntry menuEntry = menuEntries[menuEntries.length - 1]; - menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); + menuEntry.setOpcode(MenuOpcode.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); client.setMenuEntries(menuEntries); } else if (option.equalsIgnoreCase("examine")) @@ -549,7 +549,7 @@ public class MenuEntrySwapperPlugin extends Plugin if (hintArrowNpc != null && hintArrowNpc.getIndex() == eventId - && NPC_MENU_TYPES.contains(MenuAction.of(event.getType()))) + && NPC_MENU_TYPES.contains(MenuOpcode.of(event.getType()))) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java index 5f6c9ef448..4bf4ad880a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import static net.runelite.api.ObjectID.DEPLETED_VEIN_26665; import static net.runelite.api.ObjectID.DEPLETED_VEIN_26666; import static net.runelite.api.ObjectID.DEPLETED_VEIN_26667; @@ -244,7 +244,7 @@ public class MiningPlugin extends Plugin private void onMenuOptionClicked(MenuOptionClicked event) { //TODO: should work hopefully - if (event.getMenuAction() != MenuAction.RUNELITE || event.getActionParam1() != WidgetInfo.INVENTORY.getId()) + if (event.getMenuOpcode() != MenuOpcode.RUNELITE || event.getActionParam1() != WidgetInfo.INVENTORY.getId()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeGemOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeGemOverlay.java index c87469b6bc..4a183e3ba1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeGemOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeGemOverlay.java @@ -30,7 +30,7 @@ import java.time.Duration; import java.time.Instant; import javax.inject.Inject; import javax.inject.Singleton; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; import net.runelite.client.ui.overlay.OverlayMenuEntry; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java index c38ed61de1..56855a9a60 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java @@ -52,7 +52,7 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.NpcID; import static net.runelite.api.ObjectID.DEPLETED_VEIN_26665; @@ -374,7 +374,7 @@ public class MotherlodePlugin extends Plugin return; } - if (MINE_SPOTS.contains(menu.getIdentifier()) && menu.getMenuAction() == MenuAction.GAME_OBJECT_FIRST_OPTION) + if (MINE_SPOTS.contains(menu.getIdentifier()) && menu.getMenuOpcode() == MenuOpcode.GAME_OBJECT_FIRST_OPTION) { resetIdleChecks(); int veinX = menu.getActionParam0(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeSackOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeSackOverlay.java index bf8e1d31a3..9d485e5f4b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeSackOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeSackOverlay.java @@ -32,7 +32,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Varbits; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java index 34cae5980f..1ba8c85dc2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.VarClientInt; import net.runelite.api.widgets.Widget; @@ -75,7 +75,7 @@ class MouseHighlightOverlay extends Overlay MenuEntry menuEntry = menuEntries[last]; String target = menuEntry.getTarget(); String option = menuEntry.getOption(); - int type = menuEntry.getType(); + int type = menuEntry.getOpcode(); if (shouldNotRenderMenuAction(type)) { @@ -145,12 +145,12 @@ class MouseHighlightOverlay extends Overlay private boolean shouldNotRenderMenuAction(int type) { - return type == MenuAction.RUNELITE_OVERLAY.getId() + return type == MenuOpcode.RUNELITE_OVERLAY.getId() || (!plugin.isRightClickTooltipEnabled() && isMenuActionRightClickOnly(type)); } private boolean isMenuActionRightClickOnly(int type) { - return type == MenuAction.EXAMINE_ITEM_BANK_EQ.getId(); + return type == MenuOpcode.EXAMINE_ITEM_BANK_EQ.getId(); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java index c13389485d..fa450f95f1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java @@ -30,7 +30,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.ItemID; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.widgets.Widget; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 6cfb36e09a..6bffcad880 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -49,8 +49,8 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.GraphicID; import net.runelite.api.GraphicsObject; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; +import net.runelite.api.MenuOpcode; +import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.coords.WorldPoint; @@ -89,8 +89,8 @@ public class NpcIndicatorsPlugin extends Plugin private static final String TAG = "Tag"; private static final String UNTAG = "Un-tag"; - private static final Set NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION, - MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION); + private static final Set NPC_MENU_ACTIONS = ImmutableSet.of(MenuOpcode.NPC_FIRST_OPTION, MenuOpcode.NPC_SECOND_OPTION, + MenuOpcode.NPC_THIRD_OPTION, MenuOpcode.NPC_FOURTH_OPTION, MenuOpcode.NPC_FIFTH_OPTION); @Inject private Client client; @@ -304,14 +304,14 @@ public class NpcIndicatorsPlugin extends Plugin } if (this.highlightMenuNames && - NPC_MENU_ACTIONS.contains(MenuAction.of(type)) && + NPC_MENU_ACTIONS.contains(MenuOpcode.of(type)) && highlightedNpcs.stream().anyMatch(npc -> npc.getIndex() == event.getIdentifier())) { final MenuEntry menuEntry = menuEntries[menuEntries.length - 1]; menuEntry.setTarget(target); client.setMenuEntries(menuEntries); } - else if (hotKeyPressed && type == MenuAction.EXAMINE_NPC.getId()) + else if (hotKeyPressed && type == MenuOpcode.EXAMINE_NPC.getId()) { // Add tag option menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1); @@ -321,14 +321,14 @@ public class NpcIndicatorsPlugin extends Plugin tagEntry.setParam0(event.getActionParam0()); tagEntry.setParam1(event.getActionParam1()); tagEntry.setIdentifier(event.getIdentifier()); - tagEntry.setType(MenuAction.RUNELITE.getId()); + tagEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } } private void onMenuOptionClicked(MenuOptionClicked click) { - if (click.getMenuAction() != MenuAction.RUNELITE || + if (click.getMenuOpcode() != MenuOpcode.RUNELITE || !(click.getOption().equals(TAG) || click.getOption().equals(UNTAG))) { return; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index d51c65c88b..90dd55189c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -47,7 +47,7 @@ import static net.runelite.api.Constants.REGION_SIZE; import net.runelite.api.DecorativeObject; import net.runelite.api.GameObject; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.ObjectDefinition; import net.runelite.api.Scene; @@ -242,7 +242,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener private void onMenuEntryAdded(MenuEntryAdded event) { - if (!hotKeyPressed || event.getType() != MenuAction.EXAMINE_OBJECT.getId()) + if (!hotKeyPressed || event.getType() != MenuOpcode.EXAMINE_OBJECT.getId()) { return; } @@ -258,13 +258,13 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener menuEntry.setParam0(event.getActionParam0()); menuEntry.setParam1(event.getActionParam1()); menuEntry.setIdentifier(event.getIdentifier()); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } private void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getMenuAction() != MenuAction.RUNELITE + if (event.getMenuOpcode() != MenuOpcode.RUNELITE || !(event.getOption().equals(MARK) || event.getOption().equals(UNMARK))) { return; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java index 2913384345..a6de178175 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoOverlay.java @@ -35,7 +35,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Actor; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Varbits; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/PlayerComparisonOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/PlayerComparisonOverlay.java index c89603364f..7b8f726848 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/PlayerComparisonOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/PlayerComparisonOverlay.java @@ -32,7 +32,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Actor; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.client.game.HiscoreManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java index 738d1179ed..a623468844 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java @@ -45,7 +45,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Skill; import net.runelite.api.SoundEffectID; @@ -216,7 +216,7 @@ public class PartyPlugin extends Plugin implements KeyListener private void onOverlayMenuClicked(OverlayMenuClicked event) { - if (event.getEntry().getMenuAction() == MenuAction.RUNELITE_OVERLAY && + if (event.getEntry().getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY && event.getEntry().getTarget().equals("Party") && event.getEntry().getOption().equals("Leave")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyStatsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyStatsOverlay.java index 17c791cf19..c15882cb30 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyStatsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyStatsOverlay.java @@ -33,7 +33,7 @@ import java.util.Map; import java.util.UUID; import javax.inject.Inject; import javax.inject.Singleton; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.client.plugins.party.data.PartyData; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayMenuEntry; @@ -63,7 +63,7 @@ public class PartyStatsOverlay extends Overlay this.party = party; body.setBorder(new Rectangle()); body.setGap(new Point(0, ComponentConstants.STANDARD_BORDER / 2)); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Leave", "Party")); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, "Leave", "Party")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsOverlay.java index d4a6c6634b..d5c484f8fc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsOverlay.java @@ -29,7 +29,7 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPosition; @@ -59,9 +59,9 @@ public class PerformanceStatsOverlay extends Overlay setPriority(OverlayPriority.LOW); this.tracker = tracker; - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Pause", TARGET)); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Reset", TARGET)); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Submit", TARGET)); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, "Pause", TARGET)); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, "Reset", TARGET)); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, "Submit", TARGET)); panelComponent.setPreferredSize(new Dimension(350, 0)); panelComponent.setBackgroundColor(ComponentConstants.STANDARD_BACKGROUND_COLOR); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java index 8b01fa3530..8600678ca6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java @@ -37,19 +37,19 @@ import net.runelite.api.ClanMember; import net.runelite.api.ClanMemberRank; import static net.runelite.api.ClanMemberRank.UNRANKED; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.FOLLOW; -import static net.runelite.api.MenuAction.ITEM_USE_ON_PLAYER; -import static net.runelite.api.MenuAction.PLAYER_EIGTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIFTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIRST_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FOURTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SECOND_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION; -import static net.runelite.api.MenuAction.RUNELITE; -import static net.runelite.api.MenuAction.SPELL_CAST_ON_PLAYER; -import static net.runelite.api.MenuAction.TRADE; +import static net.runelite.api.MenuOpcode.FOLLOW; +import static net.runelite.api.MenuOpcode.ITEM_USE_ON_PLAYER; +import static net.runelite.api.MenuOpcode.PLAYER_EIGTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIFTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIRST_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FOURTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SECOND_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SEVENTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SIXTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_THIRD_OPTION; +import static net.runelite.api.MenuOpcode.RUNELITE; +import static net.runelite.api.MenuOpcode.SPELL_CAST_ON_PLAYER; +import static net.runelite.api.MenuOpcode.TRADE; import net.runelite.api.MenuEntry; import net.runelite.api.Player; import net.runelite.api.events.ClanMemberJoined; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java index 4ccbc18ee8..a47405a472 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java @@ -41,7 +41,7 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.SpriteID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.game.ItemManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPartyOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPartyOverlay.java index 330902c22e..2d4d8959a5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPartyOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPartyOverlay.java @@ -32,7 +32,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.ClanMember; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.client.ui.overlay.Overlay; @@ -63,9 +63,9 @@ public class RaidsPartyOverlay extends Overlay super(plugin); setPosition(OverlayPosition.TOP_RIGHT); setPriority(OverlayPriority.HIGH); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Raids party overlay")); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, PARTY_OVERLAY_RESET, "Raids party overlay")); - getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, PARTY_OVERLAY_REFRESH, "Raids party overlay")); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Raids party overlay")); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, PARTY_OVERLAY_RESET, "Raids party overlay")); + getMenuEntries().add(new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, PARTY_OVERLAY_REFRESH, "Raids party overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 02613488e8..65ea8a1990 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -51,7 +51,7 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InstanceTemplates; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.NullObjectID; import static net.runelite.api.Perspective.SCENE_SIZE; import net.runelite.api.Player; @@ -549,7 +549,7 @@ public class RaidsPlugin extends Plugin private void onOverlayMenuClicked(OverlayMenuClicked event) { OverlayMenuEntry entry = event.getEntry(); - if (entry.getMenuAction() == MenuAction.RUNELITE_OVERLAY && + if (entry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY && entry.getTarget().equals("Raids party overlay")) { switch (entry.getOption()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPointsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPointsOverlay.java index 7d75264915..ae8a43a5b2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPointsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPointsOverlay.java @@ -31,7 +31,7 @@ import java.util.Locale; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Varbits; import static net.runelite.client.plugins.raids.RaidsPlugin.POINTS_FORMAT; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java index 5753e46f39..6ad4bb392d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java @@ -57,7 +57,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; @@ -129,7 +129,7 @@ public class SlayermusiqPlugin extends Plugin private void onMenuOptionClicked(MenuOptionClicked ev) { - if (ev.getMenuAction() == MenuAction.RUNELITE && ev.getOption().equals(MENUOP_SLAYERMUSIQ)) + if (ev.getMenuOpcode() == MenuOpcode.RUNELITE && ev.getOption().equals(MENUOP_SLAYERMUSIQ)) { ev.consume(); String quest = Text.removeTags(ev.getTarget()); @@ -147,7 +147,7 @@ public class SlayermusiqPlugin extends Plugin menuEntry.setOption(MENUOP_SLAYERMUSIQ); menuEntry.setParam0(widgetIndex); menuEntry.setParam1(widgetID); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); return menuEntry; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java index ff4b468725..902a424cdf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java @@ -34,7 +34,7 @@ import javax.inject.Singleton; import static net.runelite.api.AnimationID.SMITHING_CANNONBALL; import static net.runelite.api.AnimationID.SMITHING_SMELTING; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesOverlay.java index 21e4ed2606..ef5cd3ca7e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesOverlay.java @@ -30,7 +30,7 @@ import java.util.Map; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.ItemID; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/nylocas/NyloOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/nylocas/NyloOverlay.java index d7e2703b93..cd1c2f53e5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/nylocas/NyloOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/nylocas/NyloOverlay.java @@ -28,7 +28,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.NPC; import net.runelite.client.plugins.theatre.TheatrePlugin; import net.runelite.client.plugins.theatre.TheatreRoom; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/xarpus/XarpusCounter.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/xarpus/XarpusCounter.java index f6ee089e31..1c9026a44f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/xarpus/XarpusCounter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/xarpus/XarpusCounter.java @@ -3,7 +3,7 @@ package net.runelite.client.plugins.theatre.rooms.xarpus; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.client.plugins.theatre.TheatrePlugin; import net.runelite.client.ui.overlay.Overlay; import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/timers/RoomTimer.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/timers/RoomTimer.java index c01b81d990..d0777a46f4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/timers/RoomTimer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/timers/RoomTimer.java @@ -5,7 +5,7 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Player; import net.runelite.client.plugins.theatre.TheatrePlugin; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java index ca037b8f1e..fcad30f1f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java @@ -31,18 +31,18 @@ import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.FOLLOW; -import static net.runelite.api.MenuAction.ITEM_USE_ON_PLAYER; -import static net.runelite.api.MenuAction.PLAYER_EIGTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIFTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIRST_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FOURTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SECOND_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION; -import static net.runelite.api.MenuAction.SPELL_CAST_ON_PLAYER; -import static net.runelite.api.MenuAction.TRADE; +import static net.runelite.api.MenuOpcode.FOLLOW; +import static net.runelite.api.MenuOpcode.ITEM_USE_ON_PLAYER; +import static net.runelite.api.MenuOpcode.PLAYER_EIGTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIFTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIRST_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FOURTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SECOND_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SEVENTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SIXTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_THIRD_OPTION; +import static net.runelite.api.MenuOpcode.SPELL_CAST_ON_PLAYER; +import static net.runelite.api.MenuOpcode.TRADE; import net.runelite.api.MenuEntry; import net.runelite.api.Player; import net.runelite.api.events.ConfigChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersOverlay.java index 2ee2ed02e3..79e27928d8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersOverlay.java @@ -14,7 +14,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayMenuEntry; @@ -40,7 +40,7 @@ public class WhaleWatchersOverlay extends Overlay @Inject public WhaleWatchersOverlay(final Client client, final WhaleWatchersPlugin plugin) { - OverlayMenuEntry resetMenuEntry = new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, + OverlayMenuEntry resetMenuEntry = new OverlayMenuEntry(MenuOpcode.RUNELITE_OVERLAY, "Reset", "Damage Counter"); this.getMenuEntries().add(resetMenuEntry); this.client = client; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java index e892cd6799..cc2a35f403 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java @@ -22,7 +22,7 @@ import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.InventoryID; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.Skill; import net.runelite.api.SkullIcon; import net.runelite.api.VarPlayer; @@ -202,7 +202,7 @@ public class WhaleWatchersPlugin extends Plugin private void onMenuOptionClicked(MenuOptionClicked event) { - if (this.showDamageCounter && event.getMenuAction().equals(MenuAction.SPELL_CAST_ON_PLAYER)) + if (this.showDamageCounter && event.getMenuOpcode().equals(MenuOpcode.SPELL_CAST_ON_PLAYER)) { inCombat = true; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java index e0c704aa40..c259e2f506 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java @@ -33,7 +33,7 @@ import javax.inject.Provider; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.NPCDefinition; @@ -221,7 +221,7 @@ public class WikiPlugin extends Plugin String name; WorldPoint location; - switch (ev.getMenuAction()) + switch (ev.getMenuOpcode()) { case CANCEL: return; @@ -258,7 +258,7 @@ public class WikiPlugin extends Plugin break; } default: - log.info("Unknown menu option: {} {} {}", ev, ev.getMenuAction(), ev.getMenuAction() == MenuAction.CANCEL); + log.info("Unknown menu option: {} {} {}", ev, ev.getMenuOpcode(), ev.getMenuOpcode() == MenuOpcode.CANCEL); return; } @@ -283,7 +283,7 @@ public class WikiPlugin extends Plugin return; } - if (ev.getMenuAction() == MenuAction.RUNELITE) + if (ev.getMenuOpcode() == MenuOpcode.RUNELITE) { boolean quickguide = false; switch (ev.getOption()) @@ -349,14 +349,14 @@ public class WikiPlugin extends Plugin menuEntry.setOption(MENUOP_GUIDE); menuEntry.setParam0(widgetIndex); menuEntry.setParam1(widgetID); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); menuEntry = menuEntries[menuEntries.length - 2] = new MenuEntry(); menuEntry.setTarget(event.getTarget()); menuEntry.setOption(MENUOP_QUICKGUIDE); menuEntry.setParam0(widgetIndex); menuEntry.setParam1(widgetID); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } @@ -372,7 +372,7 @@ public class WikiPlugin extends Plugin menuEntry.setParam0(widgetIndex); menuEntry.setParam1(widgetID); menuEntry.setIdentifier(event.getIdentifier()); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtOverlay.java index edf894b549..7093d610b9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtOverlay.java @@ -31,7 +31,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import static net.runelite.client.plugins.wintertodt.WintertodtPlugin.WINTERTODT_KINDLING_MULTIPLIER; import static net.runelite.client.plugins.wintertodt.WintertodtPlugin.WINTERTODT_ROOTS_MULTIPLIER; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java index 0aa27918d7..9bb29e9824 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; import net.runelite.client.ui.overlay.Overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index 1b232678b3..48c2bda1dc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -56,7 +56,7 @@ import net.runelite.api.ClanMember; import net.runelite.api.Client; import net.runelite.api.Friend; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; @@ -426,7 +426,7 @@ public class WorldHopperPlugin extends Plugin final MenuEntry hopTo = new MenuEntry(); hopTo.setOption(HOP_TO); hopTo.setTarget(event.getTarget()); - hopTo.setType(MenuAction.RUNELITE.getId()); + hopTo.setOpcode(MenuOpcode.RUNELITE.getId()); hopTo.setParam0(event.getActionParam0()); hopTo.setParam1(event.getActionParam1()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java index 4d6d53ad36..270387390d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesOverlay.java @@ -42,7 +42,7 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Point; import net.runelite.client.game.SkillIconManager; import net.runelite.client.plugins.xptracker.XpActionType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java index e31fa0a13b..5e3515af8d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java @@ -33,7 +33,7 @@ import java.awt.image.BufferedImage; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Experience; -import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.SkillColor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index ae3324a75c..169eb89644 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.Player; @@ -508,14 +508,14 @@ public class XpTrackerPlugin extends Plugin menuEntry.setOption(hasOverlay(skill) ? MENUOP_REMOVE_CANVAS_TRACKER : MENUOP_ADD_CANVAS_TRACKER); menuEntry.setParam0(event.getActionParam0()); menuEntry.setParam1(widgetID); - menuEntry.setType(MenuAction.RUNELITE.getId()); + menuEntry.setOpcode(MenuOpcode.RUNELITE.getId()); client.setMenuEntries(menuEntries); } private void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getMenuAction().getId() != MenuAction.RUNELITE.getId() + if (event.getMenuOpcode().getId() != MenuOpcode.RUNELITE.getId() || TO_GROUP(event.getActionParam1()) != WidgetID.SKILLS_GROUP_ID) { return; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoUtil.java b/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoUtil.java index af37aff7fa..ed6a96633f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoUtil.java @@ -123,7 +123,7 @@ public class ZalcanoUtil { if (client.getLocalPlayer().getLocalLocation().distanceTo(gameObject.getLocalLocation()) <= 2400) { - Entity entity = gameObject.getRenderable(); + Entity entity = gameObject.getEntity(); if (entity instanceof DynamicObject) { if (((DynamicObject) entity).getAnimationID() == AnimationID.ZALCANO_ROCK_GLOWING) @@ -149,7 +149,7 @@ public class ZalcanoUtil { if (client.getLocalPlayer().getLocalLocation().distanceTo(gameObject.getLocalLocation()) <= 2400) { - Entity entity = gameObject.getRenderable(); + Entity entity = gameObject.getEntity(); if (entity instanceof DynamicObject) { list.add(gameObject); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java index 7e70a53b88..beaf43f052 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java @@ -39,7 +39,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; @@ -123,7 +123,7 @@ public class OverlayManager private void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getMenuAction() != MenuAction.RUNELITE_OVERLAY) + if (event.getMenuOpcode() != MenuOpcode.RUNELITE_OVERLAY) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayMenuEntry.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayMenuEntry.java index f952f37713..b4e5714eeb 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayMenuEntry.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayMenuEntry.java @@ -25,12 +25,12 @@ package net.runelite.client.ui.overlay; import lombok.Value; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; @Value public class OverlayMenuEntry { - private MenuAction menuAction; + private MenuOpcode menuOpcode; private String option; private String target; } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index 53a0d267c3..555c7e02e9 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -47,7 +47,7 @@ import javax.swing.SwingUtilities; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.ClientTick; @@ -642,7 +642,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener final MenuEntry entry = new MenuEntry(); entry.setOption(overlayMenuEntry.getOption()); entry.setTarget(ColorUtil.wrapWithColorTag(overlayMenuEntry.getTarget(), JagexColors.MENU_TARGET)); - entry.setType(MenuAction.RUNELITE_OVERLAY.getId()); + entry.setOpcode(MenuOpcode.RUNELITE_OVERLAY.getId()); entry.setIdentifier(overlayManager.getOverlays().indexOf(overlay)); // overlay id entries[i] = entry; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/arrow/ArrowWorldOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/arrow/ArrowWorldOverlay.java index d822998223..c8af180f00 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/arrow/ArrowWorldOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/arrow/ArrowWorldOverlay.java @@ -113,13 +113,13 @@ public class ArrowWorldOverlay extends Overlay } for (GameObject object : objects) { - if (object.getRenderable().getModel() == null) + if (object.getEntity().getModel() == null) { renderWorldArrow(graphics, arrowPoint, object.getLocalLocation(), 0); } else { - renderWorldArrow(graphics, arrowPoint, object.getLocalLocation(), object.getRenderable().getModel().getModelHeight() + Z_OFFSET); + renderWorldArrow(graphics, arrowPoint, object.getLocalLocation(), object.getEntity().getModel().getModelHeight() + Z_OFFSET); } } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java index 0eda711c1d..9ae455d100 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java @@ -32,7 +32,7 @@ import javax.inject.Inject; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.ItemID; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.MenuOptionClicked; @@ -93,7 +93,7 @@ public class ExaminePluginTest "Examine", "Something", ItemID.ABYSSAL_WHIP, - MenuAction.EXAMINE_ITEM.getId(), + MenuOpcode.EXAMINE_ITEM.getId(), 123, 456, false @@ -116,7 +116,7 @@ public class ExaminePluginTest "Examine", "Something", ItemID.ABYSSAL_WHIP, - MenuAction.EXAMINE_ITEM.getId(), + MenuOpcode.EXAMINE_ITEM.getId(), 123, 456, false diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java index 80122ba7bf..b307e00400 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java @@ -95,12 +95,12 @@ public abstract class EntityHiderMixin implements RSScene private static boolean hideDeadNPCs; @Copy("newGameObject") - abstract boolean addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity renderable, int var10, boolean var11, long var12, int var13); + abstract boolean addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13); @Replace("newGameObject") - boolean rl$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity renderable, int var10, boolean var11, long var12, int var13) + boolean rl$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13) { - final boolean shouldDraw = shouldDraw(renderable, false); + final boolean shouldDraw = shouldDraw(entity, false); if (!shouldDraw) { @@ -113,7 +113,7 @@ public abstract class EntityHiderMixin implements RSScene client.getOccupiedTilesTick()[tileX][tileY] = -1; } - return shouldDraw && addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, renderable, var10, var11, var12, var13); + return shouldDraw && addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, entity, var10, var11, var12, var13); } @Copy("drawActor2d") @@ -132,22 +132,22 @@ public abstract class EntityHiderMixin implements RSScene } @Inject - private static boolean shouldDraw(Object renderable, boolean drawingUI) + private static boolean shouldDraw(Object entity, boolean drawingUI) { if (!isHidingEntities) { return true; } - if (renderable instanceof RSPlayer) + if (entity instanceof RSPlayer) { boolean local = drawingUI ? hideLocalPlayer2D : hideLocalPlayer; boolean other = drawingUI ? hidePlayers2D : hidePlayers; - boolean isLocalPlayer = renderable == client.getLocalPlayer(); + boolean isLocalPlayer = entity == client.getLocalPlayer(); if (isLocalPlayer ? local : other) { - RSPlayer player = (RSPlayer) renderable; + RSPlayer player = (RSPlayer) entity; if (!hideAttackers) { @@ -166,9 +166,9 @@ public abstract class EntityHiderMixin implements RSScene return (!hideFriends && player.isFriend()) || (!isLocalPlayer && !hideClanMates && player.isClanMember()); } } - else if (renderable instanceof RSNPC) + else if (entity instanceof RSNPC) { - RSNPC npc = (RSNPC) renderable; + RSNPC npc = (RSNPC) entity; if (!hideAttackers) { @@ -207,7 +207,7 @@ public abstract class EntityHiderMixin implements RSScene return drawingUI ? !hideNPCs2D : !hideNPCs; } - else if (renderable instanceof RSProjectile) + else if (entity instanceof RSProjectile) { return !hideProjectiles; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java index 8857f785ca..da6f33d83a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java @@ -115,12 +115,12 @@ public abstract class MenuMixin implements RSClient public void sortMenuEntries() { int count = getMenuOptionCount() - 1; - int[] menuOpcodes = getMenuTypes(); + int[] menuOpcodes = getMenuOpcodes(); String[] menuTargetNames = getMenuTargets(); String[] menuActions = getMenuOptions(); int[] menuArguments0 = getMenuIdentifiers(); - int[] menuArguments1 = getMenuActionParams0(); - int[] menuArguments2 = getMenuActionParams1(); + int[] menuArguments1 = getMenuArguments1(); + int[] menuArguments2 = getMenuArguments2(); boolean[] menuShiftClick = getMenuForceLeftClick(); int tmp; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java index daa7bcdf23..e7698c2b30 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java @@ -36,7 +36,7 @@ public abstract class ProcessClientErrorMixin implements RSClient @Shadow("client") private static RSClient client; - @Replace("sendStackTrace") + @Replace("RunException_sendStackTrace") static void rl$processClientError(String string, Throwable throwable) { if (throwable != null) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSBoundaryObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSBoundaryObjectMixin.java index 0dcf09dbb0..26f9b68998 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSBoundaryObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSBoundaryObjectMixin.java @@ -36,7 +36,7 @@ public abstract class RSBoundaryObjectMixin implements RSBoundaryObject @Inject public Model getModelA() { - Entity entity = getRenderable1(); + Entity entity = getEntity1(); if (entity == null) { return null; @@ -55,7 +55,7 @@ public abstract class RSBoundaryObjectMixin implements RSBoundaryObject @Inject public Model getModelB() { - Entity entity = getRenderable2(); + Entity entity = getEntity2(); if (entity == null) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index f6869a38a1..9b3b736d34 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -50,15 +50,15 @@ import net.runelite.api.Ignore; import net.runelite.api.IndexDataBase; import net.runelite.api.IndexedSprite; import net.runelite.api.InventoryID; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.PLAYER_EIGTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIFTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FIRST_OPTION; -import static net.runelite.api.MenuAction.PLAYER_FOURTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SECOND_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION; -import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION; +import net.runelite.api.MenuOpcode; +import static net.runelite.api.MenuOpcode.PLAYER_EIGTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIFTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FIRST_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_FOURTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SECOND_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SEVENTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_SIXTH_OPTION; +import static net.runelite.api.MenuOpcode.PLAYER_THIRD_OPTION; import net.runelite.api.MenuEntry; import net.runelite.api.MessageNode; import net.runelite.api.NPC; @@ -654,9 +654,9 @@ public abstract class RSClientMixin implements RSClient String[] menuOptions = getMenuOptions(); String[] menuTargets = getMenuTargets(); int[] menuIdentifiers = getMenuIdentifiers(); - int[] menuTypes = getMenuTypes(); - int[] params0 = getMenuActionParams0(); - int[] params1 = getMenuActionParams1(); + int[] menuTypes = getMenuOpcodes(); + int[] params0 = getMenuArguments1(); + int[] params1 = getMenuArguments2(); boolean[] leftClick = getMenuForceLeftClick(); MenuEntry[] entries = new MenuEntry[count]; @@ -666,7 +666,7 @@ public abstract class RSClientMixin implements RSClient entry.setOption(menuOptions[i]); entry.setTarget(menuTargets[i]); entry.setIdentifier(menuIdentifiers[i]); - entry.setType(menuTypes[i]); + entry.setOpcode(menuTypes[i]); entry.setParam0(params0[i]); entry.setParam1(params1[i]); entry.setForceLeftClick(leftClick[i]); @@ -682,9 +682,9 @@ public abstract class RSClientMixin implements RSClient String[] menuOptions = getMenuOptions(); String[] menuTargets = getMenuTargets(); int[] menuIdentifiers = getMenuIdentifiers(); - int[] menuTypes = getMenuTypes(); - int[] params0 = getMenuActionParams0(); - int[] params1 = getMenuActionParams1(); + int[] menuTypes = getMenuOpcodes(); + int[] params0 = getMenuArguments1(); + int[] params1 = getMenuArguments2(); boolean[] leftClick = getMenuForceLeftClick(); for (MenuEntry entry : entries) @@ -697,7 +697,7 @@ public abstract class RSClientMixin implements RSClient menuOptions[count] = entry.getOption(); menuTargets[count] = entry.getTarget(); menuIdentifiers[count] = entry.getIdentifier(); - menuTypes[count] = entry.getType(); + menuTypes[count] = entry.getOpcode(); params0[count] = entry.getParam0(); params1[count] = entry.getParam1(); leftClick[count] = entry.isForceLeftClick(); @@ -724,9 +724,9 @@ public abstract class RSClientMixin implements RSClient client.getMenuOptions()[oldCount], client.getMenuTargets()[oldCount], client.getMenuIdentifiers()[oldCount], - client.getMenuTypes()[oldCount], - client.getMenuActionParams0()[oldCount], - client.getMenuActionParams1()[oldCount], + client.getMenuOpcodes()[oldCount], + client.getMenuArguments1()[oldCount], + client.getMenuArguments2()[oldCount], client.getMenuForceLeftClick()[oldCount] ) ); @@ -1041,12 +1041,12 @@ public abstract class RSClientMixin implements RSClient @Inject public static void playerOptionsChanged(int idx) { - // Reset the menu type - MenuAction[] playerActions = {PLAYER_FIRST_OPTION, PLAYER_SECOND_OPTION, PLAYER_THIRD_OPTION, PLAYER_FOURTH_OPTION, + // Reset the menu opcode + MenuOpcode[] playerActions = {PLAYER_FIRST_OPTION, PLAYER_SECOND_OPTION, PLAYER_THIRD_OPTION, PLAYER_FOURTH_OPTION, PLAYER_FIFTH_OPTION, PLAYER_SIXTH_OPTION, PLAYER_SEVENTH_OPTION, PLAYER_EIGTH_OPTION}; if (idx >= 0 && idx < playerActions.length) { - MenuAction playerAction = playerActions[idx]; + MenuOpcode playerAction = playerActions[idx]; client.getPlayerMenuTypes()[idx] = playerAction.getId(); } @@ -1346,7 +1346,7 @@ public abstract class RSClientMixin implements RSClient return; } - rs$menuAction(menuOptionClicked.getActionParam0(), menuOptionClicked.getActionParam1(), menuOptionClicked.getType(), + rs$menuAction(menuOptionClicked.getActionParam0(), menuOptionClicked.getActionParam1(), menuOptionClicked.getOpcode(), menuOptionClicked.getIdentifier(), menuOptionClicked.getOption(), menuOptionClicked.getTarget(), var6, var7); } @@ -1642,8 +1642,8 @@ public abstract class RSClientMixin implements RSClient int len = getMenuOptionCount(); if (len > 0) { - int type = getMenuTypes()[len - 1]; - return type == MenuAction.RUNELITE_OVERLAY.getId(); + int type = getMenuOpcodes()[len - 1]; + return type == MenuOpcode.RUNELITE_OVERLAY.getId(); } return false; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSFloorDecorationMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSFloorDecorationMixin.java index 60d46c56ab..16245b40aa 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSFloorDecorationMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSFloorDecorationMixin.java @@ -37,7 +37,7 @@ public abstract class RSFloorDecorationMixin implements RSFloorDecoration @Override public Model getModel() { - Entity entity = getRenderable(); + Entity entity = getEntity(); if (entity == null) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java index da84118774..c47a87fc6e 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java @@ -62,7 +62,7 @@ public abstract class RSGameObjectMixin implements RSGameObject @Override public RSModel getModel() { - RSEntity renderable = getRenderable(); + RSEntity renderable = getEntity(); if (renderable == null) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java index daed37acd9..05938e95ff 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java @@ -398,13 +398,13 @@ public abstract class RSTileMixin implements RSTile boolean currentInvalid = false, prevInvalid = false; if (current != null) { - RSEntity renderable = current.getRenderable(); + RSEntity renderable = current.getEntity(); currentInvalid = renderable instanceof RSActor || renderable instanceof RSProjectile || renderable instanceof RSGraphicsObject; } if (previous != null) { - RSEntity renderable = previous.getRenderable(); + RSEntity renderable = previous.getEntity(); prevInvalid = renderable instanceof RSActor || renderable instanceof RSProjectile || renderable instanceof RSGraphicsObject; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWallDecorationMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWallDecorationMixin.java index 53dc51e9bb..2e36340a3a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWallDecorationMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWallDecorationMixin.java @@ -40,7 +40,7 @@ public abstract class RSWallDecorationMixin implements RSWallDecoration @Override public RSModel getModel1() { - RSEntity renderable = getRenderable(); + RSEntity renderable = getEntity1(); if (renderable == null) { return null; @@ -64,7 +64,7 @@ public abstract class RSWallDecorationMixin implements RSWallDecoration @Override public RSModel getModel2() { - RSEntity renderable = getRenderable2(); + RSEntity renderable = getEntity2(); if (renderable == null) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java index f230fa8b45..27fafe7f01 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java @@ -1,6 +1,6 @@ package net.runelite.mixins; -import net.runelite.api.MenuAction; +import net.runelite.api.MenuOpcode; import net.runelite.api.World; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.mixins.Inject; @@ -15,7 +15,7 @@ public abstract class WorldHoppingMixin implements RSClient public void openWorldHopper() { // The clicked x & y coordinates (the last arguments) are not processed in the game or sent to Jagex, so they don't have to be real. - invokeMenuAction(-1, WidgetInfo.WORLD_SWITCHER_BUTTON.getId(), MenuAction.WIDGET_DEFAULT.getId(), 1, "World Switcher", "", 658, 384); + invokeMenuAction(-1, WidgetInfo.WORLD_SWITCHER_BUTTON.getId(), MenuOpcode.WIDGET_DEFAULT.getId(), 1, "World Switcher", "", 658, 384); } @Inject @@ -23,6 +23,6 @@ public abstract class WorldHoppingMixin implements RSClient public void hopToWorld(World world) { final int worldId = world.getId(); - invokeMenuAction(worldId, WidgetInfo.WORLD_SWITCHER_LIST.getId(), MenuAction.WIDGET_DEFAULT.getId(), 1, "Switch", "" + (worldId - 300) + "", 683, 244); + invokeMenuAction(worldId, WidgetInfo.WORLD_SWITCHER_LIST.getId(), MenuOpcode.WIDGET_DEFAULT.getId(), 1, "Switch", "" + (worldId - 300) + "", 683, 244); } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSBoundaryObject.java b/runescape-api/src/main/java/net/runelite/rs/api/RSBoundaryObject.java index 650ee24834..f1b026ab23 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSBoundaryObject.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSBoundaryObject.java @@ -27,11 +27,11 @@ public interface RSBoundaryObject extends WallObject @Import("entity1") @Override - RSEntity getRenderable1(); + RSEntity getEntity1(); @Import("entity2") @Override - RSEntity getRenderable2(); + RSEntity getEntity2(); @Import("flags") @Override 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 de5f4ee34d..9abf72604a 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 @@ -308,25 +308,25 @@ public interface RSClient extends RSGameShell, Client @Import("menuActions") String[] getMenuOptions(); - @Import("menuTargetNames") + @Import("menuTargets") String[] getMenuTargets(); - @Import("menuArguments0") + @Import("menuIdentifiers") int[] getMenuIdentifiers(); @Import("menuOpcodes") - int[] getMenuTypes(); + int[] getMenuOpcodes(); @Import("menuArguments1") - int[] getMenuActionParams0(); + int[] getMenuArguments1(); @Import("menuArguments2") - int[] getMenuActionParams1(); + int[] getMenuArguments2(); @Import("menuShiftClick") boolean[] getMenuForceLeftClick(); - @Import("worlds") + @Import("World_worlds") @Override RSWorld[] getWorldList(); @@ -384,7 +384,7 @@ public interface RSClient extends RSGameShell, Client @Import("itemContainers") RSNodeHashTable getItemContainers(); - @Import("getItemDefinition") + @Import("ItemDefinition_get") @Override RSItemDefinition getItemDefinition(int itemId); @@ -603,15 +603,12 @@ public interface RSClient extends RSGameShell, Client @Import("Scene_isLowDetail") void setSceneLowMemory(boolean lowMemory); - @Import("isStereo") + @Import("PcmPlayer_stereo") void setAudioHighMemory(boolean highMemory); @Import("ObjectDefinition_isLowDetail") void setObjectDefinitionLowDetail(boolean lowDetail); - @Construct - RSTileItem createItem(); - @Import("Interpreter_intStackSize") @Override int getIntStackSize(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFloorDecoration.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFloorDecoration.java index e20c1056d7..5d5e59a697 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSFloorDecoration.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFloorDecoration.java @@ -17,7 +17,7 @@ public interface RSFloorDecoration extends GroundObject @Import("entity") @Override - RSEntity getRenderable(); + RSEntity getEntity(); void setPlane(int plane); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSGameObject.java b/runescape-api/src/main/java/net/runelite/rs/api/RSGameObject.java index 9d5d9bed74..38fe708ce2 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSGameObject.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSGameObject.java @@ -6,7 +6,7 @@ import net.runelite.mapping.Import; public interface RSGameObject extends GameObject { @Import("entity") - RSEntity getRenderable(); + RSEntity getEntity(); @Import("plane") int getPlane(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java b/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java index ecab7cef6b..79d13eb9e7 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java @@ -23,7 +23,7 @@ public interface RSTextureProvider extends TextureProvider @Override RSTexture[] getTextures(); - @Import("load") + @Import("getTexturePixels") @Override int[] load(int textureId); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSTile.java b/runescape-api/src/main/java/net/runelite/rs/api/RSTile.java index e76f2dbec1..9866baa0eb 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSTile.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSTile.java @@ -34,11 +34,11 @@ public interface RSTile extends Tile @Import("paint") @Override - TilePaint getSceneTilePaint(); + TilePaint getTilePaint(); @Import("model") @Override - TileModel getSceneTileModel(); + TileModel getTileModel(); @Import("x") int getX(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWallDecoration.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWallDecoration.java index 4d01d9771b..40360cde7a 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWallDecoration.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWallDecoration.java @@ -26,11 +26,11 @@ public interface RSWallDecoration extends DecorativeObject @Import("entity1") @Override - RSEntity getRenderable(); + RSEntity getEntity1(); @Import("entity2") @Override - RSEntity getRenderable2(); + RSEntity getEntity2(); void setPlane(int plane); } diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index 42bba6bc05..bb761edc93 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -99,127 +99,126 @@ public abstract class AbstractArchive { this.hash = var2; Buffer var4 = new Buffer(HealthBarUpdate.decompressBytes(var1)); int var5 = var4.readUnsignedByte(); - if (var5 >= 5 && var5 <= 7) { - if (var5 >= 6) { - var4.readInt(); - } - - int var6 = var4.readUnsignedByte(); - if (var5 >= 7) { - this.groupCount = var4.method5685(); - } else { - this.groupCount = var4.readUnsignedShort(); - } - - int var7 = 0; - int var8 = -1; - this.groupIds = new int[this.groupCount]; - int var9; - if (var5 >= 7) { - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupIds[var9] = var7 += var4.method5685(); - if (this.groupIds[var9] > var8) { - var8 = this.groupIds[var9]; - } - } - } else { - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupIds[var9] = var7 += var4.readUnsignedShort(); - if (this.groupIds[var9] > var8) { - var8 = this.groupIds[var9]; - } - } - } - - this.groupCrcs = new int[var8 + 1]; - this.groupVersions = new int[var8 + 1]; - this.fileCounts = new int[var8 + 1]; - this.fileIds = new int[var8 + 1][]; - this.groups = new Object[var8 + 1]; - this.files = new Object[var8 + 1][]; - if (var6 != 0) { - this.groupNameHashes = new int[var8 + 1]; - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupNameHashes[this.groupIds[var9]] = var4.readInt(); - } - - this.groupNameHashTable = new IntHashTable(this.groupNameHashes); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupCrcs[this.groupIds[var9]] = var4.readInt(); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupVersions[this.groupIds[var9]] = var4.readInt(); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort(); - } - - int var10; - int var11; - int var12; - int var13; - int var14; - if (var5 >= 7) { - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - var7 = 0; - var12 = -1; - this.fileIds[var10] = new int[var11]; - - for (var13 = 0; var13 < var11; ++var13) { - var14 = this.fileIds[var10][var13] = var7 += var4.method5685(); - if (var14 > var12) { - var12 = var14; - } - } - - this.files[var10] = new Object[var12 + 1]; - } - } else { - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - var7 = 0; - var12 = -1; - this.fileIds[var10] = new int[var11]; - - for (var13 = 0; var13 < var11; ++var13) { - var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort(); - if (var14 > var12) { - var12 = var14; - } - } - - this.files[var10] = new Object[var12 + 1]; - } - } - - if (var6 != 0) { - this.fileNameHashes = new int[var8 + 1][]; - this.fileNameHashTables = new IntHashTable[var8 + 1]; - - for (var9 = 0; var9 < this.groupCount; ++var9) { - var10 = this.groupIds[var9]; - var11 = this.fileCounts[var10]; - this.fileNameHashes[var10] = new int[this.files[var10].length]; - - for (var12 = 0; var12 < var11; ++var12) { - this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt(); - } - - this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]); - } - } - - } else { + if (var5 < 5 || var5 > 7) { throw new RuntimeException(""); } + if (var5 >= 6) { + var4.readInt(); + } + + int var6 = var4.readUnsignedByte(); + if (var5 >= 7) { + this.groupCount = var4.method5685(); + } else { + this.groupCount = var4.readUnsignedShort(); + } + + int var7 = 0; + int var8 = -1; + this.groupIds = new int[this.groupCount]; + int var9; + if (var5 >= 7) { + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupIds[var9] = var7 += var4.method5685(); + if (this.groupIds[var9] > var8) { + var8 = this.groupIds[var9]; + } + } + } else { + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupIds[var9] = var7 += var4.readUnsignedShort(); + if (this.groupIds[var9] > var8) { + var8 = this.groupIds[var9]; + } + } + } + + this.groupCrcs = new int[var8 + 1]; + this.groupVersions = new int[var8 + 1]; + this.fileCounts = new int[var8 + 1]; + this.fileIds = new int[var8 + 1][]; + this.groups = new Object[var8 + 1]; + this.files = new Object[var8 + 1][]; + if (var6 != 0) { + this.groupNameHashes = new int[var8 + 1]; + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupNameHashes[this.groupIds[var9]] = var4.readInt(); + } + + this.groupNameHashTable = new IntHashTable(this.groupNameHashes); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupCrcs[this.groupIds[var9]] = var4.readInt(); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupVersions[this.groupIds[var9]] = var4.readInt(); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort(); + } + + int var10; + int var11; + int var12; + int var13; + int var14; + if (var5 >= 7) { + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + var7 = 0; + var12 = -1; + this.fileIds[var10] = new int[var11]; + + for (var13 = 0; var13 < var11; ++var13) { + var14 = this.fileIds[var10][var13] = var7 += var4.method5685(); + if (var14 > var12) { + var12 = var14; + } + } + + this.files[var10] = new Object[var12 + 1]; + } + } else { + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + var7 = 0; + var12 = -1; + this.fileIds[var10] = new int[var11]; + + for (var13 = 0; var13 < var11; ++var13) { + var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort(); + if (var14 > var12) { + var12 = var14; + } + } + + this.files[var10] = new Object[var12 + 1]; + } + } + + if (var6 != 0) { + this.fileNameHashes = new int[var8 + 1][]; + this.fileNameHashTables = new IntHashTable[var8 + 1]; + + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + this.fileNameHashes[var10] = new int[this.files[var10].length]; + + for (var12 = 0; var12 < var11; ++var12) { + this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt(); + } + + this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]); + } + } + } @ObfuscatedName("w") @@ -248,26 +247,26 @@ public abstract class AbstractArchive { ) @Export("takeFileEncrypted") public byte[] takeFileEncrypted(int var1, int var2, int[] var3) { - if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) { - if (this.files[var1][var2] == null) { - boolean var4 = this.buildFiles(var1, var3); + if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) { + return null; + } + if (this.files[var1][var2] == null) { + boolean var4 = this.buildFiles(var1, var3); + if (!var4) { + this.loadGroup(var1); + var4 = this.buildFiles(var1, var3); if (!var4) { - this.loadGroup(var1); - var4 = this.buildFiles(var1, var3); - if (!var4) { - return null; - } + return null; } } - - byte[] var5 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false); - if (this.shallowFiles) { - this.files[var1][var2] = null; - } - - return var5; } - return null; + + byte[] var5 = ArchiveDisk.serialize(this.files[var1][var2], false); + if (this.shallowFiles) { + this.files[var1][var2] = null; + } + + return var5; } @ObfuscatedName("k") @@ -277,17 +276,17 @@ public abstract class AbstractArchive { ) @Export("tryLoadFile") public boolean tryLoadFile(int var1, int var2) { - if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) { - if (this.files[var1][var2] != null) { - return true; - } - if (this.groups[var1] != null) { - return true; - } - this.loadGroup(var1); - return this.groups[var1] != null; + if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) { + return false; } - return false; + if (this.files[var1][var2] != null) { + return true; + } + if (this.groups[var1] != null) { + return true; + } + this.loadGroup(var1); + return this.groups[var1] != null; } @ObfuscatedName("l") @@ -374,22 +373,22 @@ public abstract class AbstractArchive { ) @Export("getFile") public byte[] getFile(int var1, int var2) { - if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) { - if (this.files[var1][var2] == null) { - boolean var3 = this.buildFiles(var1, (int[])null); + if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) { + return null; + } + if (this.files[var1][var2] == null) { + boolean var3 = this.buildFiles(var1, (int[])null); + if (!var3) { + this.loadGroup(var1); + var3 = this.buildFiles(var1, (int[])null); if (!var3) { - this.loadGroup(var1); - var3 = this.buildFiles(var1, (int[])null); - if (!var3) { - return null; - } + return null; } } - - byte[] var4 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false); - return var4; } - return null; + + byte[] var4 = ArchiveDisk.serialize(this.files[var1][var2], false); + return var4; } @ObfuscatedName("r") @@ -517,9 +516,9 @@ public abstract class AbstractArchive { } byte[] var21; if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) { - var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], false); + var21 = ArchiveDisk.serialize(this.groups[var1], false); } else { - var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], true); + var21 = ArchiveDisk.serialize(this.groups[var1], true); Buffer var8 = new Buffer(var21); var8.xteaDecrypt(var2, 5, var8.array.length); } @@ -530,69 +529,11 @@ public abstract class AbstractArchive { } int var10; - if (var3 > 1) { - int var9 = var25.length; - --var9; - var10 = var25[var9] & 255; - var9 -= var10 * var3 * 4; - Buffer var11 = new Buffer(var25); - int[] var12 = new int[var3]; - var11.offset = var9; - - int var14; - int var15; - for (int var13 = 0; var13 < var10; ++var13) { - var14 = 0; - - for (var15 = 0; var15 < var3; ++var15) { - var14 += var11.readInt(); - var12[var15] += var14; - } + if (var3 <= 1) { + if (this.shallowFiles) { + var5[var4[0]] = var25; + return true; } - - byte[][] var23 = new byte[var3][]; - - for (var14 = 0; var14 < var3; ++var14) { - var23[var14] = new byte[var12[var14]]; - var12[var14] = 0; - } - - var11.offset = var9; - var14 = 0; - - int var17; - for (var15 = 0; var15 < var10; ++var15) { - int var16 = 0; - - for (var17 = 0; var17 < var3; ++var17) { - var16 += var11.readInt(); - System.arraycopy(var25, var14, var23[var17], var12[var17], var16); - var12[var17] += var16; - var14 += var16; - } - } - - for (var15 = 0; var15 < var3; ++var15) { - if (!this.shallowFiles) { - var17 = var4[var15]; - byte[] var19 = var23[var15]; - Object var18; - if (var19 == null) { - var18 = null; - } else if (var19.length > 136) { - DirectByteArrayCopier var20 = new DirectByteArrayCopier(); - var20.set(var19); - var18 = var20; - } else { - var18 = var19; - } - - var5[var17] = var18; - } else { - var5[var4[var15]] = var23[var15]; - } - } - } else if (!this.shallowFiles) { var10 = var4[0]; Object var26; if (var25 == null) { @@ -606,8 +547,68 @@ public abstract class AbstractArchive { } var5[var10] = var26; - } else { - var5[var4[0]] = var25; + return true; + } + int var9 = var25.length; + --var9; + var10 = var25[var9] & 255; + var9 -= var10 * var3 * 4; + Buffer var11 = new Buffer(var25); + int[] var12 = new int[var3]; + var11.offset = var9; + + int var14; + int var15; + for (int var13 = 0; var13 < var10; ++var13) { + var14 = 0; + + for (var15 = 0; var15 < var3; ++var15) { + var14 += var11.readInt(); + var12[var15] += var14; + } + } + + byte[][] var23 = new byte[var3][]; + + for (var14 = 0; var14 < var3; ++var14) { + var23[var14] = new byte[var12[var14]]; + var12[var14] = 0; + } + + var11.offset = var9; + var14 = 0; + + int var17; + for (var15 = 0; var15 < var10; ++var15) { + int var16 = 0; + + for (var17 = 0; var17 < var3; ++var17) { + var16 += var11.readInt(); + System.arraycopy(var25, var14, var23[var17], var12[var17], var16); + var12[var17] += var16; + var14 += var16; + } + } + + for (var15 = 0; var15 < var3; ++var15) { + if (this.shallowFiles) { + var5[var4[var15]] = var23[var15]; + continue; + } + var17 = var4[var15]; + byte[] var19 = var23[var15]; + Object var18; + if (var19 == null) { + var18 = null; + } else if (var19.length > 136) { + DirectByteArrayCopier var20 = new DirectByteArrayCopier(); + var20.set(var19); + var18 = var20; + } else { + var18 = var19; + } + + var5[var17] = var18; } return true; @@ -723,7 +724,8 @@ public abstract class AbstractArchive { signature = "(B)[Lct;", garbageValue = "-27" ) - static AttackOption[] method4141() { + @Export("AttackOption_values") + static AttackOption[] AttackOption_values() { return new AttackOption[]{AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_leftClickWhereAvailable}; } @@ -739,12 +741,12 @@ public abstract class AbstractArchive { return 1; } if (var0 == ScriptOpcodes.SOUND_SONG) { - GrandExchangeOfferTotalQuantityComparator.method93(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + GrandExchangeOfferTotalQuantityComparator.playSong(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); return 1; } if (var0 == ScriptOpcodes.SOUND_JINGLE) { HealthBarUpdate.Interpreter_intStackSize -= 2; - WorldMapLabelSize.method188(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + WorldMapLabelSize.playSoundJingle(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); return 1; } return 2; diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 2a83739df0..b2798cc7ff 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -228,42 +228,39 @@ public abstract class AbstractFont extends Rasterizer2D { char var6 = var1.charAt(var5); if (var6 == '<') { var2 = var5; - } else { - if (var6 == '>' && var2 != -1) { - String var7 = var1.substring(var2 + 1, var5); - var2 = -1; - if (var7.equals("lt")) { - var6 = '<'; - } else { - if (!var7.equals("gt")) { - if (var7.startsWith("img=")) { - try { - int var8 = class3.parseInt(var7.substring(4)); - var4 += AbstractFont_modIconSprites[var8].width; - var3 = -1; - } catch (Exception var10) { - } - } - continue; - } - - var6 = '>'; - } + continue; + } + if (var6 == '>' && var2 != -1) { + String var7 = var1.substring(var2 + 1, var5); + var2 = -1; + if (var7.equals("lt")) { + var6 = '<'; } - - if (var6 == 160) { - var6 = ' '; - } - - if (var2 == -1) { - var4 += this.advances[(char)(ItemDefinition.charToByteCp1252(var6) & 255)]; - if (this.kerning != null && var3 != -1) { - var4 += this.kerning[var6 + (var3 << 8)]; + else if (var7.equals("gt")) { + var6 = '>'; + } else if (var7.startsWith("img=")) { + try { + int var8 = class3.parseInt(var7.substring(4)); + var4 += AbstractFont_modIconSprites[var8].width; + var3 = -1; + } catch (Exception var10) { } - - var3 = var6; } } + + if (var6 == 160) { + var6 = ' '; + } + + if (var2 != -1) { + continue; + } + var4 += this.advances[(char) (ItemDefinition.charToByteCp1252(var6) & 255)]; + if (this.kerning != null && var3 != -1) { + var4 += this.kerning[var6 + (var3 << 8)]; + } + + var3 = var6; } return var4; @@ -290,78 +287,79 @@ public abstract class AbstractFont extends Rasterizer2D { char var15 = var1.charAt(var14); if (var15 == '<') { var10 = var14; - } else { - if (var15 == '>' && var10 != -1) { - String var16 = var1.substring(var10 + 1, var14); - var10 = -1; - var6.append('<'); - var6.append(var16); - var6.append('>'); - if (var16.equals("br")) { - var3[var12] = var6.toString().substring(var5, var6.length()); - ++var12; - var5 = var6.length(); - var4 = 0; - var7 = -1; - var11 = 0; - } else if (var16.equals("lt")) { - var4 += this.charWidth('<'); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[(var11 << '\b') + 60]; - } - - var11 = '<'; - } else if (var16.equals("gt")) { - var4 += this.charWidth('>'); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[(var11 << '\b') + 62]; - } - - var11 = '>'; - } else if (var16.startsWith("img=")) { - try { - int var17 = class3.parseInt(var16.substring(4)); - var4 += AbstractFont_modIconSprites[var17].width; - var11 = 0; - } catch (Exception var20) { - } + continue; + } + if (var15 == '>' && var10 != -1) { + String var16 = var1.substring(var10 + 1, var14); + var10 = -1; + var6.append('<'); + var6.append(var16); + var6.append('>'); + if (var16.equals("br")) { + var3[var12] = var6.toString().substring(var5, var6.length()); + ++var12; + var5 = var6.length(); + var4 = 0; + var7 = -1; + var11 = 0; + } else if (var16.equals("lt")) { + var4 += this.charWidth('<'); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[(var11 << '\b') + 60]; } - var15 = 0; + var11 = '<'; + } else if (var16.equals("gt")) { + var4 += this.charWidth('>'); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[(var11 << '\b') + 62]; + } + + var11 = '>'; + } else if (var16.startsWith("img=")) { + try { + int var17 = class3.parseInt(var16.substring(4)); + var4 += AbstractFont_modIconSprites[var17].width; + var11 = 0; + } catch (Exception var20) { + } } - if (var10 == -1) { - if (var15 != 0) { - var6.append(var15); - var4 += this.charWidth(var15); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[var15 + (var11 << '\b')]; - } + var15 = 0; + } - var11 = var15; - } - - if (var15 == ' ') { - var7 = var6.length(); - var8 = var4; - var9 = 1; - } - - if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) { - var3[var12] = var6.toString().substring(var5, var7 - var9); - ++var12; - var5 = var7; - var7 = -1; - var4 -= var8; - var11 = 0; - } - - if (var15 == '-') { - var7 = var6.length(); - var8 = var4; - var9 = 0; - } + if (var10 != -1) { + continue; + } + if (var15 != 0) { + var6.append(var15); + var4 += this.charWidth(var15); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[var15 + (var11 << '\b')]; } + + var11 = var15; + } + + if (var15 == ' ') { + var7 = var6.length(); + var8 = var4; + var9 = 1; + } + + if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) { + var3[var12] = var6.toString().substring(var5, var7 - var9); + ++var12; + var5 = var7; + var7 = -1; + var4 -= var8; + var11 = 0; + } + + if (var15 == '-') { + var7 = var6.length(); + var8 = var4; + var9 = 0; } } @@ -590,7 +588,7 @@ public abstract class AbstractFont extends Rasterizer2D { } else if (var1.startsWith("str=")) { AbstractFont_strike = VarbitDefinition.parseIntCustomRadix(var1.substring(4), 16); } else if (var1.equals("str")) { - AbstractFont_strike = 8388608; + AbstractFont_strike = 0x800000; } else if (var1.equals("/str")) { AbstractFont_strike = -1; } else if (var1.startsWith("u=")) { @@ -644,83 +642,82 @@ public abstract class AbstractFont extends Rasterizer2D { int var5 = -1; for (int var6 = 0; var6 < var1.length(); ++var6) { - if (var1.charAt(var6) != 0) { - char var7 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var6)) & 255); - if (var7 == '<') { - var4 = var6; + if (var1.charAt(var6) == 0) { + continue; + } + char var7 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var6)) & 255); + if (var7 == '<') { + var4 = var6; + continue; + } + int var9; + if (var7 == '>' && var4 != -1) { + String var8 = var1.substring(var4 + 1, var6); + var4 = -1; + if (var8.equals("lt")) { + var7 = '<'; + } else if (var8.equals("gt")) { + var7 = '>'; + } else if (var8.startsWith("img=")) { + try { + var9 = class3.parseInt(var8.substring(4)); + IndexedSprite var10 = AbstractFont_modIconSprites[var9]; + var10.drawAt(var2, var3 + this.ascent - var10.height); + var2 += var10.width; + var5 = -1; + } catch (Exception var14) { + } + continue; } else { - int var9; - if (var7 == '>' && var4 != -1) { - String var8 = var1.substring(var4 + 1, var6); - var4 = -1; - if (var8.equals("lt")) { - var7 = '<'; - } else { - if (!var8.equals("gt")) { - if (var8.startsWith("img=")) { - try { - var9 = class3.parseInt(var8.substring(4)); - IndexedSprite var10 = AbstractFont_modIconSprites[var9]; - var10.drawAt(var2, var3 + this.ascent - var10.height); - var2 += var10.width; - var5 = -1; - } catch (Exception var14) { - } - } else { - this.decodeTag(var8); - } - continue; - } - - var7 = '>'; - } - } - - if (var7 == 160) { - var7 = ' '; - } - - if (var4 == -1) { - if (this.kerning != null && var5 != -1) { - var2 += this.kerning[var7 + (var5 << 8)]; - } - - int var12 = this.widths[var7]; - var9 = this.heights[var7]; - if (var7 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - var2 += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var13 = this.advances[var7]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline); - } - - var2 += var13; - var5 = var7; - } + this.decodeTag(var8); + continue; } } + + if (var7 == 160) { + var7 = ' '; + } + + if (var4 != -1) { + continue; + } + if (this.kerning != null && var5 != -1) { + var2 += this.kerning[var7 + (var5 << 8)]; + } + + int var12 = this.widths[var7]; + var9 = this.heights[var7]; + if (var7 == ' ') { + if (AbstractFont_justificationTotal > 0) { + AbstractFont_justificationCurrent += AbstractFont_justificationTotal; + var2 += AbstractFont_justificationCurrent >> 8; + AbstractFont_justificationCurrent &= 255; + } + } else if (AbstractFont_alpha == 256) { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow); + } + + this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color); + } else { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha); + } + + this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha); + } + + int var13 = this.advances[var7]; + if (AbstractFont_strike != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike); + } + + if (AbstractFont_underline != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline); + } + + var2 += var13; + var5 = var7; } } @@ -734,113 +731,106 @@ public abstract class AbstractFont extends Rasterizer2D { int var8 = 0; for (int var9 = 0; var9 < var1.length(); ++var9) { - if (var1.charAt(var9) != 0) { - char var10 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var9)) & 255); - if (var10 == '<') { - var6 = var9; + if (var1.charAt(var9) == 0) { + continue; + } + char var10 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var9)) & 255); + if (var10 == '<') { + var6 = var9; + } else if (var10 == '>' && var6 != -1) { + String var11 = var1.substring(var6 + 1, var9); + var6 = -1; + if (var11.equals("lt")) { + var10 = '<'; + } else if (var11.equals("gt")) { + var10 = '>'; + } else if (!var11.startsWith("img=")) { + this.decodeTag(var11); } else { - int var12; - int var13; - int var14; - if (var10 == '>' && var6 != -1) { - String var11 = var1.substring(var6 + 1, var9); - var6 = -1; - if (var11.equals("lt")) { - var10 = '<'; - } else { - if (!var11.equals("gt")) { - if (var11.startsWith("img=")) { - try { - if (var4 != null) { - var12 = var4[var8]; - } else { - var12 = 0; - } - - if (var5 != null) { - var13 = var5[var8]; - } else { - var13 = 0; - } - - ++var8; - var14 = class3.parseInt(var11.substring(4)); - IndexedSprite var15 = AbstractFont_modIconSprites[var14]; - var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); - var2 += var15.width; - var7 = -1; - } catch (Exception var19) { - } - } else { - this.decodeTag(var11); - } - continue; - } - - var10 = '>'; - } - } - - if (var10 == 160) { - var10 = ' '; - } - - if (var6 == -1) { - if (this.kerning != null && var7 != -1) { - var2 += this.kerning[var10 + (var7 << 8)]; - } - - int var17 = this.widths[var10]; - var12 = this.heights[var10]; + try { + int var12, var13; if (var4 != null) { - var13 = var4[var8]; + var12 = var4[var8]; + } else { + var12 = 0; + } + + if (var5 != null) { + var13 = var5[var8]; } else { var13 = 0; } - if (var5 != null) { - var14 = var5[var8]; - } else { - var14 = 0; - } - ++var8; - if (var10 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - var2 += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var18 = this.advances[var10]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline); - } - - var2 += var18; - var7 = var10; + int var14 = class3.parseInt(var11.substring(4)); + IndexedSprite var15 = AbstractFont_modIconSprites[var14]; + var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); + var2 += var15.width; + var7 = -1; + } catch (Exception var19) { } } } - } + if (var10 == 160) { + var10 = ' '; + } + + if (var6 != -1) { + continue; + } + if (this.kerning != null && var7 != -1) { + var2 += this.kerning[var10 + (var7 << 8)]; + } + + int var17 = this.widths[var10]; + int var12 = this.heights[var10]; + int var13, var14; + if (var4 != null) { + var13 = var4[var8]; + } else { + var13 = 0; + } + + if (var5 != null) { + var14 = var5[var8]; + } else { + var14 = 0; + } + + ++var8; + if (var10 == ' ') { + if (AbstractFont_justificationTotal > 0) { + AbstractFont_justificationCurrent += AbstractFont_justificationTotal; + var2 += AbstractFont_justificationCurrent >> 8; + AbstractFont_justificationCurrent &= 255; + } + } else if (AbstractFont_alpha == 256) { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow); + } + + this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color); + } else { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha); + } + + this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha); + } + + int var18 = this.advances[var10]; + if (AbstractFont_strike != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike); + } + + if (AbstractFont_underline != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline); + } + + var2 += var18; + var7 = var10; + } } @ObfuscatedName("u") diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java index 252065109a..d4d5c9789f 100644 --- a/runescape-client/src/main/java/AbstractWorldMapData.java +++ b/runescape-client/src/main/java/AbstractWorldMapData.java @@ -267,131 +267,129 @@ public abstract class AbstractWorldMapData { ) @Export("addNpcToMenu") static final void addNpcToMenu(NPCDefinition var0, int var1, int var2, int var3) { - if (Client.menuOptionsCount < 400) { - if (var0.transforms != null) { - var0 = var0.transform(); + if (Client.menuOptionsCount >= 400) { + return; + } + if (var0.transforms != null) { + var0 = var0.transform(); + } + + if (var0 == null || !var0.isInteractable || (var0.isFollower && Client.followerIndex != var1)) { + return; + } + String var4 = var0.name; + if (var0.combatLevel != 0) { + int var7 = var0.combatLevel; + int var8 = Client.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = ClientPreferences.colorStartTag(0xff0000); + } else if (var9 < -6) { + var6 = ClientPreferences.colorStartTag(0xff3000); + } else if (var9 < -3) { + var6 = ClientPreferences.colorStartTag(0xff7000); + } else if (var9 < 0) { + var6 = ClientPreferences.colorStartTag(0xffb000); + } else if (var9 > 9) { + var6 = ClientPreferences.colorStartTag(0xff00); + } else if (var9 > 6) { + var6 = ClientPreferences.colorStartTag(0x40ff00); + } else if (var9 > 3) { + var6 = ClientPreferences.colorStartTag(0x80ff00); + } else if (var9 > 0) { + var6 = ClientPreferences.colorStartTag(0xc0ff00); + } else { + var6 = ClientPreferences.colorStartTag(0xffff00); } - if (var0 != null) { - if (var0.isInteractable) { - if (!var0.isFollower || Client.followerIndex == var1) { - String var4 = var0.name; - int var7; - int var8; - if (var0.combatLevel != 0) { - var7 = var0.combatLevel; - var8 = Client.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = ClientPreferences.colorStartTag(0xff0000); - } else if (var9 < -6) { - var6 = ClientPreferences.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = ClientPreferences.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = ClientPreferences.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = ClientPreferences.colorStartTag(0xff00); - } else if (var9 > 6) { - var6 = ClientPreferences.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = ClientPreferences.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = ClientPreferences.colorStartTag(12648192); - } else { - var6 = ClientPreferences.colorStartTag(0xffff00); - } + var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; + } - var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; - } + if (var0.isFollower && Client.followerOpsLowPriority) { + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3); + } - if (var0.isFollower && Client.followerOpsLowPriority) { - class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3); - } - - if (Client.isItemSelected == 1) { - 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(0xffff00) + var4, 8, var1, var2, var3); - } - } else { - int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; - String[] var11 = var0.actions; - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { - var8 = 0; - if (var7 == 0) { - var8 = var10 + 9; - } - - if (var7 == 1) { - var8 = var10 + 10; - } - - if (var7 == 2) { - var8 = var10 + 11; - } - - if (var7 == 3) { - var8 = var10 + 12; - } - - if (var7 == 4) { - var8 = var10 + 13; - } - - class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3); - } - } - } - - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { - short var12 = 0; - if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { - if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) { - var12 = 2000; - } - - var8 = 0; - if (var7 == 0) { - var8 = var12 + 9; - } - - if (var7 == 1) { - var8 = var12 + 10; - } - - if (var7 == 2) { - var8 = var12 + 11; - } - - if (var7 == 3) { - var8 = var12 + 12; - } - - if (var7 == 4) { - var8 = var12 + 13; - } - - class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3); - } - } - } - } - - if (!var0.isFollower || !Client.followerOpsLowPriority) { - class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3); - } - } - - } + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 7, var1, var2, var3); + return; + } else if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 2) == 2) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 8, var1, var2, var3); + } + return; + } + String[] var11 = var0.actions; + if (var11 != null) { + for (int var7 = 4; var7 >= 0; --var7) { + if (var11[var7] == null || var11[var7].equalsIgnoreCase("Attack")) { + continue; } + int var8 = 0; + int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; + if (var7 == 0) { + var8 = var10 + 9; + } + + if (var7 == 1) { + var8 = var10 + 10; + } + + if (var7 == 2) { + var8 = var10 + 11; + } + + if (var7 == 3) { + var8 = var10 + 12; + } + + if (var7 == 4) { + var8 = var10 + 13; + } + + class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3); + } + + for (int var7 = 4; var7 >= 0; --var7) { + if (var11[var7] == null || !var11[var7].equalsIgnoreCase("Attack")) { + continue; + } + short var12 = 0; + if (AttackOption.AttackOption_hidden == Client.npcAttackOption) { + continue; + } + if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) { + var12 = 2000; + } + + int var8 = 0; + if (var7 == 0) { + var8 = var12 + 9; + } + + if (var7 == 1) { + var8 = var12 + 10; + } + + if (var7 == 2) { + var8 = var12 + 11; + } + + if (var7 == 3) { + var8 = var12 + 12; + } + + if (var7 == 4) { + var8 = var12 + 13; + } + + class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3); } } + + if (!var0.isFollower || !Client.followerOpsLowPriority) { + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3); + } + } } diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 2158956546..621a4e8654 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -23,9 +23,11 @@ public abstract class Actor extends Entity { @ObfuscatedGetter( intValue = 1236559867 ) - int field950; + @Export("rotation") + int rotation; @ObfuscatedName("ar") - boolean field967; + @Export("isWalking") + boolean isWalking; @ObfuscatedName("ax") @Export("size") int size; @@ -313,7 +315,7 @@ public abstract class Actor extends Entity { int field1008; Actor() { - this.field967 = false; + this.isWalking = false; this.size = 78073455; this.readySequence = -1; this.turnLeftSequence = -1; @@ -404,7 +406,7 @@ public abstract class Actor extends Entity { int var10 = -1; int var11 = 0; if (var1 >= 0) { - HitSplatDefinition var12 = Projectile.getHitSplatDefinition(var1); + HitSplatDefinition var12 = Projectile.HitSplatDefinition_get(var1); var10 = var12.field3348; var11 = var12.field3344; } @@ -469,7 +471,7 @@ public abstract class Actor extends Entity { ) @Export("addHealthBar") final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { - HealthBarDefinition var7 = class51.method854(var1); + HealthBarDefinition var7 = class51.HealthBarDefinition_get(var1); HealthBar var8 = null; HealthBar var9 = null; int var10 = var7.int2; @@ -516,7 +518,7 @@ public abstract class Actor extends Entity { ) @Export("removeHealthBar") final void removeHealthBar(int var1) { - HealthBarDefinition var2 = class51.method854(var1); + HealthBarDefinition var2 = class51.HealthBarDefinition_get(var1); for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) { if (var2 == var3.definition) { diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index e0468c6209..113f6211f6 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -405,7 +405,8 @@ public class Archive extends AbstractArchive { signature = "(Lgx;Llv;I)Lgb;", garbageValue = "1775123545" ) - public static PacketBufferNode method4265(ClientPacket var0, IsaacCipher var1) { + @Export("getPacketBufferNode") + public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { PacketBufferNode var2; if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { var2 = new PacketBufferNode(); diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index 9b2508460d..d2e9350786 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -63,30 +63,25 @@ public final class ArchiveDisk { public byte[] read(int var1) { synchronized(this.datFile) { try { - Object var10000; if (this.idxFile.length() < (long)(var1 * 6 + 6)) { - var10000 = null; - return (byte[])var10000; + return null; } this.idxFile.seek((long)(var1 * 6)); this.idxFile.read(ArchiveDisk_buffer, 0, 6); int var3 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8); int var4 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); if (var3 < 0 || var3 > this.maxEntrySize) { - var10000 = null; - return (byte[])var10000; + return null; } if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) { - var10000 = null; - return (byte[])var10000; + return null; } byte[] var5 = new byte[var3]; int var6 = 0; for (int var7 = 0; var6 < var3; ++var7) { if (var4 == 0) { - var10000 = null; - return (byte[])var10000; + return null; } this.datFile.seek(520L * (long)var4); @@ -96,7 +91,7 @@ public final class ArchiveDisk { int var11; int var12; byte var13; - if (var1 > 65535) { + if (var1 > 0xffff) { if (var8 > 510) { var8 = 510; } @@ -121,13 +116,11 @@ public final class ArchiveDisk { } if (var9 != var1 || var7 != var10 || var12 != this.archive) { - var10000 = null; - return (byte[])var10000; + return null; } if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { - var10000 = null; - return (byte[])var10000; + return null; } int var14 = var8 + var13; @@ -155,15 +148,15 @@ public final class ArchiveDisk { @Export("write") public boolean write(int var1, byte[] var2, int var3) { synchronized(this.datFile) { - if (var3 >= 0 && var3 <= this.maxEntrySize) { - boolean var5 = this.write0(var1, var2, var3, true); - if (!var5) { - var5 = this.write0(var1, var2, var3, false); - } - - return var5; + if (var3 < 0 || var3 > this.maxEntrySize) { + throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); } - throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); + boolean var5 = this.write0(var1, var2, var3, true); + if (!var5) { + var5 = this.write0(var1, var2, var3, false); + } + + return var5; } } @@ -177,19 +170,16 @@ public final class ArchiveDisk { synchronized(this.datFile) { try { int var6; - boolean var10000; if (var4) { if (this.idxFile.length() < (long)(var1 * 6 + 6)) { - var10000 = false; - return var10000; + return false; } this.idxFile.seek((long)(var1 * 6)); this.idxFile.read(ArchiveDisk_buffer, 0, 6); var6 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); if (var6 <= 0 || (long)var6 > this.datFile.length() / 520L) { - var10000 = false; - return var10000; + return false; } } else { var6 = (int)((this.datFile.length() + 519L) / 520L); @@ -209,8 +199,7 @@ public final class ArchiveDisk { int var7 = 0; int var8 = 0; - while (true) { - if (var7 < var3) { + while (var7 < var3) { label171: { int var9 = 0; int var10; @@ -218,11 +207,11 @@ public final class ArchiveDisk { this.datFile.seek((long)var6 * 520L); int var11; int var12; - if (var1 > 65535) { + if (var1 > 0xffff) { try { this.datFile.read(ArchiveDisk_buffer, 0, 10); } catch (EOFException var17) { - break label171; + continue; } var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); @@ -243,13 +232,11 @@ public final class ArchiveDisk { } if (var10 != var1 || var8 != var11 || var12 != this.archive) { - var10000 = false; - return var10000; + return false; } if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { - var10000 = false; - return var10000; + return false; } } @@ -265,7 +252,7 @@ public final class ArchiveDisk { } } - if (var1 > 65535) { + if (var1 > 0xffff) { if (var3 - var7 <= 510) { var9 = 0; } @@ -319,9 +306,7 @@ public final class ArchiveDisk { } } - var10000 = true; - return var10000; - } + return true; } catch (IOException var18) { return false; } @@ -337,13 +322,13 @@ public final class ArchiveDisk { signature = "(Ljava/lang/Object;ZI)[B", garbageValue = "991854443" ) - @Export("byteArrayFromObject") - public static byte[] byteArrayFromObject(Object var0, boolean var1) { + @Export("serialize") + public static byte[] serialize(Object var0, boolean var1) { if (var0 == null) { return null; } if (var0 instanceof byte[]) { - byte[] var6 = (byte[])((byte[])var0); + byte[] var6 = ((byte[]) var0); if (var1) { int var4 = var6.length; byte[] var5 = new byte[var4]; @@ -352,10 +337,10 @@ public final class ArchiveDisk { } return var6; } - if (var0 instanceof AbstractByteArrayCopier) { - AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; - return var2.get(); + if (!(var0 instanceof AbstractByteArrayCopier)) { + throw new IllegalArgumentException(); } - throw new IllegalArgumentException(); + AbstractByteArrayCopier var2 = (AbstractByteArrayCopier) var0; + return var2.get(); } } diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index 06f44b94db..3294944680 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -37,8 +37,8 @@ public class ArchiveDiskAction extends Node { signature = "(II)Lim;", garbageValue = "-738252140" ) - @Export("getKitDefinition") - public static KitDefinition getKitDefinition(int var0) { + @Export("KitDefinition_get") + public static KitDefinition KitDefinition_get(int var0) { KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); if (var1 != null) { return var1; diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index ec13f9667e..9069fd4c7b 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -87,7 +87,7 @@ public class ArchiveDiskActionHandler implements Runnable { } } } catch (Exception var13) { - HitSplatDefinition.sendStackTrace((String)null, var13); + HitSplatDefinition.RunException_sendStackTrace((String)null, var13); } } @@ -107,7 +107,7 @@ public class ArchiveDiskActionHandler implements Runnable { try { PcmPlayer var3 = class32.pcmPlayerProvider.player(); - var3.samples = new int[256 * (class169.isStereo ? 2 : 1)]; + var3.samples = new int[256 * (FileSystem.PcmPlayer_stereo ? 2 : 1)]; var3.field1414 = var2; var3.init(); var3.capacity = (var2 & -1024) + 1024; @@ -116,7 +116,7 @@ public class ArchiveDiskActionHandler implements Runnable { } var3.open(var3.capacity); - if (PcmPlayer.pcmPlayerCount > 0 && SecureRandomFuture.soundSystem == null) { + if (PcmPlayer.PcmPlayer_count > 0 && SecureRandomFuture.soundSystem == null) { SecureRandomFuture.soundSystem = new SoundSystem(); class14.soundSystemExecutor = Executors.newScheduledThreadPool(1); class14.soundSystemExecutor.scheduleAtFixedRate(SecureRandomFuture.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index 690cf09bd2..644855bd1b 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -117,22 +117,14 @@ public class ArchiveLoader { if (var3 == 0) { var1 = null; } else { - int var4 = 0; - - while (true) { - if (var4 >= var3) { - var1 = var2; - break; - } - + for (int var4 = 0; var4 < var3; var4++) { var2 = class80.getWidget(var2.parentId); if (var2 == null) { - var1 = null; break; } - - ++var4; } + + var1 = var2; } Widget var5 = var1; @@ -152,117 +144,121 @@ public class ArchiveLoader { static final void drawMinimap(Widget var0, int var1, int var2, int var3) { class186.playPcmPlayers(); SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); - if (Client.minimapState != 2 && Client.minimapState != 5) { - int var5 = Client.camAngleY & 2047; - int var6 = Client.localPlayer.x / 32 + 48; - int var7 = 464 - Client.localPlayer.y / 32; - RouteStrategy.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); + if (var4 == null) { + return; + } + Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); + if (Client.minimapState == 2 || Client.minimapState == 5) { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } else { + int var5 = Client.camAngleY & 2047; + int var6 = Client.localPlayer.x / 32 + 48; + int var7 = 464 - Client.localPlayer.y / 32; + RouteStrategy.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); - int var8; - int var9; - int var10; - for (var8 = 0; var8 < Client.mapIconCount; ++var8) { - var9 = Client.mapIconXs[var8] * 4 + 2 - Client.localPlayer.x / 32; - var10 = Client.mapIconYs[var8] * 4 + 2 - Client.localPlayer.y / 32; - Interpreter.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4); - } - - int var11; - int var12; - for (var8 = 0; var8 < 104; ++var8) { - for (var9 = 0; var9 < 104; ++var9) { - NodeDeque var15 = Client.groundItems[class42.plane][var8][var9]; - if (var15 != null) { - var11 = var8 * 4 + 2 - Client.localPlayer.x / 32; - var12 = var9 * 4 + 2 - Client.localPlayer.y / 32; - Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[0], var4); - } - } - } - - for (var8 = 0; var8 < Client.npcCount; ++var8) { - NPC var16 = Client.npcs[Client.npcIndices[var8]]; - if (var16 != null && var16.isVisible()) { - NPCDefinition var18 = var16.definition; - if (var18 != null && var18.transforms != null) { - var18 = var18.transform(); - } - - if (var18 != null && var18.drawMapDot && var18.isInteractable) { - var11 = var16.x / 32 - Client.localPlayer.x / 32; - var12 = var16.y / 32 - Client.localPlayer.y / 32; - Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[1], var4); - } - } - } - - var8 = Players.Players_count; - int[] var19 = Players.Players_indices; - - for (var10 = 0; var10 < var8; ++var10) { - Player var17 = Client.players[var19[var10]]; - if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != Client.localPlayer) { - var12 = var17.x / 32 - Client.localPlayer.x / 32; - int var13 = var17.y / 32 - Client.localPlayer.y / 32; - boolean var14 = false; - if (Client.localPlayer.team != 0 && var17.team != 0 && var17.team == Client.localPlayer.team) { - var14 = true; - } - - if (var17.isFriend()) { - Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[3], var4); - } else if (var14) { - Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[4], var4); - } else if (var17.isClanMember()) { - Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[5], var4); - } else { - Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[2], var4); - } - } - } - - if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { - if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { - NPC var20 = Client.npcs[Client.hintArrowNpcIndex]; - if (var20 != null) { - var11 = var20.x / 32 - Client.localPlayer.x / 32; - var12 = var20.y / 32 - Client.localPlayer.y / 32; - Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); - } - } - - if (Client.hintArrowType == 2) { - var10 = Client.hintArrowX * 4 - MusicPatchNode2.baseX * 256 + 2 - Client.localPlayer.x / 32; - var11 = Client.hintArrowY * 4 - class1.baseY * 256 + 2 - Client.localPlayer.y / 32; - Canvas.worldToMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[1], var4); - } - - if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { - Player var21 = Client.players[Client.hintArrowPlayerIndex]; - if (var21 != null) { - var11 = var21.x / 32 - Client.localPlayer.x / 32; - var12 = var21.y / 32 - Client.localPlayer.y / 32; - Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); - } - } - } - - if (Client.destinationX != 0) { - var10 = Client.destinationX * 4 + 2 - Client.localPlayer.x / 32; - var11 = Client.destinationY * 4 + 2 - Client.localPlayer.y / 32; - Interpreter.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[0], var4); - } - - if (!Client.localPlayer.isHidden) { - 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); + int var8; + int var9; + int var10; + for (var8 = 0; var8 < Client.mapIconCount; ++var8) { + var9 = Client.mapIconXs[var8] * 4 + 2 - Client.localPlayer.x / 32; + var10 = Client.mapIconYs[var8] * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4); } - Client.field861[var3] = true; + int var11; + int var12; + for (var8 = 0; var8 < 104; ++var8) { + for (var9 = 0; var9 < 104; ++var9) { + NodeDeque var15 = Client.groundItems[class42.plane][var8][var9]; + if (var15 == null) { + continue; + } + var11 = var8 * 4 + 2 - Client.localPlayer.x / 32; + var12 = var9 * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[0], var4); + } + } + + for (var8 = 0; var8 < Client.npcCount; ++var8) { + NPC var16 = Client.npcs[Client.npcIndices[var8]]; + if (var16 == null || !var16.isVisible()) { + continue; + } + NPCDefinition var18 = var16.definition; + if (var18 != null && var18.transforms != null) { + var18 = var18.transform(); + } + + if (var18 != null && var18.drawMapDot && var18.isInteractable) { + var11 = var16.x / 32 - Client.localPlayer.x / 32; + var12 = var16.y / 32 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[1], var4); + } + } + + var8 = Players.Players_count; + int[] var19 = Players.Players_indices; + + for (var10 = 0; var10 < var8; ++var10) { + Player var17 = Client.players[var19[var10]]; + if (var17 == null || !var17.isVisible() || var17.isHidden || var17 == Client.localPlayer) { + continue; + } + var12 = var17.x / 32 - Client.localPlayer.x / 32; + int var13 = var17.y / 32 - Client.localPlayer.y / 32; + boolean var14 = false; + if (Client.localPlayer.team != 0 && var17.team != 0 && var17.team == Client.localPlayer.team) { + var14 = true; + } + + if (var17.isFriend()) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[3], var4); + } else if (var14) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[4], var4); + } else if (var17.isClanMember()) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[5], var4); + } else { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[2], var4); + } + } + + if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { + if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { + NPC var20 = Client.npcs[Client.hintArrowNpcIndex]; + if (var20 != null) { + var11 = var20.x / 32 - Client.localPlayer.x / 32; + var12 = var20.y / 32 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); + } + } + + if (Client.hintArrowType == 2) { + var10 = Client.hintArrowX * 4 - MusicPatchNode2.baseX * 256 + 2 - Client.localPlayer.x / 32; + var11 = Client.hintArrowY * 4 - class1.baseY * 256 + 2 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[1], var4); + } + + if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { + Player var21 = Client.players[Client.hintArrowPlayerIndex]; + if (var21 != null) { + var11 = var21.x / 32 - Client.localPlayer.x / 32; + var12 = var21.y / 32 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); + } + } + } + + if (Client.destinationX != 0) { + var10 = Client.destinationX * 4 + 2 - Client.localPlayer.x / 32; + var11 = Client.destinationY * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[0], var4); + } + + if (!Client.localPlayer.isHidden) { + Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 0xffffff); + } } + + Client.field861[var3] = true; } } diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index ae77f9c021..44c497991b 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -49,7 +49,7 @@ public class AudioFilter { float method2683(int var1, int var2, float var3) { float var4 = (float)this.field1494[var1][0][var2] + var3 * (float)(this.field1494[var1][1][var2] - this.field1494[var1][0][var2]); var4 *= 1.2207031E-4F; - return method2670(var4); + return normalize(var4); } @ObfuscatedName("p") @@ -70,7 +70,6 @@ public class AudioFilter { field1488[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2683(var1, 0, var2)); field1488[var1][1] = var3 * var3; - float[] var10000; int var4; for (var4 = 1; var4 < this.pairs[var1]; ++var4) { var3 = this.method2668(var1, var4, var2); @@ -80,20 +79,16 @@ public class AudioFilter { field1488[var1][var4 * 2] = field1488[var1][var4 * 2 - 1] * var5 + field1488[var1][var4 * 2 - 2] * var6; for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { - var10000 = field1488[var1]; - var10000[var7] += field1488[var1][var7 - 1] * var5 + field1488[var1][var7 - 2] * var6; + field1488[var1][var7] += field1488[var1][var7 - 1] * var5 + field1488[var1][var7 - 2] * var6; } - var10000 = field1488[var1]; - var10000[1] += field1488[var1][0] * var5 + var6; - var10000 = field1488[var1]; - var10000[0] += var5; + field1488[var1][1] += field1488[var1][0] * var5 + var6; + field1488[var1][0] += var5; } if (var1 == 0) { for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { - var10000 = field1488[0]; - var10000[var4] *= field1491; + field1488[0][var4] *= field1491; } } @@ -112,45 +107,45 @@ public class AudioFilter { int var3 = var1.readUnsignedByte(); this.pairs[0] = var3 >> 4; this.pairs[1] = var3 & 15; - if (var3 != 0) { - this.field1487[0] = var1.readUnsignedShort(); - this.field1487[1] = var1.readUnsignedShort(); - int var4 = var1.readUnsignedByte(); - - int var5; - int var6; - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - this.field1494[var5][0][var6] = var1.readUnsignedShort(); - this.field1486[var5][0][var6] = var1.readUnsignedShort(); - } - } - - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - if ((var4 & 1 << var5 * 4 << var6) != 0) { - this.field1494[var5][1][var6] = var1.readUnsignedShort(); - this.field1486[var5][1][var6] = var1.readUnsignedShort(); - } else { - this.field1494[var5][1][var6] = this.field1494[var5][0][var6]; - this.field1486[var5][1][var6] = this.field1486[var5][0][var6]; - } - } - } - - if (var4 != 0 || this.field1487[1] != this.field1487[0]) { - var2.decodeSegments(var1); - } - } else { - int[] var7 = this.field1487; + if (var3 == 0) { + this.field1487[0] = 0; this.field1487[1] = 0; - var7[0] = 0; + return; + } + this.field1487[0] = var1.readUnsignedShort(); + this.field1487[1] = var1.readUnsignedShort(); + int var4 = var1.readUnsignedByte(); + + int var5; + int var6; + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + this.field1494[var5][0][var6] = var1.readUnsignedShort(); + this.field1486[var5][0][var6] = var1.readUnsignedShort(); + } + } + + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + if ((var4 & 1 << var5 * 4 << var6) != 0) { + this.field1494[var5][1][var6] = var1.readUnsignedShort(); + this.field1486[var5][1][var6] = var1.readUnsignedShort(); + } else { + this.field1494[var5][1][var6] = this.field1494[var5][0][var6]; + this.field1486[var5][1][var6] = this.field1486[var5][0][var6]; + } + } + } + + if (var4 != 0 || this.field1487[1] != this.field1487[0]) { + var2.decodeSegments(var1); } } @ObfuscatedName("w") - static float method2670(float var0) { + @Export("normalize") + static float normalize(float var0) { float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); return var1 * 3.1415927F / 11025.0F; } diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index b28f73cc01..fb09789e6b 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -71,7 +71,8 @@ public class Buddy extends User { signature = "(II)I", garbageValue = "1131109761" ) - public static int method5170(int var0) { + @Export("ViewportMouse_unpackX") + public static int ViewportMouse_unpackX(int var0) { long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; int var1 = (int)(var2 >>> 0 & 127L); return var1; diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index 67e2b1291b..6a45de5258 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -61,7 +61,7 @@ public class Buffer extends Node { } public Buffer(int var1) { - this.array = TextureProvider.method2729(var1); + this.array = TextureProvider.ByteArrayPool_getArray(var1); this.offset = 0; } @@ -75,9 +75,10 @@ public class Buffer extends Node { signature = "(I)V", garbageValue = "581390013" ) - public void method5477() { + @Export("releaseArray") + public void releaseArray() { if (this.array != null) { - SoundSystem.method2478(this.array); + SoundSystem.ByteArrayPool_release(this.array); } this.array = null; @@ -256,7 +257,7 @@ public class Buffer extends Node { ) @Export("writeLengthShort") public void writeLengthShort(int var1) { - if (var1 >= 0 && var1 <= 65535) { + if (var1 >= 0 && var1 <= 0xffff) { this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); this.array[this.offset - var1 - 1] = (byte)var1; } else { @@ -360,7 +361,7 @@ public class Buffer extends Node { public int readShort() { this.offset += 2; int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); - if (var1 > 32767) { + if (var1 > 0x7fff) { var1 -= 65536; } @@ -525,8 +526,8 @@ public class Buffer extends Node { int var1 = 0; int var2; - for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { - var1 += 32767; + for (var2 = this.readUShortSmart(); var2 == 0x7fff; var2 = this.readUShortSmart()) { + var1 += 0x7fff; } var1 += var2; @@ -552,7 +553,7 @@ public class Buffer extends Node { return this.readInt() & Integer.MAX_VALUE; } int var1 = this.readUnsignedShort(); - return var1 == 32767 ? -1 : var1; + return var1 == 0x7fff ? -1 : var1; } @ObfuscatedName("cl") @@ -883,7 +884,7 @@ public class Buffer extends Node { public int method5535() { this.offset += 2; int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); - if (var1 > 32767) { + if (var1 > 0x7fff) { var1 -= 65536; } @@ -898,7 +899,7 @@ public class Buffer extends Node { public int method5500() { this.offset += 2; int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); - if (var1 > 32767) { + if (var1 > 0x7fff) { var1 -= 65536; } diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index e4595aa0f2..1805629031 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -247,75 +247,74 @@ public class BufferedSource implements Runnable { if (var3 == 4) { Login.loginIndex = 4; } - - } else { - Login.loginIndex = var3; - Rasterizer2D.Rasterizer2D_clear(); - byte[] var4 = var0.takeFileByNames("title.jpg", ""); - GrandExchangeOfferWorldComparator.leftTitleSprite = BuddyRankComparator.convertJpgToSprite(var4); - NPC.rightTitleSprite = GrandExchangeOfferWorldComparator.leftTitleSprite.mirrorHorizontally(); - if ((Client.worldProperties & 536870912) != 0) { - TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); - } else { - TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); - } - - Login.titleboxSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); - VarpDefinition.titlebuttonSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); - int var6 = var1.getGroupId("runes"); - int var7 = var1.getFileId(var6, ""); - IndexedSprite[] var5 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var6, var7); - Login.runesSprite = var5; - var7 = var1.getGroupId("title_mute"); - int var8 = var1.getFileId(var7, ""); - IndexedSprite[] var9 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var7, var8); - Login.title_muteSprite = var9; - Login.options_buttons_0Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); - Message.field606 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); - Decimator.options_buttons_2Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); - Login.field1185 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); - class237.field3191 = Login.options_buttons_0Sprite.subWidth; - WorldMapDecoration.field212 = Login.options_buttons_0Sprite.subHeight; - Ignored.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); - if (var2) { - Login.Login_username = ""; - Login.Login_password = ""; - } - - GrandExchangeOffer.field65 = 0; - WorldMapManager.otp = ""; - Login.field1201 = true; - Login.worldSelectOpen = false; - if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { - WorldMapRegion.method533(2, WorldMapRegion.archive6, "scape main", "", 255, false); - } else { - class40.method729(2); - } - - if (NetCache.NetCache_socket != null) { - try { - Buffer var10 = new Buffer(4); - var10.writeByte(3); - var10.writeMedium(0); - NetCache.NetCache_socket.write(var10.array, 0, 4); - } catch (IOException var13) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var12) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - Login.field1179 = true; - Login.xPadding = (GrandExchangeEvent.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - ScriptEvent.loginBoxCenter = Login.loginBoxX + 180; - GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); - NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18); + return; } + Login.loginIndex = var3; + Rasterizer2D.Rasterizer2D_clear(); + byte[] var4 = var0.takeFileByNames("title.jpg", ""); + GrandExchangeOfferWorldComparator.leftTitleSprite = BuddyRankComparator.convertJpgToSprite(var4); + NPC.rightTitleSprite = GrandExchangeOfferWorldComparator.leftTitleSprite.mirrorHorizontally(); + if ((Client.worldProperties & 536870912) != 0) { + TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); + } else { + TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); + } + + Login.titleboxSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); + VarpDefinition.titlebuttonSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); + int var6 = var1.getGroupId("runes"); + int var7 = var1.getFileId(var6, ""); + IndexedSprite[] var5 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var6, var7); + Login.runesSprite = var5; + var7 = var1.getGroupId("title_mute"); + int var8 = var1.getFileId(var7, ""); + IndexedSprite[] var9 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var7, var8); + Login.title_muteSprite = var9; + Login.options_buttons_0Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); + Message.field606 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); + Decimator.options_buttons_2Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); + Login.field1185 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); + class237.field3191 = Login.options_buttons_0Sprite.subWidth; + WorldMapDecoration.field212 = Login.options_buttons_0Sprite.subHeight; + Ignored.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + } + + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + Login.worldSelectOpen = false; + if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { + WorldMapRegion.playMusicTrackByName(2, WorldMapRegion.archive6, "scape main", "", 255, false); + } else { + class40.method729(2); + } + + if (NetCache.NetCache_socket != null) { + try { + Buffer var10 = new Buffer(4); + var10.writeByte(3); + var10.writeMedium(0); + NetCache.NetCache_socket.write(var10.array, 0, 4); + } catch (IOException var13) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var12) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + Login.field1179 = true; + Login.xPadding = (GrandExchangeEvent.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + ScriptEvent.loginBoxCenter = Login.loginBoxX + 180; + GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); + NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18); } } diff --git a/runescape-client/src/main/java/ByteArrayPool.java b/runescape-client/src/main/java/ByteArrayPool.java index d7ae920e0a..b88f7461d3 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -52,8 +52,8 @@ public class ByteArrayPool { signature = "(IZB)[B", garbageValue = "58" ) - @Export("ByteArrayPool_get") - static synchronized byte[] ByteArrayPool_get(int var0, boolean var1) { + @Export("ByteArrayPool_getArrayBool") + static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { byte[] var2; if (var0 != 100) { if (var0 < 100) { diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index 4915710d82..0ce84c0bec 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -42,7 +42,7 @@ public final class Canvas extends java.awt.Canvas { ) @Export("getNextWorldListWorld") static World getNextWorldListWorld() { - return World.worldListWorldCount < World.worldsCount ? World.worlds[++World.worldListWorldCount - 1] : null; + return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null; } @ObfuscatedName("au") @@ -52,22 +52,21 @@ public final class Canvas extends java.awt.Canvas { ) @Export("runWidgetOnLoadListener") static void runWidgetOnLoadListener(int var0) { - if (var0 != -1) { - if (class162.loadInterface(var0)) { - Widget[] var1 = Widget.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3.onLoad != null) { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args = var3.onLoad; - class96.runScript(var4, 5000000); - } - } + if (var0 == -1 || !class162.loadInterface(var0)) { + return; + } + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3.onLoad != null) { + ScriptEvent var4 = new ScriptEvent(); + var4.widget = var3; + var4.args = var3.onLoad; + class96.runScript(var4, 5000000); } } + } @ObfuscatedName("jb") diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index fbf3ee2a03..f91a2506f6 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -88,7 +88,8 @@ public class ChatChannel { signature = "(Lkf;IB)V", garbageValue = "67" ) - public static void method2213(Buffer var0, int var1) { + @Export("readReflectionCheck") + public static void readReflectionCheck(Buffer var0, int var1) { ReflectionCheck var2 = new ReflectionCheck(); var2.size = var0.readUnsignedByte(); var2.id = var0.readInt(); @@ -105,67 +106,7 @@ public class ChatChannel { String var5; String var6; int var7; - if (var4 != 0 && var4 != 1 && var4 != 2) { - if (var4 == 3 || var4 == 4) { - var5 = var0.readStringCp1252NullTerminated(); - var6 = var0.readStringCp1252NullTerminated(); - var7 = var0.readUnsignedByte(); - String[] var8 = new String[var7]; - - for (int var9 = 0; var9 < var7; ++var9) { - var8[var9] = var0.readStringCp1252NullTerminated(); - } - - String var20 = var0.readStringCp1252NullTerminated(); - byte[][] var10 = new byte[var7][]; - int var12; - if (var4 == 3) { - for (int var11 = 0; var11 < var7; ++var11) { - var12 = var0.readInt(); - var10[var11] = new byte[var12]; - var0.readBytes(var10[var11], 0, var12); - } - } - - var2.operations[var3] = var4; - Class[] var21 = new Class[var7]; - - for (var12 = 0; var12 < var7; ++var12) { - var21[var12] = User.loadClassFromDescriptor(var8[var12]); - } - - Class var22 = User.loadClassFromDescriptor(var20); - if (User.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods(); - Method[] var14 = var13; - - for (int var15 = 0; var15 < var14.length; ++var15) { - Method var16 = var14[var15]; - if (Reflection.getMethodName(var16).equals(var6)) { - Class[] var17 = Reflection.getParameterTypes(var16); - if (var17.length == var21.length) { - boolean var18 = true; - - for (int var19 = 0; var19 < var21.length; ++var19) { - if (var17[var19] != var21[var19]) { - var18 = false; - break; - } - } - - if (var18 && var22 == var16.getReturnType()) { - var2.methods[var3] = var16; - } - } - } - } - - var2.arguments[var3] = var10; - } - } else { + if (var4 == 0 || var4 == 1 || var4 == 2) { var5 = var0.readStringCp1252NullTerminated(); var6 = var0.readStringCp1252NullTerminated(); var7 = 0; @@ -180,6 +121,66 @@ public class ChatChannel { } var2.fields[var3] = Reflection.findField(User.loadClassFromDescriptor(var5), var6); + } else if (var4 == 3 || var4 == 4) { + var5 = var0.readStringCp1252NullTerminated(); + var6 = var0.readStringCp1252NullTerminated(); + var7 = var0.readUnsignedByte(); + String[] var8 = new String[var7]; + + for (int var9 = 0; var9 < var7; ++var9) { + var8[var9] = var0.readStringCp1252NullTerminated(); + } + + String var20 = var0.readStringCp1252NullTerminated(); + byte[][] var10 = new byte[var7][]; + int var12; + if (var4 == 3) { + for (int var11 = 0; var11 < var7; ++var11) { + var12 = var0.readInt(); + var10[var11] = new byte[var12]; + var0.readBytes(var10[var11], 0, var12); + } + } + + var2.operations[var3] = var4; + Class[] var21 = new Class[var7]; + + for (var12 = 0; var12 < var7; ++var12) { + var21[var12] = User.loadClassFromDescriptor(var8[var12]); + } + + Class var22 = User.loadClassFromDescriptor(var20); + if (User.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods(); + Method[] var14 = var13; + + for (int var15 = 0; var15 < var14.length; ++var15) { + Method var16 = var14[var15]; + if (!Reflection.getMethodName(var16).equals(var6)) { + continue; + } + Class[] var17 = Reflection.getParameterTypes(var16); + if (var17.length != var21.length) { + continue; + } + boolean var18 = true; + + for (int var19 = 0; var19 < var21.length; ++var19) { + if (var17[var19] != var21[var19]) { + var18 = false; + break; + } + } + + if (var18 && var22 == var16.getReturnType()) { + var2.methods[var3] = var16; + } + } + + var2.arguments[var3] = var10; } } catch (ClassNotFoundException var24) { var2.creationErrors[var3] = -1; @@ -202,7 +203,8 @@ public class ChatChannel { signature = "(B)V", garbageValue = "-4" ) - static void method2214() { + @Export("openWorldSelect") + static void openWorldSelect() { if (UserComparator3.loadWorlds()) { Login.worldSelectOpen = true; Login.worldSelectPage = 0; diff --git a/runescape-client/src/main/java/ClanChat.java b/runescape-client/src/main/java/ClanChat.java index d24f9c9754..0a320a4362 100644 --- a/runescape-client/src/main/java/ClanChat.java +++ b/runescape-client/src/main/java/ClanChat.java @@ -83,8 +83,9 @@ public class ClanChat extends UserList { signature = "(Ljava/lang/String;I)V", garbageValue = "-1948396413" ) - final void method5231(String var1) { - this.name = VarcInt.method4403(var1); + @Export("readName") + final void readName(String var1) { + this.name = VarcInt.base37Decode(var1); } @ObfuscatedName("c") @@ -92,8 +93,9 @@ public class ClanChat extends UserList { signature = "(Ljava/lang/String;I)V", garbageValue = "537403926" ) - final void method5232(String var1) { - this.owner = VarcInt.method4403(var1); + @Export("setOwner") + final void setOwner(String var1) { + this.owner = VarcInt.base37Decode(var1); } @ObfuscatedName("u") @@ -103,24 +105,25 @@ public class ClanChat extends UserList { ) @Export("readUpdate") public final void readUpdate(Buffer var1) { - this.method5232(var1.readStringCp1252NullTerminated()); + this.setOwner(var1.readStringCp1252NullTerminated()); long var2 = var1.readLong(); - this.method5231(Tile.method2855(var2)); + this.readName(Tile.method2855(var2)); this.minKick = var1.readByte(); int var4 = var1.readUnsignedByte(); - if (var4 != 255) { - this.clear(); - - for (int var5 = 0; var5 < var4; ++var5) { - ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); - int var7 = var1.readUnsignedShort(); - var6.set(var7, ++this.field3659 - 1); - var6.rank = var1.readByte(); - var1.readStringCp1252NullTerminated(); - this.isLocalPlayer(var6); - } - + if (var4 == 255) { + return; } + this.clear(); + + for (int var5 = 0; var5 < var4; ++var5) { + ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); + int var7 = var1.readUnsignedShort(); + var6.set(var7, ++this.field3659 - 1); + var6.rank = var1.readByte(); + var1.readStringCp1252NullTerminated(); + this.isLocalPlayer(var6); + } + } @ObfuscatedName("ct") @@ -183,8 +186,8 @@ public class ClanChat extends UserList { signature = "(I)V", garbageValue = "17638925" ) - @Export("clearIgnoreds") - public final void clearIgnoreds() { + @Export("invalidateIgnoreds") + public final void invalidateIgnoreds() { for (int var1 = 0; var1 < this.getSize(); ++var1) { ((ClanMate)this.get(var1)).clearIsIgnored(); } diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 7c04c35861..a1465271dd 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -429,9 +429,11 @@ public final class Client extends GameShell implements Usernamed { @Export("grandExchangeOffers") static GrandExchangeOffer[] grandExchangeOffers; @ObfuscatedName("ra") - static short field906; + @Export("zoomHeight") + static short zoomHeight; @ObfuscatedName("rv") - static short field908; + @Export("zoomWidth") + static short zoomWidth; @ObfuscatedName("pw") @ObfuscatedGetter( intValue = 1092581053 @@ -727,7 +729,8 @@ public final class Client extends GameShell implements Usernamed { @Export("secureRandomFuture") static SecureRandomFuture secureRandomFuture; @ObfuscatedName("ee") - static byte[] field693; + @Export("randomDatData") + static byte[] randomDatData; @ObfuscatedName("ec") @ObfuscatedSignature( signature = "[Lcf;" @@ -760,7 +763,8 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedGetter( intValue = 722667803 ) - static int field700; + @Export("logoutTimer") + static int logoutTimer; @ObfuscatedName("fe") static boolean field701; @ObfuscatedName("fa") @@ -839,7 +843,8 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedGetter( intValue = 1590040777 ) - static int field882; + @Export("alternativeScrollbarWidth") + static int alternativeScrollbarWidth; @ObfuscatedName("hz") @ObfuscatedGetter( intValue = -404113937 @@ -1123,7 +1128,8 @@ public final class Client extends GameShell implements Usernamed { @Export("playerOptionsPriorities") static boolean[] playerOptionsPriorities; @ObfuscatedName("kh") - static int[] field780; + @Export("defaultRotations") + static int[] defaultRotations; @ObfuscatedName("kq") @ObfuscatedGetter( intValue = -1939972393 @@ -1167,7 +1173,8 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedGetter( intValue = 1151779303 ) - static int field789; + @Export("leftClickOpensMenu") + static int leftClickOpensMenu; @ObfuscatedName("kp") @Export("isMenuOpen") static boolean isMenuOpen; @@ -1187,14 +1194,14 @@ public final class Client extends GameShell implements Usernamed { @Export("menuOpcodes") static int[] menuOpcodes; @ObfuscatedName("lg") - @Export("menuArguments0") - static int[] menuArguments0; + @Export("menuIdentifiers") + static int[] menuIdentifiers; @ObfuscatedName("lc") @Export("menuActions") static String[] menuActions; @ObfuscatedName("ls") - @Export("menuTargetNames") - static String[] menuTargetNames; + @Export("menuTargets") + static String[] menuTargets; @ObfuscatedName("lk") @Export("menuShiftClick") static boolean[] menuShiftClick; @@ -1316,14 +1323,14 @@ public final class Client extends GameShell implements Usernamed { field690 = class160.field2001; Login_isUsernameRemembered = false; secureRandomFuture = new SecureRandomFuture(); - field693 = null; + randomDatData = null; npcs = new NPC[32768]; npcCount = 0; npcIndices = new int[32768]; field697 = 0; field859 = new int[250]; packetWriter = new PacketWriter(); - field700 = 0; + logoutTimer = 0; field701 = false; useBufferedSocket = true; timer = new Timer(); @@ -1343,7 +1350,7 @@ public final class Client extends GameShell implements Usernamed { field720 = 0x332d25; field772 = 0x766654; field719 = false; - field882 = 0; + alternativeScrollbarWidth = 0; camAngleX = 128; camAngleY = 0; camAngleDY = 0; @@ -1401,7 +1408,7 @@ public final class Client extends GameShell implements Usernamed { playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; playerMenuActions = new String[8]; playerOptionsPriorities = new boolean[8]; - field780 = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; + defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; combatTargetPlayerIndex = -1; groundItems = new NodeDeque[4][104][104]; pendingSpawns = new NodeDeque(); @@ -1410,15 +1417,15 @@ public final class Client extends GameShell implements Usernamed { currentLevels = new int[25]; levels = new int[25]; experience = new int[25]; - field789 = 0; + leftClickOpensMenu = 0; isMenuOpen = false; menuOptionsCount = 0; menuArguments1 = new int[500]; menuArguments2 = new int[500]; menuOpcodes = new int[500]; - menuArguments0 = new int[500]; + menuIdentifiers = new int[500]; menuActions = new String[500]; - menuTargetNames = new String[500]; + menuTargets = new String[500]; menuShiftClick = new boolean[500]; followerOpsLowPriority = false; shiftClickDrop = false; @@ -1490,7 +1497,7 @@ public final class Client extends GameShell implements Usernamed { gameDrawingMode = 0; field868 = 0L; isResizable = true; - field870 = new int[]{0xffff00, 0xff0000, 0xff00, 65535, 0xff00ff, 0xffffff}; + field870 = new int[]{0xffff00, 0xff0000, 0x00ff00, 0x00ffff, 0xff00ff, 0xffffff}; publicChatMode = 0; tradeChatMode = 0; field762 = ""; @@ -1527,12 +1534,12 @@ public final class Client extends GameShell implements Usernamed { field904 = new int[5]; field782 = 256; field651 = 205; - field906 = 256; - field908 = 320; + zoomHeight = 256; + zoomWidth = 320; field820 = 1; - field790 = 32767; + field790 = 0x7fff; field732 = 1; - field659 = 32767; + field659 = 0x7fff; viewportOffsetX = 0; viewportOffsetY = 0; viewportWidth = 0; @@ -1602,7 +1609,7 @@ public final class Client extends GameShell implements Usernamed { this.setUpKeyboard(); this.setUpMouse(); WorldMapManager.mouseWheel = this.mouseWheel(); - ScriptEvent.masterDisk = new ArchiveDisk(255, class167.dat2File, class167.idx255File, 500000); + ScriptEvent.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); WorldMapLabelSize.clientPreferences = ModelData0.loadClientPreferences(); this.setUpClipboard(); class218.method4110(this, class60.null_string); @@ -1810,11 +1817,11 @@ public final class Client extends GameShell implements Usernamed { if (gameState == 0) { this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); } else if (gameState == 5) { - class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, FileSystem.fontPlain12); } else if (gameState == 10 || gameState == 11) { - class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, FileSystem.fontPlain12); } else if (gameState == 20) { - class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, FileSystem.fontPlain12); } else if (gameState == 25) { if (field709 == 1) { if (field705 > field706) { @@ -1875,7 +1882,7 @@ public final class Client extends GameShell implements Usernamed { class40.mouseRecorder = null; packetWriter.close(); - FloorDecoration.method2842(); + FloorDecoration.KeyHandler_exit(); Widget.method4091(); WorldMapManager.mouseWheel = null; if (class80.pcmPlayer0 != null) { @@ -1897,14 +1904,14 @@ public final class Client extends GameShell implements Usernamed { } try { - class167.dat2File.close(); + JagexCache.JagexCache_dat2File.close(); for (int var1 = 0; var1 < class40.idxCount; ++var1) { - class167.idxFiles[var1].close(); + JagexCache.JagexCache_idxFiles[var1].close(); } - class167.idx255File.close(); - class167.randomDat.close(); + JagexCache.JagexCache_idx255File.close(); + JagexCache.JagexCache_randomDat.close(); } catch (Exception var3) { } @@ -1920,99 +1927,102 @@ public final class Client extends GameShell implements Usernamed { public final void init() { try { - if (this.checkHost()) { - ClientParameter[] var1 = FaceNormal.ClientParameter_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - ClientParameter var3 = var1[var2]; - String var4 = this.getParameter(var3.id); - if (var4 != null) { - switch(Integer.parseInt(var3.id)) { - case 1: - useBufferedSocket = Integer.parseInt(var4) != 0; - case 2: - case 11: - case 13: - case 16: - default: - break; - case 3: - if (var4.equalsIgnoreCase("true")) { - isMembersWorld = true; - } else { - isMembersWorld = false; - } - break; - case 4: - if (clientType == -1) { - clientType = Integer.parseInt(var4); - } - break; - case 5: - worldProperties = Integer.parseInt(var4); - break; - case 6: - int var6 = Integer.parseInt(var4); - Language var11; - if (var6 >= 0 && var6 < Language.Language_valuesOrdered.length) { - var11 = Language.Language_valuesOrdered[var6]; - } else { - var11 = null; - } - - ScriptFrame.clientLanguage = var11; - break; - case 7: - PacketBufferNode.serverBuild = ServerBuild.valueOf(Integer.parseInt(var4)); - break; - case 8: - if (var4.equalsIgnoreCase("true")) { - } - break; - case 9: - class294.field3695 = var4; - break; - case 10: - StudioGame[] var5 = new StudioGame[]{StudioGame.oldscape, StudioGame.runescape, StudioGame.game5, StudioGame.stellardawn, StudioGame.game4, StudioGame.game3}; - WorldMapRegion.studioGame = (StudioGame)SoundSystem.findEnumerated(var5, Integer.parseInt(var4)); - if (WorldMapRegion.studioGame == StudioGame.oldscape) { - class40.loginType = LoginType.oldscape; - } else { - class40.loginType = LoginType.field4056; - } - break; - case 12: - worldId = Integer.parseInt(var4); - break; - case 14: - InvDefinition.field3199 = Integer.parseInt(var4); - break; - case 15: - gameBuild = Integer.parseInt(var4); - break; - case 17: - WorldMapArea.field213 = var4; - } - } - } - - class215.setLowDetailOff(); - ClientPreferences.worldHost = this.getCodeBase().getHost(); - String var9 = PacketBufferNode.serverBuild.name; - byte var10 = 0; - - try { - UserComparator6.method3440("oldschool", var9, var10, 21); - } catch (Exception var7) { - HitSplatDefinition.sendStackTrace((String)null, var7); - } - - WorldMapSprite.client = this; - RunException.RunException_clientType = clientType; - this.startThread(765, 503, 181); + if (!this.checkHost()) { + return; } + + ClientParameter[] var1 = FaceNormal.ClientParameter_values(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + ClientParameter var3 = var1[var2]; + String var4 = this.getParameter(var3.id); + if (var4 == null) { + continue; + } + switch(Integer.parseInt(var3.id)) { + case 1: + useBufferedSocket = Integer.parseInt(var4) != 0; + case 2: + case 11: + case 13: + case 16: + default: + break; + case 3: + if (var4.equalsIgnoreCase("true")) { + isMembersWorld = true; + } else { + isMembersWorld = false; + } + break; + case 4: + if (clientType == -1) { + clientType = Integer.parseInt(var4); + } + break; + case 5: + worldProperties = Integer.parseInt(var4); + break; + case 6: + int var6 = Integer.parseInt(var4); + Language var11; + if (var6 >= 0 && var6 < Language.Language_valuesOrdered.length) { + var11 = Language.Language_valuesOrdered[var6]; + } else { + var11 = null; + } + + ScriptFrame.clientLanguage = var11; + break; + case 7: + PacketBufferNode.serverBuild = ServerBuild.valueOf(Integer.parseInt(var4)); + break; + case 8: + if (var4.equalsIgnoreCase("true")) { + } + break; + case 9: + class294.field3695 = var4; + break; + case 10: + StudioGame[] var5 = new StudioGame[]{StudioGame.oldscape, StudioGame.runescape, StudioGame.game5, StudioGame.stellardawn, StudioGame.game4, StudioGame.game3}; + WorldMapRegion.studioGame = (StudioGame)SoundSystem.findEnumerated(var5, Integer.parseInt(var4)); + if (WorldMapRegion.studioGame == StudioGame.oldscape) { + class40.loginType = LoginType.oldscape; + } else { + class40.loginType = LoginType.field4056; + } + break; + case 12: + worldId = Integer.parseInt(var4); + break; + case 14: + InvDefinition.field3199 = Integer.parseInt(var4); + break; + case 15: + gameBuild = Integer.parseInt(var4); + break; + case 17: + WorldMapArea.field213 = var4; + } + } + + class215.setLowDetailOff(); + ClientPreferences.worldHost = this.getCodeBase().getHost(); + String var9 = PacketBufferNode.serverBuild.name; + byte var10 = 0; + + try { + UserComparator6.JagexCache_init("oldschool", var9, var10, 21); + } catch (Exception var7) { + HitSplatDefinition.RunException_sendStackTrace((String)null, var7); + } + + WorldMapSprite.client = this; + RunException.RunException_clientType = clientType; + this.startThread(765, 503, 181); } catch (RuntimeException var8) { - throw UserComparator9.method3390(var8, "client.init(" + ')'); + throw UserComparator9.newRunException(var8, "client.init(" + ')'); } } @@ -2042,79 +2052,80 @@ public final class Client extends GameShell implements Usernamed { if (NetCache.NetCache_crcMismatches >= 4) { this.error("js5crc"); gameState = 1000; - } else { - if (NetCache.NetCache_ioExceptions >= 4) { - if (gameState <= 5) { - this.error("js5io"); - gameState = 1000; + return; + } + if (NetCache.NetCache_ioExceptions >= 4) { + if (gameState <= 5) { + this.error("js5io"); + gameState = 1000; + return; + } + + field682 = 3000; + NetCache.NetCache_ioExceptions = 3; + } + + if (--field682 + 1 > 0) { + return; + } + try { + if (js5ConnectState == 0) { + class191.js5SocketTask = GameShell.taskHandler.newSocketTask(ClientPreferences.worldHost, Varcs.port3); + ++js5ConnectState; + } + + if (js5ConnectState == 1) { + if (class191.js5SocketTask.status == 2) { + this.js5Error(-1); return; } - field682 = 3000; - NetCache.NetCache_ioExceptions = 3; + if (class191.js5SocketTask.status == 1) { + ++js5ConnectState; + } } - if (--field682 + 1 <= 0) { - try { - if (js5ConnectState == 0) { - class191.js5SocketTask = GameShell.taskHandler.newSocketTask(ClientPreferences.worldHost, Varcs.port3); - ++js5ConnectState; - } - - if (js5ConnectState == 1) { - if (class191.js5SocketTask.status == 2) { - this.js5Error(-1); - return; - } - - if (class191.js5SocketTask.status == 1) { - ++js5ConnectState; - } - } - - if (js5ConnectState == 2) { - if (useBufferedSocket) { - HealthBarUpdate.js5Socket = BZip2State.newBufferedNetSocket((Socket)class191.js5SocketTask.result, 40000, 5000); - } else { - HealthBarUpdate.js5Socket = new NetSocket((Socket)class191.js5SocketTask.result, GameShell.taskHandler, 5000); - } - - Buffer var1 = new Buffer(5); - var1.writeByte(15); - var1.writeInt(181); - HealthBarUpdate.js5Socket.write(var1.array, 0, 5); - ++js5ConnectState; - class192.field2382 = DirectByteArrayCopier.currentTimeMs(); - } - - if (js5ConnectState == 3) { - if (HealthBarUpdate.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { - int var2 = HealthBarUpdate.js5Socket.readUnsignedByte(); - if (var2 != 0) { - this.js5Error(var2); - return; - } - - ++js5ConnectState; - } else if (DirectByteArrayCopier.currentTimeMs() - class192.field2382 > 30000L) { - this.js5Error(-2); - return; - } - } - - if (js5ConnectState == 4) { - DynamicObject.method2193(HealthBarUpdate.js5Socket, gameState > 20); - class191.js5SocketTask = null; - HealthBarUpdate.js5Socket = null; - js5ConnectState = 0; - js5Errors = 0; - } - } catch (IOException var3) { - this.js5Error(-3); + if (js5ConnectState == 2) { + if (useBufferedSocket) { + HealthBarUpdate.js5Socket = BZip2State.newBufferedNetSocket((Socket)class191.js5SocketTask.result, 40000, 5000); + } else { + HealthBarUpdate.js5Socket = new NetSocket((Socket)class191.js5SocketTask.result, GameShell.taskHandler, 5000); } + Buffer var1 = new Buffer(5); + var1.writeByte(15); + var1.writeInt(181); + HealthBarUpdate.js5Socket.write(var1.array, 0, 5); + ++js5ConnectState; + class192.js5ConnectionMs = DirectByteArrayCopier.currentTimeMs(); } + + if (js5ConnectState == 3) { + if (HealthBarUpdate.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { + int var2 = HealthBarUpdate.js5Socket.readUnsignedByte(); + if (var2 != 0) { + this.js5Error(var2); + return; + } + + ++js5ConnectState; + } else if (DirectByteArrayCopier.currentTimeMs() - class192.js5ConnectionMs > 30000L) { + this.js5Error(-2); + return; + } + } + + if (js5ConnectState == 4) { + DynamicObject.NetCache_connect(HealthBarUpdate.js5Socket, gameState > 20); + class191.js5SocketTask = null; + HealthBarUpdate.js5Socket = null; + js5ConnectState = 0; + js5Errors = 0; + } + } catch (IOException var3) { + this.js5Error(-3); } + } @ObfuscatedName("ex") @@ -2209,7 +2220,7 @@ public final class Client extends GameShell implements Usernamed { } if (loginState == 2) { - packetWriter.method2218(); + packetWriter.clearBuffer(); PacketBufferNode var4; if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { var4 = new PacketBufferNode(); @@ -2221,8 +2232,8 @@ public final class Client extends GameShell implements Usernamed { var4.clientPacketLength = 0; var4.packetBuffer = new PacketBuffer(5000); var4.packetBuffer.writeByte(LoginPacket.field2306.id); - packetWriter.method2219(var4); - packetWriter.method2234(); + packetWriter.addNode(var4); + packetWriter.flush(); var2.offset = 0; loginState = 3; } @@ -2254,7 +2265,7 @@ public final class Client extends GameShell implements Usernamed { } if (var15 != 0) { - WorldMapIcon_1.method296(var15); + WorldMapIcon_1.getLoginError(var15); return; } @@ -2286,7 +2297,7 @@ public final class Client extends GameShell implements Usernamed { if (loginState == 5) { packetWriter.packetBuffer.offset = 0; - packetWriter.method2218(); + packetWriter.clearBuffer(); PacketBuffer var3 = new PacketBuffer(500); int[] var24 = new int[]{WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt()}; var3.offset = 0; @@ -2352,14 +2363,14 @@ public final class Client extends GameShell implements Usernamed { var6.packetBuffer.writeShort(ParamDefinition.canvasHeight); PacketBuffer var9 = var6.packetBuffer; int var12; - if (field693 != null) { - var9.writeBytes(field693, 0, field693.length); + if (randomDatData != null) { + var9.writeBytes(randomDatData, 0, randomDatData.length); } else { byte[] var11 = new byte[24]; try { - class167.randomDat.seek(0L); - class167.randomDat.readFully(var11); + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var11); for (var12 = 0; var12 < 24 && var11[var12] == 0; ++var12) { } @@ -2384,7 +2395,7 @@ public final class Client extends GameShell implements Usernamed { var6.packetBuffer.writeByte(clientType); var6.packetBuffer.writeInt(0); var6.packetBuffer.writeInt(class197.archive0.hash); - var6.packetBuffer.writeInt(class167.archive1.hash); + var6.packetBuffer.writeInt(JagexCache.archive1.hash); var6.packetBuffer.writeInt(class215.archive2.hash); var6.packetBuffer.writeInt(class43.archive3.hash); var6.packetBuffer.writeInt(class13.archive4.hash); @@ -2406,8 +2417,8 @@ public final class Client extends GameShell implements Usernamed { var6.packetBuffer.writeInt(Entity.archive20.hash); var6.packetBuffer.xteaEncrypt(var24, var8, var6.packetBuffer.offset); var6.packetBuffer.writeLengthShort(var6.packetBuffer.offset - var16); - packetWriter.method2219(var6); - packetWriter.method2234(); + packetWriter.addNode(var6); + packetWriter.flush(); packetWriter.isaacCipher = new IsaacCipher(var24); int[] var29 = new int[4]; @@ -2433,13 +2444,11 @@ public final class Client extends GameShell implements Usernamed { } else if (var30 == 23 && field688 < 1) { ++field688; loginState = 0; - } else { - if (var30 != 29) { - WorldMapIcon_1.method296(var30); - return; - } - + } else if (var30 == 29) { loginState = 14; + } else { + WorldMapIcon_1.getLoginError(var30); + return; } } @@ -2573,7 +2582,7 @@ public final class Client extends GameShell implements Usernamed { ++field688; loginState = 0; } else { - WorldMapIcon_1.method296(-3); + WorldMapIcon_1.getLoginError(-3); } } } else { @@ -2592,7 +2601,7 @@ public final class Client extends GameShell implements Usernamed { var2.offset = 0; var30 = packetWriter.serverPacketLength; timer.method5000(); - packetWriter.method2218(); + packetWriter.clearBuffer(); packetWriter.packetBuffer.offset = 0; packetWriter.serverPacket = null; packetWriter.field1309 = null; @@ -2601,7 +2610,7 @@ public final class Client extends GameShell implements Usernamed { packetWriter.serverPacketLength = 0; packetWriter.field1318 = 0; rebootTimer = 0; - Strings.method4121(); + Strings.resetMenuEntries(); minimapState = 0; destinationX = 0; @@ -2646,7 +2655,7 @@ public final class Client extends GameShell implements Usernamed { ++field688; loginState = 0; } else { - WorldMapIcon_1.method296(-2); + WorldMapIcon_1.getLoginError(-2); } } } @@ -2662,724 +2671,714 @@ public final class Client extends GameShell implements Usernamed { --rebootTimer; } - if (field700 > 0) { - --field700; + if (logoutTimer > 0) { + --logoutTimer; } if (field701) { field701 = false; ScriptFrame.method1090(); - } else { - if (!isMenuOpen) { - GraphicsObject.resetMenuEntries(); + return; + } + + if (!isMenuOpen) { + GraphicsObject.addCancelMenuEntry(); + } + + for (int var1 = 0; var1 < 100; ++var1) { + if (!this.method1451(packetWriter)) { + break; } + } - int var1; - for (var1 = 0; var1 < 100 && this.method1451(packetWriter); ++var1) { - } + if (gameState != 30) { + return; + } - if (gameState == 30) { - int var2; - PacketBufferNode var15; - while (MidiPcmStream.method3811()) { - var15 = Archive.method4265(ClientPacket.field2252, packetWriter.isaacCipher); - var15.packetBuffer.writeByte(0); - var2 = var15.packetBuffer.offset; - HealthBarUpdate.method1671(var15.packetBuffer); - var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); - packetWriter.method2219(var15); - } + while (MidiPcmStream.hasReflectionCheck()) { + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2252, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + int var2 = var15.packetBuffer.offset; + HealthBarUpdate.performReflectionCheck(var15.packetBuffer); + var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); + packetWriter.addNode(var15); + } - if (timer.field3605) { - var15 = Archive.method4265(ClientPacket.field2217, packetWriter.isaacCipher); - var15.packetBuffer.writeByte(0); - var2 = var15.packetBuffer.offset; - timer.write(var15.packetBuffer); - var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); - packetWriter.method2219(var15); - timer.method4998(); - } + if (timer.field3605) { + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2217, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + int var2 = var15.packetBuffer.offset; + timer.write(var15.packetBuffer); + var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); + packetWriter.addNode(var15); + timer.method4998(); + } - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - synchronized(class40.mouseRecorder.lock) { - if (!field912) { - class40.mouseRecorder.index = 0; - } else if (MouseHandler.MouseHandler_lastButton != 0 || class40.mouseRecorder.index >= 40) { - PacketBufferNode var16 = null; - var3 = 0; - var4 = 0; + + synchronized(class40.mouseRecorder.lock) { + if (!field912) { + class40.mouseRecorder.index = 0; + } else if (MouseHandler.MouseHandler_lastButton != 0 || class40.mouseRecorder.index >= 40) { + PacketBufferNode var16 = null; + int var3 = 0; + int var4 = 0; + int var5 = 0; + int var6 = 0; + + for (int var7 = 0; var7 < class40.mouseRecorder.index && (var16 == null || var16.packetBuffer.offset - var3 < 246); ++var7, ++var6, field666 = class40.mouseRecorder.millis[var7]) { + var4 = var7; + int var8 = class40.mouseRecorder.ys[var7]; + if (var8 < -1) { + var8 = -1; + } else if (var8 > 65534) { + var8 = 65534; + } + + int var9 = class40.mouseRecorder.xs[var7]; + if (var9 < -1) { + var9 = -1; + } else if (var9 > 65534) { + var9 = 65534; + } + + if (var9 == field717 && var8 == field665) { + continue; + } + if (var16 == null) { + var16 = Archive.getPacketBufferNode(ClientPacket.field2237, packetWriter.isaacCipher); + var16.packetBuffer.writeByte(0); + var3 = var16.packetBuffer.offset; + PacketBuffer var10000 = var16.packetBuffer; + var10000.offset += 2; var5 = 0; var6 = 0; - - for (var7 = 0; var7 < class40.mouseRecorder.index && (var16 == null || var16.packetBuffer.offset - var3 < 246); ++var7) { - var4 = var7; - var8 = class40.mouseRecorder.ys[var7]; - if (var8 < -1) { - var8 = -1; - } else if (var8 > 65534) { - var8 = 65534; - } - - var9 = class40.mouseRecorder.xs[var7]; - if (var9 < -1) { - var9 = -1; - } else if (var9 > 65534) { - var9 = 65534; - } - - if (var9 != field717 || var8 != field665) { - if (var16 == null) { - var16 = Archive.method4265(ClientPacket.field2237, packetWriter.isaacCipher); - var16.packetBuffer.writeByte(0); - var3 = var16.packetBuffer.offset; - PacketBuffer var10000 = var16.packetBuffer; - var10000.offset += 2; - var5 = 0; - var6 = 0; - } - - if (-1L != field666) { - var10 = var9 - field717; - var11 = var8 - field665; - var12 = (int)((class40.mouseRecorder.millis[var7] - field666) / 20L); - var5 = (int)((long)var5 + (class40.mouseRecorder.millis[var7] - field666) % 20L); - } else { - var10 = var9; - var11 = var8; - var12 = Integer.MAX_VALUE; - } - - field717 = var9; - field665 = var8; - if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { - var10 += 32; - var11 += 32; - var16.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); - } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { - var10 += 128; - var11 += 128; - var16.packetBuffer.writeByte(var12 + 128); - var16.packetBuffer.writeShort(var11 + (var10 << 8)); - } else if (var12 < 32) { - var16.packetBuffer.writeByte(var12 + 192); - if (var9 != -1 && var8 != -1) { - var16.packetBuffer.writeInt(var9 | var8 << 16); - } else { - var16.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } else { - var16.packetBuffer.writeShort((var12 & 8191) + 57344); - if (var9 != -1 && var8 != -1) { - var16.packetBuffer.writeInt(var9 | var8 << 16); - } else { - var16.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } - - ++var6; - field666 = class40.mouseRecorder.millis[var7]; - } - } - - if (var16 != null) { - var16.packetBuffer.writeLengthByte(var16.packetBuffer.offset - var3); - var7 = var16.packetBuffer.offset; - var16.packetBuffer.offset = var3; - var16.packetBuffer.writeByte(var5 / var6); - var16.packetBuffer.writeByte(var5 % var6); - var16.packetBuffer.offset = var7; - packetWriter.method2219(var16); - } - - if (var4 >= class40.mouseRecorder.index) { - class40.mouseRecorder.index = 0; - } else { - MouseRecorder var43 = class40.mouseRecorder; - var43.index -= var4; - System.arraycopy(class40.mouseRecorder.xs, var4, class40.mouseRecorder.xs, 0, class40.mouseRecorder.index); - System.arraycopy(class40.mouseRecorder.ys, var4, class40.mouseRecorder.ys, 0, class40.mouseRecorder.index); - System.arraycopy(class40.mouseRecorder.millis, var4, class40.mouseRecorder.millis, 0, class40.mouseRecorder.index); - } } - } - - PacketBufferNode var19; - if (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { - long var17 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; - if (var17 > 4095L) { - var17 = 4095L; - } - - mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; - var3 = MouseHandler.MouseHandler_lastPressedY; - if (var3 < 0) { - var3 = 0; - } else if (var3 > ParamDefinition.canvasHeight) { - var3 = ParamDefinition.canvasHeight; - } - - var4 = MouseHandler.MouseHandler_lastPressedX; - if (var4 < 0) { - var4 = 0; - } else if (var4 > GrandExchangeEvent.canvasWidth) { - var4 = GrandExchangeEvent.canvasWidth; - } - - var5 = (int)var17; - var19 = Archive.method4265(ClientPacket.field2234, packetWriter.isaacCipher); - var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); - var19.packetBuffer.writeShort(var4); - var19.packetBuffer.writeShort(var3); - packetWriter.method2219(var19); - } - - if (KeyHandler.field386 > 0) { - var15 = Archive.method4265(ClientPacket.field2270, packetWriter.isaacCipher); - var15.packetBuffer.writeShort(0); - var2 = var15.packetBuffer.offset; - long var20 = DirectByteArrayCopier.currentTimeMs(); - - for (var5 = 0; var5 < KeyHandler.field386; ++var5) { - long var22 = var20 - field879; - if (var22 > 0xffffffL) { - var22 = 0xffffffL; - } - - field879 = var20; - var15.packetBuffer.method5521(KeyHandler.field401[var5]); - var15.packetBuffer.writeMedium((int)var22); - } - - var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var2); - packetWriter.method2219(var15); - } - - if (field822 > 0) { - --field822; - } - - if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { - field878 = true; - } - - if (field878 && field822 <= 0) { - field822 = 20; - field878 = false; - var15 = Archive.method4265(ClientPacket.field2242, packetWriter.isaacCipher); - var15.packetBuffer.method5475(camAngleX); - var15.packetBuffer.writeShortLE(camAngleY); - packetWriter.method2219(var15); - } - - if (class267.hasFocus && !hadFocus) { - hadFocus = true; - var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher); - var15.packetBuffer.writeByte(1); - packetWriter.method2219(var15); - } - - if (!class267.hasFocus && hadFocus) { - hadFocus = false; - var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher); - var15.packetBuffer.writeByte(0); - packetWriter.method2219(var15); - } - - if (BoundaryObject.worldMap != null) { - BoundaryObject.worldMap.method6299(); - } - - KeyHandler.method801(); - int[] var37; - if (field747 != class42.plane) { - field747 = class42.plane; - var1 = class42.plane; - var37 = RouteStrategy.sceneMinimapSprite.pixels; - var3 = var37.length; - - for (var4 = 0; var4 < var3; ++var4) { - var37[var4] = 0; - } - - for (var4 = 1; var4 < 103; ++var4) { - var5 = (103 - var4) * 2048 + 24628; - - for (var6 = 1; var6 < 103; ++var6) { - if ((Tiles.Tiles_renderFlags[var1][var6][var4] & 24) == 0) { - GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1, var6, var4); - } - - if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var6][var4] & 8) != 0) { - GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1 + 1, var6, var4); - } - - var5 += 4; - } - } - - var4 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); - var5 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; - RouteStrategy.sceneMinimapSprite.setRaster(); - - for (var6 = 1; var6 < 103; ++var6) { - for (var7 = 1; var7 < 103; ++var7) { - if ((Tiles.Tiles_renderFlags[var1][var7][var6] & 24) == 0) { - class3.drawObject(var1, var7, var6, var4, var5); - } - - if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var7][var6] & 8) != 0) { - class3.drawObject(var1 + 1, var7, var6, var4, var5); - } - } - } - - mapIconCount = 0; - - for (var6 = 0; var6 < 104; ++var6) { - for (var7 = 0; var7 < 104; ++var7) { - long var24 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(class42.plane, var6, var7); - if (0L != var24) { - var10 = class43.getObjectIdFromTag(var24); - var11 = ViewportMouse.getObjectDefinition(var10).mapIconId; - if (var11 >= 0) { - mapIcons[mapIconCount] = class222.WorldMapElement_get(var11).getSpriteBool(false); - mapIconXs[mapIconCount] = var6; - mapIconYs[mapIconCount] = var7; - ++mapIconCount; - } - } - } - } - - MusicPatchPcmStream.rasterProvider.apply(); - } - - if (gameState == 30) { - for (PendingSpawn var35 = (PendingSpawn)pendingSpawns.last(); var35 != null; var35 = (PendingSpawn)pendingSpawns.previous()) { - if (var35.hitpoints > 0) { - --var35.hitpoints; - } - - if (var35.hitpoints == 0) { - if (var35.field935 < 0 || Players.method2091(var35.field935, var35.field933)) { - DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.field935, var35.field936, var35.field933); - var35.remove(); - } - } else { - if (var35.delay > 0) { - --var35.delay; - } - - if (var35.delay == 0 && var35.x >= 1 && var35.y >= 1 && var35.x <= 102 && var35.y <= 102 && (var35.id < 0 || Players.method2091(var35.id, var35.field940))) { - DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.id, var35.orientation, var35.field940); - var35.delay = -1; - if (var35.id == var35.field935 && var35.field935 == -1) { - var35.remove(); - } else if (var35.field935 == var35.id && var35.field936 == var35.orientation && var35.field933 == var35.field940) { - var35.remove(); - } - } - } - } - - KitDefinition.method4461(); - ++packetWriter.field1318; - if (packetWriter.field1318 > 750) { - ScriptFrame.method1090(); + int var10, var11, var12; + if (-1L != field666) { + var10 = var9 - field717; + var11 = var8 - field665; + var12 = (int)((class40.mouseRecorder.millis[var7] - field666) / 20L); + var5 = (int)((long)var5 + (class40.mouseRecorder.millis[var7] - field666) % 20L); } else { - var1 = Players.Players_count; - var37 = Players.Players_indices; + var10 = var9; + var11 = var8; + var12 = Integer.MAX_VALUE; + } - for (var3 = 0; var3 < var1; ++var3) { - Player var26 = players[var37[var3]]; - if (var26 != null) { - StructDefinition.calculateActorPosition(var26, 1); - } + field717 = var9; + field665 = var8; + if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { + var10 += 32; + var11 += 32; + var16.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); + } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { + var10 += 128; + var11 += 128; + var16.packetBuffer.writeByte(var12 + 128); + var16.packetBuffer.writeShort(var11 + (var10 << 8)); + } else if (var12 < 32) { + var16.packetBuffer.writeByte(var12 + 192); + if (var9 != -1 && var8 != -1) { + var16.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var16.packetBuffer.writeInt(Integer.MIN_VALUE); } - - MouseRecorder.method1141(); - Player.processOverheadText(); - ++field718; - if (mouseCrossColor != 0) { - mouseCrossState = mouseCrossState * 400 + 400; - if (mouseCrossState * 20 >= 400) { - mouseCrossColor = 0; - } + } else { + var16.packetBuffer.writeShort((var12 & 8191) + 57344); + if (var9 != -1 && var8 != -1) { + var16.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var16.packetBuffer.writeInt(Integer.MIN_VALUE); } + } + } - if (ItemContainer.field549 != null) { - ++field759; - if (field759 >= 15) { - Strings.invalidateWidget(ItemContainer.field549); - ItemContainer.field549 = null; - } - } + if (var16 != null) { + var16.packetBuffer.writeLengthByte(var16.packetBuffer.offset - var3); + int var7 = var16.packetBuffer.offset; + var16.packetBuffer.offset = var3; + var16.packetBuffer.writeByte(var5 / var6); + var16.packetBuffer.writeByte(var5 % var6); + var16.packetBuffer.offset = var7; + packetWriter.addNode(var16); + } - Widget var36 = LoginScreenAnimation.mousedOverWidgetIf1; - Widget var38 = class32.field284; - LoginScreenAnimation.mousedOverWidgetIf1 = null; - class32.field284 = null; - draggedOnWidget = null; - field745 = false; - field873 = false; - field754 = 0; + if (var4 >= class40.mouseRecorder.index) { + class40.mouseRecorder.index = 0; + } else { + MouseRecorder var43 = class40.mouseRecorder; + var43.index -= var4; + System.arraycopy(class40.mouseRecorder.xs, var4, class40.mouseRecorder.xs, 0, class40.mouseRecorder.index); + System.arraycopy(class40.mouseRecorder.ys, var4, class40.mouseRecorder.ys, 0, class40.mouseRecorder.index); + System.arraycopy(class40.mouseRecorder.millis, var4, class40.mouseRecorder.millis, 0, class40.mouseRecorder.index); + } + } + } - while (class218.method4109() && field754 < 128) { - if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ReflectionCheck.field1338 == 66) { - String var27 = UrlRequester.getChatMessagesAsString(); - WorldMapSprite.client.clipboardSetString(var27); - } else if (oculusOrbState != 1 || Calendar.field2508 <= 0) { - field921[field754] = ReflectionCheck.field1338; - field877[field754] = Calendar.field2508; - ++field754; - } - } + if (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { + long var17 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; + if (var17 > 4095L) { + var17 = 4095L; + } - boolean var33 = staffModLevel >= 2; - if (var33 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { - var4 = localPlayer.plane - mouseWheelRotation; - if (var4 < 0) { - var4 = 0; - } else if (var4 > 3) { - var4 = 3; - } + mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; + int var3 = MouseHandler.MouseHandler_lastPressedY; + if (var3 < 0) { + var3 = 0; + } else if (var3 > ParamDefinition.canvasHeight) { + var3 = ParamDefinition.canvasHeight; + } - if (var4 != localPlayer.plane) { - WorldMapLabel.changePlane(localPlayer.pathX[0] + MusicPatchNode2.baseX * 64, localPlayer.pathY[0] + class1.baseY * 64, var4, false); - } + int var4 = MouseHandler.MouseHandler_lastPressedX; + if (var4 < 0) { + var4 = 0; + } else if (var4 > GrandExchangeEvent.canvasWidth) { + var4 = GrandExchangeEvent.canvasWidth; + } - mouseWheelRotation = 0; - } + int var5 = (int)var17; + PacketBufferNode var19 = Archive.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher); + var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); + var19.packetBuffer.writeShort(var4); + var19.packetBuffer.writeShort(var3); + packetWriter.addNode(var19); + } - if (rootInterface != -1) { - Skills.updateRootInterface(rootInterface, 0, 0, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, 0, 0); - } + if (KeyHandler.field386 > 0) { + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2270, packetWriter.isaacCipher); + var15.packetBuffer.writeShort(0); + int var2 = var15.packetBuffer.offset; + long var20 = DirectByteArrayCopier.currentTimeMs(); - ++cycleCntr; + for (int var5 = 0; var5 < KeyHandler.field386; ++var5) { + long var22 = var20 - field879; + if (var22 > 0xffffffL) { + var22 = 0xffffffL; + } - while (true) { - Widget var28; - Widget var39; - ScriptEvent var41; - do { - var41 = (ScriptEvent)field852.removeLast(); - if (var41 == null) { - while (true) { - do { - var41 = (ScriptEvent)field856.removeLast(); - if (var41 == null) { - while (true) { - do { - var41 = (ScriptEvent)scriptEvents.removeLast(); - if (var41 == null) { - this.method1333(); - SpotAnimationDefinition.method4415(); - if (clickedWidget != null) { - this.method1641(); - } + field879 = var20; + var15.packetBuffer.method5521(KeyHandler.field401[var5]); + var15.packetBuffer.writeMedium((int)var22); + } - if (WorldMapIcon_0.dragInventoryWidget != null) { - Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget); - ++itemDragDuration; - if (MouseHandler.MouseHandler_currentButton == 0) { - if (field874) { - if (class294.field3697 == WorldMapIcon_0.dragInventoryWidget && dragItemSlotDestination != dragItemSlotSource) { - Widget var42 = WorldMapIcon_0.dragInventoryWidget; - byte var34 = 0; - if (field809 == 1 && var42.contentType == 206) { - var34 = 1; - } + var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var2); + packetWriter.addNode(var15); + } - if (var42.itemIds[dragItemSlotDestination] <= 0) { - var34 = 0; - } + if (field822 > 0) { + --field822; + } - if (UserComparator4.method3382(class268.getWidgetClickMask(var42))) { - var6 = dragItemSlotSource; - var7 = dragItemSlotDestination; - var42.itemIds[var7] = var42.itemIds[var6]; - var42.itemQuantities[var7] = var42.itemQuantities[var6]; - var42.itemIds[var6] = -1; - var42.itemQuantities[var6] = 0; - } else if (var34 == 1) { - var6 = dragItemSlotSource; - var7 = dragItemSlotDestination; + if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { + field878 = true; + } - while (var6 != var7) { - if (var6 > var7) { - var42.swapItems(var6 - 1, var6); - --var6; - } else if (var6 < var7) { - var42.swapItems(var6 + 1, var6); - ++var6; - } - } - } else { - var42.swapItems(dragItemSlotDestination, dragItemSlotSource); - } + if (field878 && field822 <= 0) { + field822 = 20; + field878 = false; + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2242, packetWriter.isaacCipher); + var15.packetBuffer.method5475(camAngleX); + var15.packetBuffer.writeShortLE(camAngleY); + packetWriter.addNode(var15); + } - var19 = Archive.method4265(ClientPacket.field2283, packetWriter.isaacCipher); - var19.packetBuffer.writeShort(dragItemSlotDestination); - var19.packetBuffer.writeShortLE(dragItemSlotSource); - var19.packetBuffer.writeInt(WorldMapIcon_0.dragInventoryWidget.id); - var19.packetBuffer.method5521(var34); - packetWriter.method2219(var19); - } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(field654, field763); - } else if (menuOptionsCount > 0) { - var4 = field654; - var5 = field763; - MenuAction var40 = tempMenuAction; - Messages.menuAction(var40.argument1, var40.argument2, var40.opcode, var40.argument0, var40.action, var40.action, var4, var5); - tempMenuAction = null; - } + if (class267.hasFocus && !hadFocus) { + hadFocus = true; + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2276, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(1); + packetWriter.addNode(var15); + } - field759 = 10; - MouseHandler.MouseHandler_lastButton = 0; - WorldMapIcon_0.dragInventoryWidget = null; - } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field654 + 5 || MouseHandler.MouseHandler_x < field654 - 5 || MouseHandler.MouseHandler_y > field763 + 5 || MouseHandler.MouseHandler_y < field763 - 5)) { - field874 = true; - } - } + if (!class267.hasFocus && hadFocus) { + hadFocus = false; + PacketBufferNode var15 = Archive.getPacketBufferNode(ClientPacket.field2276, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + packetWriter.addNode(var15); + } - if (Scene.method3105()) { - var4 = Scene.Scene_selectedX; - var5 = Scene.Scene_selectedY; - var19 = Archive.method4265(ClientPacket.field2299, packetWriter.isaacCipher); - var19.packetBuffer.writeByte(5); - var19.packetBuffer.method5530(class1.baseY * 64 + var5); - var19.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var4); - var19.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - packetWriter.method2219(var19); - Scene.method3222(); - mouseCrossX = MouseHandler.MouseHandler_lastPressedX; - mouseCrossY = MouseHandler.MouseHandler_lastPressedY; - mouseCrossColor = 1; - mouseCrossState = 0; - destinationX = var4; - destinationY = var5; - } + if (BoundaryObject.worldMap != null) { + BoundaryObject.worldMap.method6299(); + } - if (var36 != LoginScreenAnimation.mousedOverWidgetIf1) { - if (var36 != null) { - Strings.invalidateWidget(var36); - } + KeyHandler.ClanChat_leave(); + if (field747 != class42.plane) { + field747 = class42.plane; + int var1 = class42.plane; + int[] var37 = RouteStrategy.sceneMinimapSprite.pixels; + int var3 = var37.length; - if (LoginScreenAnimation.mousedOverWidgetIf1 != null) { - Strings.invalidateWidget(LoginScreenAnimation.mousedOverWidgetIf1); - } - } + for (int var4 = 0; var4 < var3; ++var4) { + var37[var4] = 0; + } - if (var38 != class32.field284 && field840 == field833) { - if (var38 != null) { - Strings.invalidateWidget(var38); - } + for (int var4 = 1; var4 < 103; ++var4) { + int var5 = (103 - var4) * 2048 + 24628; - if (class32.field284 != null) { - Strings.invalidateWidget(class32.field284); - } - } + for (int var6 = 1; var6 < 103; ++var6) { + if ((Tiles.Tiles_renderFlags[var1][var6][var4] & 24) == 0) { + GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1, var6, var4); + } - if (class32.field284 != null) { - if (field840 < field833) { - ++field840; - if (field840 == field833) { - Strings.invalidateWidget(class32.field284); - } - } - } else if (field840 > 0) { - --field840; - } + if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var6][var4] & 8) != 0) { + GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1 + 1, var6, var4); + } - class80.method1982(); - if (isCameraLocked) { - var4 = DevicePcmPlayerProvider.field412 * 16384 + 64; - var5 = class210.field2516 * 16384 + 64; - var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - Language.field2345; - if (PacketBuffer.cameraX < var4) { - PacketBuffer.cameraX = (var4 - PacketBuffer.cameraX) * class96.field1327 / 1000 + PacketBuffer.cameraX + class83.field1166; - if (PacketBuffer.cameraX > var4) { - PacketBuffer.cameraX = var4; - } - } + var5 += 4; + } + } - if (PacketBuffer.cameraX > var4) { - PacketBuffer.cameraX -= class96.field1327 * (PacketBuffer.cameraX - var4) / 1000 + class83.field1166; - if (PacketBuffer.cameraX < var4) { - PacketBuffer.cameraX = var4; - } - } + int var4 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); + int var5 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; + RouteStrategy.sceneMinimapSprite.setRaster(); - if (class43.cameraY < var6) { - class43.cameraY = (var6 - class43.cameraY) * class96.field1327 / 1000 + class43.cameraY + class83.field1166; - if (class43.cameraY > var6) { - class43.cameraY = var6; - } - } + for (int var6 = 1; var6 < 103; ++var6) { + for (int var7 = 1; var7 < 103; ++var7) { + if ((Tiles.Tiles_renderFlags[var1][var7][var6] & 24) == 0) { + class3.drawObject(var1, var7, var6, var4, var5); + } - if (class43.cameraY > var6) { - class43.cameraY -= class96.field1327 * (class43.cameraY - var6) / 1000 + class83.field1166; - if (class43.cameraY < var6) { - class43.cameraY = var6; - } - } + if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var7][var6] & 8) != 0) { + class3.drawObject(var1 + 1, var7, var6, var4, var5); + } + } + } - if (class1.cameraZ < var5) { - class1.cameraZ = (var5 - class1.cameraZ) * class96.field1327 / 1000 + class1.cameraZ + class83.field1166; - if (class1.cameraZ > var5) { - class1.cameraZ = var5; - } - } + mapIconCount = 0; - if (class1.cameraZ > var5) { - class1.cameraZ -= class96.field1327 * (class1.cameraZ - var5) / 1000 + class83.field1166; - if (class1.cameraZ < var5) { - class1.cameraZ = var5; - } - } - - var4 = HealthBarUpdate.field1017 * 16384 + 64; - var5 = class30.field259 * 16384 + 64; - var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - WorldMapID.field268; - var7 = var4 - PacketBuffer.cameraX; - var8 = var6 - class43.cameraY; - var9 = var5 - class1.cameraZ; - var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); - var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; - var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; - if (var11 < 128) { - var11 = 128; - } - - if (var11 > 383) { - var11 = 383; - } - - if (GrandExchangeOfferNameComparator.cameraPitch < var11) { - GrandExchangeOfferNameComparator.cameraPitch = (var11 - GrandExchangeOfferNameComparator.cameraPitch) * Tiles.field501 / 1000 + GrandExchangeOfferNameComparator.cameraPitch + ScriptFrame.field526; - if (GrandExchangeOfferNameComparator.cameraPitch > var11) { - GrandExchangeOfferNameComparator.cameraPitch = var11; - } - } - - if (GrandExchangeOfferNameComparator.cameraPitch > var11) { - GrandExchangeOfferNameComparator.cameraPitch -= Tiles.field501 * (GrandExchangeOfferNameComparator.cameraPitch - var11) / 1000 + ScriptFrame.field526; - if (GrandExchangeOfferNameComparator.cameraPitch < var11) { - GrandExchangeOfferNameComparator.cameraPitch = var11; - } - } - - int var29 = var12 - Interpreter.cameraYaw; - if (var29 > 1024) { - var29 -= 2048; - } - - if (var29 < -1024) { - var29 += 2048; - } - - if (var29 > 0) { - Interpreter.cameraYaw = var29 * Tiles.field501 / 1000 + Interpreter.cameraYaw + ScriptFrame.field526; - Interpreter.cameraYaw &= 2047; - } - - if (var29 < 0) { - Interpreter.cameraYaw -= -var29 * Tiles.field501 / 1000 + ScriptFrame.field526; - Interpreter.cameraYaw &= 2047; - } - - int var14 = var12 - Interpreter.cameraYaw; - if (var14 > 1024) { - var14 -= 2048; - } - - if (var14 < -1024) { - var14 += 2048; - } - - if (var14 < 0 && var29 > 0 || var14 > 0 && var29 < 0) { - Interpreter.cameraYaw = var12; - } - } - - for (var4 = 0; var4 < 5; ++var4) { - int var10002 = field904[var4]++; - } - - Clock.varcs.tryWrite(); - var4 = ++MouseHandler.MouseHandler_idleCycles - 1; - var6 = KeyHandler.KeyHandler_idleCycles; - PacketBufferNode var30; - if (var4 > 15000 && var6 > 15000) { - field700 = 250; - MouseHandler.MouseHandler_idleCycles = 14500; - var30 = Archive.method4265(ClientPacket.field2300, packetWriter.isaacCipher); - packetWriter.method2219(var30); - } - - ArchiveLoader.friendSystem.processFriendUpdates(); - ++packetWriter.field1319; - if (packetWriter.field1319 > 50) { - var30 = Archive.method4265(ClientPacket.field2225, packetWriter.isaacCipher); - packetWriter.method2219(var30); - } - - try { - packetWriter.method2234(); - } catch (IOException var31) { - ScriptFrame.method1090(); - } - - return; - } - - var28 = var41.widget; - if (var28.childIndex < 0) { - break; - } - - var39 = class80.getWidget(var28.parentId); - } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); - - LoginPacket.runScriptEvent(var41); - } - } - - var28 = var41.widget; - if (var28.childIndex < 0) { - break; - } - - var39 = class80.getWidget(var28.parentId); - } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); - - LoginPacket.runScriptEvent(var41); - } - } - - var28 = var41.widget; - if (var28.childIndex < 0) { - break; - } - - var39 = class80.getWidget(var28.parentId); - } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); - - LoginPacket.runScriptEvent(var41); + for (int var6 = 0; var6 < 104; ++var6) { + for (int var7 = 0; var7 < 104; ++var7) { + long var24 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(class42.plane, var6, var7); + if (0L != var24) { + int var10 = class43.Entity_unpackID(var24); + int var11 = ViewportMouse.getObjectDefinition(var10).mapIconId; + if (var11 >= 0) { + mapIcons[mapIconCount] = class222.WorldMapElement_get(var11).getSpriteBool(false); + mapIconXs[mapIconCount] = var6; + mapIconYs[mapIconCount] = var7; + ++mapIconCount; } } } } + + MusicPatchPcmStream.rasterProvider.apply(); + } + + if (gameState != 30) { + return; + } + for (PendingSpawn var35 = (PendingSpawn)pendingSpawns.last(); var35 != null; var35 = (PendingSpawn)pendingSpawns.previous()) { + if (var35.hitpoints > 0) { + --var35.hitpoints; + } + + if (var35.hitpoints == 0) { + if (var35.objectId < 0 || Players.method2091(var35.objectId, var35.field933)) { + DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.objectId, var35.field936, var35.field933); + var35.remove(); + } + continue; + } + if (var35.delay > 0) { + --var35.delay; + } + + if (var35.delay != 0 || var35.x < 1 || var35.y < 1 || var35.x > 102 || var35.y > 102 || (var35.id >= 0 && !Players.method2091(var35.id, var35.field940))) { + continue; + } + DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.id, var35.orientation, var35.field940); + var35.delay = -1; + if (var35.id == var35.objectId && var35.objectId == -1) { + var35.remove(); + } else if (var35.objectId == var35.id && var35.field936 == var35.orientation && var35.field933 == var35.field940) { + var35.remove(); + } + } + + KitDefinition.method4461(); + ++packetWriter.field1318; + if (packetWriter.field1318 > 750) { + ScriptFrame.method1090(); + return; + } + int var1 = Players.Players_count; + int[] var37 = Players.Players_indices; + + for (int var3 = 0; var3 < var1; ++var3) { + Player var26 = players[var37[var3]]; + if (var26 != null) { + StructDefinition.calculateActorPosition(var26, 1); + } + } + + MouseRecorder.method1141(); + Player.processOverheadText(); + ++field718; + if (mouseCrossColor != 0) { + mouseCrossState = mouseCrossState * 400 + 400; + if (mouseCrossState * 20 >= 400) { + mouseCrossColor = 0; + } + } + + if (ItemContainer.field549 != null) { + ++field759; + if (field759 >= 15) { + Strings.invalidateWidget(ItemContainer.field549); + ItemContainer.field549 = null; + } + } + + Widget var36 = LoginScreenAnimation.mousedOverWidgetIf1; + Widget var38 = class32.field284; + LoginScreenAnimation.mousedOverWidgetIf1 = null; + class32.field284 = null; + draggedOnWidget = null; + field745 = false; + field873 = false; + field754 = 0; + + while (class218.isKeyDown() && field754 < 128) { + if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ReflectionCheck.field1338 == 66) { + String var27 = UrlRequester.getChatMessagesAsString(); + WorldMapSprite.client.clipboardSetString(var27); + } else if (oculusOrbState != 1 || Calendar.field2508 <= 0) { + field921[field754] = ReflectionCheck.field1338; + field877[field754] = Calendar.field2508; + ++field754; + } + } + + boolean var33 = staffModLevel >= 2; + if (var33 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { + int var4 = localPlayer.plane - mouseWheelRotation; + if (var4 < 0) { + var4 = 0; + } else if (var4 > 3) { + var4 = 3; + } + + if (var4 != localPlayer.plane) { + WorldMapLabel.changePlane(localPlayer.pathX[0] + MusicPatchNode2.baseX * 64, localPlayer.pathY[0] + class1.baseY * 64, var4, false); + } + + mouseWheelRotation = 0; + } + + if (rootInterface != -1) { + Skills.updateRootInterface(rootInterface, 0, 0, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, 0, 0); + } + + ++cycleCntr; + while (true) { + ScriptEvent var41 = (ScriptEvent)Client.field852.removeLast(); + if (var41 == null) { + break; + } + Widget var28 = var41.widget; + if (var28.childIndex >= 0) { + final Widget var39 = class80.getWidget(var28.parentId); + if (var39 == null || var39.children == null || var28.childIndex >= var39.children.length) { + continue; + } + if (var28 != var39.children[var28.childIndex]) { + continue; + } + } + LoginPacket.runScriptEvent(var41); + } + while (true) { + ScriptEvent var41 = (ScriptEvent)Client.field856.removeLast(); + if (var41 == null) { + break; + } + Widget var28 = var41.widget; + if (var28.childIndex >= 0) { + final Widget var39 = class80.getWidget(var28.parentId); + if (var39 == null || var39.children == null || var28.childIndex >= var39.children.length) { + continue; + } + if (var28 != var39.children[var28.childIndex]) { + continue; + } + } + LoginPacket.runScriptEvent(var41); + } + while (true) { + ScriptEvent var41 = (ScriptEvent)Client.scriptEvents.removeLast(); + if (var41 == null) { + break; + } + Widget var28 = var41.widget; + if (var28.childIndex >= 0) { + final Widget var39 = class80.getWidget(var28.parentId); + if (var39 == null || var39.children == null || var28.childIndex >= var39.children.length) { + continue; + } + if (var28 != var39.children[var28.childIndex]) { + continue; + } + } + LoginPacket.runScriptEvent(var41); + } + + this.method1333(); + SpotAnimationDefinition.method4415(); + if (clickedWidget != null) { + this.method1641(); + } + + if (WorldMapIcon_0.dragInventoryWidget != null) { + Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget); + ++itemDragDuration; + if (MouseHandler.MouseHandler_currentButton != 0) { + if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field654 + 5 || MouseHandler.MouseHandler_x < field654 - 5 || MouseHandler.MouseHandler_y > field763 + 5 || MouseHandler.MouseHandler_y < field763 - 5)) { + field874 = true; + } + } else if (field874) { + if (class294.field3697 == WorldMapIcon_0.dragInventoryWidget && dragItemSlotDestination != dragItemSlotSource) { + Widget var42 = WorldMapIcon_0.dragInventoryWidget; + byte var34 = 0; + if (field809 == 1 && var42.contentType == 206) { + var34 = 1; + } + + if (var42.itemIds[dragItemSlotDestination] <= 0) { + var34 = 0; + } + + if (UserComparator4.method3382(class268.getWidgetClickMask(var42))) { + int var6 = dragItemSlotSource; + int var7 = dragItemSlotDestination; + var42.itemIds[var7] = var42.itemIds[var6]; + var42.itemQuantities[var7] = var42.itemQuantities[var6]; + var42.itemIds[var6] = -1; + var42.itemQuantities[var6] = 0; + } else if (var34 != 1) { + var42.swapItems(dragItemSlotDestination, dragItemSlotSource); + } else { + int var6 = dragItemSlotSource; + int var7 = dragItemSlotDestination; + + while (var6 != var7) { + if (var6 > var7) { + var42.swapItems(var6 - 1, var6); + --var6; + } else if (var6 < var7) { + var42.swapItems(var6 + 1, var6); + ++var6; + } + } + } + + PacketBufferNode var19 = Archive.getPacketBufferNode(ClientPacket.field2283, packetWriter.isaacCipher); + var19.packetBuffer.writeShort(dragItemSlotDestination); + var19.packetBuffer.writeShortLE(dragItemSlotSource); + var19.packetBuffer.writeInt(WorldMapIcon_0.dragInventoryWidget.id); + var19.packetBuffer.method5521(var34); + packetWriter.addNode(var19); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(field654, field763); + } else if (menuOptionsCount > 0) { + int var4 = field654; + int var5 = field763; + MenuAction var40 = tempMenuAction; + Messages.menuAction(var40.argument1, var40.argument2, var40.opcode, var40.argument0, var40.action, var40.action, var4, var5); + tempMenuAction = null; + } + + field759 = 10; + MouseHandler.MouseHandler_lastButton = 0; + WorldMapIcon_0.dragInventoryWidget = null; + } + + if (Scene.method3105()) { + int var4 = Scene.Scene_selectedX; + int var5 = Scene.Scene_selectedY; + PacketBufferNode var19 = Archive.getPacketBufferNode(ClientPacket.field2299, packetWriter.isaacCipher); + var19.packetBuffer.writeByte(5); + var19.packetBuffer.method5530(class1.baseY * 64 + var5); + var19.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var4); + var19.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + packetWriter.addNode(var19); + Scene.method3222(); + mouseCrossX = MouseHandler.MouseHandler_lastPressedX; + mouseCrossY = MouseHandler.MouseHandler_lastPressedY; + mouseCrossColor = 1; + mouseCrossState = 0; + destinationX = var4; + destinationY = var5; + } + + if (var36 != LoginScreenAnimation.mousedOverWidgetIf1) { + if (var36 != null) { + Strings.invalidateWidget(var36); + } + + if (LoginScreenAnimation.mousedOverWidgetIf1 != null) { + Strings.invalidateWidget(LoginScreenAnimation.mousedOverWidgetIf1); + } + } + + if (var38 != class32.field284 && field840 == field833) { + if (var38 != null) { + Strings.invalidateWidget(var38); + } + + if (class32.field284 != null) { + Strings.invalidateWidget(class32.field284); + } + } + + if (class32.field284 == null) { + if (field840 > 0) { + --field840; + } + } else if (field840 < field833) { + ++field840; + if (field840 == field833) { + Strings.invalidateWidget(class32.field284); + } + } + + class80.method1982(); + if (isCameraLocked) { + int var4 = DevicePcmPlayerProvider.field412 * 16384 + 64; + int var5 = class210.field2516 * 16384 + 64; + int var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - Language.field2345; + if (PacketBuffer.cameraX < var4) { + PacketBuffer.cameraX = (var4 - PacketBuffer.cameraX) * class96.field1327 / 1000 + PacketBuffer.cameraX + class83.field1166; + if (PacketBuffer.cameraX > var4) { + PacketBuffer.cameraX = var4; + } + } + + if (PacketBuffer.cameraX > var4) { + PacketBuffer.cameraX -= class96.field1327 * (PacketBuffer.cameraX - var4) / 1000 + class83.field1166; + if (PacketBuffer.cameraX < var4) { + PacketBuffer.cameraX = var4; + } + } + + if (class43.cameraY < var6) { + class43.cameraY = (var6 - class43.cameraY) * class96.field1327 / 1000 + class43.cameraY + class83.field1166; + if (class43.cameraY > var6) { + class43.cameraY = var6; + } + } + + if (class43.cameraY > var6) { + class43.cameraY -= class96.field1327 * (class43.cameraY - var6) / 1000 + class83.field1166; + if (class43.cameraY < var6) { + class43.cameraY = var6; + } + } + + if (class1.cameraZ < var5) { + class1.cameraZ = (var5 - class1.cameraZ) * class96.field1327 / 1000 + class1.cameraZ + class83.field1166; + if (class1.cameraZ > var5) { + class1.cameraZ = var5; + } + } + + if (class1.cameraZ > var5) { + class1.cameraZ -= class96.field1327 * (class1.cameraZ - var5) / 1000 + class83.field1166; + if (class1.cameraZ < var5) { + class1.cameraZ = var5; + } + } + + var4 = HealthBarUpdate.field1017 * 16384 + 64; + var5 = class30.field259 * 16384 + 64; + var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - WorldMapID.field268; + int var7 = var4 - PacketBuffer.cameraX; + int var8 = var6 - class43.cameraY; + int var9 = var5 - class1.cameraZ; + int var10 = (int) Math.sqrt((double) (var7 * var7 + var9 * var9)); + int var11 = (int) (Math.atan2((double) var8, (double) var10) * 325.949D) & 2047; + int var12 = (int) (Math.atan2((double) var7, (double) var9) * -325.949D) & 2047; + if (var11 < 128) { + var11 = 128; + } + + if (var11 > 383) { + var11 = 383; + } + + if (GrandExchangeOfferNameComparator.cameraPitch < var11) { + GrandExchangeOfferNameComparator.cameraPitch = (var11 - GrandExchangeOfferNameComparator.cameraPitch) * Tiles.field501 / 1000 + GrandExchangeOfferNameComparator.cameraPitch + ScriptFrame.field526; + if (GrandExchangeOfferNameComparator.cameraPitch > var11) { + GrandExchangeOfferNameComparator.cameraPitch = var11; + } + } + + if (GrandExchangeOfferNameComparator.cameraPitch > var11) { + GrandExchangeOfferNameComparator.cameraPitch -= Tiles.field501 * (GrandExchangeOfferNameComparator.cameraPitch - var11) / 1000 + ScriptFrame.field526; + if (GrandExchangeOfferNameComparator.cameraPitch < var11) { + GrandExchangeOfferNameComparator.cameraPitch = var11; + } + } + + int var29 = var12 - Interpreter.cameraYaw; + if (var29 > 1024) { + var29 -= 2048; + } + + if (var29 < -1024) { + var29 += 2048; + } + + if (var29 > 0) { + Interpreter.cameraYaw = var29 * Tiles.field501 / 1000 + Interpreter.cameraYaw + ScriptFrame.field526; + Interpreter.cameraYaw &= 2047; + } + + if (var29 < 0) { + Interpreter.cameraYaw -= -var29 * Tiles.field501 / 1000 + ScriptFrame.field526; + Interpreter.cameraYaw &= 2047; + } + + int var14 = var12 - Interpreter.cameraYaw; + if (var14 > 1024) { + var14 -= 2048; + } + + if (var14 < -1024) { + var14 += 2048; + } + + if (var14 < 0 && var29 > 0 || var14 > 0 && var29 < 0) { + Interpreter.cameraYaw = var12; + } + } + + for (int var4 = 0; var4 < 5; ++var4) { + field904[var4]++; + } + + Clock.varcs.tryWrite(); + int var4 = ++MouseHandler.MouseHandler_idleCycles - 1; + int var6 = KeyHandler.KeyHandler_idleCycles; + PacketBufferNode var30; + if (var4 > 15000 && var6 > 15000) { + logoutTimer = 250; + MouseHandler.MouseHandler_idleCycles = 14500; + var30 = Archive.getPacketBufferNode(ClientPacket.field2300, packetWriter.isaacCipher); + packetWriter.addNode(var30); + } + + ArchiveLoader.friendSystem.processFriendUpdates(); + ++packetWriter.pendingWrites; + if (packetWriter.pendingWrites > 50) { + var30 = Archive.getPacketBufferNode(ClientPacket.field2225, packetWriter.isaacCipher); + packetWriter.addNode(var30); + } + + try { + packetWriter.flush(); + } catch (IOException var31) { + ScriptFrame.method1090(); } } @@ -3420,8 +3419,7 @@ public final class Client extends GameShell implements Usernamed { Archive.drawInterfaceModelComponents(rootInterface); } - int var1; - for (var1 = 0; var1 < rootWidgetCount; ++var1) { + for (int var1 = 0; var1 < rootWidgetCount; ++var1) { if (field843[var1]) { field861[var1] = true; } @@ -3450,34 +3448,26 @@ public final class Client extends GameShell implements Usernamed { } } - int var2; - int var3; - int var4; - int var6; - int var7; - int var13; if (!isMenuOpen) { if (viewportX != -1) { WorldMapSprite.drawMenuActionTextAt(viewportX, viewportY); } } else { - var1 = class247.menuX; - var2 = class30.menuY; - var3 = class42.menuWidth; - var4 = ObjectSound.menuHeight; - int var14 = 6116423; + int var1 = class247.menuX; + int var2 = class30.menuY; + int var3 = class42.menuWidth; + int var4 = ObjectSound.menuHeight; + int var14 = 0x5d5447; Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var14); Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); WorldMapIcon_1.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var14, -1); - var6 = MouseHandler.MouseHandler_x; - var7 = MouseHandler.MouseHandler_y; + int var6 = MouseHandler.MouseHandler_x; + int var7 = MouseHandler.MouseHandler_y; - int var15; - int var16; - for (var13 = 0; var13 < menuOptionsCount; ++var13) { - var15 = var2 + (menuOptionsCount - 1 - var13) * 15 + 31; - var16 = 0xffffff; + for (int var13 = 0; var13 < menuOptionsCount; ++var13) { + int var15 = var2 + (menuOptionsCount - 1 - var13) * 15 + 31; + int var16 = 0xffffff; if (var6 > var1 && var6 < var1 + var3 && var7 > var15 - 13 && var7 < var15 + 3) { var16 = 0xffff00; } @@ -3485,9 +3475,9 @@ public final class Client extends GameShell implements Usernamed { WorldMapIcon_1.fontBold12.draw(WorldMapLabel.getMenuText(var13), var1 + 3, var15, var16, 0); } - var13 = class247.menuX; - var15 = class30.menuY; - var16 = class42.menuWidth; + int var13 = class247.menuX; + int var15 = class30.menuY; + int var16 = class42.menuWidth; int var17 = ObjectSound.menuHeight; for (int var12 = 0; var12 < rootWidgetCount; ++var12) { @@ -3498,7 +3488,7 @@ public final class Client extends GameShell implements Usernamed { } if (gameDrawingMode == 3) { - for (var1 = 0; var1 < rootWidgetCount; ++var1) { + for (int var1 = 0; var1 < rootWidgetCount; ++var1) { if (field862[var1]) { Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 0xff00ff, 128); } else if (field861[var1]) { @@ -3507,16 +3497,16 @@ public final class Client extends GameShell implements Usernamed { } } - var1 = class42.plane; - var2 = localPlayer.x; - var3 = localPlayer.y; - var4 = field718; + int var1 = class42.plane; + int var2 = localPlayer.x; + int var3 = localPlayer.y; + int var4 = field718; for (ObjectSound var5 = (ObjectSound)ObjectSound.objectSounds.last(); var5 != null; var5 = (ObjectSound)ObjectSound.objectSounds.previous()) { if (var5.soundEffectId == -1 && var5.soundEffectIds == null) { continue; } - var6 = 0; + int var6 = 0; if (var2 > var5.field1077 * 128) { var6 += var2 - var5.field1077 * 128; } else if (var2 < var5.x * 16384) { @@ -3529,51 +3519,7 @@ public final class Client extends GameShell implements Usernamed { var6 += var5.y * 128 - var3; } - if (var6 - 64 <= var5.field1091 && field892 != 0 && var1 == var5.plane) { - 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; - } - } - } else { + if (var6 - 64 > var5.field1091 || field892 == 0 || var1 != var5.plane) { if (var5.stream1 != null) { SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream1); var5.stream1 = null; @@ -3583,6 +3529,46 @@ public final class Client extends GameShell implements Usernamed { SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream2); var5.stream2 = null; } + continue; + } + var6 -= 64; + if (var6 < 0) { + var6 = 0; + } + + int var7 = (var5.field1091 - var6) * field892 / var5.field1091; + Object var10000; + if (var5.stream1 != null) { + var5.stream1.method2527(var7); + } else 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; + } + } + + if (var5.stream2 != null) { + var5.stream2.method2527(var7); + if (!var5.stream2.hasNext()) { + var5.stream2 = null; + } + } else if (var5.soundEffectIds != null && (var5.field1089 -= var4) <= 0) { + int 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)); + } } } @@ -3600,7 +3586,6 @@ public final class Client extends GameShell implements Usernamed { if (var2 == null) { return false; } - int var17; String var18; try { int var5; @@ -3725,14 +3710,14 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2161 == var1.serverPacket) { var16 = var3.method5532(); TileItemPile.method2764(var16); - field888[++field671 - 1 & 31] = var16 & 32767; + field888[++field671 - 1 & 31] = var16 & 0x7fff; var1.serverPacket = null; return true; } if (ServerPacket.field2149 == var1.serverPacket) { var16 = var3.readUnsignedByte(); - class192.method3675(var16); + class192.setOculusOrbState(var16); var1.serverPacket = null; return true; } @@ -3755,7 +3740,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2123 == var1.serverPacket) { var16 = var3.method5534(); var5 = var3.method5534(); - var17 = var3.method5534(); + int var17 = var3.method5534(); var7 = var3.method5543(); var8 = class80.getWidget(var7); if (var16 != var8.modelAngleX || var17 != var8.modelAngleY || var5 != var8.modelZoom) { @@ -3787,11 +3772,11 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2125 == var1.serverPacket) { var16 = var3.readInt(); var5 = var3.readUnsignedShort(); - if (var5 == 65535) { + if (var5 == 0xffff) { var5 = -1; } - var17 = var3.method5543(); + int var17 = var3.method5543(); var19 = class80.getWidget(var16); ItemDefinition var43; if (!var19.isIf3) { @@ -3801,7 +3786,7 @@ public final class Client extends GameShell implements Usernamed { return true; } - var43 = WorldMapArea.getItemDefinition(var5); + var43 = WorldMapArea.ItemDefinition_get(var5); var19.modelType = 4; var19.modelId = var5; var19.modelAngleX = var43.xan2d; @@ -3811,7 +3796,7 @@ public final class Client extends GameShell implements Usernamed { } else { var19.itemId = var5; var19.itemQuantity = var17; - var43 = WorldMapArea.getItemDefinition(var5); + var43 = WorldMapArea.ItemDefinition_get(var5); var19.modelAngleX = var43.xan2d; var19.modelAngleY = var43.yan2d; var19.modelAngleZ = var43.zan2d; @@ -3840,7 +3825,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2158 == var1.serverPacket) { var16 = var3.readUnsignedShort(); var5 = var3.readUnsignedByte(); - var17 = var3.readUnsignedShort(); + int var17 = var3.readUnsignedShort(); class81.queueSoundEffect(var16, var5, var17); var1.serverPacket = null; return true; @@ -3849,7 +3834,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2154 == var1.serverPacket) { var16 = var3.readUnsignedByte(); var5 = var3.readUnsignedByte(); - var17 = var3.readUnsignedByte(); + int var17 = var3.readUnsignedByte(); var7 = var3.readUnsignedByte(); field886[var16] = true; field901[var16] = var5; @@ -3886,7 +3871,7 @@ public final class Client extends GameShell implements Usernamed { if (Tiles.field501 >= 100) { var16 = HealthBarUpdate.field1017 * 16384 + 64; var5 = class30.field259 * 16384 + 64; - var17 = ScriptEvent.getTileHeight(var16, var5, class42.plane) - WorldMapID.field268; + int var17 = ScriptEvent.getTileHeight(var16, var5, class42.plane) - WorldMapID.field268; var7 = var16 - PacketBuffer.cameraX; var20 = var17 - class43.cameraY; var9 = var5 - class1.cameraZ; @@ -3965,13 +3950,13 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2163 == var1.serverPacket) { var16 = var3.method5541(); var5 = var3.method5518(); - if (var5 == 65535) { + if (var5 == 0xffff) { var5 = -1; } - var17 = var3.method5543(); + int var17 = var3.method5543(); var7 = var3.readUnsignedShort(); - if (var7 == 65535) { + if (var7 == 0xffff) { var7 = -1; } @@ -3994,7 +3979,7 @@ public final class Client extends GameShell implements Usernamed { var16 = var3.method5542(); var53 = class80.getWidget(var16); - for (var17 = 0; var17 < var53.itemIds.length; ++var17) { + for (int var17 = 0; var17 < var53.itemIds.length; ++var17) { var53.itemIds[var17] = -1; var53.itemIds[var17] = 0; } @@ -4019,7 +4004,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2192 == var1.serverPacket) { var16 = var3.method5722(); var5 = var3.method5542(); - var17 = var3.method5534(); + int var17 = var3.method5534(); var52 = (InterfaceParent)interfaceParents.get((long)var5); if (var52 != null) { class197.closeInterface(var52, var17 != var52.group); @@ -4031,18 +4016,18 @@ public final class Client extends GameShell implements Usernamed { } if (ServerPacket.field2183 == var1.serverPacket) { - class226.privateChatMode = NetSocket.method3530(var3.readUnsignedByte()); + class226.privateChatMode = NetSocket.ChatMode_find(var3.readUnsignedByte()); var1.serverPacket = null; return true; } if (ServerPacket.field2138 == var1.serverPacket) { var16 = var3.method5534(); - if (var16 == 65535) { + if (var16 == 0xffff) { var16 = -1; } - GrandExchangeOfferTotalQuantityComparator.method93(var16); + GrandExchangeOfferTotalQuantityComparator.playSong(var16); var1.serverPacket = null; return true; } @@ -4050,11 +4035,11 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2155 == var1.serverPacket) { var16 = var3.method5591(); var5 = var3.method5518(); - if (var5 == 65535) { + if (var5 == 0xffff) { var5 = -1; } - WorldMapLabelSize.method188(var5, var16); + WorldMapLabelSize.playSoundJingle(var5, var16); var1.serverPacket = null; return true; } @@ -4076,7 +4061,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2147 == var1.serverPacket) { ArchiveLoader.friendSystem.ignoreList.read(var3, var1.serverPacketLength); - class2.method28(); + class2.FriendSystem_invalidateIgnoreds(); field672 = cycleCntr; var1.serverPacket = null; return true; @@ -4117,9 +4102,9 @@ public final class Client extends GameShell implements Usernamed { field875 = (field875 + 1) % 100; String var27 = AbstractFont.escapeBrackets(class1.method17(DefaultsGroup.method5898(var3))); if (var11.modIcon != -1) { - class14.addChatMessage(9, WorldMapSection1.getModIconString(var11.modIcon) + var37, var27, class215.method4023(var23)); + class14.addChatMessage(9, WorldMapSection1.getModIconString(var11.modIcon) + var37, var27, class215.base37DecodeLong(var23)); } else { - class14.addChatMessage(9, var37, var27, class215.method4023(var23)); + class14.addChatMessage(9, var37, var27, class215.base37DecodeLong(var23)); } } @@ -4131,7 +4116,7 @@ public final class Client extends GameShell implements Usernamed { var37 = var3.readStringCp1252NullTerminated(); Object[] var57 = new Object[var37.length() + 1]; - for (var17 = var37.length() - 1; var17 >= 0; --var17) { + for (int var17 = var37.length() - 1; var17 >= 0; --var17) { if (var37.charAt(var17) == 's') { var57[var17 + 1] = var3.readStringCp1252NullTerminated(); } else { @@ -4246,7 +4231,7 @@ public final class Client extends GameShell implements Usernamed { class65.method1176(); var16 = var3.method5541(); var5 = var3.readUnsignedByteNegate(); - var17 = var3.readUnsignedByte(); + int var17 = var3.readUnsignedByte(); experience[var5] = var16; currentLevels[var5] = var17; levels[var5] = 1; @@ -4358,7 +4343,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2174 == var1.serverPacket) { var16 = var3.method5542(); var5 = var3.method5500(); - var17 = var3.method5535(); + int var17 = var3.method5535(); var19 = class80.getWidget(var16); if (var17 != var19.rawX || var5 != var19.rawY || var19.xAlignment != 0 || var19.yAlignment != 0) { var19.rawX = var17; @@ -4443,13 +4428,13 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2184 == var1.serverPacket) { var16 = var3.readInt(); var5 = var3.readInt(); - var17 = SoundSystem.method2479(); - PacketBufferNode var56 = Archive.method4265(ClientPacket.field2236, packetWriter.isaacCipher); + int var17 = SoundSystem.getGcDuration(); + PacketBufferNode var56 = Archive.getPacketBufferNode(ClientPacket.field2236, packetWriter.isaacCipher); var56.packetBuffer.method5521(var17); var56.packetBuffer.writeByte(GameShell.fps); var56.packetBuffer.writeIntME(var16); var56.packetBuffer.writeIntLE(var5); - packetWriter.method2219(var56); + packetWriter.addNode(var56); var1.serverPacket = null; return true; } @@ -4458,7 +4443,7 @@ public final class Client extends GameShell implements Usernamed { var16 = var3.method5534(); rootInterface = var16; this.resizeRoot(false); - GrandExchangeOfferAgeComparator.method146(var16); + GrandExchangeOfferAgeComparator.Widget_resetModelFrames(var16); Canvas.runWidgetOnLoadListener(rootInterface); for (var5 = 0; var5 < 100; ++var5) { @@ -4488,7 +4473,7 @@ public final class Client extends GameShell implements Usernamed { } if (ServerPacket.field2153 == var1.serverPacket) { - ChatChannel.method2213(var3, var1.serverPacketLength); + ChatChannel.readReflectionCheck(var3, var1.serverPacketLength); var1.serverPacket = null; return true; } @@ -4563,11 +4548,11 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2171 == var1.serverPacket) { var16 = var3.offset + var1.serverPacketLength; var5 = var3.readUnsignedShort(); - var17 = var3.readUnsignedShort(); + int var17 = var3.readUnsignedShort(); if (var5 != rootInterface) { rootInterface = var5; this.resizeRoot(false); - GrandExchangeOfferAgeComparator.method146(rootInterface); + GrandExchangeOfferAgeComparator.Widget_resetModelFrames(rootInterface); Canvas.runWidgetOnLoadListener(rootInterface); for (var7 = 0; var7 < 100; ++var7) { @@ -4660,7 +4645,7 @@ public final class Client extends GameShell implements Usernamed { } class65.method1176(); - field888[++field671 - 1 & 31] = var5 & 32767; + field888[++field671 - 1 & 31] = var5 & 0x7fff; var1.serverPacket = null; return true; } @@ -4710,7 +4695,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2167 == var1.serverPacket) { if (rootInterface != -1) { - WorldMapLabelSize.method175(rootInterface, 0); + WorldMapLabelSize.runIntfCloseListeners(rootInterface, 0); } var1.serverPacket = null; @@ -4749,7 +4734,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2139 == var1.serverPacket) { var16 = var3.method5542(); var5 = var3.method5518(); - var17 = var5 >> 10 & 31; + int var17 = var5 >> 10 & 31; var7 = var5 >> 5 & 31; var20 = var5 & 31; var9 = (var7 << 11) + (var17 << 19) + (var20 << 3); @@ -4766,7 +4751,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2172 == var1.serverPacket) { var3.offset += 28; if (var3.checkCrc()) { - WorldMapSprite.method407(var3, var3.offset - 28); + WorldMapSprite.writeNewRandomDat(var3, var3.offset - 28); } var1.serverPacket = null; @@ -4805,7 +4790,7 @@ public final class Client extends GameShell implements Usernamed { } if (rootInterface != -1) { - WorldMapLabelSize.method175(rootInterface, 1); + WorldMapLabelSize.runIntfCloseListeners(rootInterface, 1); } var1.serverPacket = null; @@ -4862,7 +4847,7 @@ public final class Client extends GameShell implements Usernamed { if (ServerPacket.field2156 == var1.serverPacket) { var16 = var3.method5518(); var5 = var3.method5532(); - var17 = var3.method5542(); + int var17 = var3.method5542(); var19 = class80.getWidget(var17); var19.field2575 = var16 + (var5 << 16); var1.serverPacket = null; @@ -4870,7 +4855,7 @@ public final class Client extends GameShell implements Usernamed { } if (ServerPacket.field2132 == var1.serverPacket) { - ArchiveLoader.friendSystem.method1805(var3, var1.serverPacketLength); + ArchiveLoader.friendSystem.readUpdate(var3, var1.serverPacketLength); field672 = cycleCntr; var1.serverPacket = null; return true; @@ -4925,7 +4910,7 @@ public final class Client extends GameShell implements Usernamed { } class65.method1176(); - field888[++field671 - 1 & 31] = var5 & 32767; + field888[++field671 - 1 & 31] = var5 & 0x7fff; var1.serverPacket = null; return true; } @@ -4944,18 +4929,18 @@ public final class Client extends GameShell implements Usernamed { return true; } - HitSplatDefinition.sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1321 != null ? var1.field1321.id : -1) + "," + (var1.field1317 != null ? var1.field1317.id : -1) + "," + var1.serverPacketLength, (Throwable)null); + HitSplatDefinition.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1321 != null ? var1.field1321.id : -1) + "," + (var1.field1317 != null ? var1.field1317.id : -1) + "," + var1.serverPacketLength, (Throwable)null); RouteStrategy.method3593(); } catch (IOException var35) { ScriptFrame.method1090(); } catch (Exception var36) { var18 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1321 != null ? var1.field1321.id : -1) + "," + (var1.field1317 != null ? var1.field1317.id : -1) + "," + var1.serverPacketLength + "," + (localPlayer.pathX[0] + MusicPatchNode2.baseX * 64) + "," + (localPlayer.pathY[0] + class1.baseY * 64) + ","; - for (var17 = 0; var17 < var1.serverPacketLength && var17 < 50; ++var17) { + for (int var17 = 0; var17 < var1.serverPacketLength && var17 < 50; ++var17) { var18 = var18 + var3.array[var17] + ","; } - HitSplatDefinition.sendStackTrace(var18, var36); + HitSplatDefinition.RunException_sendStackTrace(var18, var36); RouteStrategy.method3593(); } @@ -4970,20 +4955,18 @@ public final class Client extends GameShell implements Usernamed { final void method1333() { boolean var1 = false; - int var2; - int var5; while (!var1) { var1 = true; - for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { + for (int var2 = 0; var2 < menuOptionsCount - 1; ++var2) { if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { - String var3 = menuTargetNames[var2]; - menuTargetNames[var2] = menuTargetNames[var2 + 1]; - menuTargetNames[var2 + 1] = var3; + String var3 = menuTargets[var2]; + menuTargets[var2] = menuTargets[var2 + 1]; + menuTargets[var2 + 1] = var3; String var4 = menuActions[var2]; menuActions[var2] = menuActions[var2 + 1]; menuActions[var2 + 1] = var4; - var5 = menuOpcodes[var2]; + int var5 = menuOpcodes[var2]; menuOpcodes[var2] = menuOpcodes[var2 + 1]; menuOpcodes[var2 + 1] = var5; var5 = menuArguments1[var2]; @@ -4992,9 +4975,9 @@ public final class Client extends GameShell implements Usernamed { var5 = menuArguments2[var2]; menuArguments2[var2] = menuArguments2[var2 + 1]; menuArguments2[var2 + 1] = var5; - var5 = menuArguments0[var2]; - menuArguments0[var2] = menuArguments0[var2 + 1]; - menuArguments0[var2 + 1] = var5; + var5 = menuIdentifiers[var2]; + menuIdentifiers[var2] = menuIdentifiers[var2 + 1]; + menuIdentifiers[var2 + 1] = var5; boolean var6 = menuShiftClick[var2]; menuShiftClick[var2] = menuShiftClick[var2 + 1]; menuShiftClick[var2 + 1] = var6; @@ -5003,96 +4986,67 @@ public final class Client extends GameShell implements Usernamed { } } - if (WorldMapIcon_0.dragInventoryWidget == null) { - if (clickedWidget == null) { - int var20 = MouseHandler.MouseHandler_lastButton; - int var8; - int var9; - int var10; - int var14; - int var15; - int var21; - if (isMenuOpen) { - if (var20 != 1 && (DevicePcmPlayerProvider.mouseCam || var20 != 4)) { - var2 = MouseHandler.MouseHandler_x; - var14 = MouseHandler.MouseHandler_y; - if (var2 < class247.menuX - 10 || var2 > class247.menuX + class42.menuWidth + 10 || var14 < class30.menuY - 10 || var14 > class30.menuY + ObjectSound.menuHeight + 10) { - isMenuOpen = false; - ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); - } - } + if (WorldMapIcon_0.dragInventoryWidget != null || clickedWidget != null) { + return; + } + int var20 = MouseHandler.MouseHandler_lastButton; + int var8; + int var9; + int var10; + int var14; + int var15; + int var21; + if (isMenuOpen) { + if (var20 != 1 && (DevicePcmPlayerProvider.mouseCam || var20 != 4)) { + int var2 = MouseHandler.MouseHandler_x; + var14 = MouseHandler.MouseHandler_y; + if (var2 < class247.menuX - 10 || var2 > class247.menuX + class42.menuWidth + 10 || var14 < class30.menuY - 10 || var14 > class30.menuY + ObjectSound.menuHeight + 10) { + isMenuOpen = false; + ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); + } + } - if (var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) { - var2 = class247.menuX; - var14 = class30.menuY; - var15 = class42.menuWidth; - var5 = MouseHandler.MouseHandler_lastPressedX; - var21 = MouseHandler.MouseHandler_lastPressedY; - int var22 = -1; + if (var20 != 1 && (DevicePcmPlayerProvider.mouseCam || var20 != 4)) { + return; + } + int var2 = class247.menuX; + var14 = class30.menuY; + var15 = class42.menuWidth; + int var5 = MouseHandler.MouseHandler_lastPressedX; + var21 = MouseHandler.MouseHandler_lastPressedY; + int var22 = -1; - for (var8 = 0; var8 < menuOptionsCount; ++var8) { - var9 = (menuOptionsCount - 1 - var8) * 15 + var14 + 31; - if (var5 > var2 && var5 < var15 + var2 && var21 > var9 - 13 && var21 < var9 + 3) { - var22 = var8; - } - } + for (var8 = 0; var8 < menuOptionsCount; ++var8) { + var9 = (menuOptionsCount - 1 - var8) * 15 + var14 + 31; + if (var5 > var2 && var5 < var15 + var2 && var21 > var9 - 13 && var21 < var9 + 3) { + var22 = var8; + } + } - if (var22 != -1 && var22 >= 0) { - var8 = menuArguments1[var22]; - var9 = menuArguments2[var22]; - var10 = menuOpcodes[var22]; - int var19 = menuArguments0[var22]; - String var12 = menuActions[var22]; - String var13 = menuTargetNames[var22]; - Messages.menuAction(var8, var9, var10, var19, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } + if (var22 != -1 && var22 >= 0) { + var8 = menuArguments1[var22]; + var9 = menuArguments2[var22]; + var10 = menuOpcodes[var22]; + int var19 = menuIdentifiers[var22]; + String var12 = menuActions[var22]; + String var13 = menuTargets[var22]; + Messages.menuAction(var8, var9, var10, var19, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } - isMenuOpen = false; - ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); - } - } else { - label281: { - var2 = class13.method151(); - if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && var2 >= 0) { - var14 = menuOpcodes[var2]; - if (var14 == 39 || var14 == 40 || var14 == 41 || var14 == 42 || var14 == 43 || var14 == 33 || var14 == 34 || var14 == 35 || var14 == 36 || var14 == 37 || var14 == 38 || var14 == 1005) { - var15 = menuArguments1[var2]; - var5 = menuArguments2[var2]; - Widget var16 = class80.getWidget(var5); - var8 = class268.getWidgetClickMask(var16); - boolean var7 = (var8 >> 28 & 1) != 0; - if (var7) { - break label281; - } - - Object var10000 = null; - if (UserComparator4.method3382(class268.getWidgetClickMask(var16))) { - break label281; - } - } - } - - if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && this.shouldLeftClickOpenMenu()) { - var20 = 2; - } - - if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && menuOptionsCount > 0 && var2 >= 0) { - var14 = menuArguments1[var2]; - var15 = menuArguments2[var2]; - var5 = menuOpcodes[var2]; - var21 = menuArguments0[var2]; - String var17 = menuActions[var2]; - String var18 = menuTargetNames[var2]; - Messages.menuAction(var14, var15, var5, var21, var17, var18, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - if (var20 == 2 && menuOptionsCount > 0) { - this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - return; - } + isMenuOpen = false; + ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); + return; + } + int var2 = class13.getNewestMenuIdx(); + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && var2 >= 0) { + var14 = menuOpcodes[var2]; + if (var14 == 39 || var14 == 40 || var14 == 41 || var14 == 42 || var14 == 43 || var14 == 33 || var14 == 34 || var14 == 35 || var14 == 36 || var14 == 37 || var14 == 38 || var14 == 1005) { + var15 = menuArguments1[var2]; + int var5 = menuArguments2[var2]; + Widget var16 = class80.getWidget(var5); + var8 = class268.getWidgetClickMask(var16); + if ( ((var8 >> 28 & 1) != 0) || UserComparator4.method3382(class268.getWidgetClickMask(var16))) { if (WorldMapIcon_0.dragInventoryWidget != null && !field874 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { var9 = field654; var10 = field763; @@ -5112,7 +5066,7 @@ public final class Client extends GameShell implements Usernamed { field654 = MouseHandler.MouseHandler_lastPressedX; field763 = MouseHandler.MouseHandler_lastPressedY; if (var2 >= 0) { - Decimator.method2510(var2); + Decimator.saveTempMenuAction(var2); } Strings.invalidateWidget(WorldMapIcon_0.dragInventoryWidget); @@ -5121,6 +5075,24 @@ public final class Client extends GameShell implements Usernamed { } } + + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && this.shouldLeftClickOpenMenu()) { + var20 = 2; + } + + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && menuOptionsCount > 0 && var2 >= 0) { + var14 = menuArguments1[var2]; + var15 = menuArguments2[var2]; + int var5 = menuOpcodes[var2]; + var21 = menuIdentifiers[var2]; + String var17 = menuActions[var2]; + String var18 = menuTargets[var2]; + Messages.menuAction(var14, var15, var5, var21, var17, var18, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + if (var20 == 2 && menuOptionsCount > 0) { + this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } } @ObfuscatedName("hd") @@ -5130,8 +5102,8 @@ public final class Client extends GameShell implements Usernamed { ) @Export("shouldLeftClickOpenMenu") final boolean shouldLeftClickOpenMenu() { - int var1 = class13.method151(); - return (field789 == 1 && menuOptionsCount > 2 || Interpreter.method1936(var1)) && !menuShiftClick[var1]; + int var1 = class13.getNewestMenuIdx(); + return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || Interpreter.isRightClickOnlyMenu(var1)) && !menuShiftClick[var1]; } @ObfuscatedName("hj") @@ -5141,7 +5113,7 @@ public final class Client extends GameShell implements Usernamed { ) @Export("openMenu") final void openMenu(int var1, int var2) { - NetCache.method4312(var1, var2); + NetCache.calculateMenuBounds(var1, var2); GrandExchangeOfferWorldComparator.scene.menuOpen(class42.plane, var1, var2, false); isMenuOpen = true; } @@ -5186,113 +5158,104 @@ public final class Client extends GameShell implements Usernamed { final void method1641() { Strings.invalidateWidget(clickedWidget); ++class80.widgetDragDuration; - if (field745 && field873) { - int var1 = MouseHandler.MouseHandler_x; - int var2 = MouseHandler.MouseHandler_y; - var1 -= widgetClickX; - var2 -= widgetClickY; - if (var1 < field834) { - var1 = field834; + if (!field745 || !field873) { + if (class80.widgetDragDuration > 1) { + clickedWidget = null; } + return; + } + int var1 = MouseHandler.MouseHandler_x; + int var2 = MouseHandler.MouseHandler_y; + var1 -= widgetClickX; + var2 -= widgetClickY; + if (var1 < field834) { + var1 = field834; + } - if (var1 + clickedWidget.width > field834 + clickedWidgetParent.width) { - var1 = field834 + clickedWidgetParent.width - clickedWidget.width; - } + if (var1 + clickedWidget.width > field834 + clickedWidgetParent.width) { + var1 = field834 + clickedWidgetParent.width - clickedWidget.width; + } - if (var2 < field835) { - var2 = field835; - } + if (var2 < field835) { + var2 = field835; + } - if (var2 + clickedWidget.height > field835 + clickedWidgetParent.height) { - var2 = field835 + clickedWidgetParent.height - clickedWidget.height; - } + if (var2 + clickedWidget.height > field835 + clickedWidgetParent.height) { + var2 = field835 + clickedWidgetParent.height - clickedWidget.height; + } - int var3 = var1 - field837; - int var4 = var2 - field838; - int var5 = clickedWidget.dragZoneSize; - if (class80.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { - isDraggingWidget = true; - } + int var3 = var1 - field837; + int var4 = var2 - field838; + int var5 = clickedWidget.dragZoneSize; + if (class80.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { + isDraggingWidget = true; + } - int var6 = var1 - field834 + clickedWidgetParent.scrollX; - int var7 = var2 - field835 + clickedWidgetParent.scrollY; - ScriptEvent var8; - if (clickedWidget.onDrag != null && isDraggingWidget) { + int var6 = var1 - field834 + clickedWidgetParent.scrollX; + int var7 = var2 - field835 + clickedWidgetParent.scrollY; + ScriptEvent var8; + if (clickedWidget.onDrag != null && isDraggingWidget) { + var8 = new ScriptEvent(); + var8.widget = clickedWidget; + var8.mouseX = var6; + var8.mouseY = var7; + var8.args = clickedWidget.onDrag; + LoginPacket.runScriptEvent(var8); + } + + if (MouseHandler.MouseHandler_currentButton != 0) { + return; + } + if (isDraggingWidget) { + if (clickedWidget.onDragComplete != null) { var8 = new ScriptEvent(); var8.widget = clickedWidget; var8.mouseX = var6; var8.mouseY = var7; - var8.args = clickedWidget.onDrag; + var8.dragTarget = draggedOnWidget; + var8.args = clickedWidget.onDragComplete; LoginPacket.runScriptEvent(var8); } - if (MouseHandler.MouseHandler_currentButton == 0) { - if (isDraggingWidget) { - if (clickedWidget.onDragComplete != null) { - var8 = new ScriptEvent(); - var8.widget = clickedWidget; - var8.mouseX = var6; - var8.mouseY = var7; - var8.dragTarget = draggedOnWidget; - var8.args = clickedWidget.onDragComplete; - LoginPacket.runScriptEvent(var8); - } - - if (draggedOnWidget != null) { - Widget var9 = clickedWidget; - int var10 = class32.method545(class268.getWidgetClickMask(var9)); - Widget var15; - if (var10 == 0) { - var15 = null; - } else { - int var11 = 0; - - while (true) { - if (var11 >= var10) { - var15 = var9; - break; - } - - var9 = class80.getWidget(var9.parentId); - if (var9 == null) { - var15 = null; - break; - } - - ++var11; - } + if (draggedOnWidget != null) { + Widget var9 = clickedWidget; + int var10 = class32.method545(class268.getWidgetClickMask(var9)); + Widget var15; + if (var10 == 0) { + var15 = null; + } else { + for (int var11 = 0; var11 < var10; var11++) { + var9 = class80.getWidget(var9.parentId); + if (var9 == null) { + break; } - if (var15 != null) { - PacketBufferNode var16 = Archive.method4265(ClientPacket.field2260, packetWriter.isaacCipher); - var16.packetBuffer.method5530(clickedWidget.childIndex); - var16.packetBuffer.method5530(draggedOnWidget.itemId); - var16.packetBuffer.writeShort(draggedOnWidget.childIndex); - var16.packetBuffer.writeIntLE(clickedWidget.id); - var16.packetBuffer.writeIntME(draggedOnWidget.id); - var16.packetBuffer.writeShort(clickedWidget.itemId); - packetWriter.method2219(var16); - } } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(widgetClickX + field837, widgetClickY + field838); - } else if (menuOptionsCount > 0) { - int var13 = widgetClickX + field837; - int var14 = field838 + widgetClickY; - MenuAction var12 = tempMenuAction; - Messages.menuAction(var12.argument1, var12.argument2, var12.opcode, var12.argument0, var12.action, var12.action, var13, var14); - tempMenuAction = null; + var15 = var9; } - clickedWidget = null; + if (var15 != null) { + PacketBufferNode var16 = Archive.getPacketBufferNode(ClientPacket.field2260, packetWriter.isaacCipher); + var16.packetBuffer.method5530(clickedWidget.childIndex); + var16.packetBuffer.method5530(draggedOnWidget.itemId); + var16.packetBuffer.writeShort(draggedOnWidget.childIndex); + var16.packetBuffer.writeIntLE(clickedWidget.id); + var16.packetBuffer.writeIntME(draggedOnWidget.id); + var16.packetBuffer.writeShort(clickedWidget.itemId); + packetWriter.addNode(var16); + } } - - } else { - if (class80.widgetDragDuration > 1) { - clickedWidget = null; - } - + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(widgetClickX + field837, widgetClickY + field838); + } else if (menuOptionsCount > 0) { + int var13 = widgetClickX + field837; + int var14 = field838 + widgetClickY; + MenuAction var12 = tempMenuAction; + Messages.menuAction(var12.argument1, var12.argument2, var12.opcode, var12.argument0, var12.action, var12.action, var13, var14); + tempMenuAction = null; } + + clickedWidget = null; } @ObfuscatedName("ku") @@ -5326,108 +5289,114 @@ public final class Client extends GameShell implements Usernamed { ) @Export("sortWorlds") static void sortWorlds(World[] var0, int var1, int var2, int[] var3, int[] var4) { - if (var1 < var2) { - int var5 = var1 - 1; - int var6 = var2 + 1; - int var7 = (var2 + var1) / 2; - World var8 = var0[var7]; - var0[var7] = var0[var1]; - var0[var1] = var8; - - while (var5 < var6) { - boolean var9 = true; - - int var10; - int var11; - int var12; - do { - --var6; - - for (var10 = 0; var10 < 4; ++var10) { - if (var3[var10] == 2) { - var11 = var0[var6].index; - var12 = var8.index; - } else if (var3[var10] == 1) { - var11 = var0[var6].population; - var12 = var8.population; - if (var11 == -1 && var4[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { - var12 = 2001; - } - } else if (var3[var10] == 3) { - var11 = var0[var6].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = var0[var6].id; - var12 = var8.id; - } - - if (var12 != var11) { - if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) { - var9 = false; - } - break; - } - - if (var10 == 3) { - var9 = false; - } - } - } while(var9); - - var9 = true; - - do { - ++var5; - - for (var10 = 0; var10 < 4; ++var10) { - if (var3[var10] == 2) { - var11 = var0[var5].index; - var12 = var8.index; - } else if (var3[var10] == 1) { - var11 = var0[var5].population; - var12 = var8.population; - if (var11 == -1 && var4[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { - var12 = 2001; - } - } else if (var3[var10] == 3) { - var11 = var0[var5].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = var0[var5].id; - var12 = var8.id; - } - - if (var11 != var12) { - if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) { - var9 = false; - } - break; - } - - if (var10 == 3) { - var9 = false; - } - } - } while(var9); - - if (var5 < var6) { - World var13 = var0[var5]; - var0[var5] = var0[var6]; - var0[var6] = var13; - } - } - - sortWorlds(var0, var1, var6, var3, var4); - sortWorlds(var0, var6 + 1, var2, var3, var4); + if (var1 >= var2) { + return; } + int var5 = var1 - 1; + int var6 = var2 + 1; + int var7 = (var2 + var1) / 2; + World var8 = var0[var7]; + var0[var7] = var0[var1]; + var0[var1] = var8; + + while (var5 < var6) { + boolean var9 = true; + + int var10; + int var11; + int var12; + do { + --var6; + + for (var10 = 0; var10 < 4; ++var10) { + if (var3[var10] == 2) { + var11 = var0[var6].index; + var12 = var8.index; + } else if (var3[var10] == 1) { + var11 = var0[var6].population; + var12 = var8.population; + if (var11 == -1 && var4[var10] == 1) { + var11 = 2001; + } + + if (var12 == -1 && var4[var10] == 1) { + var12 = 2001; + } + } else if (var3[var10] == 3) { + var11 = var0[var6].isMembersOnly() ? 1 : 0; + var12 = var8.isMembersOnly() ? 1 : 0; + } else { + var11 = var0[var6].id; + var12 = var8.id; + } + + if (var12 == var11) { + if (var10 == 3) { + var9 = false; + } + continue; + } + if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) { + var9 = false; + } + break; + + } + } while(var9); + + var9 = true; + + do { + ++var5; + + for (var10 = 0; var10 < 4; ++var10) { + if (var3[var10] == 2) { + var11 = var0[var5].index; + var12 = var8.index; + } else if (var3[var10] == 1) { + var11 = var0[var5].population; + var12 = var8.population; + if (var11 == -1 && var4[var10] == 1) { + var11 = 2001; + } + + if (var12 == -1 && var4[var10] == 1) { + var12 = 2001; + } + } else if (var3[var10] == 3) { + var11 = var0[var5].isMembersOnly() ? 1 : 0; + var12 = var8.isMembersOnly() ? 1 : 0; + } else { + var11 = var0[var5].id; + var12 = var8.id; + } + + if (var11 != var12) + { + if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) { + var9 = false; + } + break; + } + else + { + if (var10 == 3) { + var9 = false; + } + } + + } + } while(var9); + + if (var5 < var6) { + World var13 = var0[var5]; + var0[var5] = var0[var6]; + var0[var6] = var13; + } + } + + sortWorlds(var0, var1, var6, var3, var4); + sortWorlds(var0, var6 + 1, var2, var3, var4); } @@ -5436,7 +5405,8 @@ public final class Client extends GameShell implements Usernamed { signature = "(Ljava/lang/String;I)V", garbageValue = "1487250543" ) - static final void method1650(String var0) { + @Export("FriendSystem_alreadyIgnoredMes") + static final void FriendSystem_alreadyIgnoredMes(String var0) { StringBuilder var10000 = (new StringBuilder()).append(var0); Object var10001 = null; String var1 = var10000.append(" is already on your ignore list").toString(); diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index 8d8c4e71cf..563cd46652 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -6,8 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gx") @Implements("ClientPacket") -public class ClientPacket implements ClientPacketMarker -{ +public class ClientPacket implements ClientPacketMarker { @ObfuscatedName("ng") @ObfuscatedGetter( intValue = -1373117165 @@ -639,7 +638,8 @@ public class ClientPacket implements ClientPacketMarker signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", garbageValue = "-231155257" ) - public static String method3612(CharSequence var0) { + @Export("passwordStarChars") + public static String passwordStarChars(CharSequence var0) { int var2 = var0.length(); char[] var3 = new char[var2]; @@ -656,11 +656,12 @@ public class ClientPacket implements ClientPacketMarker signature = "(IIIIIIILer;Lfv;I)V", garbageValue = "1078750200" ) - static final void method3611(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { - ObjectDefinition var9 = ViewportMouse.getObjectDefinition(var4); + @Export("addPendingGameObject") + static final void addPendingGameObject(int plane, int var1, int x, int y, int id, int rotation, int objectType, Scene scene, CollisionMap collision) { + ObjectDefinition var9 = ViewportMouse.getObjectDefinition(id); int var10; int var11; - if (var5 != 1 && var5 != 3) { + if (rotation != 1 && rotation != 3) { var10 = var9.sizeX; var11 = var9.sizeY; } else { @@ -670,211 +671,205 @@ public class ClientPacket implements ClientPacketMarker int var12; int var13; - if (var10 + var2 <= 104) { - var12 = (var10 >> 1) + var2; - var13 = var2 + (var10 + 1 >> 1); + if (var10 + x <= 104) { + var12 = (var10 >> 1) + x; + var13 = x + (var10 + 1 >> 1); } else { - var12 = var2; - var13 = var2 + 1; + var12 = x; + var13 = x + 1; } int var14; int var15; - if (var3 + var11 <= 104) { - var14 = var3 + (var11 >> 1); - var15 = var3 + (var11 + 1 >> 1); + if (y + var11 <= 104) { + var14 = y + (var11 >> 1); + var15 = y + (var11 + 1 >> 1); } else { - var14 = var3; - var15 = var3 + 1; + var14 = y; + var15 = y + 1; } int[][] var16 = Tiles.Tiles_heights[var1]; int var17 = var16[var12][var14] + var16[var13][var14] + var16[var12][var15] + var16[var13][var15] >> 2; - int var18 = (var2 << 7) + (var10 << 6); - int var19 = (var3 << 7) + (var11 << 6); - long var20 = Tile.calculateTag(var2, var3, 2, var9.int1 == 0, var4); - int var22 = (var5 << 6) + var6; + int var18 = (x << 7) + (var10 << 6); + int var19 = (y << 7) + (var11 << 6); + long var20 = Tile.calculateTag(x, y, 2, var9.int1 == 0, id); + int var22 = (rotation << 6) + objectType; if (var9.int3 == 1) { var22 += 256; } Object var23; - if (var6 == 22) { + if (objectType == 22) { if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(22, var5, var16, var18, var17, var19); + var23 = var9.getModel(22, rotation, var16, var18, var17, var19); } else { - var23 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + var23 = new DynamicObject(id, 22, rotation, var1, x, y, var9.animationId, true, (Entity)null); } - var7.newFloorDecoration(var0, var2, var3, var17, (Entity)var23, var20, var22); + scene.newFloorDecoration(plane, x, y, var17, (Entity)var23, var20, var22); if (var9.interactType == 1) { - var8.method3562(var2, var3); + collision.setBlockedByFloorDec(x, y); } - } else if (var6 != 10 && var6 != 11) { - if (var6 >= 12) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); - if (var9.interactType != 0) { - var8.method3560(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 0) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(0, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field512[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3559(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 1) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(1, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field513[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3559(var2, var3, var6, var5, var9.boolean1); - } - - } else { - int var29; - if (var6 == 2) { - var29 = var5 + 1 & 3; - Object var24; - Object var25; - if (var9.animationId == -1 && var9.transforms == null) { - var24 = var9.getModel(2, var5 + 4, var16, var18, var17, var19); - var25 = var9.getModel(2, var29, var16, var18, var17, var19); - } else { - var24 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); - var25 = new DynamicObject(var4, 2, var29, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var24, (Entity)var25, Tiles.field512[var5], Tiles.field512[var29], var20, var22); - if (var9.interactType != 0) { - var8.method3559(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 3) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(3, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field513[var5], 0, var20, var22); - if (var9.interactType != 0) { - var8.method3559(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 9) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); - if (var9.interactType != 0) { - var8.method3560(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 4) { - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field512[var5], 0, 0, 0, var20, var22); - } else { - Object var26; - long var30; - if (var6 == 5) { - var29 = 16; - var30 = var7.getBoundaryObjectTag(var0, var2, var3); - if (var30 != 0L) { - var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2; - } - - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, Tiles.field512[var5], 0, var29 * Tiles.field514[var5], var29 * Tiles.field520[var5], var20, var22); - } else if (var6 == 6) { - var29 = 8; - var30 = var7.getBoundaryObjectTag(var0, var2, var3); - if (var30 != 0L) { - var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2; - } - - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, 256, var5, var29 * Tiles.field509[var5], var29 * Tiles.field517[var5], var20, var22); - } else if (var6 == 7) { - int var32 = var5 + 2 & 3; - if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(4, var32 + 4, var16, var18, var17, var19); - } else { - var23 = new DynamicObject(var4, 4, var32 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, 256, var32, 0, 0, var20, var22); - } else if (var6 == 8) { - var29 = 8; - var30 = var7.getBoundaryObjectTag(var0, var2, var3); - if (var30 != 0L) { - var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2; - } - - int var28 = var5 + 2 & 3; - Object var27; - if (var9.animationId == -1 && var9.transforms == null) { - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); - var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); - var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); - } - - var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)var27, 256, var5, var29 * Tiles.field509[var5], var29 * Tiles.field517[var5], var20, var22); - } - } - } - } else { + } else if (objectType == 10 || objectType == 11) { if (var9.animationId == -1 && var9.transforms == null) { - var23 = var9.getModel(10, var5, var16, var18, var17, var19); + var23 = var9.getModel(10, rotation, var16, var18, var17, var19); } else { - var23 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + var23 = new DynamicObject(id, 10, rotation, var1, x, y, var9.animationId, true, (Entity)null); } if (var23 != null) { - var7.method3076(var0, var2, var3, var17, var10, var11, (Entity)var23, var6 == 11 ? 256 : 0, var20, var22); + scene.method3076(plane, x, y, var17, var10, var11, (Entity)var23, objectType == 11 ? 256 : 0, var20, var22); } if (var9.interactType != 0) { - var8.method3560(var2, var3, var10, var11, var9.boolean1); + collision.addGameObject(x, y, var10, var11, var9.boolean1); } + } else if (objectType >= 12) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(objectType, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, objectType, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.method3076(plane, x, y, var17, 1, 1, (Entity) var23, 0, var20, var22); + if (var9.interactType != 0) { + collision.addGameObject(x, y, var10, var11, var9.boolean1); + } + + } else if (objectType == 0) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(0, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, 0, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field512[rotation], 0, var20, var22); + if (var9.interactType != 0) { + collision.method3559(x, y, objectType, rotation, var9.boolean1); + } + + } else if (objectType == 1) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(1, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, 1, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field513[rotation], 0, var20, var22); + if (var9.interactType != 0) { + collision.method3559(x, y, objectType, rotation, var9.boolean1); + } + + } else if (objectType == 2) { + int var29 = rotation + 1 & 3; + Object var24; + Object var25; + if (var9.animationId == -1 && var9.transforms == null) { + var24 = var9.getModel(2, rotation + 4, var16, var18, var17, var19); + var25 = var9.getModel(2, var29, var16, var18, var17, var19); + } else { + var24 = new DynamicObject(id, 2, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null); + var25 = new DynamicObject(id, 2, var29, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newBoundaryObject(plane, x, y, var17, (Entity) var24, (Entity) var25, Tiles.field512[rotation], Tiles.field512[var29], var20, var22); + if (var9.interactType != 0) { + collision.method3559(x, y, objectType, rotation, var9.boolean1); + } + + } else if (objectType == 3) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(3, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, 3, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field513[rotation], 0, var20, var22); + if (var9.interactType != 0) { + collision.method3559(x, y, objectType, rotation, var9.boolean1); + } + + } else if (objectType == 9) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(objectType, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, objectType, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.method3076(plane, x, y, var17, 1, 1, (Entity) var23, 0, var20, var22); + if (var9.interactType != 0) { + collision.addGameObject(x, y, var10, var11, var9.boolean1); + } + + } else if (objectType == 4) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(4, rotation, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, 4, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newWallDecoration(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field512[rotation], 0, 0, 0, var20, var22); + } else if (objectType == 5) { + int var29 = 16; + long var30 = scene.getBoundaryObjectTag(plane, x, y); + if (var30 != 0L) { + var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2; + } + Object var26; + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, rotation, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(id, 4, rotation, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) null, Tiles.field512[rotation], 0, var29 * Tiles.field514[rotation], var29 * Tiles.field520[rotation], var20, var22); + } else if (objectType == 6) { + int var29 = 8; + long var30 = scene.getBoundaryObjectTag(plane, x, y); + if (var30 != 0L) { + var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2 / 2; + } + Object var26; + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, rotation + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(id, 4, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) null, 256, rotation, var29 * Tiles.field509[rotation], var29 * Tiles.field517[rotation], var20, var22); + } else if (objectType == 7) { + int var32 = rotation + 2 & 3; + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(4, var32 + 4, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(id, 4, var32 + 4, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newWallDecoration(plane, x, y, var17, (Entity) var23, (Entity) null, 256, var32, 0, 0, var20, var22); + } else if (objectType == 8) { + int var29 = 8; + long var30 = scene.getBoundaryObjectTag(plane, x, y); + if (var30 != 0L) { + var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2 / 2; + } + + Object var26; + int var28 = rotation + 2 & 3; + Object var27; + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, rotation + 4, var16, var18, var17, var19); + var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(id, 4, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null); + var27 = new DynamicObject(id, 4, var28 + 4, var1, x, y, var9.animationId, true, (Entity) null); + } + + scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) var27, 256, rotation, var29 * Tiles.field509[rotation], var29 * Tiles.field517[rotation], var20, var22); } } } diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index 4bac5a4049..917757c8eb 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -233,17 +233,17 @@ public class ClientPreferences { if (var0 == ScriptOpcodes.CHAT_SETFILTER) { HealthBarUpdate.Interpreter_intStackSize -= 3; Client.publicChatMode = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; - class226.privateChatMode = NetSocket.method3530(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + class226.privateChatMode = NetSocket.ChatMode_find(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); if (class226.privateChatMode == null) { - class226.privateChatMode = class310.field3816; + class226.privateChatMode = PrivateChatMode.field3816; } Client.tradeChatMode = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; - PacketBufferNode var18 = Archive.method4265(ClientPacket.field2294, Client.packetWriter.isaacCipher); + PacketBufferNode var18 = Archive.getPacketBufferNode(ClientPacket.field2294, Client.packetWriter.isaacCipher); var18.packetBuffer.writeByte(Client.publicChatMode); var18.packetBuffer.writeByte(class226.privateChatMode.field3815); var18.packetBuffer.writeByte(Client.tradeChatMode); - Client.packetWriter.method2219(var18); + Client.packetWriter.addNode(var18); return 1; } String var3; @@ -253,12 +253,12 @@ public class ClientPreferences { HealthBarUpdate.Interpreter_intStackSize -= 2; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - PacketBufferNode var6 = Archive.method4265(ClientPacket.field2205, Client.packetWriter.isaacCipher); + PacketBufferNode var6 = Archive.getPacketBufferNode(ClientPacket.field2205, Client.packetWriter.isaacCipher); var6.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var3) + 2); var6.packetBuffer.writeStringCp1252NullTerminated(var3); var6.packetBuffer.writeByte(var4 - 1); var6.packetBuffer.writeByte(var5); - Client.packetWriter.method2219(var6); + Client.packetWriter.addNode(var6); return 1; } int var10; @@ -266,7 +266,7 @@ public class ClientPreferences { HealthBarUpdate.Interpreter_intStackSize -= 2; var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - Message var15 = TileItem.method2049(var10, var4); + Message var15 = TileItem.Messages_getByChannelAndID(var10, var4); if (var15 != null) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.count; Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.cycle; @@ -287,7 +287,7 @@ public class ClientPreferences { } if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Message var16 = WorldMapIcon_1.method297(var10); + Message var16 = WorldMapIcon_1.Messages_getMessage(var10); if (var16 != null) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.type; Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.cycle; @@ -432,7 +432,7 @@ public class ClientPreferences { } } - PacketBufferNode var8 = Archive.method4265(ClientPacket.field2258, Client.packetWriter.isaacCipher); + PacketBufferNode var8 = Archive.getPacketBufferNode(ClientPacket.field2258, Client.packetWriter.isaacCipher); var8.packetBuffer.writeByte(0); int var9 = var8.packetBuffer.offset; var8.packetBuffer.writeByte(var4); @@ -440,20 +440,20 @@ public class ClientPreferences { var8.packetBuffer.writeByte(var7); Skeleton.method3063(var8.packetBuffer, var3); var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); return 1; } if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { Skills.Interpreter_stringStackSize -= 2; var3 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize]; String var12 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1]; - PacketBufferNode var11 = Archive.method4265(ClientPacket.field2228, Client.packetWriter.isaacCipher); + PacketBufferNode var11 = Archive.getPacketBufferNode(ClientPacket.field2228, Client.packetWriter.isaacCipher); var11.packetBuffer.writeShort(0); int var13 = var11.packetBuffer.offset; var11.packetBuffer.writeStringCp1252NullTerminated(var3); Skeleton.method3063(var11.packetBuffer, var12); var11.packetBuffer.writeLengthShort(var11.packetBuffer.offset - var13); - Client.packetWriter.method2219(var11); + Client.packetWriter.addNode(var11); return 1; } if (var0 == ScriptOpcodes.CHAT_PLAYERNAME) { @@ -472,17 +472,17 @@ public class ClientPreferences { } if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = LoginScreenAnimation.method1744(var10); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = LoginScreenAnimation.Messages_getHistorySize(var10); return 1; } if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = MusicPatchNode2.method3686(var10); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = MusicPatchNode2.Messages_getNextChatID(var10); return 1; } if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class192.method3669(var10); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class192.Messages_getLastChatID(var10); return 1; } if (var0 == ScriptOpcodes.DOCHEAT) { diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index 5cc971e2e7..fa1355fc76 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -60,7 +60,7 @@ public class CollisionMap { for (int var1 = 0; var1 < this.xSize; ++var1) { for (int var2 = 0; var2 < this.ySize; ++var2) { if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) { - this.flags[var1][var2] = 16777216; + this.flags[var1][var2] = 0x1000000; } else { this.flags[var1][var2] = 0xffffff; } @@ -74,147 +74,147 @@ public class CollisionMap { signature = "(IIIIZB)V", garbageValue = "91" ) - public void method3559(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; - var2 -= this.yInset; - if (var3 == 0) { - if (var4 == 0) { - this.method3568(var1, var2, 128); - this.method3568(var1 - 1, var2, 8); + public void method3559(int x, int y, int objectType, int rotation, boolean var5) { + x -= this.xInset; + y -= this.yInset; + if (objectType == 0) { + if (rotation == 0) { + this.setFlag(x, y, 0x80); + this.setFlag(x - 1, y, 8); } - if (var4 == 1) { - this.method3568(var1, var2, 2); - this.method3568(var1, var2 + 1, 32); + if (rotation == 1) { + this.setFlag(x, y, 2); + this.setFlag(x, y + 1, 32); } - if (var4 == 2) { - this.method3568(var1, var2, 8); - this.method3568(var1 + 1, var2, 128); + if (rotation == 2) { + this.setFlag(x, y, 8); + this.setFlag(x + 1, y, 128); } - if (var4 == 3) { - this.method3568(var1, var2, 32); - this.method3568(var1, var2 - 1, 2); + if (rotation == 3) { + this.setFlag(x, y, 32); + this.setFlag(x, y - 1, 2); } } - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method3568(var1, var2, 1); - this.method3568(var1 - 1, var2 + 1, 16); + if (objectType == 1 || objectType == 3) { + if (rotation == 0) { + this.setFlag(x, y, 1); + this.setFlag(x - 1, y + 1, 16); } - if (var4 == 1) { - this.method3568(var1, var2, 4); - this.method3568(var1 + 1, var2 + 1, 64); + if (rotation == 1) { + this.setFlag(x, y, 4); + this.setFlag(x + 1, y + 1, 64); } - if (var4 == 2) { - this.method3568(var1, var2, 16); - this.method3568(var1 + 1, var2 - 1, 1); + if (rotation == 2) { + this.setFlag(x, y, 16); + this.setFlag(x + 1, y - 1, 1); } - if (var4 == 3) { - this.method3568(var1, var2, 64); - this.method3568(var1 - 1, var2 - 1, 4); + if (rotation == 3) { + this.setFlag(x, y, 64); + this.setFlag(x - 1, y - 1, 4); } } - if (var3 == 2) { - if (var4 == 0) { - this.method3568(var1, var2, 130); - this.method3568(var1 - 1, var2, 8); - this.method3568(var1, var2 + 1, 32); + if (objectType == 2) { + if (rotation == 0) { + this.setFlag(x, y, 130); + this.setFlag(x - 1, y, 8); + this.setFlag(x, y + 1, 32); } - if (var4 == 1) { - this.method3568(var1, var2, 10); - this.method3568(var1, var2 + 1, 32); - this.method3568(var1 + 1, var2, 128); + if (rotation == 1) { + this.setFlag(x, y, 10); + this.setFlag(x, y + 1, 32); + this.setFlag(x + 1, y, 128); } - if (var4 == 2) { - this.method3568(var1, var2, 40); - this.method3568(var1 + 1, var2, 128); - this.method3568(var1, var2 - 1, 2); + if (rotation == 2) { + this.setFlag(x, y, 40); + this.setFlag(x + 1, y, 128); + this.setFlag(x, y - 1, 2); } - if (var4 == 3) { - this.method3568(var1, var2, 160); - this.method3568(var1, var2 - 1, 2); - this.method3568(var1 - 1, var2, 8); + if (rotation == 3) { + this.setFlag(x, y, 160); + this.setFlag(x, y - 1, 2); + this.setFlag(x - 1, y, 8); } } if (var5) { - if (var3 == 0) { - if (var4 == 0) { - this.method3568(var1, var2, 65536); - this.method3568(var1 - 1, var2, 4096); + if (objectType == 0) { + if (rotation == 0) { + this.setFlag(x, y, 65536); + this.setFlag(x - 1, y, 4096); } - if (var4 == 1) { - this.method3568(var1, var2, 1024); - this.method3568(var1, var2 + 1, 16384); + if (rotation == 1) { + this.setFlag(x, y, 1024); + this.setFlag(x, y + 1, 16384); } - if (var4 == 2) { - this.method3568(var1, var2, 4096); - this.method3568(var1 + 1, var2, 65536); + if (rotation == 2) { + this.setFlag(x, y, 4096); + this.setFlag(x + 1, y, 65536); } - if (var4 == 3) { - this.method3568(var1, var2, 16384); - this.method3568(var1, var2 - 1, 1024); + if (rotation == 3) { + this.setFlag(x, y, 16384); + this.setFlag(x, y - 1, 1024); } } - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method3568(var1, var2, 512); - this.method3568(var1 - 1, var2 + 1, 8192); + if (objectType == 1 || objectType == 3) { + if (rotation == 0) { + this.setFlag(x, y, 512); + this.setFlag(x - 1, y + 1, 8192); } - if (var4 == 1) { - this.method3568(var1, var2, 2048); - this.method3568(var1 + 1, var2 + 1, 32768); + if (rotation == 1) { + this.setFlag(x, y, 2048); + this.setFlag(x + 1, y + 1, 32768); } - if (var4 == 2) { - this.method3568(var1, var2, 8192); - this.method3568(var1 + 1, var2 - 1, 512); + if (rotation == 2) { + this.setFlag(x, y, 8192); + this.setFlag(x + 1, y - 1, 512); } - if (var4 == 3) { - this.method3568(var1, var2, 32768); - this.method3568(var1 - 1, var2 - 1, 2048); + if (rotation == 3) { + this.setFlag(x, y, 32768); + this.setFlag(x - 1, y - 1, 2048); } } - if (var3 == 2) { - if (var4 == 0) { - this.method3568(var1, var2, 66560); - this.method3568(var1 - 1, var2, 4096); - this.method3568(var1, var2 + 1, 16384); + if (objectType == 2) { + if (rotation == 0) { + this.setFlag(x, y, 66560); + this.setFlag(x - 1, y, 4096); + this.setFlag(x, y + 1, 16384); } - if (var4 == 1) { - this.method3568(var1, var2, 5120); - this.method3568(var1, var2 + 1, 16384); - this.method3568(var1 + 1, var2, 65536); + if (rotation == 1) { + this.setFlag(x, y, 5120); + this.setFlag(x, y + 1, 16384); + this.setFlag(x + 1, y, 65536); } - if (var4 == 2) { - this.method3568(var1, var2, 20480); - this.method3568(var1 + 1, var2, 65536); - this.method3568(var1, var2 - 1, 1024); + if (rotation == 2) { + this.setFlag(x, y, 20480); + this.setFlag(x + 1, y, 65536); + this.setFlag(x, y - 1, 1024); } - if (var4 == 3) { - this.method3568(var1, var2, 81920); - this.method3568(var1, var2 - 1, 1024); - this.method3568(var1 - 1, var2, 4096); + if (rotation == 3) { + this.setFlag(x, y, 0x14000); + this.setFlag(x, y - 1, 1024); + this.setFlag(x - 1, y, 4096); } } } @@ -226,20 +226,21 @@ public class CollisionMap { signature = "(IIIIZI)V", garbageValue = "-1502680936" ) - public void method3560(int var1, int var2, int var3, int var4, boolean var5) { - int var6 = 256; - if (var5) { - var6 += 131072; + @Export("addGameObject") + public void addGameObject(int x, int y, int w, int h, boolean blockSight) { + int var6 = 0x100; + if (blockSight) { + var6 += 0x20000; } - var1 -= this.xInset; - var2 -= this.yInset; + x -= this.xInset; + y -= this.yInset; - for (int var7 = var1; var7 < var3 + var1; ++var7) { + for (int var7 = x; var7 < w + x; ++var7) { if (var7 >= 0 && var7 < this.xSize) { - for (int var8 = var2; var8 < var2 + var4; ++var8) { + for (int var8 = y; var8 < y + h; ++var8) { if (var8 >= 0 && var8 < this.ySize) { - this.method3568(var7, var8, var6); + this.setFlag(var7, var8, var6); } } } @@ -252,11 +253,11 @@ public class CollisionMap { signature = "(III)V", garbageValue = "-2087203619" ) - public void method3561(int var1, int var2) { + @Export("setBlockedByFloor") + public void setBlockedByFloor(int var1, int var2) { var1 -= this.xInset; var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] |= 2097152; + this.flags[var1][var2] |= 0x200000; } @ObfuscatedName("k") @@ -264,11 +265,11 @@ public class CollisionMap { signature = "(III)V", garbageValue = "-363679248" ) - public void method3562(int var1, int var2) { + @Export("setBlockedByFloorDec") + public void setBlockedByFloorDec(int var1, int var2) { var1 -= this.xInset; var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] |= 262144; + this.flags[var1][var2] |= 0x40000; } @ObfuscatedName("l") @@ -276,9 +277,9 @@ public class CollisionMap { signature = "(IIII)V", garbageValue = "-883048141" ) - void method3568(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; - var10000[var2] |= var3; + @Export("setFlag") + void setFlag(int var1, int var2, int var3) { + this.flags[var1][var2] |= var3; } @ObfuscatedName("b") @@ -291,142 +292,142 @@ public class CollisionMap { var2 -= this.yInset; if (var3 == 0) { if (var4 == 0) { - this.method3566(var1, var2, 128); - this.method3566(var1 - 1, var2, 8); + this.setFlagOff(var1, var2, 128); + this.setFlagOff(var1 - 1, var2, 8); } if (var4 == 1) { - this.method3566(var1, var2, 2); - this.method3566(var1, var2 + 1, 32); + this.setFlagOff(var1, var2, 2); + this.setFlagOff(var1, var2 + 1, 32); } if (var4 == 2) { - this.method3566(var1, var2, 8); - this.method3566(var1 + 1, var2, 128); + this.setFlagOff(var1, var2, 8); + this.setFlagOff(var1 + 1, var2, 128); } if (var4 == 3) { - this.method3566(var1, var2, 32); - this.method3566(var1, var2 - 1, 2); + this.setFlagOff(var1, var2, 32); + this.setFlagOff(var1, var2 - 1, 2); } } if (var3 == 1 || var3 == 3) { if (var4 == 0) { - this.method3566(var1, var2, 1); - this.method3566(var1 - 1, var2 + 1, 16); + this.setFlagOff(var1, var2, 1); + this.setFlagOff(var1 - 1, var2 + 1, 16); } if (var4 == 1) { - this.method3566(var1, var2, 4); - this.method3566(var1 + 1, var2 + 1, 64); + this.setFlagOff(var1, var2, 4); + this.setFlagOff(var1 + 1, var2 + 1, 64); } if (var4 == 2) { - this.method3566(var1, var2, 16); - this.method3566(var1 + 1, var2 - 1, 1); + this.setFlagOff(var1, var2, 16); + this.setFlagOff(var1 + 1, var2 - 1, 1); } if (var4 == 3) { - this.method3566(var1, var2, 64); - this.method3566(var1 - 1, var2 - 1, 4); + this.setFlagOff(var1, var2, 64); + this.setFlagOff(var1 - 1, var2 - 1, 4); } } if (var3 == 2) { if (var4 == 0) { - this.method3566(var1, var2, 130); - this.method3566(var1 - 1, var2, 8); - this.method3566(var1, var2 + 1, 32); + this.setFlagOff(var1, var2, 130); + this.setFlagOff(var1 - 1, var2, 8); + this.setFlagOff(var1, var2 + 1, 32); } if (var4 == 1) { - this.method3566(var1, var2, 10); - this.method3566(var1, var2 + 1, 32); - this.method3566(var1 + 1, var2, 128); + this.setFlagOff(var1, var2, 10); + this.setFlagOff(var1, var2 + 1, 32); + this.setFlagOff(var1 + 1, var2, 128); } if (var4 == 2) { - this.method3566(var1, var2, 40); - this.method3566(var1 + 1, var2, 128); - this.method3566(var1, var2 - 1, 2); + this.setFlagOff(var1, var2, 40); + this.setFlagOff(var1 + 1, var2, 128); + this.setFlagOff(var1, var2 - 1, 2); } if (var4 == 3) { - this.method3566(var1, var2, 160); - this.method3566(var1, var2 - 1, 2); - this.method3566(var1 - 1, var2, 8); + this.setFlagOff(var1, var2, 160); + this.setFlagOff(var1, var2 - 1, 2); + this.setFlagOff(var1 - 1, var2, 8); } } if (var5) { if (var3 == 0) { if (var4 == 0) { - this.method3566(var1, var2, 65536); - this.method3566(var1 - 1, var2, 4096); + this.setFlagOff(var1, var2, 65536); + this.setFlagOff(var1 - 1, var2, 4096); } if (var4 == 1) { - this.method3566(var1, var2, 1024); - this.method3566(var1, var2 + 1, 16384); + this.setFlagOff(var1, var2, 1024); + this.setFlagOff(var1, var2 + 1, 16384); } if (var4 == 2) { - this.method3566(var1, var2, 4096); - this.method3566(var1 + 1, var2, 65536); + this.setFlagOff(var1, var2, 4096); + this.setFlagOff(var1 + 1, var2, 65536); } if (var4 == 3) { - this.method3566(var1, var2, 16384); - this.method3566(var1, var2 - 1, 1024); + this.setFlagOff(var1, var2, 16384); + this.setFlagOff(var1, var2 - 1, 1024); } } if (var3 == 1 || var3 == 3) { if (var4 == 0) { - this.method3566(var1, var2, 512); - this.method3566(var1 - 1, var2 + 1, 8192); + this.setFlagOff(var1, var2, 512); + this.setFlagOff(var1 - 1, var2 + 1, 8192); } if (var4 == 1) { - this.method3566(var1, var2, 2048); - this.method3566(var1 + 1, var2 + 1, 32768); + this.setFlagOff(var1, var2, 2048); + this.setFlagOff(var1 + 1, var2 + 1, 32768); } if (var4 == 2) { - this.method3566(var1, var2, 8192); - this.method3566(var1 + 1, var2 - 1, 512); + this.setFlagOff(var1, var2, 8192); + this.setFlagOff(var1 + 1, var2 - 1, 512); } if (var4 == 3) { - this.method3566(var1, var2, 32768); - this.method3566(var1 - 1, var2 - 1, 2048); + this.setFlagOff(var1, var2, 32768); + this.setFlagOff(var1 - 1, var2 - 1, 2048); } } if (var3 == 2) { if (var4 == 0) { - this.method3566(var1, var2, 66560); - this.method3566(var1 - 1, var2, 4096); - this.method3566(var1, var2 + 1, 16384); + this.setFlagOff(var1, var2, 66560); + this.setFlagOff(var1 - 1, var2, 4096); + this.setFlagOff(var1, var2 + 1, 16384); } if (var4 == 1) { - this.method3566(var1, var2, 5120); - this.method3566(var1, var2 + 1, 16384); - this.method3566(var1 + 1, var2, 65536); + this.setFlagOff(var1, var2, 5120); + this.setFlagOff(var1, var2 + 1, 16384); + this.setFlagOff(var1 + 1, var2, 65536); } if (var4 == 2) { - this.method3566(var1, var2, 20480); - this.method3566(var1 + 1, var2, 65536); - this.method3566(var1, var2 - 1, 1024); + this.setFlagOff(var1, var2, 20480); + this.setFlagOff(var1 + 1, var2, 65536); + this.setFlagOff(var1, var2 - 1, 1024); } if (var4 == 3) { - this.method3566(var1, var2, 81920); - this.method3566(var1, var2 - 1, 1024); - this.method3566(var1 - 1, var2, 4096); + this.setFlagOff(var1, var2, 81920); + this.setFlagOff(var1, var2 - 1, 1024); + this.setFlagOff(var1 - 1, var2, 4096); } } } @@ -438,26 +439,27 @@ public class CollisionMap { signature = "(IIIIIZB)V", garbageValue = "-77" ) - public void method3565(int var1, int var2, int var3, int var4, int var5, boolean var6) { - int var7 = 256; + @Export("setFlagOffNonSquare") + public void setFlagOffNonSquare(int x, int y, int w, int h, int rotation, boolean var6) { + int var7 = 0x100; if (var6) { - var7 += 131072; + var7 += 0x20000; } - var1 -= this.xInset; - var2 -= this.yInset; + x -= this.xInset; + y -= this.yInset; int var8; - if (var5 == 1 || var5 == 3) { - var8 = var3; - var3 = var4; - var4 = var8; + if (rotation == 1 || rotation == 3) { + var8 = w; + w = h; + h = var8; } - for (var8 = var1; var8 < var3 + var1; ++var8) { + for (var8 = x; var8 < w + x; ++var8) { if (var8 >= 0 && var8 < this.xSize) { - for (int var9 = var2; var9 < var2 + var4; ++var9) { + for (int var9 = y; var9 < y + h; ++var9) { if (var9 >= 0 && var9 < this.ySize) { - this.method3566(var8, var9, var7); + this.setFlagOff(var8, var9, var7); } } } @@ -470,9 +472,9 @@ public class CollisionMap { signature = "(IIII)V", garbageValue = "-1617846942" ) - void method3566(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; - var10000[var2] &= ~var3; + @Export("setFlagOff") + void setFlagOff(int var1, int var2, int var3) { + this.flags[var1][var2] &= ~var3; } @ObfuscatedName("u") @@ -483,7 +485,6 @@ public class CollisionMap { public void method3567(int var1, int var2) { var1 -= this.xInset; var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] &= -262145; + this.flags[var1][var2] &= 0xfffbffff; } } diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index 5e7dc82292..61461711a1 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -406,7 +406,7 @@ public class Decimator { continue; } - var95 = Projectile.getHitSplatDefinition(var0.hitSplatTypes[var77]); + var95 = Projectile.HitSplatDefinition_get(var0.hitSplatTypes[var77]); var98 = var95.field3344; if (var95 != null && var95.transforms != null) { var95 = var95.transform(); @@ -422,7 +422,7 @@ public class Decimator { var15 = var0.hitSplatTypes2[var77]; HitSplatDefinition var81 = null; if (var15 >= 0) { - var81 = Projectile.getHitSplatDefinition(var15); + var81 = Projectile.HitSplatDefinition_get(var15); if (var81 != null && var81.transforms != null) { var81 = var81.transform(); } @@ -808,12 +808,13 @@ public class Decimator { signature = "(II)V", garbageValue = "-1767057302" ) - static void method2510(int var0) { + @Export("saveTempMenuAction") + static void saveTempMenuAction(int var0) { Client.tempMenuAction = new MenuAction(); Client.tempMenuAction.argument1 = Client.menuArguments1[var0]; Client.tempMenuAction.argument2 = Client.menuArguments2[var0]; Client.tempMenuAction.opcode = Client.menuOpcodes[var0]; - Client.tempMenuAction.argument0 = Client.menuArguments0[var0]; + Client.tempMenuAction.argument0 = Client.menuIdentifiers[var0]; Client.tempMenuAction.action = Client.menuActions[var0]; } } diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index 4cf01ba6cc..b2b43ac0ba 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -38,6 +38,6 @@ public class DefaultsGroup { garbageValue = "39" ) public static String method5898(Buffer var0) { - return WorldMapIcon_0.method194(var0, 32767); + return WorldMapIcon_0.method194(var0, 0x7fff); } } diff --git a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java index d078152649..6ab8130365 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -32,11 +32,11 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @Export("get") public PlatformInfo get() { byte var1; - if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("win")) { + if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("win")) { var1 = 1; - } else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("mac")) { + } else if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("mac")) { var1 = 2; - } else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("linux")) { + } else if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("linux")) { var1 = 3; } else { var1 = 4; diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index 4eea9adf19..2654a8e2ea 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -38,8 +38,8 @@ public class DevicePcmPlayer extends PcmPlayer { ) @Export("init") protected void init() { - this.format = new AudioFormat((float)CollisionMap.PcmPlayer_sampleRate, 16, class169.isStereo ? 2 : 1, true, false); - this.byteSamples = new byte[256 << (class169.isStereo ? 2 : 1)]; + this.format = new AudioFormat((float)CollisionMap.PcmPlayer_sampleRate, 16, FileSystem.PcmPlayer_stereo ? 2 : 1, true, false); + this.byteSamples = new byte[256 << (FileSystem.PcmPlayer_stereo ? 2 : 1)]; } @ObfuscatedName("w") @@ -50,7 +50,7 @@ public class DevicePcmPlayer extends PcmPlayer { @Export("open") protected void open(int var1) throws LineUnavailableException { try { - Info var2 = new Info(SourceDataLine.class, this.format, var1 << (class169.isStereo ? 2 : 1)); + Info var2 = new Info(SourceDataLine.class, this.format, var1 << (FileSystem.PcmPlayer_stereo ? 2 : 1)); this.line = (SourceDataLine)AudioSystem.getLine(var2); this.line.open(); this.line.start(); @@ -85,14 +85,14 @@ public class DevicePcmPlayer extends PcmPlayer { ) @Export("position") protected int position() { - return this.capacity2 - (this.line.available() >> (class169.isStereo ? 2 : 1)); + return this.capacity2 - (this.line.available() >> (FileSystem.PcmPlayer_stereo ? 2 : 1)); } @ObfuscatedName("p") @Export("write") protected void write() { int var1 = 256; - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { var1 <<= 1; } diff --git a/runescape-client/src/main/java/DevicePcmPlayerProvider.java b/runescape-client/src/main/java/DevicePcmPlayerProvider.java index a51b37e516..aa9028e296 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -46,7 +46,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider { garbageValue = "-5" ) static void method805() { - Client.packetWriter.method2219(Archive.method4265(ClientPacket.field2240, Client.packetWriter.isaacCipher)); + Client.packetWriter.addNode(Archive.getPacketBufferNode(ClientPacket.field2240, Client.packetWriter.isaacCipher)); Client.oculusOrbState = 0; } } diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index ed36baa741..4e0b1d7a4f 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -67,80 +67,81 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier { garbageValue = "1456819139" ) @Export("addPendingSpawnToScene") - static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) { - if (Client.isLowDetail && var0 != class42.plane) { - return; - } + static final void addPendingSpawnToScene(int plane, int type, int x, int y, int id, int orientation, int var6) { + if (x < 1 || y < 1 || x > 102 || y > 102) { + return; + } + if (Client.isLowDetail && plane != class42.plane) { + return; + } - long var7 = 0L; - boolean var9 = true; - boolean var10 = false; - boolean var11 = false; - if (var1 == 0) { - var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(var0, var2, var3); - } + long var7 = 0L; + boolean var9 = true; + boolean var10 = false; + boolean var11 = false; + if (type == 0) { + var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(plane, x, y); + } - if (var1 == 1) { - var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(var0, var2, var3); - } + if (type == 1) { + var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(plane, x, y); + } - if (var1 == 2) { - var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(var0, var2, var3); - } + if (type == 2) { + var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(plane, x, y); + } - if (var1 == 3) { - var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var2, var3); - } + if (type == 3) { + var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(plane, x, y); + } - int var12; - if (0L != var7) { - var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var2, var3, var7); - int var14 = class43.getObjectIdFromTag(var7); - int var15 = var12 & 31; - int var16 = var12 >> 6 & 3; - ObjectDefinition var13; - if (var1 == 0) { - GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(var0, var2, var3); - var13 = ViewportMouse.getObjectDefinition(var14); - if (var13.interactType != 0) { - Client.collisionMaps[var0].method3564(var2, var3, var15, var16, var13.boolean1); - } - } - - if (var1 == 1) { - GrandExchangeOfferWorldComparator.scene.removeWallDecoration(var0, var2, var3); - } - - if (var1 == 2) { - GrandExchangeOfferWorldComparator.scene.method3154(var0, var2, var3); - var13 = ViewportMouse.getObjectDefinition(var14); - if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { - return; - } - - if (var13.interactType != 0) { - Client.collisionMaps[var0].method3565(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); - } - } - - if (var1 == 3) { - GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(var0, var2, var3); - var13 = ViewportMouse.getObjectDefinition(var14); - if (var13.interactType == 1) { - Client.collisionMaps[var0].method3567(var2, var3); - } + int var12; + if (0L != var7) { + var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(plane, x, y, var7); + int var14 = class43.Entity_unpackID(var7); + int var15 = var12 & 31; + int var16 = var12 >> 6 & 3; + ObjectDefinition var13; + if (type == 0) { + GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(plane, x, y); + var13 = ViewportMouse.getObjectDefinition(var14); + if (var13.interactType != 0) { + Client.collisionMaps[plane].method3564(x, y, var15, var16, var13.boolean1); } } - if (var4 >= 0) { - var12 = var0; - if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { - var12 = var0 + 1; + if (type == 1) { + GrandExchangeOfferWorldComparator.scene.removeWallDecoration(plane, x, y); + } + + if (type == 2) { + GrandExchangeOfferWorldComparator.scene.removeGameObject(plane, x, y); + var13 = ViewportMouse.getObjectDefinition(var14); + if (x + var13.sizeX > 103 || y + var13.sizeX > 103 || x + var13.sizeY > 103 || y + var13.sizeY > 103) { + return; } - ClientPacket.method3611(var0, var12, var2, var3, var4, var5, var6, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps[var0]); + if (var13.interactType != 0) { + Client.collisionMaps[plane].setFlagOffNonSquare(x, y, var13.sizeX, var13.sizeY, var16, var13.boolean1); + } } + + if (type == 3) { + GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(plane, x, y); + var13 = ViewportMouse.getObjectDefinition(var14); + if (var13.interactType == 1) { + Client.collisionMaps[plane].method3567(x, y); + } + } + } + + if (id >= 0) { + var12 = plane; + if (plane < 3 && (Tiles.Tiles_renderFlags[1][x][y] & 2) == 2) { + var12 = plane + 1; + } + + ClientPacket.addPendingGameObject(plane, var12, x, y, id, orientation, var6, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps[plane]); } } diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java index 75cd26b02b..c642860604 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -76,23 +76,24 @@ public class DynamicObject extends Entity { this.plane = var4; this.x = var5; this.y = var6; - if (var7 != -1) { - this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var7); - this.frame = 0; - this.cycleStart = Client.cycle - 1; - if (this.sequenceDefinition.field3529 == 0 && var9 != null && var9 instanceof DynamicObject) { - DynamicObject var10 = (DynamicObject)var9; - if (var10.sequenceDefinition == this.sequenceDefinition) { - this.frame = var10.frame; - this.cycleStart = var10.cycleStart; - return; - } + if (var7 == -1) { + return; + } + this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var7); + this.frame = 0; + this.cycleStart = Client.cycle - 1; + if (this.sequenceDefinition.field3529 == 0 && var9 != null && var9 instanceof DynamicObject) { + DynamicObject var10 = (DynamicObject)var9; + if (var10.sequenceDefinition == this.sequenceDefinition) { + this.frame = var10.frame; + this.cycleStart = var10.cycleStart; + return; } + } - if (var8 && this.sequenceDefinition.frameCount != -1) { - this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); - this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); - } + if (var8 && this.sequenceDefinition.frameCount != -1) { + this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); + this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); } } @@ -164,7 +165,8 @@ public class DynamicObject extends Entity { signature = "(Lky;ZS)V", garbageValue = "-31468" ) - public static void method2193(AbstractSocket var0, boolean var1) { + @Export("NetCache_connect") + public static void NetCache_connect(AbstractSocket var0, boolean var1) { if (NetCache.NetCache_socket != null) { try { NetCache.NetCache_socket.close(); @@ -199,45 +201,45 @@ public class DynamicObject extends Entity { NetCache.field3175 = 0; while (true) { - NetFileRequest var9 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); + NetFileRequest var9 = (NetFileRequest) NetCache.NetCache_pendingPriorityResponses.first(); if (var9 == null) { - while (true) { - var9 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); - if (var9 == null) { - if (NetCache.field3181 != 0) { - try { - var2 = new Buffer(4); - var2.writeByte(4); - var2.writeByte(NetCache.field3181); - var2.writeShort(0); - NetCache.NetCache_socket.write(var2.array, 0, 4); - } catch (IOException var5) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var4) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - NetCache.field3163 = 0; - NetCache.field3169 = DirectByteArrayCopier.currentTimeMs(); - return; - } - - NetCache.NetCache_pendingWritesQueue.addLast(var9); - NetCache.NetCache_pendingWrites.put(var9, var9.key); - ++NetCache.NetCache_pendingWritesCount; - --NetCache.NetCache_pendingResponsesCount; - } + break; } - NetCache.NetCache_pendingPriorityWrites.put(var9, var9.key); ++NetCache.NetCache_pendingPriorityWritesCount; --NetCache.NetCache_pendingPriorityResponsesCount; } + + while (true) { + NetFileRequest var9 = (NetFileRequest) NetCache.NetCache_pendingResponses.first(); + if (var9 == null) { + break; + } + NetCache.NetCache_pendingWritesQueue.addLast(var9); + NetCache.NetCache_pendingWrites.put(var9, var9.key); + ++NetCache.NetCache_pendingWritesCount; + --NetCache.NetCache_pendingResponsesCount; + } + + if (NetCache.field3181 != 0) { + try { + var2 = new Buffer(4); + var2.writeByte(4); + var2.writeByte(NetCache.field3181); + var2.writeShort(0); + NetCache.NetCache_socket.write(var2.array, 0, 4); + } catch (IOException var5) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var4) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + NetCache.NetCache_loadTime = 0; + NetCache.NetCache_timeMs = DirectByteArrayCopier.currentTimeMs(); } @ObfuscatedName("l") @@ -299,7 +301,7 @@ public class DynamicObject extends Entity { ) @Export("worldListStart") static World worldListStart() { - World.worldListWorldCount = 0; + World.World_listCount = 0; return Canvas.getNextWorldListWorld(); } } diff --git a/runescape-client/src/main/java/Entity.java b/runescape-client/src/main/java/Entity.java index 8ce08c3e31..ccf5701de4 100644 --- a/runescape-client/src/main/java/Entity.java +++ b/runescape-client/src/main/java/Entity.java @@ -57,18 +57,20 @@ public abstract class Entity extends DualNode { ) @Export("insertMenuItem") static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { - if (!Client.isMenuOpen) { - if (Client.menuOptionsCount < 500) { - Client.menuActions[Client.menuOptionsCount] = var0; - Client.menuTargetNames[Client.menuOptionsCount] = var1; - Client.menuOpcodes[Client.menuOptionsCount] = var2; - Client.menuArguments0[Client.menuOptionsCount] = var3; - Client.menuArguments1[Client.menuOptionsCount] = var4; - Client.menuArguments2[Client.menuOptionsCount] = var5; - Client.menuShiftClick[Client.menuOptionsCount] = var6; - ++Client.menuOptionsCount; - } - + if (Client.isMenuOpen) { + return; } + if (Client.menuOptionsCount >= 500) { + return; + } + Client.menuActions[Client.menuOptionsCount] = var0; + Client.menuTargets[Client.menuOptionsCount] = var1; + Client.menuOpcodes[Client.menuOptionsCount] = var2; + Client.menuIdentifiers[Client.menuOptionsCount] = var3; + Client.menuArguments1[Client.menuOptionsCount] = var4; + Client.menuArguments2[Client.menuOptionsCount] = var5; + Client.menuShiftClick[Client.menuOptionsCount] = var6; + ++Client.menuOptionsCount; + } } diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java index 2ecba3feba..df312154bf 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -13,17 +13,20 @@ public class FaceNormal { @ObfuscatedGetter( intValue = 2130535467 ) - int field1889; + @Export("x") + int x; @ObfuscatedName("w") @ObfuscatedGetter( intValue = 522108407 ) - int field1890; + @Export("y") + int y; @ObfuscatedName("e") @ObfuscatedGetter( intValue = -1566565487 ) - int field1888; + @Export("z") + int z; FaceNormal() { } @@ -83,8 +86,8 @@ public class FaceNormal { class267.hasFocus = true; Client.hadFocus = true; Client.field879 = -1L; - class192.method3678(); - Client.packetWriter.method2218(); + class192.initReflectionChecksDeque(); + Client.packetWriter.clearBuffer(); Client.packetWriter.packetBuffer.offset = 0; Client.packetWriter.serverPacket = null; Client.packetWriter.field1309 = null; @@ -93,9 +96,9 @@ public class FaceNormal { Client.packetWriter.serverPacketLength = 0; Client.packetWriter.field1318 = 0; Client.rebootTimer = 0; - Client.field700 = 0; + Client.logoutTimer = 0; Client.hintArrowType = 0; - Strings.method4121(); + Strings.resetMenuEntries(); MouseHandler.MouseHandler_idleCycles = 0; Messages.Messages_channels.clear(); Messages.Messages_hashTable.clear(); @@ -164,12 +167,13 @@ public class FaceNormal { boolean var5 = true; for (var2 = 0; var2 < Widget.Widget_interfaceComponents[var0].length; ++var2) { - if (Widget.Widget_interfaceComponents[var0][var2] != null) { - if (Widget.Widget_interfaceComponents[var0][var2].type != 2) { - Widget.Widget_interfaceComponents[var0][var2] = null; - } else { - var5 = false; - } + if (Widget.Widget_interfaceComponents[var0][var2] == null) { + continue; + } + if (Widget.Widget_interfaceComponents[var0][var2].type != 2) { + Widget.Widget_interfaceComponents[var0][var2] = null; + } else { + var5 = false; } } @@ -189,7 +193,7 @@ public class FaceNormal { Client.rootInterface = -1; Client.interfaceParents = new NodeHashTable(8); Client.meslayerContinueWidget = null; - Strings.method4121(); + Strings.resetMenuEntries(); Client.playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); for (var0 = 0; var0 < 8; ++var0) { diff --git a/runescape-client/src/main/java/class169.java b/runescape-client/src/main/java/FileSystem.java similarity index 69% rename from runescape-client/src/main/java/class169.java rename to runescape-client/src/main/java/FileSystem.java index db817f9f1b..8e15326563 100644 --- a/runescape-client/src/main/java/class169.java +++ b/runescape-client/src/main/java/FileSystem.java @@ -1,21 +1,26 @@ import java.io.File; import java.util.Hashtable; import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("fy") -public class class169 { +@Implements("FileSystem") +public class FileSystem { @ObfuscatedName("q") - static boolean field2055; + @Export("FileSystem_hasPermissions") + static boolean FileSystem_hasPermissions; @ObfuscatedName("w") - static File field2050; + @Export("FileSystem_cacheDir") + static File FileSystem_cacheDir; @ObfuscatedName("e") - static Hashtable field2052; + @Export("FileSystem_cacheFiles") + static Hashtable FileSystem_cacheFiles; @ObfuscatedName("l") - @Export("isStereo") - protected static boolean isStereo; + @Export("PcmPlayer_stereo") + protected static boolean PcmPlayer_stereo; @ObfuscatedName("fj") @ObfuscatedSignature( signature = "Lku;" @@ -30,8 +35,8 @@ public class class169 { static Font fontPlain12; static { - field2055 = false; - field2052 = new Hashtable(16); + FileSystem_hasPermissions = false; + FileSystem_cacheFiles = new Hashtable(16); } @ObfuscatedName("e") @@ -39,13 +44,13 @@ public class class169 { signature = "(Lhp;IIIZI)V", garbageValue = "1090882543" ) - public static void method3503(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { + public static void method3503(AbstractArchive var0, int group, int file, int bitRateMaybe, boolean _false) { class197.field2402 = 1; GrandExchangeOfferNameComparator.musicTrackArchive = var0; - class197.musicTrackGroupId = var1; - class197.musicTrackFileId = var2; - ScriptFrame.field529 = var3; - BuddyRankComparator.musicTrackBoolean = var4; + class197.musicTrackGroupId = group; + class197.musicTrackFileId = file; + ScriptFrame.field529 = bitRateMaybe; + BuddyRankComparator.musicTrackBoolean = _false; class197.field2404 = 10000; } diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index 92d770d4c7..8a1db386b0 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -57,7 +57,8 @@ public final class FloorDecoration { signature = "(S)V", garbageValue = "3762" ) - public static void method2842() { + @Export("KeyHandler_exit") + public static void KeyHandler_exit() { if (KeyHandler.KeyHandler_instance != null) { synchronized(KeyHandler.KeyHandler_instance) { KeyHandler.KeyHandler_instance = null; @@ -71,7 +72,8 @@ public final class FloorDecoration { signature = "(Ljava/lang/Throwable;B)Ljava/lang/String;", garbageValue = "1" ) - static String method2843(Throwable var0) throws IOException { + @Export("shortenStackTrace") + static String shortenStackTrace(Throwable var0) throws IOException { String var1; if (var0 instanceof RunException) { RunException var2 = (RunException)var0; @@ -90,32 +92,30 @@ public final class FloorDecoration { String var6 = var5.readLine(); while (true) { - while (true) { - String var7 = var5.readLine(); - if (var7 == null) { - var1 = var1 + "| " + var6; - return var1; - } - - int var8 = var7.indexOf(40); - int var9 = var7.indexOf(41, var8 + 1); - if (var8 >= 0 && var9 >= 0) { - String var10 = var7.substring(var8 + 1, var9); - int var11 = var10.indexOf(".java:"); - if (var11 >= 0) { - var10 = var10.substring(0, var11) + var10.substring(var11 + 5); - var1 = var1 + var10 + ' '; - continue; - } - - var7 = var7.substring(0, var8); - } - - var7 = var7.trim(); - var7 = var7.substring(var7.lastIndexOf(32) + 1); - var7 = var7.substring(var7.lastIndexOf(9) + 1); - var1 = var1 + var7 + ' '; + String var7 = var5.readLine(); + if (var7 == null) { + break; } + + int var8 = var7.indexOf(40); + int var9 = var7.indexOf(41, var8 + 1); + if (var8 >= 0 && var9 >= 0) { + String var10 = var7.substring(var8 + 1, var9); + int var11 = var10.indexOf(".java:"); + if (var11 >= 0) { + var10 = var10.substring(0, var11) + var10.substring(var11 + 5); + var1 = var1 + var10 + ' '; + continue; + } + var7 = var7.substring(0, var8); + } + var7 = var7.trim(); + var7 = var7.substring(var7.lastIndexOf(32) + 1); + var7 = var7.substring(var7.lastIndexOf(9) + 1); + var1 = var1 + var7 + ' '; } + + var1 = var1 + "| " + var6; + return var1; } } diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index 255ffd91f2..55241b9548 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -220,7 +220,8 @@ public class FloorOverlayDefinition extends DualNode { signature = "(Lhj;I[B[BI)V", garbageValue = "610677249" ) - static final void method4756(Widget var0, int var1, byte[] var2, byte[] var3) { + @Export("Widget_setKey") + static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { if (var0.field2650 == null) { if (var2 == null) { return; diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java index faeced04c3..6bdd47833f 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -78,7 +78,7 @@ public class FontName { int var3; if (var0 == ScriptOpcodes.OC_NAME) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.getItemDefinition(var3).name; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).name; return 1; } int var4; @@ -87,7 +87,7 @@ public class FontName { HealthBarUpdate.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - var5 = WorldMapArea.getItemDefinition(var3); + var5 = WorldMapArea.ItemDefinition_get(var3); if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; } else { @@ -100,7 +100,7 @@ public class FontName { HealthBarUpdate.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - var5 = WorldMapArea.getItemDefinition(var3); + var5 = WorldMapArea.ItemDefinition_get(var3); if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; } else { @@ -111,18 +111,18 @@ public class FontName { } if (var0 == ScriptOpcodes.OC_COST) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).price; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).price; return 1; } if (var0 == ScriptOpcodes.OC_STACKABLE) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isStackable == 1 ? 1 : 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0; return 1; } ItemDefinition var6; if (var0 == ScriptOpcodes.OC_CERT) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var6 = WorldMapArea.getItemDefinition(var3); + var6 = WorldMapArea.ItemDefinition_get(var3); if (var6.noteTemplate == -1 && var6.note >= 0) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note; } else { @@ -133,7 +133,7 @@ public class FontName { } if (var0 == ScriptOpcodes.OC_UNCERT) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var6 = WorldMapArea.getItemDefinition(var3); + var6 = WorldMapArea.ItemDefinition_get(var3); if (var6.noteTemplate >= 0 && var6.note >= 0) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note; } else { @@ -144,12 +144,12 @@ public class FontName { } if (var0 == ScriptOpcodes.OC_MEMBERS) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isMembersOnly ? 1 : 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).isMembersOnly ? 1 : 0; return 1; } if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var6 = WorldMapArea.getItemDefinition(var3); + var6 = WorldMapArea.ItemDefinition_get(var3); if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder; } else { @@ -160,7 +160,7 @@ public class FontName { } if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var6 = WorldMapArea.getItemDefinition(var3); + var6 = WorldMapArea.ItemDefinition_get(var3); if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder; } else { @@ -178,7 +178,7 @@ public class FontName { } if (var0 == ScriptOpcodes.OC_FINDNEXT) { if (WorldMapData_1.foundItemIds != null && class32.foundItemIndex < FloorOverlayDefinition.foundItemIdCount) { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapData_1.foundItemIds[++class32.foundItemIndex - 1] & '\uffff'; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapData_1.foundItemIds[++class32.foundItemIndex - 1] & 0xffff; } else { Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; } @@ -204,7 +204,7 @@ 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))) { + if (var10 == null || (var10.parentId != var1 && (var1 != 0xabcdabcd || var10 != Client.clickedWidget))) { continue; } @@ -320,16 +320,16 @@ public class FontName { if (var10.contentType == 1336) { if (Client.displayFps) { var13 += 15; - class169.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 0xffff00, -1); + FileSystem.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) { + if (var20 > 0x50000 && !Client.isLowDetail) { var21 = 0xff0000; } - class169.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); + FileSystem.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); var13 += 15; } continue; @@ -403,7 +403,7 @@ public class FontName { } if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { - NetFileRequest.method4139(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); + NetFileRequest.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); } if (var10.type == 1) { @@ -417,7 +417,7 @@ public class FontName { var19 = 0; for (var20 = 0; var20 < var10.rawHeight; ++var20) { - for (var21 = 0; var21 < var10.rawWidth; ++var21) { + for (var21 = 0; var21 < var10.rawWidth; ++var21, ++var19) { var22 = var12 + var21 * (var10.paddingX + 32); var23 = var13 + var20 * (var10.paddingY + 32); if (var19 < 20) { @@ -434,84 +434,87 @@ public class FontName { Strings.invalidateWidget(var10); } } + continue; + } + 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)) { + continue; + } + 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 { - 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.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; - } - - if (var29 > var28.scrollY) { - var29 = var28.scrollY; - } - - var28.scrollY -= var29; - Client.field763 += var29; - Strings.invalidateWidget(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.invalidateWidget(var28); - } - } - } else if (var10 == ItemContainer.field549 && var19 == Client.field698) { - var27.drawTransAt(var22, var23, 128); - } else { - var27.drawTransBgAt(var22, var23); - } - } else { - Strings.invalidateWidget(var10); - } - } + var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 0x302020, 2, false); } - ++var19; + if (var27 == null) { + Strings.invalidateWidget(var10); + continue; + } + 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.drawTransAt(var24 + var22, var25 + var23, 128); + if (var1 == -1) { + continue; + } + Widget var28 = var0[var1 & 0xffff]; + 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.invalidateWidget(var28); + } + + if (var25 + var23 + 32 <= Rasterizer2D.Rasterizer2D_yClipEnd || var28.scrollY >= var28.scrollHeight - var28.height) { + continue; + } + 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.invalidateWidget(var28); + } else if (var10 == ItemContainer.field549 && var19 == Client.field698) { + var27.drawTransAt(var22, var23, 128); + } else { + var27.drawTransBgAt(var22, var23); + } } } - } else if (var10.type == 3) { + continue; + } + if (var10.type == 3) { if (ChatChannel.runCs1(var10)) { var19 = var10.color2; if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { @@ -544,288 +547,289 @@ public class FontName { } 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); + continue; + } + Font var39; + if (var10.type == 4) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field2562) { + Strings.invalidateWidget(var10); + } + continue; + } + String var44 = var10.text; + if (ChatChannel.runCs1(var10)) { + var20 = var10.color2; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var20 = var10.mouseOverColor2; } - } 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 { - var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25); - } - } - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - } - } + if (var10.text2.length() > 0) { + var44 = var10.text2; } } else { - ItemDefinition var33; - if (var10.type == 6) { - boolean var36 = ChatChannel.runCs1(var10); - if (var36) { - var20 = var10.sequenceId2; - } else { - var20 = var10.sequenceId; - } + var20 = var10.color; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var20 = var10.mouseOverColor; + } + } - 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); - } - } + if (var10.isIf3 && var10.itemId != -1) { + ItemDefinition var45 = WorldMapArea.ItemDefinition_get(var10.itemId); + var44 = var45.name; + if (var44 == null) { + var44 = "null"; + } - 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); - } - } - } + if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { + var44 = ClientPreferences.colorStartTag(0xff9040) + var44 + "" + " " + 'x' + class188.formatItemStacks(var10.itemQuantity); + } + } - Rasterizer3D.Rasterizer3D_method3(); + 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); + continue; + } + 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); + } + continue; + } + 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); + } + continue; + } + 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 { - if (var10.type == 7) { - var39 = var10.getFont(); - if (var39 == null) { - if (Widget.field2562) { - Strings.invalidateWidget(var10); - } - continue; - } + var40.drawScaledAt(var12, var13, var10.width, var10.height); + } + continue; + } + Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); + var22 = (var20 - 1 + var10.width) / var20; + var23 = (var21 - 1 + var10.height) / var21; - 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); - } + 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 { + var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25); } } } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + 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.ItemDefinition_get(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.SequenceDefinition_get(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.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); + } + } else { + var41.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); + } + } + + Rasterizer3D.Rasterizer3D_method3(); + continue; + } + 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, ++var20) { + if (var10.itemIds[var20] <= 0) { + continue; + } + var33 = WorldMapArea.ItemDefinition_get(var10.itemIds[var20] - 1); + String var34; + if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { + var34 = ClientPreferences.colorStartTag(0xff9040) + var33.name + ""; + } else { + var34 = ClientPreferences.colorStartTag(0xff9040) + var33.name + "" + " " + 'x' + class188.formatItemStacks(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); + } + } + } + } + + if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) { + var19 = 0; + var20 = 0; + Font var31 = FileSystem.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, 0xffffa0); + 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/Frames.java b/runescape-client/src/main/java/Frames.java index 17e5247ff3..f051629af5 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -81,9 +81,8 @@ public class Frames extends DualNode { byte var10 = 0; int var11 = 0; class173.bufferX[var10] = var0; - byte var10001 = var10; int var18 = var10 + 1; - class173.bufferY[var10001] = var1; + class173.bufferY[var10] = var1; int[][] var12 = var3.flags; while (var11 != var18) { @@ -94,7 +93,7 @@ public class Frames extends DualNode { int var17 = var5 - var9; int var13 = var4 - var3.xInset; int var14 = var5 - var3.yInset; - if (var2.vmethod3594(2, var4, var5, var3)) { + if (var2.hasArrived(2, var4, var5, var3)) { class173.field2088 = var4; class218.field2707 = var5; return true; diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index 66dbfa45c7..6b824be621 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -83,78 +83,79 @@ public class Friend extends Buddy { garbageValue = "230469601" ) static final void method5226(Actor var0) { - if (var0.field948 != 0) { - if (var0.targetIndex != -1) { - Object var1 = null; - if (var0.targetIndex < 32768) { - var1 = Client.npcs[var0.targetIndex]; - } else if (var0.targetIndex >= 32768) { - var1 = Client.players[var0.targetIndex - 32768]; - } - - if (var1 != null) { - int var2 = var0.x - ((Actor)var1).x; - int var3 = var0.y - ((Actor)var1).y; - if (var2 != 0 || var3 != 0) { - var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047; - } - } else if (var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } + if (var0.field948 == 0) { + return; + } + if (var0.targetIndex != -1) { + Object var1 = null; + if (var0.targetIndex < 32768) { + var1 = Client.npcs[var0.targetIndex]; + } else if (var0.targetIndex >= 32768) { + var1 = Client.players[var0.targetIndex - 32768]; } - if (var0.field976 != -1 && (var0.pathLength == 0 || var0.field1007 > 0)) { - var0.orientation = var0.field976; - var0.field976 = -1; - } - - int var4 = var0.orientation - var0.field950 & 2047; - if (var4 == 0 && var0.false0) { + if (var1 != null) { + int var2 = var0.x - ((Actor)var1).x; + int var3 = var0.y - ((Actor)var1).y; + if (var2 != 0 || var3 != 0) { + var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047; + } + } else if (var0.false0) { var0.targetIndex = -1; var0.false0 = false; } + } - if (var4 != 0) { - ++var0.field1009; - boolean var6; - if (var4 > 1024) { - var0.field950 -= var0.field948; - var6 = true; - if (var4 < var0.field948 || var4 > 2048 - var0.field948) { - var0.field950 = var0.orientation; - var6 = false; - } + if (var0.field976 != -1 && (var0.pathLength == 0 || var0.field1007 > 0)) { + var0.orientation = var0.field976; + var0.field976 = -1; + } - if (var0.movementSequence == var0.readySequence && (var0.field1009 > 25 || var6)) { - if (var0.turnLeftSequence != -1) { - var0.movementSequence = var0.turnLeftSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } else { - var0.field950 += var0.field948; - var6 = true; - if (var4 < var0.field948 || var4 > 2048 - var0.field948) { - var0.field950 = var0.orientation; - var6 = false; - } + int var4 = var0.orientation - var0.rotation & 2047; + if (var4 == 0 && var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } - if (var0.readySequence == var0.movementSequence && (var0.field1009 > 25 || var6)) { - if (var0.turnRightSequence != -1) { - var0.movementSequence = var0.turnRightSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } - - var0.field950 &= 2047; - } else { - var0.field1009 = 0; + if (var4 == 0) { + var0.field1009 = 0; + return; + } + ++var0.field1009; + boolean var6; + if (var4 > 1024) { + var0.rotation -= var0.field948; + var6 = true; + if (var4 < var0.field948 || var4 > 2048 - var0.field948) { + var0.rotation = var0.orientation; + var6 = false; } + if (var0.movementSequence == var0.readySequence && (var0.field1009 > 25 || var6)) { + if (var0.turnLeftSequence != -1) { + var0.movementSequence = var0.turnLeftSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } else { + var0.rotation += var0.field948; + var6 = true; + if (var4 < var0.field948 || var4 > 2048 - var0.field948) { + var0.rotation = var0.orientation; + var6 = false; + } + + if (var0.readySequence == var0.movementSequence && (var0.field1009 > 25 || var6)) { + if (var0.turnRightSequence != -1) { + var0.movementSequence = var0.turnRightSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } } + + var0.rotation &= 2047; + } } diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 9c8d6813a8..eee80b3e0a 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -11,7 +11,8 @@ public class FriendLoginUpdate extends Link { @ObfuscatedGetter( intValue = 1546177207 ) - public int field3661; + @Export("friendUpdateTimeSecs") + public int friendUpdateTimeSecs; @ObfuscatedName("p") @ObfuscatedSignature( signature = "Ljv;" @@ -26,7 +27,7 @@ public class FriendLoginUpdate extends Link { signature = "(Ljv;I)V" ) FriendLoginUpdate(Username var1, int var2) { - this.field3661 = (int)(DirectByteArrayCopier.currentTimeMs() / 1000L); + this.friendUpdateTimeSecs = (int)(DirectByteArrayCopier.currentTimeMs() / 1000L); this.username = var1; this.world = (short)var2; } diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index fbfb05352e..51220aab20 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -73,10 +73,11 @@ public class FriendSystem { signature = "(Lkf;II)V", garbageValue = "499123399" ) - final void method1805(Buffer var1, int var2) { + @Export("readUpdate") + final void readUpdate(Buffer var1, int var2) { this.friendsList.read(var1, var2); this.field1076 = 2; - VertexNormal.method2972(); + VertexNormal.FriendSystem_invalidateFriends(); } @ObfuscatedName("p") @@ -87,17 +88,18 @@ public class FriendSystem { @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) { - ScriptEvent.addGameMessage(5, "", var1.username + " has logged in."); - } - - if (var1.world == 0) { - ScriptEvent.addGameMessage(5, "", var1.username + " has logged out."); - } - - var1.remove(); + if ((long) var1.friendUpdateTimeSecs >= DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) { + continue; } + if (var1.world > 0) { + ScriptEvent.addGameMessage(5, "", var1.username + " has logged in."); + } + + if (var1.world == 0) { + ScriptEvent.addGameMessage(5, "", var1.username + " has logged out."); + } + + var1.remove(); } } @@ -150,34 +152,33 @@ public class FriendSystem { ) @Export("addFriend") final void addFriend(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.canAddFriend()) { - MouseRecorder.method1138(); - } else { - StringBuilder var10000; - String var4; - if (Client.localPlayer.username.equals(var2)) { - var10000 = null; - var4 = "You can't add yourself to your own friend list"; - ScriptEvent.addGameMessage(30, "", var4); - } else if (this.isFriended(var2, false)) { - WorldMapManager.method633(var1); - } else if (this.isIgnored(var2)) { - var10000 = new StringBuilder(); - Object var10001 = null; - var10000 = var10000.append("Please remove ").append(var1); - var10001 = null; - var4 = var10000.append(" from your ignore list first").toString(); - ScriptEvent.addGameMessage(30, "", var4); - } else { - PacketBufferNode var3 = Archive.method4265(ClientPacket.field2291, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.method2219(var3); - } - } + if (var1 == null) { + return; + } + Username var2 = new Username(var1, this.loginType); + if (!var2.hasCleanName()) { + return; + } + if (this.friendsListIsFull()) { + MouseRecorder.FriendSystem_friendsListFullMes(); + } else { + StringBuilder var10000; + String var4; + if (Client.localPlayer.username.equals(var2)) { + var4 = "You can't add yourself to your own friend list"; + ScriptEvent.addGameMessage(30, "", var4); + } else if (this.isFriended(var2, false)) { + WorldMapManager.FriendSystem_alreadyFriendMes(var1); + } else if (this.isIgnored(var2)) { + var10000 = new StringBuilder(); + var10000.append("Please remove ").append(var1); + var4 = var10000.append(" from your ignore list first").toString(); + ScriptEvent.addGameMessage(30, "", var4); + } else { + PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2291, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); } } } @@ -187,8 +188,8 @@ public class FriendSystem { signature = "(I)Z", garbageValue = "-1832843555" ) - @Export("canAddFriend") - final boolean canAddFriend() { + @Export("friendsListIsFull") + final boolean friendsListIsFull() { return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field771 != 1; } @@ -199,23 +200,25 @@ public class FriendSystem { ) @Export("addIgnore") final void addIgnore(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.canAddIgnore()) { - Object var10000 = null; - String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; - ScriptEvent.addGameMessage(30, "", var3); - } else if (Client.localPlayer.username.equals(var2)) { - WorldMapEvent.method737(); - } else if (this.isIgnored(var2)) { - Client.method1650(var1); - } else if (this.isFriended(var2, false)) { - WorldMapID.method541(var1); - } else { - class219.method4111(var1); - } - } + if (var1 == null) { + return; + } + Username var2 = new Username(var1, this.loginType); + if (!var2.hasCleanName()) { + return; + } + if (this.canAddIgnore()) { + Object var10000 = null; + String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; + ScriptEvent.addGameMessage(30, "", var3); + } else if (Client.localPlayer.username.equals(var2)) { + WorldMapEvent.FriendSystem_cantIgnoreSelfMes(); + } else if (this.isIgnored(var2)) { + Client.FriendSystem_alreadyIgnoredMes(var1); + } else if (this.isFriended(var2, false)) { + WorldMapID.FriendSystem_cantIgnoreFriendMes(var1); + } else { + class219.method4111(var1); } } @@ -236,20 +239,22 @@ public class FriendSystem { ) @Export("removeFriend") final void removeFriend(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.friendsList.removeByUsername(var2)) { - Client.field672 = Client.cycleCntr; - PacketBufferNode var3 = Archive.method4265(ClientPacket.field2224, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.method2219(var3); - } - - VertexNormal.method2972(); - } + if (var1 == null) { + return; } + Username var2 = new Username(var1, this.loginType); + if (!var2.hasCleanName()) { + return; + } + if (this.friendsList.removeByUsername(var2)) { + Client.field672 = Client.cycleCntr; + PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2224, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + + VertexNormal.FriendSystem_invalidateFriends(); } @ObfuscatedName("d") @@ -259,20 +264,22 @@ public class FriendSystem { ) @Export("removeIgnore") final void removeIgnore(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.ignoreList.removeByUsername(var2)) { - Client.field672 = Client.cycleCntr; - PacketBufferNode var3 = Archive.method4265(ClientPacket.field2231, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.method2219(var3); - } - - class2.method28(); - } + if (var1 == null) { + return; } + Username var2 = new Username(var1, this.loginType); + if (!var2.hasCleanName()) { + return; + } + if (this.ignoreList.removeByUsername(var2)) { + Client.field672 = Client.cycleCntr; + PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + + class2.FriendSystem_invalidateIgnoreds(); } @ObfuscatedName("z") @@ -320,18 +327,19 @@ public class FriendSystem { for (int var5 = 0; var5 < var2; ++var5) { int var6 = var0[var5 + var1] & 255; - if (var6 != 0) { - if (var6 >= 128 && var6 < 160) { - char var7 = class288.cp1252AsciiExtension[var6 - 128]; - if (var7 == 0) { - var7 = '?'; - } - - var6 = var7; + if (var6 == 0) { + continue; + } + if (var6 >= 128 && var6 < 160) { + char var7 = class288.cp1252AsciiExtension[var6 - 128]; + if (var7 == 0) { + var7 = '?'; } - var3[var4++] = (char)var6; + var6 = var7; } + + var3[var4++] = (char)var6; } return new String(var3, 0, var4); @@ -342,8 +350,9 @@ public class FriendSystem { signature = "(II)I", garbageValue = "-77884497" ) - public static int method1784(int var0) { - return class43.getObjectIdFromTag(ViewportMouse.ViewportMouse_entityTags[var0]); + @Export("ViewportMouse_unpackID") + public static int ViewportMouse_unpackID(int i) { + return class43.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[i]); } @ObfuscatedName("ag") diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index bc64f626d7..174ccb1d62 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -76,85 +76,80 @@ public class FriendsList extends UserList { ) @Export("read") public void read(Buffer var1, int var2) { - while (true) { - if (var1.offset < var2) { - boolean var3 = var1.readUnsignedByte() == 1; - Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - int var6 = var1.readUnsignedShort(); - int var7 = var1.readUnsignedByte(); - int var8 = var1.readUnsignedByte(); - boolean var9 = (var8 & 2) != 0; - boolean var10 = (var8 & 1) != 0; - if (var6 > 0) { - var1.readStringCp1252NullTerminated(); - var1.readUnsignedByte(); - var1.readInt(); - } - + while (var1.offset < var2) { + boolean var3 = var1.readUnsignedByte() == 1; + Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + int var6 = var1.readUnsignedShort(); + int var7 = var1.readUnsignedByte(); + int var8 = var1.readUnsignedByte(); + boolean var9 = (var8 & 2) != 0; + boolean var10 = (var8 & 1) != 0; + if (var6 > 0) { var1.readStringCp1252NullTerminated(); - if (var4 != null && var4.hasCleanName()) { - Friend var11 = (Friend)this.getByCurrentUsername(var4); - if (var3) { - Friend var12 = (Friend)this.getByCurrentUsername(var5); - if (var12 != null && var11 != var12) { - if (var11 != null) { - this.remove(var12); - } else { - var11 = var12; - } - } - } - - if (var11 != null) { - this.changeName(var11, var4, var5); - if (var6 != var11.world) { - boolean var14 = true; - - for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) { - if (var13.username.equals(var4)) { - if (var6 != 0 && var13.world == 0) { - var13.remove(); - var14 = false; - } else if (var6 == 0 && var13.world != 0) { - var13.remove(); - var14 = false; - } - } - } - - if (var14) { - this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); - } - } - } else { - if (this.getSize() >= 400) { - continue; - } - - var11 = (Friend)this.addLast(var4, var5); - } - - if (var6 != var11.world) { - var11.int2 = ++this.field3643 - 1; - if (var11.world == -1 && var6 == 0) { - var11.int2 = -(var11.int2 * -782754599) * -1246846103; - } - - var11.world = var6; - } - - var11.rank = var7; - var11.field3650 = var9; - var11.field3651 = var10; - continue; - } - - throw new IllegalStateException(); + var1.readUnsignedByte(); + var1.readInt(); } - this.sort(); - return; + var1.readStringCp1252NullTerminated(); + if (var4 != null && var4.hasCleanName()) { + Friend var11 = (Friend) this.getByCurrentUsername(var4); + if (var3) { + Friend var12 = (Friend) this.getByCurrentUsername(var5); + if (var12 != null && var11 != var12) { + if (var11 != null) { + this.remove(var12); + } else { + var11 = var12; + } + } + } + + if (var11 != null) { + this.changeName(var11, var4, var5); + if (var6 != var11.world) { + boolean var14 = true; + + for (FriendLoginUpdate var13 = (FriendLoginUpdate) this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate) this.friendLoginUpdates.previous()) { + if (var13.username.equals(var4)) { + if (var6 != 0 && var13.world == 0) { + var13.remove(); + var14 = false; + } else if (var6 == 0 && var13.world != 0) { + var13.remove(); + var14 = false; + } + } + } + + if (var14) { + this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); + } + } + } else { + if (this.getSize() >= 400) { + continue; + } + + var11 = (Friend) this.addLast(var4, var5); + } + + if (var6 != var11.world) { + var11.int2 = ++this.field3643 - 1; + if (var11.world == -1 && var6 == 0) { + var11.int2 = -(var11.int2 * -782754599) * -1246846103; + } + + var11.world = var6; + } + + var11.rank = var7; + var11.field3650 = var9; + var11.field3651 = var10; + } else { + throw new IllegalStateException(); + } } + this.sort(); } } diff --git a/runescape-client/src/main/java/GameShell.java b/runescape-client/src/main/java/GameShell.java index fbdaff8f38..40185fee2b 100644 --- a/runescape-client/src/main/java/GameShell.java +++ b/runescape-client/src/main/java/GameShell.java @@ -43,7 +43,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedGetter( intValue = 308300489 ) - static int field466; + @Export("GameShell_redundantStartThreadCount") + static int GameShell_redundantStartThreadCount; @ObfuscatedName("k") @ObfuscatedGetter( longValue = -2144214957557478601L @@ -173,7 +174,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedGetter( longValue = -2360419381324286669L ) - volatile long field468; + @Export("lastDrawnTime") + volatile long lastDrawnTime; @ObfuscatedName("aq") @ObfuscatedSignature( signature = "Lau;" @@ -189,7 +191,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene static { gameShell = null; - field466 = 0; + GameShell_redundantStartThreadCount = 0; stopTimeMs = 0L; isKilled = false; cycleDurationMillis = 20; @@ -210,7 +212,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene this.field464 = true; this.resizeCanvasNextFrame = false; this.isCanvasInvalid = false; - this.field468 = 0L; + this.lastDrawnTime = 0L; EventQueue var1 = null; try { @@ -349,34 +351,35 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @Export("resizeCanvas") final void resizeCanvas() { Container var1 = this.container(); - if (var1 != null) { - Bounds var2 = this.getFrameContentBounds(); - this.contentWidth = Math.max(var2.highX, this.field476); - this.contentHeight = Math.max(var2.highY, this.field459); - if (this.contentWidth <= 0) { - this.contentWidth = 1; - } - - if (this.contentHeight <= 0) { - this.contentHeight = 1; - } - - GrandExchangeEvent.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); - ParamDefinition.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); - this.canvasX = (this.contentWidth - GrandExchangeEvent.canvasWidth) / 2; - this.canvasY = 0; - this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight); - MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, this.canvas); - if (var1 == this.frame) { - Insets var3 = this.frame.getInsets(); - this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - - this.field464 = true; - this.resizeGame(); + if (var1 == null) { + return; } + Bounds var2 = this.getFrameContentBounds(); + this.contentWidth = Math.max(var2.highX, this.field476); + this.contentHeight = Math.max(var2.highY, this.field459); + if (this.contentWidth <= 0) { + this.contentWidth = 1; + } + + if (this.contentHeight <= 0) { + this.contentHeight = 1; + } + + GrandExchangeEvent.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); + ParamDefinition.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); + this.canvasX = (this.contentWidth - GrandExchangeEvent.canvasWidth) / 2; + this.canvasY = 0; + this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight); + MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, this.canvas); + if (var1 == this.frame) { + Insets var3 = this.frame.getInsets(); + this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + + this.field464 = true; + this.resizeGame(); } @ObfuscatedName("x") @@ -398,36 +401,37 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene int var2 = this.canvasY; int var3 = this.contentWidth - GrandExchangeEvent.canvasWidth - var1; int var4 = this.contentHeight - ParamDefinition.canvasHeight - var2; - if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) { - try { - Container var5 = this.container(); - int var6 = 0; - int var7 = 0; - if (var5 == this.frame) { - Insets var8 = this.frame.getInsets(); - var6 = var8.left; - var7 = var8.top; - } - - Graphics var10 = var5.getGraphics(); - var10.setColor(Color.black); - if (var1 > 0) { - var10.fillRect(var6, var7, var1, this.contentHeight); - } - - if (var2 > 0) { - var10.fillRect(var6, var7, this.contentWidth, var2); - } - - if (var3 > 0) { - var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight); - } - - if (var4 > 0) { - var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4); - } - } catch (Exception var9) { + if (var1 <= 0 && var3 <= 0 && var2 <= 0 && var4 <= 0) { + return; + } + try { + Container var5 = this.container(); + int var6 = 0; + int var7 = 0; + if (var5 == this.frame) { + Insets var8 = this.frame.getInsets(); + var6 = var8.left; + var7 = var8.top; } + + Graphics var10 = var5.getGraphics(); + var10.setColor(Color.black); + if (var1 > 0) { + var10.fillRect(var6, var7, var1, this.contentHeight); + } + + if (var2 > 0) { + var10.fillRect(var6, var7, this.contentWidth, var2); + } + + if (var3 > 0) { + var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight); + } + + if (var4 > 0) { + var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4); + } + } catch (Exception var9) { } } @@ -471,8 +475,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene protected final void startThread(int var1, int var2, int var3) { try { if (gameShell != null) { - ++field466; - if (field466 >= 3) { + ++GameShell_redundantStartThreadCount; + if (GameShell_redundantStartThreadCount >= 3) { this.error("alreadyloaded"); return; } @@ -492,7 +496,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene taskHandler.newThreadTask(this, 1); } catch (Exception var5) { - HitSplatDefinition.sendStackTrace((String)null, var5); + HitSplatDefinition.RunException_sendStackTrace((String)null, var5); this.error("crash"); } @@ -545,7 +549,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene } this.isCanvasInvalid = false; - this.field468 = DirectByteArrayCopier.currentTimeMs(); + this.lastDrawnTime = DirectByteArrayCopier.currentTimeMs(); } @ObfuscatedName("a") @@ -668,35 +672,36 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene ) @Export("kill") final synchronized void kill() { - if (!isKilled) { - isKilled = true; - - try { - this.canvas.removeFocusListener(this); - } catch (Exception var5) { - } - - try { - this.kill0(); - } catch (Exception var4) { - } - - if (this.frame != null) { - try { - System.exit(0); - } catch (Throwable var3) { - } - } - - if (taskHandler != null) { - try { - taskHandler.close(); - } catch (Exception var2) { - } - } - - this.vmethod1273(); + if (isKilled) { + return; } + isKilled = true; + + try { + this.canvas.removeFocusListener(this); + } catch (Exception var5) { + } + + try { + this.kill0(); + } catch (Exception var4) { + } + + if (this.frame != null) { + try { + System.exit(0); + } catch (Throwable var3) { + } + } + + if (taskHandler != null) { + try { + taskHandler.close(); + } catch (Exception var2) { + } + } + + this.vmethod1273(); } @ObfuscatedName("aw") @@ -740,9 +745,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene protected final void drawInitial(int var1, String var2, boolean var3) { try { Graphics var4 = this.canvas.getGraphics(); - if (class313.field3844 == null) { - class313.field3844 = new java.awt.Font("Helvetica", 1, 13); - GrandExchangeOfferAgeComparator.field80 = this.canvas.getFontMetrics(class313.field3844); + if (class313.fontHelvetica13 == null) { + class313.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); + GrandExchangeOfferAgeComparator.loginScreenFontMetrics = this.canvas.getFontMetrics(class313.fontHelvetica13); } if (var3) { @@ -764,9 +769,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene var6.setColor(Color.black); var6.drawRect(1, 1, 301, 31); var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); - var6.setFont(class313.field3844); + var6.setFont(class313.fontHelvetica13); var6.setColor(Color.white); - var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, 22); + var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); var4.drawImage(NetFileRequest.field3125, GrandExchangeEvent.canvasWidth / 2 - 152, ParamDefinition.canvasHeight / 2 - 18, (ImageObserver)null); } catch (Exception var9) { int var7 = GrandExchangeEvent.canvasWidth / 2 - 152; @@ -777,9 +782,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene var4.setColor(Color.black); var4.drawRect(var7 + 1, var8 + 1, 301, 31); var4.fillRect(var7 + var1 * 3 + 2, var8 + 2, 300 - var1 * 3, 30); - var4.setFont(class313.field3844); + var4.setFont(class313.fontHelvetica13); var4.setColor(Color.white); - var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, var8 + 22); + var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); } } catch (Exception var10) { this.canvas.repaint(); @@ -794,8 +799,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene ) protected final void method885() { NetFileRequest.field3125 = null; - class313.field3844 = null; - GrandExchangeOfferAgeComparator.field80 = null; + class313.fontHelvetica13 = null; + GrandExchangeOfferAgeComparator.loginScreenFontMetrics = null; } @ObfuscatedName("ae") @@ -805,16 +810,17 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene ) @Export("error") protected void error(String var1) { - if (!this.hasErrored) { - this.hasErrored = true; - System.out.println("error_game_" + var1); - - try { - this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self"); - } catch (Exception var3) { - } - + if (this.hasErrored) { + return; } + this.hasErrored = true; + System.out.println("error_game_" + var1); + + try { + this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self"); + } catch (Exception var3) { + } + } @ObfuscatedName("ao") @@ -866,7 +872,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene public final synchronized void paint(Graphics var1) { if (this == gameShell && !isKilled) { this.field464 = true; - if (DirectByteArrayCopier.currentTimeMs() - this.field468 > 1000L) { + if (DirectByteArrayCopier.currentTimeMs() - this.lastDrawnTime > 1000L) { Rectangle var2 = var1.getClipBounds(); if (var2 == null || var2.width >= GrandExchangeEvent.canvasWidth && var2.height >= ParamDefinition.canvasHeight) { this.isCanvasInvalid = true; @@ -901,7 +907,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene } String var4 = var2.substring(6, var3); - if (class192.method3677(var4) && class3.parseInt(var4) < 10) { + if (class192.isNumber(var4) && class3.parseInt(var4) < 10) { this.error("wrongjava"); return; } @@ -927,7 +933,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene this.post(this.canvas); } } catch (Exception var6) { - HitSplatDefinition.sendStackTrace((String)null, var6); + HitSplatDefinition.RunException_sendStackTrace((String)null, var6); this.error("crash"); } diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index 24cf74f075..a5e28c59a1 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -8,7 +8,8 @@ import net.runelite.mapping.ObfuscatedSignature; @Implements("GrandExchangeEvent") public class GrandExchangeEvent { @ObfuscatedName("pp") - static boolean field49; + @Export("ClanChat_inClanChat") + static boolean ClanChat_inClanChat; @ObfuscatedName("c") @ObfuscatedGetter( intValue = 2059259505 @@ -90,8 +91,8 @@ public class GrandExchangeEvent { signature = "(IB)Lis;", garbageValue = "1" ) - @Export("getSequenceDefinition") - public static SequenceDefinition getSequenceDefinition(int var0) { + @Export("SequenceDefinition_get") + public static SequenceDefinition SequenceDefinition_get(int var0) { SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); if (var1 != null) { return var1; @@ -113,8 +114,8 @@ public class GrandExchangeEvent { garbageValue = "-583790135" ) static final void method73() { - PacketBufferNode var0 = Archive.method4265(ClientPacket.field2223, Client.packetWriter.isaacCipher); - Client.packetWriter.method2219(var0); + PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2223, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var0); for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { if (var1.type == 0 || var1.type == 3) { diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index 9e1482bd50..6e77d5f5c6 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -116,22 +116,19 @@ public class GrandExchangeEvents { garbageValue = "-1548454076" ) static final void method72(Scene var0, CollisionMap[] var1) { - int var2; - int var3; - int var4; - int var5; - for (var2 = 0; var2 < 4; ++var2) { - for (var3 = 0; var3 < 104; ++var3) { - for (var4 = 0; var4 < 104; ++var4) { - if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) == 1) { - var5 = var2; - if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { - var5 = var2 - 1; - } + for (int var2 = 0; var2 < 4; ++var2) { + for (int var3 = 0; var3 < 104; ++var3) { + for (int var4 = 0; var4 < 104; ++var4) { + if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) != 1) { + continue; + } + int var5 = var2; + if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { + var5 = var2 - 1; + } - if (var5 >= 0) { - var1[var5].method3561(var3, var4); - } + if (var5 >= 0) { + var1[var5].setBlockedByFloor(var3, var4); } } } @@ -163,10 +160,9 @@ public class GrandExchangeEvents { int var14; int var15; int var16; - int[] var10000; int var17; int var18; - for (var2 = 0; var2 < 4; ++var2) { + for (int var2 = 0; var2 < 4; ++var2) { byte[][] var44 = class32.field282[var2]; var9 = (int)Math.sqrt(5100.0D); var10 = var9 * 768 >> 8; @@ -198,20 +194,15 @@ public class GrandExchangeEvents { for (var11 = -5; var11 < 109; ++var11) { for (var12 = 0; var12 < 104; ++var12) { var13 = var11 + 5; - int var10002; if (var13 >= 0 && var13 < 104) { var14 = Tiles.field504[var2][var13][var12] & 255; if (var14 > 0) { FloorUnderlayDefinition var45 = ItemContainer.FloorUnderlayDefinition_get(var14 - 1); - var10000 = ServerBuild.Tiles_hue; - var10000[var12] += var45.hue; - var10000 = Tiles.Tiles_saturation; - var10000[var12] += var45.saturation; - var10000 = Tiles.Tiles_lightness; - var10000[var12] += var45.lightness; - var10000 = DynamicObject.Tiles_hueMultiplier; - var10000[var12] += var45.hueMultiplier; - var10002 = Fonts.field3689[var12]++; + ServerBuild.Tiles_hue[var12] += var45.hue; + Tiles.Tiles_saturation[var12] += var45.saturation; + Tiles.Tiles_lightness[var12] += var45.lightness; + DynamicObject.Tiles_hueMultiplier[var12] += var45.hueMultiplier; + Fonts.field3689[var12]++; } } @@ -236,15 +227,11 @@ public class GrandExchangeEvents { var47 = var46; } - var10000 = ServerBuild.Tiles_hue; - var10000[var12] -= var47.hue; - var10000 = Tiles.Tiles_saturation; - var10000[var12] -= var47.saturation; - var10000 = Tiles.Tiles_lightness; - var10000[var12] -= var47.lightness; - var10000 = DynamicObject.Tiles_hueMultiplier; - var10000[var12] -= var47.hueMultiplier; - var10002 = Fonts.field3689[var12]--; + ServerBuild.Tiles_hue[var12] -= var47.hue; + Tiles.Tiles_saturation[var12] -= var47.saturation; + Tiles.Tiles_lightness[var12] -= var47.lightness; + DynamicObject.Tiles_hueMultiplier[var12] -= var47.hueMultiplier; + Fonts.field3689[var12]--; } } } @@ -343,8 +330,7 @@ public class GrandExchangeEvents { } if (var53 && var23 == var22 && var22 == var24 && var25 == var22) { - var10000 = FaceNormal.field1887[var2][var11]; - var10000[var17] |= 2340; + FaceNormal.field1887[var2][var11][var17] |= 2340; } } @@ -440,19 +426,15 @@ public class GrandExchangeEvents { var0.method3097(-50, -10, -50); - for (var2 = 0; var2 < 104; ++var2) { - for (var3 = 0; var3 < 104; ++var3) { + for (int var2 = 0; var2 < 104; ++var2) { + for (int var3 = 0; var3 < 104; ++var3) { if ((Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { var0.setLinkBelow(var2, var3); } } } - var2 = 1; - var3 = 2; - var4 = 4; - - for (var5 = 0; var5 < 4; ++var5) { + for (int var2 = 1, var3 = 2, var4 = 4, var5 = 0; var5 < 4; ++var5) { if (var5 > 0) { var2 <<= 3; var3 <<= 3; @@ -462,7 +444,6 @@ public class GrandExchangeEvents { for (int var6 = 0; var6 <= var5; ++var6) { for (int var7 = 0; var7 <= 104; ++var7) { for (int var8 = 0; var8 <= 104; ++var8) { - short var52; if ((FaceNormal.field1887[var6][var8][var7] & var2) != 0) { var9 = var7; var10 = var7; @@ -499,15 +480,13 @@ public class GrandExchangeEvents { var13 = (var12 + 1 - var11) * (var10 - var9 + 1); if (var13 >= 8) { - var52 = 240; - var15 = Tiles.Tiles_heights[var12][var8][var9] - var52; + var15 = Tiles.Tiles_heights[var12][var8][var9] - 240; var16 = Tiles.Tiles_heights[var11][var8][var9]; Scene.Scene_addOccluder(var5, 1, var8 * 128, var8 * 128, var9 * 128, var10 * 128 + 128, var15, var16); for (var17 = var11; var17 <= var12; ++var17) { for (var18 = var9; var18 <= var10; ++var18) { - var10000 = FaceNormal.field1887[var17][var8]; - var10000[var18] &= ~var2; + FaceNormal.field1887[var17][var8][var18] &= ~var2; } } } @@ -549,15 +528,13 @@ public class GrandExchangeEvents { var13 = (var10 - var9 + 1) * (var12 + 1 - var11); if (var13 >= 8) { - var52 = 240; - var15 = Tiles.Tiles_heights[var12][var9][var7] - var52; + var15 = Tiles.Tiles_heights[var12][var9][var7] - 240; var16 = Tiles.Tiles_heights[var11][var9][var7]; Scene.Scene_addOccluder(var5, 2, var9 * 128, var10 * 128 + 128, var7 * 128, var7 * 128, var15, var16); for (var17 = var11; var17 <= var12; ++var17) { for (var18 = var9; var18 <= var10; ++var18) { - var10000 = FaceNormal.field1887[var17][var18]; - var10000[var7] &= ~var3; + FaceNormal.field1887[var17][var18][var7] &= ~var3; } } } @@ -603,8 +580,7 @@ public class GrandExchangeEvents { for (var14 = var9; var14 <= var10; ++var14) { for (var15 = var11; var15 <= var12; ++var15) { - var10000 = FaceNormal.field1887[var6][var14]; - var10000[var15] &= ~var4; + FaceNormal.field1887[var6][var14][var15] &= ~var4; } } } @@ -621,31 +597,31 @@ public class GrandExchangeEvents { signature = "(Lhj;IIIIIII)V", garbageValue = "-2024126373" ) - static final void method71(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { + static final void method71(Widget var0, int x, int y, int height, int scrollHeight, int mouseX, int mouseY) { if (Client.field719) { - Client.field882 = 32; + Client.alternativeScrollbarWidth = 32; } else { - Client.field882 = 0; + Client.alternativeScrollbarWidth = 0; } Client.field719 = false; int var7; if (MouseHandler.MouseHandler_currentButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { - if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { + if (mouseX >= x && mouseX < x + 16 && mouseY >= y && mouseY < y + 16) { var0.scrollY -= 4; Strings.invalidateWidget(var0); - } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { + } else if (mouseX >= x && mouseX < x + 16 && mouseY >= height + y - 16 && mouseY < height + y) { var0.scrollY += 4; 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; + } else if (mouseX >= x - Client.alternativeScrollbarWidth && mouseX < Client.alternativeScrollbarWidth + x + 16 && mouseY >= y + 16 && mouseY < height + y - 16) { + var7 = height * (height - 32) / scrollHeight; if (var7 < 8) { var7 = 8; } - int var8 = var6 - var2 - 16 - var7 / 2; - int var9 = var3 - 32 - var7; - var0.scrollY = var8 * (var4 - var3) / var9; + int var8 = mouseY - y - 16 - var7 / 2; + int var9 = height - 32 - var7; + var0.scrollY = var8 * (scrollHeight - height) / var9; Strings.invalidateWidget(var0); Client.field719 = true; } @@ -653,7 +629,7 @@ public class GrandExchangeEvents { if (Client.mouseWheelRotation != 0) { var7 = var0.width; - if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { + if (mouseX >= x - var7 && mouseY >= y && mouseX < x + 16 && mouseY <= height + y) { var0.scrollY += Client.mouseWheelRotation * 45; Strings.invalidateWidget(var0); } diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index 4ff2e4d750..08c3bbb2a3 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -113,34 +113,35 @@ public class GrandExchangeOffer { ) @Export("sortItemsByName") static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { - if (var2 < var3) { - int var4 = (var3 + var2) / 2; - int var5 = var2; - String var6 = var0[var4]; - var0[var4] = var0[var3]; - var0[var3] = var6; - short var7 = var1[var4]; - var1[var4] = var1[var3]; - var1[var3] = var7; - - for (int var8 = var2; var8 < var3; ++var8) { - if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { - String var9 = var0[var8]; - var0[var8] = var0[var5]; - var0[var5] = var9; - short var10 = var1[var8]; - var1[var8] = var1[var5]; - var1[var5++] = var10; - } - } - - var0[var3] = var0[var5]; - var0[var5] = var6; - var1[var3] = var1[var5]; - var1[var5] = var7; - sortItemsByName(var0, var1, var2, var5 - 1); - sortItemsByName(var0, var1, var5 + 1, var3); + if (var2 >= var3) { + return; } + int var4 = (var3 + var2) / 2; + int var5 = var2; + String var6 = var0[var4]; + var0[var4] = var0[var3]; + var0[var3] = var6; + short var7 = var1[var4]; + var1[var4] = var1[var3]; + var1[var3] = var7; + + for (int var8 = var2; var8 < var3; ++var8) { + if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { + String var9 = var0[var8]; + var0[var8] = var0[var5]; + var0[var5] = var9; + short var10 = var1[var8]; + var1[var8] = var1[var5]; + var1[var5++] = var10; + } + } + + var0[var3] = var0[var5]; + var0[var5] = var6; + var1[var3] = var1[var5]; + var1[var5] = var7; + sortItemsByName(var0, var1, var2, var5 - 1); + sortItemsByName(var0, var1, var5 + 1, var3); } @@ -151,47 +152,48 @@ public class GrandExchangeOffer { ) @Export("doWorldSorting") static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { - if (var0 < var1) { - int var6 = (var0 + var1) / 2; - int var7 = var0; - World var8 = World.worlds[var6]; - World.worlds[var6] = World.worlds[var1]; - World.worlds[var1] = var8; + if (var0 >= var1) { + return; + } + int var6 = (var0 + var1) / 2; + int var7 = var0; + World var8 = World.World_worlds[var6]; + World.World_worlds[var6] = World.World_worlds[var1]; + World.World_worlds[var1] = var8; - for (int var9 = var0; var9 < var1; ++var9) { - World var11 = World.worlds[var9]; - int var12 = DynamicObject.compareWorlds(var11, var8, var2, var3); - int var10; - if (var12 != 0) { - if (var3) { - var10 = -var12; - } else { - var10 = var12; - } - } else if (var4 == -1) { - var10 = 0; + for (int var9 = var0; var9 < var1; ++var9) { + World var11 = World.World_worlds[var9]; + int var12 = DynamicObject.compareWorlds(var11, var8, var2, var3); + int var10; + if (var12 != 0) { + if (var3) { + var10 = -var12; } else { - int var13 = DynamicObject.compareWorlds(var11, var8, var4, var5); - if (var5) { - var10 = -var13; - } else { - var10 = var13; - } + var10 = var12; } - - if (var10 <= 0) { - World var14 = World.worlds[var9]; - World.worlds[var9] = World.worlds[var7]; - World.worlds[var7++] = var14; + } else if (var4 == -1) { + var10 = 0; + } else { + int var13 = DynamicObject.compareWorlds(var11, var8, var4, var5); + if (var5) { + var10 = -var13; + } else { + var10 = var13; } } - World.worlds[var1] = World.worlds[var7]; - World.worlds[var7] = var8; - doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); - doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); + if (var10 <= 0) { + World var14 = World.World_worlds[var9]; + World.World_worlds[var9] = World.World_worlds[var7]; + World.World_worlds[var7++] = var14; + } } + World.World_worlds[var1] = World.World_worlds[var7]; + World.World_worlds[var7] = var8; + doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); + doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); + } @ObfuscatedName("an") @@ -414,19 +416,19 @@ public class GrandExchangeOffer { return 1; } if (var0 == 6624) { - WorldMapID.getWorldMap().method6337(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); return 1; } if (var0 == 6625) { - WorldMapID.getWorldMap().method6338(); + WorldMapID.getWorldMap().resetMaxFlashCount(); return 1; } if (var0 == 6626) { - WorldMapID.getWorldMap().method6339(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); return 1; } if (var0 == 6627) { - WorldMapID.getWorldMap().method6340(); + WorldMapID.getWorldMap().resetCyclesPerFlash(); return 1; } boolean var10; diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index df655ff3cf..143cd2a81b 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -10,7 +10,8 @@ import net.runelite.rs.ScriptOpcodes; @Implements("GrandExchangeOfferAgeComparator") final class GrandExchangeOfferAgeComparator implements Comparator { @ObfuscatedName("ad") - static FontMetrics field80; + @Export("loginScreenFontMetrics") + static FontMetrics loginScreenFontMetrics; @ObfuscatedName("gn") @ObfuscatedSignature( signature = "[Llx;" @@ -80,13 +81,14 @@ final class GrandExchangeOfferAgeComparator implements Comparator { @Export("clearItemContainer") static void clearItemContainer(int var0) { ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - for (int var2 = 0; var2 < var1.ids.length; ++var2) { - var1.ids[var2] = -1; - var1.quantities[var2] = 0; - } - + if (var1 == null) { + return; } + for (int var2 = 0; var2 < var1.ids.length; ++var2) { + var1.ids[var2] = -1; + var1.quantities[var2] = 0; + } + } @ObfuscatedName("b") @@ -145,8 +147,9 @@ final class GrandExchangeOfferAgeComparator implements Comparator { signature = "(B)V", garbageValue = "20" ) - static void method145() { - NetCache.method4312(class42.menuWidth / 2 + class247.menuX, class30.menuY); + @Export("calculateMenuBounds") + static void calculateMenuBounds() { + NetCache.calculateMenuBounds(class42.menuWidth / 2 + class247.menuX, class30.menuY); } @ObfuscatedName("jt") @@ -154,19 +157,21 @@ final class GrandExchangeOfferAgeComparator implements Comparator { signature = "(II)V", garbageValue = "-2136228205" ) - static final void method146(int var0) { - if (class162.loadInterface(var0)) { - Widget[] var1 = Widget.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3 != null) { - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - } - } - + @Export("Widget_resetModelFrames") + static final void Widget_resetModelFrames(int var0) { + if (!class162.loadInterface(var0)) { + return; } + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3 != null) { + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + } + } + } @ObfuscatedName("jd") @@ -177,7 +182,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator { static final boolean method149(Widget var0) { int var1 = var0.contentType; if (var1 == 205) { - Client.field700 = 250; + Client.logoutTimer = 250; return true; } int var2; @@ -185,7 +190,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator { if (var1 >= 300 && var1 <= 313) { var2 = (var1 - 300) / 2; var3 = var1 & 1; - Client.playerAppearance.method3992(var2, var3 == 1); + Client.playerAppearance.changeAppearance(var2, var3 == 1); } if (var1 >= 314 && var1 <= 323) { @@ -203,9 +208,9 @@ final class GrandExchangeOfferAgeComparator implements Comparator { } if (var1 == 326) { - PacketBufferNode var4 = Archive.method4265(ClientPacket.field2215, Client.packetWriter.isaacCipher); + PacketBufferNode var4 = Archive.getPacketBufferNode(ClientPacket.field2215, Client.packetWriter.isaacCipher); Client.playerAppearance.write(var4.packetBuffer); - Client.packetWriter.method2219(var4); + Client.packetWriter.addNode(var4); return true; } return false; diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index 9c134ed005..1755ffc3ce 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -8,7 +8,8 @@ import net.runelite.mapping.ObfuscatedSignature; @Implements("GrandExchangeOfferOwnWorldComparator") public class GrandExchangeOfferOwnWorldComparator implements Comparator { @ObfuscatedName("h") - public static String field647; + @Export("operatingSystemLC") + public static String operatingSystemLC; @ObfuscatedName("dm") @ObfuscatedSignature( signature = "Liu;" @@ -142,19 +143,20 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { 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.getEntity(22, rotation, var15, var17, var16, var18); - } else { - 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); - } - + if (Client.isLowDetail && var8.int1 == 0 && var8.interactType != 1 && !var8.boolean2) { + return; } + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.getEntity(22, rotation, var15, var17, var16, var18); + } else { + 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.setBlockedByFloorDec(x, y); + } + } else if (objectType == 10 || objectType == 11) { if (var8.animationId == -1 && var8.transforms == null) { var22 = var8.getEntity(10, rotation, var15, var17, var16, var18); @@ -181,7 +183,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { } if (var8.interactType != 0 && var7 != null) { - var7.method3560(x, y, var9, var10, var8.boolean1); + var7.addGameObject(x, y, var9, var10, var8.boolean1); } } else if (objectType >= 12) { @@ -193,12 +195,11 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { 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; + FaceNormal.field1887[plane][x][y] |= 2340; } if (var8.interactType != 0 && var7 != null) { - var7.method3560(x, y, var9, var10, var8.boolean1); + var7.addGameObject(x, y, var9, var10, var8.boolean1); } } else if (objectType == 0) { @@ -216,8 +217,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { } if (var8.modelClipped) { - int[] var10000 = FaceNormal.field1887[plane][x]; - var10000[y] |= 585; + FaceNormal.field1887[plane][x][y] |= 585; } } else if (rotation == 1) { if (var8.clipped) { @@ -226,8 +226,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { } if (var8.modelClipped) { - int[] var10000 = FaceNormal.field1887[plane][x]; - var10000[1 + y] |= 1170; + FaceNormal.field1887[plane][x][1 + y] |= 1170; } } else if (rotation == 2) { if (var8.clipped) { @@ -236,8 +235,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { } if (var8.modelClipped) { - int[] var10000 = FaceNormal.field1887[plane][x + 1]; - var10000[y] |= 585; + FaceNormal.field1887[plane][x + 1][y] |= 585; } } else if (rotation == 3) { if (var8.clipped) { @@ -246,8 +244,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { } if (var8.modelClipped) { - int[] var10000 = FaceNormal.field1887[plane][x]; - var10000[y] |= 1170; + FaceNormal.field1887[plane][x][y] |= 1170; } } @@ -298,25 +295,17 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { 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; + FaceNormal.field1887[plane][x][y] |= 585; + FaceNormal.field1887[plane][x][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; + FaceNormal.field1887[plane][x][y + 1] |= 1170; + FaceNormal.field1887[plane][x + 1][y] |= 585; } else if (rotation == 2) { - int[] var10000 = FaceNormal.field1887[plane][x + 1]; - var10000[y] |= 585; - var10000 = FaceNormal.field1887[plane][x]; - var10000[y] |= 1170; + FaceNormal.field1887[plane][x + 1][y] |= 585; + FaceNormal.field1887[plane][x][y] |= 1170; } else if (rotation == 3) { - int[] var10000 = FaceNormal.field1887[plane][x]; - var10000[y] |= 1170; - var10000 = FaceNormal.field1887[plane][x]; - var10000[y] |= 585; + FaceNormal.field1887[plane][x][y] |= 1170; + FaceNormal.field1887[plane][x][y] |= 585; } } @@ -361,7 +350,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { 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); + var7.addGameObject(x, y, var9, var10, var8.boolean1); } if (var8.int2 != 16) { @@ -381,7 +370,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { long var31 = var6.getBoundaryObjectTag(plane, x, y); Object var33; if (var31 != 0L) { - var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2; + var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2; } if (var8.animationId == -1 && var8.transforms == null) { @@ -396,7 +385,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { long var31 = var6.getBoundaryObjectTag(plane, x, y); Object var33; if (0L != var31) { - var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2; + var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2 / 2; } if (var8.animationId == -1 && var8.transforms == null) { @@ -419,7 +408,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { int var28 = 8; long var31 = var6.getBoundaryObjectTag(plane, x, y); if (var31 != 0L) { - var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2; + var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2 / 2; } int var27 = rotation + 2 & 3; diff --git a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index 3482a4e62c..c0f09a5518 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -30,22 +30,23 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator { signature = "(II)V", garbageValue = "1523306949" ) - static void method93(int var0) { - if (var0 == -1 && !Client.field699) { + @Export("playSong") + static void playSong(int groupId) { + if (groupId == -1 && !Client.field699) { NetSocket.method3553(); - } else if (var0 != -1 && var0 != Client.field889 && Client.field911 != 0 && !Client.field699) { + } else if (groupId != -1 && groupId != Client.field889 && Client.field911 != 0 && !Client.field699) { Archive var1 = WorldMapRegion.archive6; int var2 = Client.field911; class197.field2402 = 1; GrandExchangeOfferNameComparator.musicTrackArchive = var1; - class197.musicTrackGroupId = var0; + class197.musicTrackGroupId = groupId; class197.musicTrackFileId = 0; ScriptFrame.field529 = var2; BuddyRankComparator.musicTrackBoolean = false; class197.field2404 = 2; } - Client.field889 = var0; + Client.field889 = groupId; } @ObfuscatedName("if") @@ -54,25 +55,26 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator { garbageValue = "16777215" ) static String method92(String var0, Widget var1) { - if (var0.indexOf("%") != -1) { - for (int var2 = 1; var2 <= 5; ++var2) { - while (true) { - int var3 = var0.indexOf("%" + var2); - if (var3 == -1) { - break; - } - - String var4 = var0.substring(0, var3); - int var6 = Varps.method3969(var1, var2 - 1); - String var5; - if (var6 < 999999999) { - var5 = Integer.toString(var6); - } else { - var5 = "*"; - } - - var0 = var4 + var5 + var0.substring(var3 + 2); + if (var0.indexOf("%") == -1) { + return var0; + } + for (int var2 = 1; var2 <= 5; ++var2) { + while (true) { + int var3 = var0.indexOf("%" + var2); + if (var3 == -1) { + break; } + + String var4 = var0.substring(0, var3); + int var6 = Varps.method3969(var1, var2 - 1); + String var5; + if (var6 < 999999999) { + var5 = Integer.toString(var6); + } else { + var5 = "*"; + } + + var0 = var4 + var5 + var0.substring(var3 + 2); } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index b5b1c8ed42..e02b32ace1 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -96,7 +96,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { if (var3 != Client.field911) { if (Client.field911 == 0 && Client.field889 != -1) { - class169.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false); + FileSystem.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false); Client.field699 = false; } else if (var3 == 0) { NetSocket.method3553(); @@ -134,7 +134,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { } if (var4 == 5) { - Client.field789 = var2; + Client.leftClickOpensMenu = var2; } if (var4 == 6) { @@ -168,11 +168,11 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { } if (var4 == 17) { - Client.followerIndex = var2 & 65535; + Client.followerIndex = var2 & 0xffff; } if (var4 == 18) { - Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2); + Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.AttackOption_values(), var2); if (Client.playerAttackOption == null) { Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; } @@ -187,7 +187,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { } if (var4 == 22) { - Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2); + Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.AttackOption_values(), 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 1f32111eef..61367effd7 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -140,46 +140,46 @@ final class GrandExchangeOfferWorldComparator implements Comparator { NodeDeque var2 = Client.groundItems[class42.plane][var0][var1]; if (var2 == null) { scene.removeGroundItemPile(class42.plane, var0, var1); - } else { - long var3 = -99999999L; - TileItem var5 = null; + return; + } + long var3 = -99999999L; + TileItem var5 = null; - TileItem var6; - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - ItemDefinition var7 = WorldMapArea.getItemDefinition(var6.id); - long var8 = (long)var7.price; - if (var7.isStackable == 1) { - var8 *= (long)(var6.quantity + 1); - } - - if (var8 > var3) { - var3 = var8; - var5 = var6; - } + TileItem var6; + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + ItemDefinition var7 = WorldMapArea.ItemDefinition_get(var6.id); + long var8 = (long)var7.price; + if (var7.isStackable == 1) { + var8 *= (long)(var6.quantity + 1); } - if (var5 == null) { - scene.removeGroundItemPile(class42.plane, var0, var1); - } else { - var2.addLast(var5); - TileItem var12 = null; - TileItem var11 = null; + if (var8 > var3) { + var3 = var8; + var5 = var6; + } + } - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - if (var5.id != var6.id) { - if (var12 == null) { - var12 = var6; - } + if (var5 == null) { + scene.removeGroundItemPile(class42.plane, var0, var1); + } else { + var2.addLast(var5); + TileItem var12 = null; + TileItem var11 = null; - if (var6.id != var12.id && var11 == null) { - var11 = var6; - } + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + if (var5.id != var6.id) { + if (var12 == null) { + var12 = var6; + } + + if (var6.id != var12.id && var11 == null) { + var11 = var6; } } - - long var9 = Tile.calculateTag(var0, var1, 3, false, 0); - scene.newGroundItemPile(class42.plane, var0, var1, ScriptEvent.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class42.plane), var5, var9, var12, var11); } + + long var9 = Tile.calculateTag(var0, var1, 3, false, 0); + scene.newGroundItemPile(class42.plane, var0, var1, ScriptEvent.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class42.plane), var5, var9, var12, var11); } } } diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index 7583e19792..2fb2ff1a79 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -76,10 +76,10 @@ public final class GraphicsObject extends Entity { this.y = var4; this.height = var5; this.cycleStart = var7 + var6; - int var8 = MusicPatch.getSpotAnimationDefinition(this.id).sequence; + int var8 = MusicPatch.SpotAnimationDefinition_get(this.id).sequence; if (var8 != -1) { this.isFinished = false; - this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var8); + this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var8); } else { this.isFinished = true; } @@ -93,19 +93,20 @@ public final class GraphicsObject extends Entity { ) @Export("advance") final void advance(int var1) { - if (!this.isFinished) { - this.frameCycle += var1; - - while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) { - this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; - ++this.frame; - if (this.frame >= this.sequenceDefinition.frameIds.length) { - this.isFinished = true; - break; - } - } - + if (this.isFinished) { + return; } + this.frameCycle += var1; + + while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) { + this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + if (this.frame >= this.sequenceDefinition.frameIds.length) { + this.isFinished = true; + break; + } + } + } @ObfuscatedName("c") @@ -115,7 +116,7 @@ public final class GraphicsObject extends Entity { ) @Export("getModel") protected final Model getModel() { - SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id); + SpotAnimationDefinition var1 = MusicPatch.SpotAnimationDefinition_get(this.id); Model var2; if (!this.isFinished) { var2 = var1.getModel(this.frame); @@ -277,11 +278,11 @@ public final class GraphicsObject extends Entity { signature = "(I)V", garbageValue = "-1819884546" ) - @Export("resetMenuEntries") - static void resetMenuEntries() { - Strings.method4121(); + @Export("addCancelMenuEntry") + static void addCancelMenuEntry() { + Strings.resetMenuEntries(); Client.menuActions[0] = "Cancel"; - Client.menuTargetNames[0] = ""; + Client.menuTargets[0] = ""; Client.menuOpcodes[0] = 1006; Client.menuShiftClick[0] = false; Client.menuOptionsCount = 1; diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index 9e65c89e45..a75a96ab77 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -115,12 +115,8 @@ public class HealthBarDefinition extends DualNode { ) @Export("decode") void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - + int var2; + while ((var2 = var1.readUnsignedByte()) != 0) { this.decodeNext(var1, var2); } } diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index 538cf8aea8..7eab530c18 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -86,7 +86,8 @@ public class HealthBarUpdate extends Node { signature = "(Ljava/lang/String;I)Z", garbageValue = "-1155103111" ) - static boolean method1676(String var0) { + @Export("isValidURL") + static boolean isValidURL(String var0) { if (var0 == null) { return false; } @@ -103,7 +104,8 @@ public class HealthBarUpdate extends Node { signature = "(Lkx;I)V", garbageValue = "-2067523200" ) - public static void method1671(PacketBuffer var0) { + @Export("performReflectionCheck") + public static void performReflectionCheck(PacketBuffer var0) { ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last(); if (var1 == null) { return; @@ -234,10 +236,10 @@ public class HealthBarUpdate extends Node { garbageValue = "-1624187030" ) static void method1677() { - PacketBufferNode var0 = Archive.method4265(ClientPacket.field2238, Client.packetWriter.isaacCipher); + PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher); var0.packetBuffer.writeByte(AbstractWorldMapIcon.getWindowedMode()); var0.packetBuffer.writeShort(GrandExchangeEvent.canvasWidth); var0.packetBuffer.writeShort(ParamDefinition.canvasHeight); - Client.packetWriter.method2219(var0); + Client.packetWriter.addNode(var0); } } diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index 7738e6a62a..05b465549c 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -203,19 +203,19 @@ public class HitSplatDefinition extends DualNode { this.field3341 = var1.readUnsignedShort(); } else if (var2 == 17 || var2 == 18) { this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { + if (this.transformVarbit == 0xffff) { this.transformVarbit = -1; } this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { + if (this.transformVarp == 0xffff) { this.transformVarp = -1; } int var3 = -1; if (var2 == 18) { var3 = var1.readUnsignedShort(); - if (var3 == 65535) { + if (var3 == 0xffff) { var3 = -1; } } @@ -225,7 +225,7 @@ public class HitSplatDefinition extends DualNode { for (int var5 = 0; var5 <= var4; ++var5) { this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { + if (this.transforms[var5] == 0xffff) { this.transforms[var5] = -1; } } @@ -256,7 +256,7 @@ public class HitSplatDefinition extends DualNode { var2 = this.transforms[this.transforms.length - 1]; } - return var2 != -1 ? Projectile.getHitSplatDefinition(var2) : null; + return var2 != -1 ? Projectile.HitSplatDefinition_get(var2) : null; } @ObfuscatedName("k") @@ -398,41 +398,41 @@ public class HitSplatDefinition extends DualNode { signature = "(Ljava/lang/String;Ljava/lang/Throwable;B)V", garbageValue = "40" ) - @Export("sendStackTrace") - public static void sendStackTrace(String var0, Throwable var1) { + @Export("RunException_sendStackTrace") + public static void RunException_sendStackTrace(String var0, Throwable var1) { if (var1 != null) { var1.printStackTrace(); - } else { - try { - String var2 = ""; - if (var1 != null) { - var2 = FloorDecoration.method2843(var1); - } - - if (var0 != null) { - if (var1 != null) { - var2 = var2 + " | "; - } - - var2 = var2 + var0; - } - - System.out.println("Error: " + var2); - var2 = var2.replace(':', '.'); - var2 = var2.replace('@', '_'); - var2 = var2.replace('&', '_'); - var2 = var2.replace('#', '_'); - if (RunException.RunException_applet == null) { - return; - } - - URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + GrandExchangeOfferUnitPriceComparator.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.RunException_clientType + "&e=" + var2); - DataInputStream var4 = new DataInputStream(var3.openStream()); - var4.read(); - var4.close(); - } catch (Exception var5) { + return; + } + try { + String var2 = ""; + if (var1 != null) { + var2 = FloorDecoration.shortenStackTrace(var1); } + if (var0 != null) { + if (var1 != null) { + var2 = var2 + " | "; + } + + var2 = var2 + var0; + } + + System.out.println("Error: " + var2); + var2 = var2.replace(':', '.'); + var2 = var2.replace('@', '_'); + var2 = var2.replace('&', '_'); + var2 = var2.replace('#', '_'); + if (RunException.RunException_applet == null) { + return; + } + + URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + GrandExchangeOfferUnitPriceComparator.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.RunException_clientType + "&e=" + var2); + DataInputStream var4 = new DataInputStream(var3.openStream()); + var4.read(); + var4.close(); + } catch (Exception var5) { } + } } diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index 6e2c166adb..b700392578 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -26,74 +26,75 @@ public class Huffman { for (int var5 = 0; var5 < var2; ++var5) { byte var6 = var1[var5]; - if (var6 != 0) { - int var7 = 1 << 32 - var6; - int var8 = var3[var6]; - this.masks[var5] = var8; - int var9; - int var10; - int var11; - int var12; - if ((var8 & var7) != 0) { - var9 = var3[var6 - 1]; + if (var6 == 0) { + continue; + } + int var7 = 1 << 32 - var6; + int var8 = var3[var6]; + this.masks[var5] = var8; + int var9; + int var10; + int var11; + int var12; + if ((var8 & var7) != 0) { + var9 = var3[var6 - 1]; + } else { + var9 = var8 | var7; + + for (var10 = var6 - 1; var10 >= 1; --var10) { + var11 = var3[var10]; + if (var11 != var8) { + break; + } + + var12 = 1 << 32 - var10; + if ((var11 & var12) != 0) { + var3[var10] = var3[var10 - 1]; + break; + } + + var3[var10] = var11 | var12; + } + } + + var3[var6] = var9; + + for (var10 = var6 + 1; var10 <= 32; ++var10) { + if (var8 == var3[var10]) { + var3[var10] = var9; + } + } + + var10 = 0; + + for (var11 = 0; var11 < var6; ++var11) { + var12 = Integer.MIN_VALUE >>> var11; + if ((var8 & var12) != 0) { + if (this.keys[var10] == 0) { + this.keys[var10] = var4; + } + + var10 = this.keys[var10]; } else { - var9 = var8 | var7; - - for (var10 = var6 - 1; var10 >= 1; --var10) { - var11 = var3[var10]; - if (var11 != var8) { - break; - } - - var12 = 1 << 32 - var10; - if ((var11 & var12) != 0) { - var3[var10] = var3[var10 - 1]; - break; - } - - var3[var10] = var11 | var12; - } + ++var10; } - var3[var6] = var9; + if (var10 >= this.keys.length) { + int[] var13 = new int[this.keys.length * 2]; - for (var10 = var6 + 1; var10 <= 32; ++var10) { - if (var8 == var3[var10]) { - var3[var10] = var9; - } - } - - var10 = 0; - - for (var11 = 0; var11 < var6; ++var11) { - var12 = Integer.MIN_VALUE >>> var11; - if ((var8 & var12) != 0) { - if (this.keys[var10] == 0) { - this.keys[var10] = var4; - } - - var10 = this.keys[var10]; - } else { - ++var10; + for (int var14 = 0; var14 < this.keys.length; ++var14) { + var13[var14] = this.keys[var14]; } - if (var10 >= this.keys.length) { - int[] var13 = new int[this.keys.length * 2]; - - for (int var14 = 0; var14 < this.keys.length; ++var14) { - var13[var14] = this.keys[var14]; - } - - this.keys = var13; - } - - var12 >>>= 1; + this.keys = var13; } - this.keys[var10] = ~var5; - if (var10 >= var4) { - var4 = var10 + 1; - } + var12 >>>= 1; + } + + this.keys[var10] = ~var5; + if (var10 >= var4) { + var4 = var10 + 1; } } @@ -312,53 +313,44 @@ public class Huffman { boolean var3 = true; Buffer var4 = new Buffer(var0); int var5 = -1; + int var6; - label71: - while (true) { - int var6 = var4.method5509(); - if (var6 == 0) { - return var3; - } - + while ((var6 = var4.method5509()) != 0) { var5 += var6; int var7 = 0; boolean var8 = false; - - while (true) { - int var9; - while (!var8) { - var9 = var4.readUShortSmart(); - if (var9 == 0) { - continue label71; - } - - var7 += var9 - 1; - int var10 = var7 & 63; - int var11 = var7 >> 6 & 63; - int var12 = var4.readUnsignedByte() >> 2; - int var13 = var11 + var1; - int var14 = var10 + var2; - if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) { - ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var5); - if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { - if (!var15.method4608()) { - ++Client.field707; - var3 = false; - } - - var8 = true; - } - } - } - + int var9; + while (!var8) { var9 = var4.readUShortSmart(); if (var9 == 0) { - break; + continue; } + var7 += var9 - 1; + int var10 = var7 & 63; + int var11 = var7 >> 6 & 63; + int var12 = var4.readUnsignedByte() >> 2; + int var13 = var11 + var1; + int var14 = var10 + var2; + if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) { + ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var5); + if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { + if (!var15.needsModelFiles()) { + ++Client.field707; + var3 = false; + } - var4.readUnsignedByte(); + var8 = true; + } + } } + + var9 = var4.readUShortSmart(); + if (var9 == 0) { + continue; + } + var4.readUnsignedByte(); } + return var3; } @ObfuscatedName("bp") diff --git a/runescape-client/src/main/java/Instrument.java b/runescape-client/src/main/java/Instrument.java index 38018585f5..8c49b99258 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -172,12 +172,11 @@ public class Instrument { if (this.volumeMultiplier != null) { this.volumeMultiplier.reset(); this.volumeMultiplierAmplitude.reset(); - var8 = (int)((double)(this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3); - var9 = (int)((double)this.volumeMultiplier.start * 32.768D / var3); + var8 = (int)((this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3); + var9 = (int)(this.volumeMultiplier.start * 32.768D / var3); } - int var11; - for (var11 = 0; var11 < 5; ++var11) { + for (int var11 = 0; var11 < 5; ++var11) { if (this.oscillatorVolume[var11] != 0) { Instrument_phases[var11] = 0; Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3); @@ -187,52 +186,44 @@ public class Instrument { } } - int var12; - int var13; - int var14; - int var15; - int[] var10000; - for (var11 = 0; var11 < var1; ++var11) { - var12 = this.pitch.doStep(var1); - var13 = this.volume.doStep(var1); + for (int var11 = 0; var11 < var1; ++var11) { + int var12 = this.pitch.doStep(var1); + int var13 = this.volume.doStep(var1); if (this.pitchModifier != null) { - var14 = this.pitchModifier.doStep(var1); - var15 = this.pitchModifierAmplitude.doStep(var1); + int var14 = this.pitchModifier.doStep(var1); + int var15 = this.pitchModifierAmplitude.doStep(var1); var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1; var7 = var7 + var6 + (var14 * var5 >> 16); } if (this.volumeMultiplier != null) { - var14 = this.volumeMultiplier.doStep(var1); - var15 = this.volumeMultiplierAmplitude.doStep(var1); + int var14 = this.volumeMultiplier.doStep(var1); + int var15 = this.volumeMultiplierAmplitude.doStep(var1); var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + 32768) >> 15; var10 = var10 + var9 + (var14 * var8 >> 16); } - for (var14 = 0; var14 < 5; ++var14) { + for (int var14 = 0; var14 < 5; ++var14) { if (this.oscillatorVolume[var14] != 0) { - var15 = Instrument_delays[var14] + var11; + int var15 = Instrument_delays[var14] + var11; if (var15 < var1) { - var10000 = Instrument_samples; - var10000[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); - var10000 = Instrument_phases; - var10000[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; + Instrument_samples[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); + Instrument_phases[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; } } } } - int var16; if (this.release != null) { this.release.reset(); this.attack.reset(); - var11 = 0; + int var11 = 0; boolean var19 = false; boolean var20 = true; - - for (var14 = 0; var14 < var1; ++var14) { - var15 = this.release.doStep(var1); - var16 = this.attack.doStep(var1); + for (int var14 = 0; var14 < var1; ++var14) { + int var12; + int var15 = this.release.doStep(var1); + int var16 = this.attack.doStep(var1); if (var20) { var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; } else { @@ -252,35 +243,33 @@ public class Instrument { } if (this.delayTime > 0 && this.delayDecay > 0) { - var11 = (int)((double)this.delayTime * var3); + int var11 = (int)((double)this.delayTime * var3); - for (var12 = var11; var12 < var1; ++var12) { - var10000 = Instrument_samples; - var10000[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; + for (int var12 = var11; var12 < var1; ++var12) { + Instrument_samples[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; } } if (this.filter.pairs[0] > 0 || this.filter.pairs[1] > 0) { this.filterEnvelope.reset(); - var11 = this.filterEnvelope.doStep(var1 + 1); - var12 = this.filter.compute(0, (float)var11 / 65536.0F); - var13 = this.filter.compute(1, (float)var11 / 65536.0F); + int var11 = this.filterEnvelope.doStep(var1 + 1); + int var12 = this.filter.compute(0, (float)var11 / 65536.0F); + int var13 = this.filter.compute(1, (float)var11 / 65536.0F); if (var1 >= var12 + var13) { - var14 = 0; - var15 = var13; + int var14 = 0; + int var15 = var13; if (var13 > var1 - var12) { var15 = var1 - var12; } - int var17; while (var14 < var15) { - var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); + int var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - for (var17 = 0; var17 < var12; ++var17) { + for (int var17 = 0; var17 < var12; ++var17) { var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16); } - for (var17 = 0; var17 < var14; ++var17) { + for (int var17 = 0; var17 < var14; ++var17) { var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); } @@ -296,15 +285,14 @@ public class Instrument { var15 = var1 - var12; } - int var18; while (var14 < var15) { - var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); + int var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - for (var18 = 0; var18 < var12; ++var18) { + for (int var18 = 0; var18 < var12; ++var18) { var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); } - for (var18 = 0; var18 < var13; ++var18) { + for (int var18 = 0; var18 < var13; ++var18) { var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); } @@ -313,39 +301,40 @@ public class Instrument { ++var14; } - if (var14 >= var1 - var12) { - while (var14 < var1) { - var17 = 0; - - for (var18 = var14 + var12 - var1; var18 < var12; ++var18) { - var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); - } - - for (var18 = 0; var18 < var13; ++var18) { - var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); - } - - Instrument_samples[var14] = var17; - this.filterEnvelope.doStep(var1 + 1); - ++var14; - } + if (var14 < var1 - var12) { + var12 = this.filter.compute(0, (float) var11 / 65536.0F); + var13 = this.filter.compute(1, (float) var11 / 65536.0F); + var15 += 128; + } else { break; } - var12 = this.filter.compute(0, (float)var11 / 65536.0F); - var13 = this.filter.compute(1, (float)var11 / 65536.0F); - var15 += 128; + } + while (var14 < var1) { + int var17 = 0; + + for (int var18 = var14 + var12 - var1; var18 < var12; ++var18) { + var17 += (int) ((long) Instrument_samples[var14 + var12 - 1 - var18] * (long) AudioFilter.coefficients[0][var18] >> 16); + } + + for (int var18 = 0; var18 < var13; ++var18) { + var17 -= (int) ((long) Instrument_samples[var14 - 1 - var18] * (long) AudioFilter.coefficients[1][var18] >> 16); + } + + Instrument_samples[var14] = var17; + this.filterEnvelope.doStep(var1 + 1); + ++var14; } } } - for (var11 = 0; var11 < var1; ++var11) { + for (int var11 = 0; var11 < var1; ++var11) { if (Instrument_samples[var11] < -32768) { Instrument_samples[var11] = -32768; } - if (Instrument_samples[var11] > 32767) { - Instrument_samples[var11] = 32767; + if (Instrument_samples[var11] > 0x7fff) { + Instrument_samples[var11] = 0x7fff; } } @@ -356,15 +345,15 @@ public class Instrument { @Export("evaluateWave") final int evaluateWave(int var1, int var2, int var3) { if (var3 == 1) { - return (var1 & 32767) < 16384 ? var2 : -var2; + return (var1 & 0x7fff) < 16384 ? var2 : -var2; } if (var3 == 2) { - return Instrument_sine[var1 & 32767] * var2 >> 14; + return Instrument_sine[var1 & 0x7fff] * var2 >> 14; } if (var3 == 3) { - return (var2 * (var1 & 32767) >> 14) - var2; + return (var2 * (var1 & 0x7fff) >> 14) - var2; } - return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0; + return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 0x7fff] : 0; } @ObfuscatedName("e") diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index bf2bc53958..53aeb88627 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -99,7 +99,8 @@ public class Interpreter { signature = "(II)Z", garbageValue = "1044045879" ) - static final boolean method1936(int var0) { + @Export("isRightClickOnlyMenu") + static final boolean isRightClickOnlyMenu(int var0) { if (var0 < 0) { return false; } diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index e29719f619..afd79d9ce4 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -61,6 +61,6 @@ public class ItemContainer extends Node { garbageValue = "-1225456641" ) static int method1116(int var0) { - return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F)); + return (int)Math.pow(2.0D, (double)(var0 / 256.0F + 7.0F)); } } diff --git a/runescape-client/src/main/java/ItemDefinition.java b/runescape-client/src/main/java/ItemDefinition.java index 5c481e43c1..7b0cab235d 100644 --- a/runescape-client/src/main/java/ItemDefinition.java +++ b/runescape-client/src/main/java/ItemDefinition.java @@ -385,12 +385,12 @@ public class ItemDefinition extends DualNode { this.yan2d = var1.readUnsignedShort(); } else if (var2 == 7) { this.offsetX2d = var1.readUnsignedShort(); - if (this.offsetX2d > 32767) { + if (this.offsetX2d > 0x7fff) { this.offsetX2d -= 65536; } } else if (var2 == 8) { this.offsetY2d = var1.readUnsignedShort(); - if (this.offsetY2d > 32767) { + if (this.offsetY2d > 0x7fff) { this.offsetY2d -= 65536; } } else if (var2 == 11) { @@ -416,80 +416,76 @@ public class ItemDefinition extends DualNode { } } else if (var2 >= 35 && var2 < 40) { this.inventoryActions[var2 - 35] = var1.readStringCp1252NullTerminated(); - } else { - int var3; - int var4; - if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; + } else if (var2 == 40) { + int var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 42) { - this.shiftClickIndex = var1.readByte(); - } else if (var2 == 65) { - this.isTradable = true; - } else if (var2 == 78) { - this.maleModel2 = var1.readUnsignedShort(); - } else if (var2 == 79) { - this.femaleModel2 = var1.readUnsignedShort(); - } else if (var2 == 90) { - this.maleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 91) { - this.femaleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 92) { - this.maleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 93) { - this.femaleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 95) { - this.zan2d = var1.readUnsignedShort(); - } else if (var2 == 97) { - this.note = var1.readUnsignedShort(); - } else if (var2 == 98) { - this.noteTemplate = var1.readUnsignedShort(); - } else if (var2 >= 100 && var2 < 110) { - if (this.countobj == null) { - this.countobj = new int[10]; - this.countco = new int[10]; - } - - this.countobj[var2 - 100] = var1.readUnsignedShort(); - this.countco[var2 - 100] = var1.readUnsignedShort(); - } else if (var2 == 110) { - this.resizeX = var1.readUnsignedShort(); - } else if (var2 == 111) { - this.resizeY = var1.readUnsignedShort(); - } else if (var2 == 112) { - this.resizeZ = var1.readUnsignedShort(); - } else if (var2 == 113) { - this.ambient = var1.readByte(); - } else if (var2 == 114) { - this.contrast = var1.readByte() * 5; - } else if (var2 == 115) { - this.team = var1.readUnsignedByte(); - } else if (var2 == 139) { - this.unnotedId = var1.readUnsignedShort(); - } else if (var2 == 140) { - this.notedId = var1.readUnsignedShort(); - } else if (var2 == 148) { - this.placeholder = var1.readUnsignedShort(); - } else if (var2 == 149) { - this.placeholderTemplate = var1.readUnsignedShort(); - } else if (var2 == 249) { - this.params = WorldMapArea.readStringIntParameters(var1, this.params); + for (int var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short) var1.readUnsignedShort(); + this.recolorTo[var4] = (short) var1.readUnsignedShort(); } + } else if (var2 == 41) { + int var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (int var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short) var1.readUnsignedShort(); + this.retextureTo[var4] = (short) var1.readUnsignedShort(); + } + } else if (var2 == 42) { + this.shiftClickIndex = var1.readByte(); + } else if (var2 == 65) { + this.isTradable = true; + } else if (var2 == 78) { + this.maleModel2 = var1.readUnsignedShort(); + } else if (var2 == 79) { + this.femaleModel2 = var1.readUnsignedShort(); + } else if (var2 == 90) { + this.maleHeadModel = var1.readUnsignedShort(); + } else if (var2 == 91) { + this.femaleHeadModel = var1.readUnsignedShort(); + } else if (var2 == 92) { + this.maleHeadModel2 = var1.readUnsignedShort(); + } else if (var2 == 93) { + this.femaleHeadModel2 = var1.readUnsignedShort(); + } else if (var2 == 95) { + this.zan2d = var1.readUnsignedShort(); + } else if (var2 == 97) { + this.note = var1.readUnsignedShort(); + } else if (var2 == 98) { + this.noteTemplate = var1.readUnsignedShort(); + } else if (var2 >= 100 && var2 < 110) { + if (this.countobj == null) { + this.countobj = new int[10]; + this.countco = new int[10]; + } + + this.countobj[var2 - 100] = var1.readUnsignedShort(); + this.countco[var2 - 100] = var1.readUnsignedShort(); + } else if (var2 == 110) { + this.resizeX = var1.readUnsignedShort(); + } else if (var2 == 111) { + this.resizeY = var1.readUnsignedShort(); + } else if (var2 == 112) { + this.resizeZ = var1.readUnsignedShort(); + } else if (var2 == 113) { + this.ambient = var1.readByte(); + } else if (var2 == 114) { + this.contrast = var1.readByte() * 5; + } else if (var2 == 115) { + this.team = var1.readUnsignedByte(); + } else if (var2 == 139) { + this.unnotedId = var1.readUnsignedShort(); + } else if (var2 == 140) { + this.notedId = var1.readUnsignedShort(); + } else if (var2 == 148) { + this.placeholder = var1.readUnsignedShort(); + } else if (var2 == 149) { + this.placeholderTemplate = var1.readUnsignedShort(); + } else if (var2 == 249) { + this.params = WorldMapArea.readStringIntParameters(var1, this.params); } } @@ -592,7 +588,8 @@ public class ItemDefinition extends DualNode { signature = "(II)Lds;", garbageValue = "1813353109" ) - public final ModelData method4643(int var1) { + @Export("getModelData") + public final ModelData getModelData(int var1) { int var3; if (this.countobj != null && var1 > 1) { int var2 = -1; @@ -604,16 +601,16 @@ public class ItemDefinition extends DualNode { } if (var2 != -1) { - return WorldMapArea.getItemDefinition(var2).method4643(1); + return WorldMapArea.ItemDefinition_get(var2).getModelData(1); } } - ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0); + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); if (var4 == null) { return null; } if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var4.method2786(this.resizeX, this.resizeY, this.resizeZ); + var4.resize(this.resizeX, this.resizeY, this.resizeZ); } if (this.recolorFrom != null) { @@ -648,7 +645,7 @@ public class ItemDefinition extends DualNode { } if (var2 != -1) { - return WorldMapArea.getItemDefinition(var2).getModel(1); + return WorldMapArea.ItemDefinition_get(var2).getModel(1); } } @@ -656,12 +653,12 @@ public class ItemDefinition extends DualNode { if (var5 != null) { return var5; } - ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0); + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); if (var6 == null) { return null; } if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var6.method2786(this.resizeX, this.resizeY, this.resizeZ); + var6.resize(this.resizeX, this.resizeY, this.resizeZ); } int var4; @@ -690,21 +687,22 @@ public class ItemDefinition extends DualNode { ) @Export("getCountObj") public ItemDefinition getCountObj(int var1) { - if (this.countobj != null && var1 > 1) { - int var2 = -1; + if (this.countobj == null || var1 <= 1) { + return this; + } + int var2 = -1; - for (int var3 = 0; var3 < 10; ++var3) { - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } - - if (var2 != -1) { - return WorldMapArea.getItemDefinition(var2); + for (int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; } } - return this; + if (var2 == -1) { + return this; + } + + return WorldMapArea.ItemDefinition_get(var2); } @ObfuscatedName("r") @@ -712,11 +710,12 @@ public class ItemDefinition extends DualNode { signature = "(ZB)Z", garbageValue = "-66" ) - public final boolean method4646(boolean var1) { + @Export("hasNoValidModel") + public final boolean hasNoValidModel(boolean forGender) { int var2 = this.maleModel; int var3 = this.maleModel1; int var4 = this.maleModel2; - if (var1) { + if (forGender) { var2 = this.femaleModel; var3 = this.femaleModel1; var4 = this.femaleModel2; @@ -759,11 +758,11 @@ public class ItemDefinition extends DualNode { if (var2 == -1) { return null; } - ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0); + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); if (var3 != -1) { - ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0); + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); if (var4 != -1) { - ModelData var7 = ModelData.method2769(ItemDefinition_modelArchive, var4, 0); + ModelData var7 = ModelData.ModelData_get(ItemDefinition_modelArchive, var4, 0); ModelData[] var8 = new ModelData[]{var5, var6, var7}; var5 = new ModelData(var8, 3); } else { @@ -773,11 +772,11 @@ public class ItemDefinition extends DualNode { } if (!var1 && this.maleOffset != 0) { - var5.method2782(0, this.maleOffset, 0); + var5.changeOffset(0, this.maleOffset, 0); } if (var1 && this.femaleOffset != 0) { - var5.method2782(0, this.femaleOffset, 0); + var5.changeOffset(0, this.femaleOffset, 0); } int var9; @@ -840,9 +839,9 @@ public class ItemDefinition extends DualNode { if (var2 == -1) { return null; } - ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0); + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); if (var3 != -1) { - ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0); + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); ModelData[] var6 = new ModelData[]{var4, var5}; var4 = new ModelData(var6, 2); } diff --git a/runescape-client/src/main/java/JagexCache.java b/runescape-client/src/main/java/JagexCache.java new file mode 100644 index 0000000000..dafe0d312e --- /dev/null +++ b/runescape-client/src/main/java/JagexCache.java @@ -0,0 +1,52 @@ +import java.io.File; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ff") +@Implements("JagexCache") +public class JagexCache { + @ObfuscatedName("p") + @Export("JagexCache_locationFile") + static File JagexCache_locationFile; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lmn;" + ) + @Export("JagexCache_randomDat") + public static BufferedFile JagexCache_randomDat; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lmn;" + ) + @Export("JagexCache_dat2File") + public static BufferedFile JagexCache_dat2File; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lmn;" + ) + @Export("JagexCache_idx255File") + public static BufferedFile JagexCache_idx255File; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "[Lmn;" + ) + @Export("JagexCache_idxFiles") + public static BufferedFile[] JagexCache_idxFiles; + @ObfuscatedName("g") + @Export("JagexCache_validCacheLocations") + static String[] JagexCache_validCacheLocations; + @ObfuscatedName("dh") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive1") + static Archive archive1; + + static { + JagexCache_randomDat = null; + JagexCache_dat2File = null; + JagexCache_idx255File = null; + } +} diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 27e9dda651..ce5d95e79b 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -160,7 +160,7 @@ public final class KeyHandler implements KeyListener, FocusListener { public final void keyTyped(KeyEvent var1) { if (KeyHandler_instance != null) { char var2 = var1.getKeyChar(); - if (var2 != 0 && var2 != '\uffff' && VarpDefinition.method4366(var2)) { + if (var2 != 0 && var2 != 0xffff && VarpDefinition.method4366(var2)) { int var3 = field404 + 1 & 127; if (var3 != field396) { field400[field404] = -1; @@ -208,19 +208,21 @@ public final class KeyHandler implements KeyListener, FocusListener { signature = "(I)V", garbageValue = "-2003037366" ) - static final void method801() { - if (GrandExchangeEvent.field49) { - if (DevicePcmPlayerProvider.clanChat != null) { - DevicePcmPlayerProvider.clanChat.sort(); - } - - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsInClanChat(); - } - - GrandExchangeEvent.field49 = false; + @Export("ClanChat_leave") + static final void ClanChat_leave() { + if (!GrandExchangeEvent.ClanChat_inClanChat) { + return; } + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.sort(); + } + + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsInClanChat(); + } + + GrandExchangeEvent.ClanChat_inClanChat = false; } } diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index 506e333993..5bbcad15ad 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -89,39 +89,35 @@ public class KitDefinition extends DualNode { void decodeNext(Buffer var1, int var2) { if (var2 == 1) { this.bodypartID = var1.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 2) { - var3 = var1.readUnsignedByte(); - this.models2 = new int[var3]; + } else if (var2 == 2) { + int var3 = var1.readUnsignedByte(); + this.models2 = new int[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.models2[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 3) { - this.nonSelectable = true; - } else if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 >= 60 && var2 < 70) { - this.models[var2 - 60] = var1.readUnsignedShort(); + for (int var4 = 0; var4 < var3; ++var4) { + this.models2[var4] = var1.readUnsignedShort(); } + } else if (var2 == 3) { + this.nonSelectable = true; + } else if (var2 == 40) { + int var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (int var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short) var1.readUnsignedShort(); + this.recolorTo[var4] = (short) var1.readUnsignedShort(); + } + } else if (var2 == 41) { + int var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (int var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short) var1.readUnsignedShort(); + this.retextureTo[var4] = (short) var1.readUnsignedShort(); + } + } else if (var2 >= 60 && var2 < 70) { + this.models[var2 - 60] = var1.readUnsignedShort(); } } @@ -160,7 +156,7 @@ public class KitDefinition extends DualNode { ModelData[] var1 = new ModelData[this.models2.length]; for (int var2 = 0; var2 < this.models2.length; ++var2) { - var1[var2] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models2[var2], 0); + var1[var2] = ModelData.ModelData_get(class288.KitDefinition_modelsArchive, this.models2[var2], 0); } ModelData var4; @@ -208,13 +204,14 @@ public class KitDefinition extends DualNode { signature = "(B)Lds;", garbageValue = "-27" ) - public ModelData method4441() { + @Export("getKitDefinitionModels") + public ModelData getKitDefinitionModels() { ModelData[] var1 = new ModelData[5]; int var2 = 0; for (int var3 = 0; var3 < 5; ++var3) { if (this.models[var3] != -1) { - var1[var2++] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models[var3], 0); + var1[var2++] = ModelData.ModelData_get(class288.KitDefinition_modelsArchive, this.models[var3], 0); } } @@ -243,62 +240,7 @@ public class KitDefinition extends DualNode { static final void method4461() { for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { int var10002 = Client.queuedSoundEffectDelays[var0]--; - if (Client.queuedSoundEffectDelays[var0] >= -10) { - SoundEffect var9 = Client.soundEffects[var0]; - if (var9 == null) { - Object var10000 = null; - var9 = SoundEffect.readSoundEffect(class13.archive4, Client.soundEffectIds[var0], 0); - if (var9 == null) { - continue; - } - - int[] var13 = Client.queuedSoundEffectDelays; - var13[var0] += var9.calculateDelay(); - Client.soundEffects[var0] = var9; - } - - 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 { + if (Client.queuedSoundEffectDelays[var0] < -10) { --Client.soundEffectCount; for (int var1 = var0; var1 < Client.soundEffectCount; ++var1) { @@ -310,7 +252,61 @@ public class KitDefinition extends DualNode { } --var0; + continue; } + SoundEffect var9 = Client.soundEffects[var0]; + if (var9 == null) { + Object var10000 = null; + var9 = SoundEffect.readSoundEffect(class13.archive4, Client.soundEffectIds[var0], 0); + if (var9 == null) { + continue; + } + + Client.queuedSoundEffectDelays[var0] += var9.calculateDelay(); + Client.soundEffects[var0] = var9; + } + + if (Client.queuedSoundEffectDelays[var0] >= 0) { + continue; + } + int var2; + if (Client.soundLocations[var0] == 0) { + var2 = Client.soundEffectVolume; + } else { + 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; + } + + 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.field699) { @@ -325,7 +321,7 @@ public class KitDefinition extends DualNode { if (!var12) { if (Client.field911 != 0 && Client.field889 != -1) { - class169.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false); + FileSystem.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false); } Client.field699 = false; diff --git a/runescape-client/src/main/java/Language.java b/runescape-client/src/main/java/Language.java index 2e79370daf..4f470ef241 100644 --- a/runescape-client/src/main/java/Language.java +++ b/runescape-client/src/main/java/Language.java @@ -162,7 +162,8 @@ public class Language implements Enumerated { signature = "(I)V", garbageValue = "-1942171448" ) - public static final void method3665() { + @Export("ViewportMouse_clear") + public static final void ViewportMouse_clear() { ViewportMouse.ViewportMouse_isInViewport = false; ViewportMouse.ViewportMouse_entityCount = 0; } @@ -173,18 +174,18 @@ public class Language implements Enumerated { garbageValue = "1477910272" ) static boolean method3667() { - if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); - if (!var0.isLoaded()) { - return false; - } - - ++Client.archiveLoaderArchive; - } - + if (Client.archiveLoaders == null || Client.archiveLoaderArchive >= Client.archiveLoaders.size()) { return true; } + while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); + if (!var0.isLoaded()) { + return false; + } + + ++Client.archiveLoaderArchive; + } + return true; } diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index 09a46240a2..d60aba3f9d 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -22,11 +22,12 @@ public class Link { @ObfuscatedName("q") @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; } } diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index f68aeab1a6..3a299a0617 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -40,7 +40,8 @@ public class LoginPacket implements ClientPacketMarker @Export("LoginPacket_indexedValues") static final LoginPacket[] LoginPacket_indexedValues; @ObfuscatedName("a") - static String[] field2309; + @Export("validCacheNames") + static String[] validCacheNames; @ObfuscatedName("l") @ObfuscatedGetter( intValue = 1829786709 diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index f93dadc05a..bc91db69a9 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -94,7 +94,7 @@ public class LoginScreenAnimation { int var1; for (var1 = 0; var1 < 64; ++var1) { - this.field1045[var1] = var1 * 262144; + this.field1045[var1] = var1 * 0x40000; } for (var1 = 0; var1 < 64; ++var1) { @@ -120,7 +120,7 @@ public class LoginScreenAnimation { } for (var1 = 0; var1 < 64; ++var1) { - this.field1046[var1 + 128] = var1 * 262144 + 65535; + this.field1046[var1 + 128] = var1 * 0x40000 + 0xffff; } for (var1 = 0; var1 < 64; ++var1) { @@ -134,7 +134,7 @@ public class LoginScreenAnimation { } for (var1 = 0; var1 < 64; ++var1) { - this.field1047[var1 + 64] = var1 * 262144 + 255; + this.field1047[var1 + 64] = var1 * 0x40000 + 255; } for (var1 = 0; var1 < 64; ++var1) { @@ -482,7 +482,8 @@ public class LoginScreenAnimation { signature = "(II)I", garbageValue = "-1877742024" ) - static int method1744(int var0) { + @Export("Messages_getHistorySize") + static int Messages_getHistorySize(int var0) { ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); return var1 == null ? 0 : var1.size(); } @@ -500,7 +501,7 @@ public class LoginScreenAnimation { var8 = 100; } - int var9 = (Client.field908 - Client.field906) * var8 / 100 + Client.field906; + int var9 = (Client.zoomWidth - Client.zoomHeight) * var8 / 100 + Client.zoomHeight; int var7 = var5 * var9 / 256; var8 = 2048 - var3 & 2047; var9 = 2048 - var4 & 2047; diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index f211c23d0e..9f906ee130 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -49,7 +49,8 @@ public class MenuAction { signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgu;B)I", garbageValue = "-1" ) - public static int method1993(CharSequence var0, CharSequence var1, Language var2) { + @Export("compareStrings") + public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { int var3 = var0.length(); int var4 = var1.length(); int var5 = 0; @@ -114,13 +115,13 @@ public class MenuAction { } var8 = var12; - var9 = PacketBufferNode.method3623(var9, var2); - var10 = PacketBufferNode.method3623(var10, var2); + var9 = PacketBufferNode.standardizeChar(var9, var2); + var10 = PacketBufferNode.standardizeChar(var10, var2); if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { var9 = Character.toLowerCase(var9); var10 = Character.toLowerCase(var10); if (var10 != var9) { - return WorldMapArea.method387(var9, var2) - WorldMapArea.method387(var10, var2); + return WorldMapArea.lowercaseChar(var9, var2) - WorldMapArea.lowercaseChar(var10, var2); } } } @@ -144,7 +145,7 @@ public class MenuAction { var18 = Character.toLowerCase(var18); var20 = Character.toLowerCase(var20); if (var18 != var20) { - return WorldMapArea.method387(var18, var2) - WorldMapArea.method387(var20, var2); + return WorldMapArea.lowercaseChar(var18, var2) - WorldMapArea.lowercaseChar(var20, var2); } } } @@ -157,7 +158,7 @@ public class MenuAction { var20 = var0.charAt(var19); char var13 = var1.charAt(var19); if (var13 != var20) { - return WorldMapArea.method387(var20, var2) - WorldMapArea.method387(var13, var2); + return WorldMapArea.lowercaseChar(var20, var2) - WorldMapArea.lowercaseChar(var13, var2); } } diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java index 1c19493559..cc2884311b 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -49,7 +49,8 @@ public class Messages { signature = "(IB)I", garbageValue = "102" ) - public static int method2176(int var0) { + @Export("ViewportMouse_unpackY") + public static int ViewportMouse_unpackY(int var0) { long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; int var1 = (int)(var2 >>> 7 & 127L); return var1; @@ -74,7 +75,7 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2247, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2247, Client.packetWriter.isaacCipher); var8.packetBuffer.method5475(class1.baseY * 64 + var1); var8.packetBuffer.writeShortLE(WorldMapIcon_1.selectedItemSlot); var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); @@ -82,7 +83,7 @@ public class Messages { var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); var8.packetBuffer.writeShort(var3); var8.packetBuffer.writeShortLE(class4.selectedItemId); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var2 == 2) { Client.mouseCrossX = var6; Client.mouseCrossY = var7; @@ -90,14 +91,14 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2295, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2295, Client.packetWriter.isaacCipher); var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); var8.packetBuffer.method5530(var3); var8.packetBuffer.writeIntLE16(WorldMapEvent.field359); var8.packetBuffer.writeShort(Client.field848); var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var2 == 3) { Client.mouseCrossX = var6; Client.mouseCrossY = var7; @@ -105,12 +106,12 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2213, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2213, Client.packetWriter.isaacCipher); var8.packetBuffer.writeShort(class1.baseY * 64 + var1); var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); var8.packetBuffer.method5530(var3); var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var2 == 4) { Client.mouseCrossX = var6; Client.mouseCrossY = var7; @@ -118,12 +119,12 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2282, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2282, Client.packetWriter.isaacCipher); var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); var8.packetBuffer.writeShort(var3); var8.packetBuffer.writeShort(class1.baseY * 64 + var1); var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var2 == 5) { Client.mouseCrossX = var6; Client.mouseCrossY = var7; @@ -131,12 +132,12 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2292, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2292, Client.packetWriter.isaacCipher); var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); var8.packetBuffer.method5530(var3); var8.packetBuffer.method5475(class1.baseY * 64 + var1); var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var2 == 6) { Client.mouseCrossX = var6; Client.mouseCrossY = var7; @@ -144,678 +145,636 @@ public class Messages { Client.mouseCrossState = 0; Client.destinationX = var0; Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2259, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2259, Client.packetWriter.isaacCipher); var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); var8.packetBuffer.method5530(class1.baseY * 64 + var1); var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); var8.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var8); - } else { - PacketBufferNode var9; - NPC var13; - if (var2 == 7) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2207, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5475(class4.selectedItemId); - var9.packetBuffer.writeShort(WorldMapIcon_1.selectedItemSlot); - var9.packetBuffer.method5475(var3); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeInt(MouseRecorder.selectedItemWidget); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 8) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2304, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5475(var3); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntLE(WorldMapEvent.field359); - var9.packetBuffer.method5530(Client.field848); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 9) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2274, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 10) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2204, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5530(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 11) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2254, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5475(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 12) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2303, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 13) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2214, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5530(var3); - Client.packetWriter.method2219(var9); - } + Client.packetWriter.addNode(var8); + } else if (var2 == 7) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2207, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(class4.selectedItemId); + var9.packetBuffer.writeShort(WorldMapIcon_1.selectedItemSlot); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeInt(MouseRecorder.selectedItemWidget); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 8) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2304, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntLE(WorldMapEvent.field359); + var9.packetBuffer.method5530(Client.field848); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 9) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2274, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 10) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2204, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 11) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2254, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 12) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2303, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 13) { + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2214, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 14) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2284, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.writeShort(class4.selectedItemId); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 15) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2277, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeIntLE16(WorldMapEvent.field359); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(Client.field848); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 16) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2221, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); + var8.packetBuffer.method5475(class4.selectedItemId); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(WorldMapIcon_1.selectedItemSlot); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 17) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2293, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(WorldMapEvent.field359); + var8.packetBuffer.writeShort(Client.field848); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 18) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2208, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 19) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShort(class1.baseY * 64 + var1); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 20) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); + var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 21) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2203, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 22) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2218, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + Client.packetWriter.addNode(var8); + } else if (var2 == 23) { + if (Client.isMenuOpen) { + GrandExchangeOfferWorldComparator.scene.setViewportWalking(); } else { - Player var15; - if (var2 == 14) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2284, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); - var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.writeShort(class4.selectedItemId); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 15) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2277, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeIntLE16(WorldMapEvent.field359); - var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5530(Client.field848); - var9.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 16) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2221, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); - var8.packetBuffer.method5475(class4.selectedItemId); - var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(WorldMapIcon_1.selectedItemSlot); - var8.packetBuffer.method5475(var3); - var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); - Client.packetWriter.method2219(var8); - } else if (var2 == 17) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2293, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(WorldMapEvent.field359); - var8.packetBuffer.writeShort(Client.field848); - var8.packetBuffer.method5530(class1.baseY * 64 + var1); - var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var8); - } else if (var2 == 18) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2208, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5475(class1.baseY * 64 + var1); - var8.packetBuffer.writeShortLE(var3); - var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var8); - } else if (var2 == 19) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2256, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5475(var3); - var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.writeShort(class1.baseY * 64 + var1); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var8); - } else if (var2 == 20) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2269, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); - var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var8); - } else if (var2 == 21) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2203, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5530(class1.baseY * 64 + var1); - var8.packetBuffer.writeShortLE(var3); - var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var8); - } else if (var2 == 22) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2218, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5475(var3); - var8.packetBuffer.method5530(class1.baseY * 64 + var1); - var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); - Client.packetWriter.method2219(var8); - } else if (var2 == 23) { - if (Client.isMenuOpen) { - GrandExchangeOfferWorldComparator.scene.method3104(); - } else { - GrandExchangeOfferWorldComparator.scene.menuOpen(class42.plane, var0, var1, true); - } - } else { - PacketBufferNode var10; - Widget var16; - if (var2 == 24) { - var16 = class80.getWidget(var1); - boolean var12 = true; - if (var16.contentType > 0) { - var12 = GrandExchangeOfferAgeComparator.method149(var16); - } + GrandExchangeOfferWorldComparator.scene.menuOpen(class42.plane, var0, var1, true); + } + } else if (var2 == 24) { + Widget var16 = class80.getWidget(var1); + boolean var12 = true; + if (var16.contentType > 0) { + var12 = GrandExchangeOfferAgeComparator.method149(var16); + } - if (var12) { - var10 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - Client.packetWriter.method2219(var10); - } - } else { - if (var2 == 25) { - var16 = Client.getWidgetChild(var1, var0); - if (var16 != null) { - WorldMapID.method542(); - TileItem.method2053(var1, var0, HealthBar.method1957(class268.getWidgetClickMask(var16)), var16.itemId); - Client.isItemSelected = 0; - Client.selectedSpellActionName = FontName.method5318(var16); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - if (var16.isIf3) { - Client.selectedSpellName = var16.dataText + ClientPreferences.colorStartTag(0xffffff); - } else { - Client.selectedSpellName = ClientPreferences.colorStartTag(0xff00) + var16.spellName + ClientPreferences.colorStartTag(0xffffff); - } - } - - return; - } - - if (var2 == 26) { - GrandExchangeEvent.method73(); - } else { - int var11; - Widget var14; - if (var2 == 28) { - var8 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.method2219(var8); - var14 = class80.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var11 = var14.cs1Instructions[0][1]; - Varps.Varps_main[var11] = 1 - Varps.Varps_main[var11]; - GrandExchangeOfferUnitPriceComparator.method124(var11); - } - } else if (var2 == 29) { - var8 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.method2219(var8); - var14 = class80.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var11 = var14.cs1Instructions[0][1]; - if (Varps.Varps_main[var11] != var14.cs1ComparisonValues[0]) { - Varps.Varps_main[var11] = var14.cs1ComparisonValues[0]; - GrandExchangeOfferUnitPriceComparator.method124(var11); - } - } - } else if (var2 == 30) { - 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); - var8.packetBuffer.writeIntME(var1); - var8.packetBuffer.writeIntLE16(MouseRecorder.selectedItemWidget); - var8.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); - var8.packetBuffer.writeShortLE(class4.selectedItemId); - var8.packetBuffer.writeShortLE(var0); - var8.packetBuffer.method5475(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 32) { - var8 = Archive.method4265(ClientPacket.field2232, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(WorldMapEvent.field359); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.writeShort(var0); - var8.packetBuffer.writeShortLE(var3); - var8.packetBuffer.writeShortLE(Client.field848); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 33) { - var8 = Archive.method4265(ClientPacket.field2290, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(var3); - var8.packetBuffer.writeIntME(var1); - var8.packetBuffer.writeShort(var0); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 34) { - var8 = Archive.method4265(ClientPacket.field2239, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5530(var3); - var8.packetBuffer.writeIntLE16(var1); - var8.packetBuffer.method5475(var0); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 35) { - var8 = Archive.method4265(ClientPacket.field2265, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(var1); - var8.packetBuffer.method5475(var0); - var8.packetBuffer.method5475(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 36) { - var8 = Archive.method4265(ClientPacket.field2281, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5475(var3); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.method5475(var0); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 37) { - var8 = Archive.method4265(ClientPacket.field2261, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.writeShort(var0); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else { - if (var2 == 38) { - WorldMapID.method542(); - var16 = class80.getWidget(var1); - Client.isItemSelected = 1; - WorldMapIcon_1.selectedItemSlot = var0; - MouseRecorder.selectedItemWidget = var1; - class4.selectedItemId = var3; - Strings.invalidateWidget(var16); - Client.selectedItemName = ClientPreferences.colorStartTag(16748608) + WorldMapArea.getItemDefinition(var3).name + ClientPreferences.colorStartTag(0xffffff); - if (Client.selectedItemName == null) { - Client.selectedItemName = "null"; - } - - return; - } - - if (var2 == 39) { - var8 = Archive.method4265(ClientPacket.field2249, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5475(var3); - var8.packetBuffer.writeIntLE16(var1); - var8.packetBuffer.writeShortLE(var0); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 40) { - var8 = Archive.method4265(ClientPacket.field2229, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE16(var1); - var8.packetBuffer.writeShortLE(var0); - var8.packetBuffer.method5530(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 41) { - var8 = Archive.method4265(ClientPacket.field2268, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(var1); - var8.packetBuffer.method5530(var0); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 42) { - var8 = Archive.method4265(ClientPacket.field2267, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - var8.packetBuffer.method5530(var0); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 43) { - var8 = Archive.method4265(ClientPacket.field2235, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.writeIntME(var1); - var8.packetBuffer.writeShort(var0); - Client.packetWriter.method2219(var8); - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - } else if (var2 == 44) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2250, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 45) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2301, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5530(var3); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 46) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2209, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5530(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 47) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2230, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5475(var3); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 48) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2241, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5530(var3); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 49) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2257, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5530(var3); - var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 50) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2278, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var9); - } - } else if (var2 == 51) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = Archive.method4265(ClientPacket.field2253, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5475(var3); - Client.packetWriter.method2219(var9); - } - } else { - label926: { - if (var2 != 57) { - if (var2 == 58) { - var16 = Client.getWidgetChild(var1, var0); - if (var16 != null) { - var9 = Archive.method4265(ClientPacket.field2285, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShortLE(Client.field848); - var9.packetBuffer.writeIntLE16(var1); - var9.packetBuffer.writeShortLE(Client.field812); - var9.packetBuffer.method5475(var0); - var9.packetBuffer.writeInt(WorldMapEvent.field359); - var9.packetBuffer.method5475(var16.itemId); - Client.packetWriter.method2219(var9); - } - break label926; - } - - if (var2 == 1001) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = Archive.method4265(ClientPacket.field2226, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); - var8.packetBuffer.method5475(class1.baseY * 64 + var1); - Client.packetWriter.method2219(var8); - break label926; - } - - if (var2 == 1002) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = Archive.method4265(ClientPacket.field2244, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5530(var3); - Client.packetWriter.method2219(var8); - break label926; - } - - if (var2 == 1003) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var13 = Client.npcs[var3]; - if (var13 != null) { - NPCDefinition var17 = var13.definition; - if (var17.transforms != null) { - var17 = var17.transform(); - } - - if (var17 != null) { - var10 = Archive.method4265(ClientPacket.field2233, Client.packetWriter.isaacCipher); - var10.packetBuffer.method5530(var17.id); - Client.packetWriter.method2219(var10); - } - } - break label926; - } - - if (var2 == 1004) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = Archive.method4265(ClientPacket.field2227, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var8); - break label926; - } - - if (var2 == 1005) { - var16 = class80.getWidget(var1); - if (var16 != null && var16.itemQuantities[var0] >= 100000) { - ScriptEvent.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + WorldMapArea.getItemDefinition(var3).name); - } else { - var9 = Archive.method4265(ClientPacket.field2227, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShortLE(var3); - Client.packetWriter.method2219(var9); - } - - Client.field759 = 0; - ItemContainer.field549 = class80.getWidget(var1); - Client.field698 = var0; - break label926; - } - - if (var2 != 1007) { - if (var2 == 1011 || var2 == 1008 || var2 == 1010 || var2 == 1009 || var2 == 1012) { - BoundaryObject.worldMap.handleMapClick(var2, var3, new Coord(var0), new Coord(var1)); - } - break label926; - } - } - - var16 = Client.getWidgetChild(var1, var0); - if (var16 != null) { - method2163(var3, var1, var0, var16.itemId, var5); - } - } - } - } - } - } + if (var12) { + PacketBufferNode var10 = Archive.getPacketBufferNode(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var10); + } + } else if (var2 == 25) { + Widget var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + WorldMapID.Widget_runOnTargetLeave(); + TileItem.method2053(var1, var0, HealthBar.method1957(class268.getWidgetClickMask(var16)), var16.itemId); + Client.isItemSelected = 0; + Client.selectedSpellActionName = FontName.method5318(var16); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; } + + if (var16.isIf3) { + Client.selectedSpellName = var16.dataText + ClientPreferences.colorStartTag(0xffffff); + } else { + Client.selectedSpellName = ClientPreferences.colorStartTag(0xff00) + var16.spellName + ClientPreferences.colorStartTag(0xffffff); + } + } + + return; + } else if (var2 == 26) { + GrandExchangeEvent.method73(); + } else if (var2 == 28) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + Widget var14 = class80.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + int var11 = var14.cs1Instructions[0][1]; + Varps.Varps_main[var11] = 1 - Varps.Varps_main[var11]; + GrandExchangeOfferUnitPriceComparator.method124(var11); + } + } else if (var2 == 29) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + Widget var14 = class80.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + int var11 = var14.cs1Instructions[0][1]; + if (Varps.Varps_main[var11] != var14.cs1ComparisonValues[0]) { + Varps.Varps_main[var11] = var14.cs1ComparisonValues[0]; + GrandExchangeOfferUnitPriceComparator.method124(var11); + } + } + } else if (var2 == 30) { + if (Client.meslayerContinueWidget == null) { + ScriptFrame.resumePauseWidget(var1, var0); + Client.meslayerContinueWidget = Client.getWidgetChild(var1, var0); + Strings.invalidateWidget(Client.meslayerContinueWidget); + } + } else if (var2 == 31) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2266, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeIntLE16(MouseRecorder.selectedItemWidget); + var8.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); + var8.packetBuffer.writeShortLE(class4.selectedItemId); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5475(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 32) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2232, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(WorldMapEvent.field359); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(Client.field848); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 33) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2290, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 34) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(var3); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.method5475(var0); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 35) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2265, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE(var1); + var8.packetBuffer.method5475(var0); + var8.packetBuffer.method5475(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 36) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2281, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5475(var0); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 37) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 38) { + WorldMapID.Widget_runOnTargetLeave(); + Widget var16 = class80.getWidget(var1); + Client.isItemSelected = 1; + WorldMapIcon_1.selectedItemSlot = var0; + MouseRecorder.selectedItemWidget = var1; + class4.selectedItemId = var3; + Strings.invalidateWidget(var16); + Client.selectedItemName = ClientPreferences.colorStartTag(0xff9040) + WorldMapArea.ItemDefinition_get(var3).name + ClientPreferences.colorStartTag(0xffffff); + if (Client.selectedItemName == null) { + Client.selectedItemName = "null"; + } + + return; + } else if (var2 == 39) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.writeShortLE(var0); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 40) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5530(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 41) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE(var1); + var8.packetBuffer.method5530(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 42) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2267, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5530(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 43) { + var8 = Archive.getPacketBufferNode(ClientPacket.field2235, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 44) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 45) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2301, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 46) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2209, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 47) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 48) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2241, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 49) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 50) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2278, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 51) { + Player var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2253, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5475(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 57) { + Widget var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + method2163(var3, var1, var0, var16.itemId, var5); + } + } else if (var2 == 58) { + Widget var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(Client.field848); + var9.packetBuffer.writeIntLE16(var1); + var9.packetBuffer.writeShortLE(Client.field812); + var9.packetBuffer.method5475(var0); + var9.packetBuffer.writeInt(WorldMapEvent.field359); + var9.packetBuffer.method5475(var16.itemId); + Client.packetWriter.addNode(var9); + } + + } else if (var2 == 1001) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.getPacketBufferNode(ClientPacket.field2226, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + + } else if (var2 == 1002) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = Archive.getPacketBufferNode(ClientPacket.field2244, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(var3); + Client.packetWriter.addNode(var8); + + } else if (var2 == 1003) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + NPC var13 = Client.npcs[var3]; + if (var13 != null) { + NPCDefinition var17 = var13.definition; + if (var17.transforms != null) { + var17 = var17.transform(); + } + + if (var17 != null) { + PacketBufferNode var10 = Archive.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher); + var10.packetBuffer.method5530(var17.id); + Client.packetWriter.addNode(var10); + } + } + + } else if (var2 == 1004) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = Archive.getPacketBufferNode(ClientPacket.field2227, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + + } else if (var2 == 1005) { + Widget var16 = class80.getWidget(var1); + if (var16 != null && var16.itemQuantities[var0] >= 100000) { + ScriptEvent.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + WorldMapArea.ItemDefinition_get(var3).name); + } else { + PacketBufferNode var9 = Archive.getPacketBufferNode(ClientPacket.field2227, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var9); + } + + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + + } else if (var2 != 1007) { + if (var2 == 1011 || var2 == 1008 || var2 == 1010 || var2 == 1009 || var2 == 1012) { + BoundaryObject.worldMap.menuAction(var2, var3, new Coord(var0), new Coord(var1)); } } @@ -825,7 +784,7 @@ public class Messages { } if (Client.isSpellSelected) { - WorldMapID.method542(); + WorldMapID.Widget_runOnTargetLeave(); } if (ItemContainer.field549 != null && Client.field759 == 0) { @@ -867,83 +826,83 @@ public class Messages { if (var7) { PacketBufferNode var10; if (var0 == 1) { - var10 = Archive.method4265(ClientPacket.field2271, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2271, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 2) { - var10 = Archive.method4265(ClientPacket.field2255, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2255, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 3) { - var10 = Archive.method4265(ClientPacket.field2206, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2206, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 4) { - var10 = Archive.method4265(ClientPacket.field2222, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2222, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 5) { - var10 = Archive.method4265(ClientPacket.field2243, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2243, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 6) { - var10 = Archive.method4265(ClientPacket.field2264, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2264, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 7) { - var10 = Archive.method4265(ClientPacket.field2288, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2288, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 8) { - var10 = Archive.method4265(ClientPacket.field2251, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 9) { - var10 = Archive.method4265(ClientPacket.field2287, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2287, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } if (var0 == 10) { - var10 = Archive.method4265(ClientPacket.field2289, Client.packetWriter.isaacCipher); + var10 = Archive.getPacketBufferNode(ClientPacket.field2289, Client.packetWriter.isaacCipher); var10.packetBuffer.writeInt(var1); var10.packetBuffer.writeShort(var2); var10.packetBuffer.writeShort(var3); - Client.packetWriter.method2219(var10); + Client.packetWriter.addNode(var10); } } diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 4cc456bd70..79eac6f5ca 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -56,10 +56,8 @@ public class MidiFileReader { this.field2460 = 500000; this.trackStarts = new int[var2]; - Buffer var10000; - int var3; int var5; - for (var3 = 0; var3 < var2; var10000.offset += var5) { + for (int var3 = 0; var3 < var2; this.buffer.offset += var5) { int var4 = this.buffer.readInt(); var5 = this.buffer.readInt(); if (var4 == 1297379947) { @@ -67,13 +65,12 @@ public class MidiFileReader { ++var3; } - var10000 = this.buffer; } this.field2472 = 0L; this.trackPositions = new int[var2]; - for (var3 = 0; var3 < var2; ++var3) { + for (int var3 = 0; var3 < var2; ++var3) { this.trackPositions[var3] = this.trackStarts[var3]; } @@ -125,8 +122,7 @@ public class MidiFileReader { @Export("readTrackLength") void readTrackLength(int var1) { int var2 = this.buffer.readVarInt(); - int[] var10000 = this.trackLengths; - var10000[var1] += var2; + this.trackLengths[var1] += var2; } @ObfuscatedName("c") @@ -162,8 +158,7 @@ public class MidiFileReader { } } - Buffer var10000 = this.buffer; - var10000.offset += var3; + this.buffer.offset += var3; return 0; } @@ -173,10 +168,8 @@ public class MidiFileReader { if (var2 == 255) { int var7 = this.buffer.readUnsignedByte(); var4 = this.buffer.readVarInt(); - Buffer var10000; if (var7 == 47) { - var10000 = this.buffer; - var10000.offset += var4; + this.buffer.offset += var4; return 1; } if (var7 == 81) { @@ -185,12 +178,10 @@ public class MidiFileReader { int var6 = this.trackLengths[var1]; this.field2472 += (long)var6 * (long)(this.field2460 - var5); this.field2460 = var5; - var10000 = this.buffer; - var10000.offset += var4; + this.buffer.offset += var4; return 2; } - var10000 = this.buffer; - var10000.offset += var4; + this.buffer.offset += var4; return 3; } byte var3 = field2468[var2 - 128]; diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index 67667bf3d5..4354df5fa2 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -405,7 +405,7 @@ public class MidiPcmStream extends PcmStream { var6.field2450 = var2; var6.field2442 = var3 * var3 * var9.field2476[var2] * var9.field2475 + 1024 >> 11; var6.field2443 = var9.field2477[var2] & 255; - var6.field2441 = (var2 << 8) - (var9.field2482[var2] & 32767); + var6.field2441 = (var2 << 8) - (var9.field2482[var2] & 0x7fff); var6.field2447 = 0; var6.field2448 = 0; var6.field2449 = 0; @@ -552,7 +552,7 @@ public class MidiPcmStream extends PcmStream { this.method3715(var1); this.method3784(var1); this.field2421[var1] = 0; - this.field2424[var1] = 32767; + this.field2424[var1] = 0x7fff; this.field2423[var1] = 256; this.field2410[var1] = 0; this.method3754(var1, 8192); @@ -817,11 +817,8 @@ public class MidiPcmStream extends PcmStream { var3 = var1 & 15; var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); this.method3722(var3, var4); - } else { - var2 = var1 & 255; - if (var2 == 255) { - this.method3726(); - } + } else if ((var1 & 255) == 255) { + this.method3726(); } } @@ -932,27 +929,26 @@ public class MidiPcmStream extends PcmStream { this.midiFile.gotoTrack(var1); int var5 = this.midiFile.readMessage(var1); if (var5 == 1) { - this.midiFile.setTrackDone(); - this.midiFile.markTrackPosition(var1); - if (this.midiFile.isDone()) { - if (!this.field2430 || var2 == 0) { - this.method3726(); - this.midiFile.clear(); - return; - } - - this.midiFile.reset(var3); - } break; } - if ((var5 & 128) != 0) { this.method3728(var5); } this.midiFile.readTrackLength(var1); this.midiFile.markTrackPosition(var1); + } + this.midiFile.setTrackDone(); + this.midiFile.markTrackPosition(var1); + if (this.midiFile.isDone()) { + if (!this.field2430 || var2 == 0) { + this.method3726(); + this.midiFile.clear(); + return; + } + } + this.midiFile.reset(var3); var1 = this.midiFile.getPrioritizedTrack(); var2 = this.midiFile.trackLengths[var1]; @@ -969,17 +965,17 @@ public class MidiPcmStream extends PcmStream { garbageValue = "2116286373" ) boolean method3739(MusicPatchNode var1) { - if (var1.stream == null) { - if (var1.field2436 >= 0) { - var1.remove(); - if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { - this.field2428[var1.field2440][var1.field2438] = null; - } - } - - return true; + if (var1.stream != null) { + return false; } - return false; + if (var1.field2436 >= 0) { + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; + } + } + + return true; } @ObfuscatedName("bp") @@ -989,95 +985,95 @@ public class MidiPcmStream extends PcmStream { ) boolean method3740(MusicPatchNode var1, int[] var2, int var3, int var4) { var1.field2455 = CollisionMap.PcmPlayer_sampleRate / 100; - if (var1.field2436 < 0 || var1.stream != null && !var1.stream.method2558()) { - int var5 = var1.field2446; - if (var5 > 0) { - var5 -= (int)(16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double)this.field2419[var1.field2440]) + 0.5D); - if (var5 < 0) { - var5 = 0; - } - - var1.field2446 = var5; + if (var1.field2436 >= 0 && (var1.stream == null || var1.stream.method2558())) { + var1.method3826(); + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; } - var1.stream.method2538(this.method3730(var1)); - MusicPatchNode2 var6 = var1.field2452; - boolean var7 = false; - ++var1.field2458; - var1.field2453 += var6.field2394; - double var8 = 5.086263020833333E-6D * (double)((var1.field2450 - 60 << 8) + (var1.field2445 * var1.field2446 >> 12)); - if (var6.field2392 > 0) { - if (var6.field2391 > 0) { - var1.field2447 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2391) + 0.5D); - } else { - var1.field2447 += 128; - } - } - - if (var6.field2387 != null) { - if (var6.field2390 > 0) { - var1.field2448 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2390 * var8) + 0.5D); - } else { - var1.field2448 += 128; - } - - while (var1.field2449 * 4 < var6.field2387.length - 2 && var1.field2448 > (var6.field2387[var1.field2449 * 4 + 2] & 255) << 8) { - var1.field2449 = var1.field2449 * 4 + 2; - } - - if (var1.field2449 * 4 == var6.field2387.length - 2 && var6.field2387[var1.field2449 * 4 + 1] == 0) { - var7 = true; - } - } - - if (var1.field2436 >= 0 && var6.field2388 != null && (this.field2421[var1.field2440] & 1) == 0 && (var1.field2438 < 0 || var1 != this.field2428[var1.field2440][var1.field2438])) { - if (var6.field2398 > 0) { - var1.field2436 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2398 * var8) + 0.5D); - } else { - var1.field2436 += 128; - } - - while (var1.field2451 * 4 < var6.field2388.length - 2 && var1.field2436 > (var6.field2388[var1.field2451 * 4 + 2] & 255) << 8) { - var1.field2451 = var1.field2451 * 4 + 2; - } - - if (var1.field2451 * 4 == var6.field2388.length - 2) { - var7 = true; - } - } - - if (var7) { - var1.stream.method2540(var1.field2455); - if (var2 != null) { - var1.stream.fill(var2, var3, var4); - } else { - var1.stream.skip(var4); - } - - if (var1.stream.method2585()) { - this.patchStream.mixer.addSubStream(var1.stream); - } - - var1.method3826(); - if (var1.field2436 >= 0) { - var1.remove(); - if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { - this.field2428[var1.field2440][var1.field2438] = null; - } - } - - return true; - } - var1.stream.method2536(var1.field2455, this.method3731(var1), this.method3732(var1)); - return false; + return true; } - var1.method3826(); - var1.remove(); - if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { - this.field2428[var1.field2440][var1.field2438] = null; + int var5 = var1.field2446; + if (var5 > 0) { + var5 -= (int) (16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double) this.field2419[var1.field2440]) + 0.5D); + if (var5 < 0) { + var5 = 0; + } + + var1.field2446 = var5; } - return true; + var1.stream.method2538(this.method3730(var1)); + MusicPatchNode2 var6 = var1.field2452; + boolean var7 = false; + ++var1.field2458; + var1.field2453 += var6.field2394; + double var8 = 5.086263020833333E-6D * (double) ((var1.field2450 - 60 << 8) + (var1.field2445 * var1.field2446 >> 12)); + if (var6.field2392 > 0) { + if (var6.field2391 > 0) { + var1.field2447 += (int) (128.0D * Math.pow(2.0D, var8 * (double) var6.field2391) + 0.5D); + } else { + var1.field2447 += 128; + } + } + + if (var6.field2387 != null) { + if (var6.field2390 > 0) { + var1.field2448 += (int) (128.0D * Math.pow(2.0D, (double) var6.field2390 * var8) + 0.5D); + } else { + var1.field2448 += 128; + } + + while (var1.field2449 * 4 < var6.field2387.length - 2 && var1.field2448 > (var6.field2387[var1.field2449 * 4 + 2] & 255) << 8) { + var1.field2449 = var1.field2449 * 4 + 2; + } + + if (var1.field2449 * 4 == var6.field2387.length - 2 && var6.field2387[var1.field2449 * 4 + 1] == 0) { + var7 = true; + } + } + + if (var1.field2436 >= 0 && var6.field2388 != null && (this.field2421[var1.field2440] & 1) == 0 && (var1.field2438 < 0 || var1 != this.field2428[var1.field2440][var1.field2438])) { + if (var6.field2398 > 0) { + var1.field2436 += (int) (128.0D * Math.pow(2.0D, (double) var6.field2398 * var8) + 0.5D); + } else { + var1.field2436 += 128; + } + + while (var1.field2451 * 4 < var6.field2388.length - 2 && var1.field2436 > (var6.field2388[var1.field2451 * 4 + 2] & 255) << 8) { + var1.field2451 = var1.field2451 * 4 + 2; + } + + if (var1.field2451 * 4 == var6.field2388.length - 2) { + var7 = true; + } + } + + if (var7) { + var1.stream.method2540(var1.field2455); + if (var2 != null) { + var1.stream.fill(var2, var3, var4); + } else { + var1.stream.skip(var4); + } + + if (var1.stream.method2585()) { + this.patchStream.mixer.addSubStream(var1.stream); + } + + var1.method3826(); + if (var1.field2436 >= 0) { + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; + } + } + + return true; + } + var1.stream.method2536(var1.field2455, this.method3731(var1), this.method3732(var1)); + return false; } @ObfuscatedName("w") @@ -1085,7 +1081,8 @@ public class MidiPcmStream extends PcmStream { signature = "(I)Z", garbageValue = "1881799127" ) - public static boolean method3811() { + @Export("hasReflectionCheck") + public static boolean hasReflectionCheck() { ReflectionCheck var0 = (ReflectionCheck)class96.reflectionChecks.last(); return var0 != null; } diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index 4b732d9948..bede3a457a 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -981,7 +981,7 @@ public class Model extends Entity { } @ObfuscatedName("s") - public final void method2866(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + public final void method2866(int modelAngleY, int modelAngleZ, int modelAngleX, int modelOffsetX, int var5, int var6, int var7) { field1711[0] = -1; if (this.boundsType != 2 && this.boundsType != 1) { this.method2910(); @@ -989,14 +989,14 @@ public class Model extends Entity { int var8 = Rasterizer3D.Rasterizer3D_clipMidX; int var9 = Rasterizer3D.Rasterizer3D_clipMidY; - int var10 = Model_sine[var1]; - int var11 = Model_cosine[var1]; - int var12 = Model_sine[var2]; - int var13 = Model_cosine[var2]; - int var14 = Model_sine[var3]; - int var15 = Model_cosine[var3]; - int var16 = Model_sine[var4]; - int var17 = Model_cosine[var4]; + int var10 = Model_sine[modelAngleY]; + int var11 = Model_cosine[modelAngleY]; + int var12 = Model_sine[modelAngleZ]; + int var13 = Model_cosine[modelAngleZ]; + int var14 = Model_sine[modelAngleX]; + int var15 = Model_cosine[modelAngleX]; + int var16 = Model_sine[modelOffsetX]; + int var17 = Model_cosine[modelOffsetX]; int var18 = var16 * var6 + var17 * var7 >> 16; for (int var19 = 0; var19 < this.verticesCount; ++var19) { @@ -1004,19 +1004,19 @@ public class Model extends Entity { int var21 = this.verticesY[var19]; int var22 = this.verticesZ[var19]; int var23; - if (var3 != 0) { + if (modelAngleX != 0) { var23 = var21 * var14 + var20 * var15 >> 16; var21 = var21 * var15 - var20 * var14 >> 16; var20 = var23; } - if (var1 != 0) { + if (modelAngleY != 0) { var23 = var21 * var11 - var22 * var10 >> 16; var22 = var21 * var10 + var22 * var11 >> 16; var21 = var23; } - if (var2 != 0) { + if (modelAngleZ != 0) { var23 = var22 * var12 + var20 * var13 >> 16; var22 = var22 * var13 - var20 * var12 >> 16; var20 = var23; @@ -1111,243 +1111,189 @@ public class Model extends Entity { @ObfuscatedName("al") @Export("draw0") final void draw0(boolean var1, boolean var2, boolean var3, long var4) { - if (this.diameter < 1600) { - int var6; - for (var6 = 0; var6 < this.diameter; ++var6) { - field1711[var6] = 0; + if (this.diameter >= 1600) { + return; + } + int var6; + for (var6 = 0; var6 < this.diameter; ++var6) { + field1711[var6] = 0; + } + + var6 = var3 ? 20 : 5; + + int var7; + int var8; + int var10; + int var11; + int var12; + int var13; + int var15; + int var16; + int var18; + int var27; + for (var7 = 0; var7 < this.indicesCount; ++var7) { + if (this.faceColors3[var7] == -2) { + continue; } - - var6 = var3 ? 20 : 5; - - int var7; - int var8; - int var10; - int var11; - int var12; - int var13; - int var15; - int var16; - int var18; - int var27; - for (var7 = 0; var7 < this.indicesCount; ++var7) { - if (this.faceColors3[var7] != -2) { - var8 = this.indices1[var7]; - var27 = this.indices2[var7]; - var10 = this.indices3[var7]; - var11 = modelViewportXs[var8]; - var12 = modelViewportXs[var27]; - var13 = modelViewportXs[var10]; - int var14; - int var17; - if (!var1 || var11 != -5000 && var12 != -5000 && var13 != -5000) { - if (var2) { - var15 = modelViewportYs[var8]; - var16 = modelViewportYs[var27]; - var17 = modelViewportYs[var10]; - var18 = var6 + ViewportMouse.ViewportMouse_y; - boolean var34; - if (var18 < var15 && var18 < var16 && var18 < var17) { + var8 = this.indices1[var7]; + var27 = this.indices2[var7]; + var10 = this.indices3[var7]; + var11 = modelViewportXs[var8]; + var12 = modelViewportXs[var27]; + var13 = modelViewportXs[var10]; + int var14; + int var17; + if (!var1 || var11 != -5000 && var12 != -5000 && var13 != -5000) { + if (var2) { + var15 = modelViewportYs[var8]; + var16 = modelViewportYs[var27]; + var17 = modelViewportYs[var10]; + var18 = var6 + ViewportMouse.ViewportMouse_y; + boolean var34; + if (var18 < var15 && var18 < var16 && var18 < var17) { + var34 = false; + } else { + var18 = ViewportMouse.ViewportMouse_y - var6; + if (var18 > var15 && var18 > var16 && var18 > var17) { + var34 = false; + } else { + var18 = var6 + ViewportMouse.ViewportMouse_x; + if (var18 < var11 && var18 < var12 && var18 < var13) { var34 = false; } else { - var18 = ViewportMouse.ViewportMouse_y - var6; - if (var18 > var15 && var18 > var16 && var18 > var17) { + var18 = ViewportMouse.ViewportMouse_x - var6; + if (var18 > var11 && var18 > var12 && var18 > var13) { var34 = false; } else { - var18 = var6 + ViewportMouse.ViewportMouse_x; - if (var18 < var11 && var18 < var12 && var18 < var13) { - var34 = false; - } else { - var18 = ViewportMouse.ViewportMouse_x - var6; - if (var18 > var11 && var18 > var12 && var18 > var13) { - var34 = false; - } else { - var34 = true; - } - } + var34 = true; } } - - if (var34) { - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; - var2 = false; - } } + } - if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) { - field1723[var7] = false; - if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) { - field1710[var7] = false; - } else { - field1710[var7] = true; - } + if (var34) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; + var2 = false; + } + } - var14 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; - field1720[var14][field1711[var14]++] = var7; - } + if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) { + field1723[var7] = false; + if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) { + field1710[var7] = false; } else { - var14 = field1715[var8]; - var15 = field1715[var27]; - var16 = field1715[var10]; - var17 = field1716[var8]; - var18 = field1716[var27]; - int var19 = field1716[var10]; - int var20 = field1717[var8]; - int var21 = field1717[var27]; - int var22 = field1717[var10]; - var14 -= var15; - var16 -= var15; - var17 -= var18; - var19 -= var18; - var20 -= var21; - var22 -= var21; - int var23 = var17 * var22 - var20 * var19; - int var24 = var20 * var16 - var14 * var22; - int var25 = var14 * var19 - var17 * var16; - if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { - field1723[var7] = true; - int var26 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; - field1720[var26][field1711[var26]++] = var7; + field1710[var7] = true; + } + + var14 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; + field1720[var14][field1711[var14]++] = var7; + } + } else { + var14 = field1715[var8]; + var15 = field1715[var27]; + var16 = field1715[var10]; + var17 = field1716[var8]; + var18 = field1716[var27]; + int var19 = field1716[var10]; + int var20 = field1717[var8]; + int var21 = field1717[var27]; + int var22 = field1717[var10]; + var14 -= var15; + var16 -= var15; + var17 -= var18; + var19 -= var18; + var20 -= var21; + var22 -= var21; + int var23 = var17 * var22 - var20 * var19; + int var24 = var20 * var16 - var14 * var22; + int var25 = var14 * var19 - var17 * var16; + if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { + field1723[var7] = true; + int var26 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; + field1720[var26][field1711[var26]++] = var7; + } + } + } + + int[] var9; + if (this.faceRenderPriorities == null) { + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1711[var7]; + if (var8 > 0) { + var9 = field1720[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + this.method2879(var9[var10]); + } + } + } + + } else { + for (var7 = 0; var7 < 12; ++var7) { + field1721[var7] = 0; + field1725[var7] = 0; + } + + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1711[var7]; + if (var8 > 0) { + var9 = field1720[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + var11 = var9[var10]; + byte var33 = this.faceRenderPriorities[var11]; + var13 = field1721[var33]++; + field1729[var33][var13] = var11; + if (var33 < 10) { + field1725[var33] += var7; + } else if (var33 == 10) { + field1739[var13] = var7; + } else { + field1724[var13] = var7; } } } } - int[] var9; - if (this.faceRenderPriorities == null) { - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field1711[var7]; - if (var8 > 0) { - var9 = field1720[var7]; + var7 = 0; + if (field1721[1] > 0 || field1721[2] > 0) { + var7 = (field1725[1] + field1725[2]) / (field1721[1] + field1721[2]); + } - for (var10 = 0; var10 < var8; ++var10) { - this.method2879(var9[var10]); - } - } - } + var8 = 0; + if (field1721[3] > 0 || field1721[4] > 0) { + var8 = (field1725[3] + field1725[4]) / (field1721[3] + field1721[4]); + } - } else { - for (var7 = 0; var7 < 12; ++var7) { - field1721[var7] = 0; - field1725[var7] = 0; - } - - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field1711[var7]; - if (var8 > 0) { - var9 = field1720[var7]; - - for (var10 = 0; var10 < var8; ++var10) { - var11 = var9[var10]; - byte var33 = this.faceRenderPriorities[var11]; - var13 = field1721[var33]++; - field1729[var33][var13] = var11; - if (var33 < 10) { - int[] var10000 = field1725; - var10000[var33] += var7; - } else if (var33 == 10) { - field1739[var13] = var7; - } else { - field1724[var13] = var7; - } - } - } - } - - var7 = 0; - if (field1721[1] > 0 || field1721[2] > 0) { - var7 = (field1725[1] + field1725[2]) / (field1721[1] + field1721[2]); - } - - var8 = 0; - if (field1721[3] > 0 || field1721[4] > 0) { - var8 = (field1725[3] + field1725[4]) / (field1721[3] + field1721[4]); - } - - var27 = 0; - if (field1721[6] > 0 || field1721[8] > 0) { - var27 = (field1725[8] + field1725[6]) / (field1721[8] + field1721[6]); - } + var27 = 0; + if (field1721[6] > 0 || field1721[8] > 0) { + var27 = (field1725[8] + field1725[6]) / (field1721[8] + field1721[6]); + } + var11 = 0; + var12 = field1721[10]; + int[] var30 = field1729[10]; + int[] var31 = field1739; + if (var11 == var12) { var11 = 0; - var12 = field1721[10]; - int[] var30 = field1729[10]; - int[] var31 = field1739; - if (var11 == var12) { - var11 = 0; - var12 = field1721[11]; - var30 = field1729[11]; - var31 = field1724; - } + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } - if (var11 < var12) { - var10 = var31[var11]; - } else { - var10 = -1000; - } + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } - for (var15 = 0; var15 < 10; ++var15) { - while (var15 == 0 && var10 > var7) { - this.method2879(var30[var11++]); - if (var11 == var12 && var30 != field1729[11]) { - var11 = 0; - var12 = field1721[11]; - var30 = field1729[11]; - var31 = field1724; - } - - if (var11 < var12) { - var10 = var31[var11]; - } else { - var10 = -1000; - } - } - - while (var15 == 3 && var10 > var8) { - this.method2879(var30[var11++]); - if (var11 == var12 && var30 != field1729[11]) { - var11 = 0; - var12 = field1721[11]; - var30 = field1729[11]; - var31 = field1724; - } - - if (var11 < var12) { - var10 = var31[var11]; - } else { - var10 = -1000; - } - } - - while (var15 == 5 && var10 > var27) { - this.method2879(var30[var11++]); - if (var11 == var12 && var30 != field1729[11]) { - var11 = 0; - var12 = field1721[11]; - var30 = field1729[11]; - var31 = field1724; - } - - if (var11 < var12) { - var10 = var31[var11]; - } else { - var10 = -1000; - } - } - - var16 = field1721[var15]; - int[] var32 = field1729[var15]; - - for (var18 = 0; var18 < var16; ++var18) { - this.method2879(var32[var18]); - } - } - - while (var10 != -1000) { + for (var15 = 0; var15 < 10; ++var15) { + while (var15 == 0 && var10 > var7) { this.method2879(var30[var11++]); if (var11 == var12 && var30 != field1729[11]) { var11 = 0; - var30 = field1729[11]; var12 = field1721[11]; + var30 = field1729[11]; var31 = field1724; } @@ -1358,7 +1304,62 @@ public class Model extends Entity { } } + while (var15 == 3 && var10 > var8) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + while (var15 == 5 && var10 > var27) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + var16 = field1721[var15]; + int[] var32 = field1729[var15]; + + for (var18 = 0; var18 < var16; ++var18) { + this.method2879(var32[var18]); + } } + + while (var10 != -1000) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var30 = field1729[11]; + var12 = field1721[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + } } diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index 5e798e4881..f8657c3c22 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -43,9 +43,11 @@ public class ModelData extends Entity { @Export("indices3") int[] indices3; @ObfuscatedName("c") - byte[] field1557; + @Export("faceRenderTypes") + byte[] faceRenderTypes; @ObfuscatedName("f") - byte[] field1559; + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; @ObfuscatedName("m") @Export("faceAlphas") byte[] faceAlphas; @@ -59,9 +61,11 @@ public class ModelData extends Entity { @Export("faceTextures") short[] faceTextures; @ObfuscatedName("v") - byte field1563; + @Export("priority") + byte priority; @ObfuscatedName("y") - int field1555; + @Export("textureTriangleCount") + int textureTriangleCount; @ObfuscatedName("g") @Export("textureRenderTypes") byte[] textureRenderTypes; @@ -75,9 +79,11 @@ public class ModelData extends Entity { @Export("texTriangleZ") short[] texTriangleZ; @ObfuscatedName("h") - int[] field1569; + @Export("vertexSkins") + int[] vertexSkins; @ObfuscatedName("o") - int[] field1553; + @Export("faceSkins") + int[] faceSkins; @ObfuscatedName("n") @Export("vertexLabels") int[][] vertexLabels; @@ -94,16 +100,19 @@ public class ModelData extends Entity { @ObfuscatedSignature( signature = "[Ldd;" ) - VertexNormal[] field1574; + @Export("vertexNormals") + VertexNormal[] vertexNormals; @ObfuscatedName("al") @ObfuscatedSignature( signature = "[Ldd;" ) VertexNormal[] field1581; @ObfuscatedName("av") - public short field1580; + @Export("ambient") + public short ambient; @ObfuscatedName("as") - public short field1577; + @Export("contrast") + public short contrast; @ObfuscatedName("aw") @Export("isBoundsCalculated") boolean isBoundsCalculated; @@ -129,7 +138,7 @@ public class ModelData extends Entity { ModelData() { this.verticesCount = 0; this.faceCount = 0; - this.field1563 = 0; + this.priority = 0; this.isBoundsCalculated = false; } @@ -139,7 +148,7 @@ public class ModelData extends Entity { public ModelData(ModelData[] var1, int var2) { this.verticesCount = 0; this.faceCount = 0; - this.field1563 = 0; + this.priority = 0; this.isBoundsCalculated = false; boolean var3 = false; boolean var4 = false; @@ -149,50 +158,51 @@ public class ModelData extends Entity { boolean var8 = false; this.verticesCount = 0; this.faceCount = 0; - this.field1555 = 0; - this.field1563 = -1; + this.textureTriangleCount = 0; + this.priority = -1; int var9; ModelData var10; for (var9 = 0; var9 < var2; ++var9) { var10 = var1[var9]; - if (var10 != null) { - this.verticesCount += var10.verticesCount; - this.faceCount += var10.faceCount; - this.field1555 += var10.field1555; - if (var10.field1559 != null) { - var4 = true; - } else { - if (this.field1563 == -1) { - this.field1563 = var10.field1563; - } - - if (this.field1563 != var10.field1563) { - var4 = true; - } + if (var10 == null) { + continue; + } + this.verticesCount += var10.verticesCount; + this.faceCount += var10.faceCount; + this.textureTriangleCount += var10.textureTriangleCount; + if (var10.faceRenderPriorities != null) { + var4 = true; + } else { + if (this.priority == -1) { + this.priority = var10.priority; } - var3 |= var10.field1557 != null; - var5 |= var10.faceAlphas != null; - var6 |= var10.field1553 != null; - var7 |= var10.faceTextures != null; - var8 |= var10.textureCoords != null; + if (this.priority != var10.priority) { + var4 = true; + } } + + var3 |= var10.faceRenderTypes != null; + var5 |= var10.faceAlphas != null; + var6 |= var10.faceSkins != null; + var7 |= var10.faceTextures != null; + var8 |= var10.textureCoords != null; } this.verticesX = new int[this.verticesCount]; this.verticesY = new int[this.verticesCount]; this.verticesZ = new int[this.verticesCount]; - this.field1569 = new int[this.verticesCount]; + this.vertexSkins = new int[this.verticesCount]; this.indices1 = new int[this.faceCount]; this.indices2 = new int[this.faceCount]; this.indices3 = new int[this.faceCount]; if (var3) { - this.field1557 = new byte[this.faceCount]; + this.faceRenderTypes = new byte[this.faceCount]; } if (var4) { - this.field1559 = new byte[this.faceCount]; + this.faceRenderPriorities = new byte[this.faceCount]; } if (var5) { @@ -200,7 +210,7 @@ public class ModelData extends Entity { } if (var6) { - this.field1553 = new int[this.faceCount]; + this.faceSkins = new int[this.faceCount]; } if (var7) { @@ -212,75 +222,76 @@ public class ModelData extends Entity { } this.faceColors = new short[this.faceCount]; - if (this.field1555 > 0) { - this.textureRenderTypes = new byte[this.field1555]; - this.texTriangleX = new short[this.field1555]; - this.texTriangleY = new short[this.field1555]; - this.texTriangleZ = new short[this.field1555]; + if (this.textureTriangleCount > 0) { + this.textureRenderTypes = new byte[this.textureTriangleCount]; + this.texTriangleX = new short[this.textureTriangleCount]; + this.texTriangleY = new short[this.textureTriangleCount]; + this.texTriangleZ = new short[this.textureTriangleCount]; } this.verticesCount = 0; this.faceCount = 0; - this.field1555 = 0; + this.textureTriangleCount = 0; for (var9 = 0; var9 < var2; ++var9) { var10 = var1[var9]; - if (var10 != null) { - int var11; - for (var11 = 0; var11 < var10.faceCount; ++var11) { - if (var3 && var10.field1557 != null) { - this.field1557[this.faceCount] = var10.field1557[var11]; - } - - if (var4) { - if (var10.field1559 != null) { - this.field1559[this.faceCount] = var10.field1559[var11]; - } else { - this.field1559[this.faceCount] = var10.field1563; - } - } - - if (var5 && var10.faceAlphas != null) { - this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; - } - - if (var6 && var10.field1553 != null) { - this.field1553[this.faceCount] = var10.field1553[var11]; - } - - if (var7) { - if (var10.faceTextures != null) { - this.faceTextures[this.faceCount] = var10.faceTextures[var11]; - } else { - this.faceTextures[this.faceCount] = -1; - } - } - - if (var8) { - if (var10.textureCoords != null && var10.textureCoords[var11] != -1) { - this.textureCoords[this.faceCount] = (byte)(this.field1555 + var10.textureCoords[var11]); - } else { - this.textureCoords[this.faceCount] = -1; - } - } - - this.faceColors[this.faceCount] = var10.faceColors[var11]; - this.indices1[this.faceCount] = this.method2816(var10, var10.indices1[var11]); - this.indices2[this.faceCount] = this.method2816(var10, var10.indices2[var11]); - this.indices3[this.faceCount] = this.method2816(var10, var10.indices3[var11]); - ++this.faceCount; + if (var10 == null) { + continue; + } + int var11; + for (var11 = 0; var11 < var10.faceCount; ++var11) { + if (var3 && var10.faceRenderTypes != null) { + this.faceRenderTypes[this.faceCount] = var10.faceRenderTypes[var11]; } - for (var11 = 0; var11 < var10.field1555; ++var11) { - byte var12 = this.textureRenderTypes[this.field1555] = var10.textureRenderTypes[var11]; - if (var12 == 0) { - this.texTriangleX[this.field1555] = (short)this.method2816(var10, var10.texTriangleX[var11]); - this.texTriangleY[this.field1555] = (short)this.method2816(var10, var10.texTriangleY[var11]); - this.texTriangleZ[this.field1555] = (short)this.method2816(var10, var10.texTriangleZ[var11]); + if (var4) { + if (var10.faceRenderPriorities != null) { + this.faceRenderPriorities[this.faceCount] = var10.faceRenderPriorities[var11]; + } else { + this.faceRenderPriorities[this.faceCount] = var10.priority; } - - ++this.field1555; } + + if (var5 && var10.faceAlphas != null) { + this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; + } + + if (var6 && var10.faceSkins != null) { + this.faceSkins[this.faceCount] = var10.faceSkins[var11]; + } + + if (var7) { + if (var10.faceTextures != null) { + this.faceTextures[this.faceCount] = var10.faceTextures[var11]; + } else { + this.faceTextures[this.faceCount] = -1; + } + } + + if (var8) { + if (var10.textureCoords != null && var10.textureCoords[var11] != -1) { + this.textureCoords[this.faceCount] = (byte)(this.textureTriangleCount + var10.textureCoords[var11]); + } else { + this.textureCoords[this.faceCount] = -1; + } + } + + this.faceColors[this.faceCount] = var10.faceColors[var11]; + this.indices1[this.faceCount] = this.method2816(var10, var10.indices1[var11]); + this.indices2[this.faceCount] = this.method2816(var10, var10.indices2[var11]); + this.indices3[this.faceCount] = this.method2816(var10, var10.indices3[var11]); + ++this.faceCount; + } + + for (var11 = 0; var11 < var10.textureTriangleCount; ++var11) { + byte var12 = this.textureRenderTypes[this.textureTriangleCount] = var10.textureRenderTypes[var11]; + if (var12 == 0) { + this.texTriangleX[this.textureTriangleCount] = (short)this.method2816(var10, var10.texTriangleX[var11]); + this.texTriangleY[this.textureTriangleCount] = (short)this.method2816(var10, var10.texTriangleY[var11]); + this.texTriangleZ[this.textureTriangleCount] = (short)this.method2816(var10, var10.texTriangleZ[var11]); + } + + ++this.textureTriangleCount; } } @@ -289,7 +300,7 @@ public class ModelData extends Entity { ModelData(byte[] var1) { this.verticesCount = 0; this.faceCount = 0; - this.field1563 = 0; + this.priority = 0; this.isBoundsCalculated = false; if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { this.method2770(var1); @@ -306,11 +317,11 @@ public class ModelData extends Entity { public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { this.verticesCount = 0; this.faceCount = 0; - this.field1563 = 0; + this.priority = 0; this.isBoundsCalculated = false; this.verticesCount = var1.verticesCount; this.faceCount = var1.faceCount; - this.field1555 = var1.field1555; + this.textureTriangleCount = var1.textureTriangleCount; int var6; if (var2) { this.verticesX = var1.verticesX; @@ -352,23 +363,23 @@ public class ModelData extends Entity { this.indices1 = var1.indices1; this.indices2 = var1.indices2; this.indices3 = var1.indices3; - this.field1557 = var1.field1557; - this.field1559 = var1.field1559; + this.faceRenderTypes = var1.faceRenderTypes; + this.faceRenderPriorities = var1.faceRenderPriorities; this.textureCoords = var1.textureCoords; - this.field1563 = var1.field1563; + this.priority = var1.priority; this.textureRenderTypes = var1.textureRenderTypes; this.texTriangleX = var1.texTriangleX; this.texTriangleY = var1.texTriangleY; this.texTriangleZ = var1.texTriangleZ; - this.field1569 = var1.field1569; - this.field1553 = var1.field1553; + this.vertexSkins = var1.vertexSkins; + this.faceSkins = var1.faceSkins; this.vertexLabels = var1.vertexLabels; this.faceLabelsAlpha = var1.faceLabelsAlpha; - this.field1574 = var1.field1574; + this.vertexNormals = var1.vertexNormals; this.faceNormals = var1.faceNormals; this.field1581 = var1.field1581; - this.field1580 = var1.field1580; - this.field1577 = var1.field1577; + this.ambient = var1.ambient; + this.contrast = var1.contrast; } @ObfuscatedName("w") @@ -478,7 +489,7 @@ public class ModelData extends Entity { var26 += var24 * 2 + var25 * 2; this.verticesCount = var9; this.faceCount = var10; - this.field1555 = var11; + this.textureTriangleCount = var11; this.verticesX = new int[var9]; this.verticesY = new int[var9]; this.verticesZ = new int[var9]; @@ -486,17 +497,17 @@ public class ModelData extends Entity { this.indices2 = new int[var10]; this.indices3 = new int[var10]; if (var17 == 1) { - this.field1569 = new int[var9]; + this.vertexSkins = new int[var9]; } if (var12 == 1) { - this.field1557 = new byte[var10]; + this.faceRenderTypes = new byte[var10]; } if (var13 == 255) { - this.field1559 = new byte[var10]; + this.faceRenderPriorities = new byte[var10]; } else { - this.field1563 = (byte)var13; + this.priority = (byte)var13; } if (var14 == 1) { @@ -504,7 +515,7 @@ public class ModelData extends Entity { } if (var15 == 1) { - this.field1553 = new int[var10]; + this.faceSkins = new int[var10]; } if (var16 == 1) { @@ -560,7 +571,7 @@ public class ModelData extends Entity { var49 = this.verticesY[var51]; var50 = this.verticesZ[var51]; if (var17 == 1) { - this.field1569[var51] = var6.readUnsignedByte(); + this.vertexSkins[var51] = var6.readUnsignedByte(); } } @@ -575,11 +586,11 @@ public class ModelData extends Entity { for (var51 = 0; var51 < var10; ++var51) { this.faceColors[var51] = (short)var2.readUnsignedShort(); if (var12 == 1) { - this.field1557[var51] = var3.readByte(); + this.faceRenderTypes[var51] = var3.readByte(); } if (var13 == 255) { - this.field1559[var51] = var4.readByte(); + this.faceRenderPriorities[var51] = var4.readByte(); } if (var14 == 1) { @@ -587,7 +598,7 @@ public class ModelData extends Entity { } if (var15 == 1) { - this.field1553[var51] = var6.readUnsignedByte(); + this.faceSkins[var51] = var6.readUnsignedByte(); } if (var16 == 1) { @@ -741,7 +752,7 @@ public class ModelData extends Entity { int var10000 = var45 + var19; this.verticesCount = var9; this.faceCount = var10; - this.field1555 = var11; + this.textureTriangleCount = var11; this.verticesX = new int[var9]; this.verticesY = new int[var9]; this.verticesZ = new int[var9]; @@ -756,19 +767,19 @@ public class ModelData extends Entity { } if (var16 == 1) { - this.field1569 = new int[var9]; + this.vertexSkins = new int[var9]; } if (var12 == 1) { - this.field1557 = new byte[var10]; + this.faceRenderTypes = new byte[var10]; this.textureCoords = new byte[var10]; this.faceTextures = new short[var10]; } if (var13 == 255) { - this.field1559 = new byte[var10]; + this.faceRenderPriorities = new byte[var10]; } else { - this.field1563 = (byte)var13; + this.priority = (byte)var13; } if (var14 == 1) { @@ -776,7 +787,7 @@ public class ModelData extends Entity { } if (var15 == 1) { - this.field1553 = new int[var10]; + this.faceSkins = new int[var10]; } this.faceColors = new short[var10]; @@ -818,7 +829,7 @@ public class ModelData extends Entity { var36 = this.verticesY[var38]; var37 = this.verticesZ[var38]; if (var16 == 1) { - this.field1569[var38] = var8.readUnsignedByte(); + this.vertexSkins[var38] = var8.readUnsignedByte(); } } @@ -833,10 +844,10 @@ public class ModelData extends Entity { if (var12 == 1) { var39 = var5.readUnsignedByte(); if ((var39 & 1) == 1) { - this.field1557[var38] = 1; + this.faceRenderTypes[var38] = 1; var2 = true; } else { - this.field1557[var38] = 0; + this.faceRenderTypes[var38] = 0; } if ((var39 & 2) == 2) { @@ -853,7 +864,7 @@ public class ModelData extends Entity { } if (var13 == 255) { - this.field1559[var38] = var6.readByte(); + this.faceRenderPriorities[var38] = var6.readByte(); } if (var14 == 1) { @@ -861,7 +872,7 @@ public class ModelData extends Entity { } if (var15 == 1) { - this.field1553[var38] = var8.readUnsignedByte(); + this.faceSkins[var38] = var8.readUnsignedByte(); } } @@ -930,12 +941,13 @@ public class ModelData extends Entity { for (var43 = 0; var43 < var10; ++var43) { var44 = this.textureCoords[var43] & 255; - if (var44 != 255) { - if (this.indices1[var43] == (this.texTriangleX[var44] & '\uffff') && this.indices2[var43] == (this.texTriangleY[var44] & '\uffff') && this.indices3[var43] == (this.texTriangleZ[var44] & '\uffff')) { - this.textureCoords[var43] = -1; - } else { - var46 = true; - } + if (var44 == 255) { + continue; + } + if (this.indices1[var43] == (this.texTriangleX[var44] & 0xffff) && this.indices2[var43] == (this.texTriangleY[var44] & 0xffff) && this.indices3[var43] == (this.texTriangleZ[var44] & 0xffff)) { + this.textureCoords[var43] = -1; + } else { + var46 = true; } } @@ -949,7 +961,7 @@ public class ModelData extends Entity { } if (!var2) { - this.field1557 = null; + this.faceRenderTypes = null; } } @@ -975,8 +987,8 @@ public class ModelData extends Entity { this.verticesX[this.verticesCount] = var4; this.verticesY[this.verticesCount] = var5; this.verticesZ[this.verticesCount] = var6; - if (var1.field1569 != null) { - this.field1569[this.verticesCount] = var1.field1569[var2]; + if (var1.vertexSkins != null) { + this.vertexSkins[this.verticesCount] = var1.vertexSkins[var2]; } var3 = this.verticesCount++; @@ -991,41 +1003,41 @@ public class ModelData extends Entity { ) public ModelData method2775() { ModelData var1 = new ModelData(); - if (this.field1557 != null) { - var1.field1557 = new byte[this.faceCount]; + if (this.faceRenderTypes != null) { + var1.faceRenderTypes = new byte[this.faceCount]; for (int var2 = 0; var2 < this.faceCount; ++var2) { - var1.field1557[var2] = this.field1557[var2]; + var1.faceRenderTypes[var2] = this.faceRenderTypes[var2]; } } var1.verticesCount = this.verticesCount; var1.faceCount = this.faceCount; - var1.field1555 = this.field1555; + var1.textureTriangleCount = this.textureTriangleCount; var1.verticesX = this.verticesX; var1.verticesY = this.verticesY; var1.verticesZ = this.verticesZ; var1.indices1 = this.indices1; var1.indices2 = this.indices2; var1.indices3 = this.indices3; - var1.field1559 = this.field1559; + var1.faceRenderPriorities = this.faceRenderPriorities; var1.faceAlphas = this.faceAlphas; var1.textureCoords = this.textureCoords; var1.faceColors = this.faceColors; var1.faceTextures = this.faceTextures; - var1.field1563 = this.field1563; + var1.priority = this.priority; var1.textureRenderTypes = this.textureRenderTypes; var1.texTriangleX = this.texTriangleX; var1.texTriangleY = this.texTriangleY; var1.texTriangleZ = this.texTriangleZ; - var1.field1569 = this.field1569; - var1.field1553 = this.field1553; + var1.vertexSkins = this.vertexSkins; + var1.faceSkins = this.faceSkins; var1.vertexLabels = this.vertexLabels; var1.faceLabelsAlpha = this.faceLabelsAlpha; - var1.field1574 = this.field1574; + var1.vertexNormals = this.vertexNormals; var1.faceNormals = this.faceNormals; - var1.field1580 = this.field1580; - var1.field1577 = this.field1577; + var1.ambient = this.ambient; + var1.contrast = this.contrast; return var1; } @@ -1034,107 +1046,107 @@ public class ModelData extends Entity { signature = "([[IIIIZI)Lds;" ) public ModelData method2776(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.method2789(); + this.calculateBounds(); int var7 = var2 + this.field1575; int var8 = var2 + this.field1564; int var9 = var4 + this.field1554; int var10 = var4 + this.field1582; - if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { - var7 >>= 7; - var8 = var8 + 127 >> 7; - var9 >>= 7; - var10 = var10 + 127 >> 7; - if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { - return this; - } - ModelData var11 = new ModelData(); - var11.verticesCount = this.verticesCount; - var11.faceCount = this.faceCount; - var11.field1555 = this.field1555; - var11.verticesX = this.verticesX; - var11.verticesZ = this.verticesZ; - var11.indices1 = this.indices1; - var11.indices2 = this.indices2; - var11.indices3 = this.indices3; - var11.field1557 = this.field1557; - var11.field1559 = this.field1559; - var11.faceAlphas = this.faceAlphas; - var11.textureCoords = this.textureCoords; - var11.faceColors = this.faceColors; - var11.faceTextures = this.faceTextures; - var11.field1563 = this.field1563; - var11.textureRenderTypes = this.textureRenderTypes; - var11.texTriangleX = this.texTriangleX; - var11.texTriangleY = this.texTriangleY; - var11.texTriangleZ = this.texTriangleZ; - var11.field1569 = this.field1569; - var11.field1553 = this.field1553; - var11.vertexLabels = this.vertexLabels; - var11.faceLabelsAlpha = this.faceLabelsAlpha; - var11.field1580 = this.field1580; - var11.field1577 = this.field1577; - var11.verticesY = new int[var11.verticesCount]; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - int var21; - if (var6 == 0) { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = var2 + this.verticesX[var12]; - var14 = var4 + this.verticesZ[var12]; - var15 = var13 & 127; - var16 = var14 & 127; - var17 = var13 >> 7; - var18 = var14 >> 7; - var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; - var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; - var21 = var19 * (128 - var16) + var20 * var16 >> 7; - var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; - } - } else { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = (-this.verticesY[var12] << 16) / super.height; - if (var13 < var6) { - var14 = var2 + this.verticesX[var12]; - var15 = var4 + this.verticesZ[var12]; - var16 = var14 & 127; - var17 = var15 & 127; - var18 = var14 >> 7; - var19 = var15 >> 7; - var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; - var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; - int var22 = var20 * (128 - var17) + var21 * var17 >> 7; - var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; - } - } - } - - var11.invalidate(); - return var11; + if (var7 < 0 || var8 + 128 >> 7 >= var1.length || var9 < 0 || var10 + 128 >> 7 >= var1[0].length) { + return this; } - return this; + var7 >>= 7; + var8 = var8 + 127 >> 7; + var9 >>= 7; + var10 = var10 + 127 >> 7; + if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { + return this; + } + ModelData var11 = new ModelData(); + var11.verticesCount = this.verticesCount; + var11.faceCount = this.faceCount; + var11.textureTriangleCount = this.textureTriangleCount; + var11.verticesX = this.verticesX; + var11.verticesZ = this.verticesZ; + var11.indices1 = this.indices1; + var11.indices2 = this.indices2; + var11.indices3 = this.indices3; + var11.faceRenderTypes = this.faceRenderTypes; + var11.faceRenderPriorities = this.faceRenderPriorities; + var11.faceAlphas = this.faceAlphas; + var11.textureCoords = this.textureCoords; + var11.faceColors = this.faceColors; + var11.faceTextures = this.faceTextures; + var11.priority = this.priority; + var11.textureRenderTypes = this.textureRenderTypes; + var11.texTriangleX = this.texTriangleX; + var11.texTriangleY = this.texTriangleY; + var11.texTriangleZ = this.texTriangleZ; + var11.vertexSkins = this.vertexSkins; + var11.faceSkins = this.faceSkins; + var11.vertexLabels = this.vertexLabels; + var11.faceLabelsAlpha = this.faceLabelsAlpha; + var11.ambient = this.ambient; + var11.contrast = this.contrast; + var11.verticesY = new int[var11.verticesCount]; + int var12; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + int var20; + int var21; + if (var6 == 0) { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = var2 + this.verticesX[var12]; + var14 = var4 + this.verticesZ[var12]; + var15 = var13 & 127; + var16 = var14 & 127; + var17 = var13 >> 7; + var18 = var14 >> 7; + var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; + var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; + var21 = var19 * (128 - var16) + var20 * var16 >> 7; + var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; + } + } else { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = (-this.verticesY[var12] << 16) / super.height; + if (var13 >= var6) { + continue; + } + var14 = var2 + this.verticesX[var12]; + var15 = var4 + this.verticesZ[var12]; + var16 = var14 & 127; + var17 = var15 & 127; + var18 = var14 >> 7; + var19 = var15 >> 7; + var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; + var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; + int var22 = var20 * (128 - var17) + var21 * var17 >> 7; + var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; + } + } + + var11.invalidate(); + return var11; } @ObfuscatedName("b") void method2777() { int[] var1; int var2; - int var10002; int var3; int var4; - if (this.field1569 != null) { + if (this.vertexSkins != null) { var1 = new int[256]; var2 = 0; for (var3 = 0; var3 < this.verticesCount; ++var3) { - var4 = this.field1569[var3]; - var10002 = var1[var4]++; + var4 = this.vertexSkins[var3]; + var1[var4]++; if (var4 > var2) { var2 = var4; } @@ -1148,19 +1160,19 @@ public class ModelData extends Entity { } for (var3 = 0; var3 < this.verticesCount; this.vertexLabels[var4][var1[var4]++] = var3++) { - var4 = this.field1569[var3]; + var4 = this.vertexSkins[var3]; } - this.field1569 = null; + this.vertexSkins = null; } - if (this.field1553 != null) { + if (this.faceSkins != null) { var1 = new int[256]; var2 = 0; for (var3 = 0; var3 < this.faceCount; ++var3) { - var4 = this.field1553[var3]; - var10002 = var1[var4]++; + var4 = this.faceSkins[var3]; + var1[var4]++; if (var4 > var2) { var2 = var4; } @@ -1174,10 +1186,10 @@ public class ModelData extends Entity { } for (var3 = 0; var3 < this.faceCount; this.faceLabelsAlpha[var4][var1[var4]++] = var3++) { - var4 = this.field1553[var3]; + var4 = this.faceSkins[var3]; } - this.field1553 = null; + this.faceSkins = null; } } @@ -1229,14 +1241,12 @@ public class ModelData extends Entity { } @ObfuscatedName("v") - public void method2782(int var1, int var2, int var3) { + @Export("changeOffset") + public void changeOffset(int var1, int var2, int var3) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int[] var10000 = this.verticesX; - var10000[var4] += var1; - var10000 = this.verticesY; - var10000[var4] += var2; - var10000 = this.verticesZ; - var10000[var4] += var3; + this.verticesX[var4] += var1; + this.verticesY[var4] += var2; + this.verticesZ[var4] += var3; } this.invalidate(); @@ -1256,14 +1266,15 @@ public class ModelData extends Entity { @ObfuscatedName("g") @Export("retexture") public void retexture(short var1, short var2) { - if (this.faceTextures != null) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { - if (this.faceTextures[var3] == var1) { - this.faceTextures[var3] = var2; - } - } - + if (this.faceTextures == null) { + return; } + for (int var3 = 0; var3 < this.faceCount; ++var3) { + if (this.faceTextures[var3] == var1) { + this.faceTextures[var3] = var2; + } + } + } @ObfuscatedName("a") @@ -1283,141 +1294,145 @@ public class ModelData extends Entity { } @ObfuscatedName("j") - public void method2786(int var1, int var2, int var3) { + @Export("resize") + public void resize(int x, int y, int z) { for (int var4 = 0; var4 < this.verticesCount; ++var4) { - this.verticesX[var4] = this.verticesX[var4] * var1 / 128; - this.verticesY[var4] = var2 * this.verticesY[var4] / 128; - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; + this.verticesX[var4] = this.verticesX[var4] * x / 128; + this.verticesY[var4] = y * this.verticesY[var4] / 128; + this.verticesZ[var4] = z * this.verticesZ[var4] / 128; } this.invalidate(); } @ObfuscatedName("o") - public void method2787() { - if (this.field1574 == null) { - this.field1574 = new VertexNormal[this.verticesCount]; + @Export("calculateVertexNormals") + public void calculateVertexNormals() { + if (this.vertexNormals != null) { + return; + } + this.vertexNormals = new VertexNormal[this.verticesCount]; - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { - this.field1574[var1] = new VertexNormal(); + int var1; + for (var1 = 0; var1 < this.verticesCount; ++var1) { + this.vertexNormals[var1] = new VertexNormal(); + } + + for (var1 = 0; var1 < this.faceCount; ++var1) { + int var2 = this.indices1[var1]; + int var3 = this.indices2[var1]; + int var4 = this.indices3[var1]; + int var5 = this.verticesX[var3] - this.verticesX[var2]; + int var6 = this.verticesY[var3] - this.verticesY[var2]; + int var7 = this.verticesZ[var3] - this.verticesZ[var2]; + int var8 = this.verticesX[var4] - this.verticesX[var2]; + int var9 = this.verticesY[var4] - this.verticesY[var2]; + int var10 = this.verticesZ[var4] - this.verticesZ[var2]; + int var11 = var6 * var10 - var9 * var7; + int var12 = var7 * var8 - var10 * var5; + + int var13; + for (var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { + var11 >>= 1; + var12 >>= 1; } - for (var1 = 0; var1 < this.faceCount; ++var1) { - int var2 = this.indices1[var1]; - int var3 = this.indices2[var1]; - int var4 = this.indices3[var1]; - int var5 = this.verticesX[var3] - this.verticesX[var2]; - int var6 = this.verticesY[var3] - this.verticesY[var2]; - int var7 = this.verticesZ[var3] - this.verticesZ[var2]; - int var8 = this.verticesX[var4] - this.verticesX[var2]; - int var9 = this.verticesY[var4] - this.verticesY[var2]; - int var10 = this.verticesZ[var4] - this.verticesZ[var2]; - int var11 = var6 * var10 - var9 * var7; - int var12 = var7 * var8 - var10 * var5; - - int var13; - for (var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { - var11 >>= 1; - var12 >>= 1; - } - - int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); - if (var14 <= 0) { - var14 = 1; - } - - var11 = var11 * 256 / var14; - var12 = var12 * 256 / var14; - var13 = var13 * 256 / var14; - byte var15; - if (this.field1557 == null) { - var15 = 0; - } else { - var15 = this.field1557[var1]; - } - - if (var15 == 0) { - VertexNormal var16 = this.field1574[var2]; - var16.field1759 += var11; - var16.field1760 += var12; - var16.field1758 += var13; - ++var16.field1761; - var16 = this.field1574[var3]; - var16.field1759 += var11; - var16.field1760 += var12; - var16.field1758 += var13; - ++var16.field1761; - var16 = this.field1574[var4]; - var16.field1759 += var11; - var16.field1760 += var12; - var16.field1758 += var13; - ++var16.field1761; - } else if (var15 == 1) { - if (this.faceNormals == null) { - this.faceNormals = new FaceNormal[this.faceCount]; - } - - FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); - var17.field1889 = var11; - var17.field1890 = var12; - var17.field1888 = var13; - } + int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); + if (var14 <= 0) { + var14 = 1; } + var11 = var11 * 256 / var14; + var12 = var12 * 256 / var14; + var13 = var13 * 256 / var14; + byte var15; + if (this.faceRenderTypes == null) { + var15 = 0; + } else { + var15 = this.faceRenderTypes[var1]; + } + + if (var15 == 0) { + VertexNormal var16 = this.vertexNormals[var2]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + var16 = this.vertexNormals[var3]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + var16 = this.vertexNormals[var4]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + } else if (var15 == 1) { + if (this.faceNormals == null) { + this.faceNormals = new FaceNormal[this.faceCount]; + } + + FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); + var17.x = var11; + var17.y = var12; + var17.z = var13; + } } } @ObfuscatedName("d") @Export("invalidate") void invalidate() { - this.field1574 = null; + this.vertexNormals = null; this.field1581 = null; this.faceNormals = null; this.isBoundsCalculated = false; } @ObfuscatedName("s") - void method2789() { - if (!this.isBoundsCalculated) { - super.height = 0; - this.field1579 = 0; - this.field1575 = 999999; - this.field1564 = -999999; - this.field1582 = -99999; - this.field1554 = 99999; + @Export("calculateBounds") + void calculateBounds() { + if (this.isBoundsCalculated) { + return; + } + super.height = 0; + this.field1579 = 0; + this.field1575 = 999999; + this.field1564 = -999999; + this.field1582 = -99999; + this.field1554 = 99999; - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - int var3 = this.verticesY[var1]; - int var4 = this.verticesZ[var1]; - if (var2 < this.field1575) { - this.field1575 = var2; - } - - if (var2 > this.field1564) { - this.field1564 = var2; - } - - if (var4 < this.field1554) { - this.field1554 = var4; - } - - if (var4 > this.field1582) { - this.field1582 = var4; - } - - if (-var3 > super.height) { - super.height = -var3; - } - - if (var3 > this.field1579) { - this.field1579 = var3; - } + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + if (var2 < this.field1575) { + this.field1575 = var2; } - this.isBoundsCalculated = true; + if (var2 > this.field1564) { + this.field1564 = var2; + } + + if (var4 < this.field1554) { + this.field1554 = var4; + } + + if (var4 > this.field1582) { + this.field1582 = var4; + } + + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.field1579) { + this.field1579 = var3; + } } + + this.isBoundsCalculated = true; } @ObfuscatedName("al") @@ -1426,15 +1441,15 @@ public class ModelData extends Entity { ) @Export("toModel") public final Model toModel(int var1, int var2, int var3, int var4, int var5) { - this.method2787(); + this.calculateVertexNormals(); int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3 + var4 * var4)); int var7 = var6 * var2 >> 8; Model var8 = new Model(); var8.faceColors1 = new int[this.faceCount]; var8.faceColors2 = new int[this.faceCount]; var8.faceColors3 = new int[this.faceCount]; - if (this.field1555 > 0 && this.textureCoords != null) { - int[] var9 = new int[this.field1555]; + if (this.textureTriangleCount > 0 && this.textureCoords != null) { + int[] var9 = new int[this.textureTriangleCount]; int var10; for (var10 = 0; var10 < this.faceCount; ++var10) { @@ -1445,7 +1460,7 @@ public class ModelData extends Entity { var8.field1691 = 0; - for (var10 = 0; var10 < this.field1555; ++var10) { + for (var10 = 0; var10 < this.textureTriangleCount; ++var10) { if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { ++var8.field1691; } @@ -1457,11 +1472,11 @@ public class ModelData extends Entity { var10 = 0; int var11; - for (var11 = 0; var11 < this.field1555; ++var11) { + for (var11 = 0; var11 < this.textureTriangleCount; ++var11) { if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { - var8.field1692[var10] = this.texTriangleX[var11] & '\uffff'; - var8.field1693[var10] = this.texTriangleY[var11] & '\uffff'; - var8.field1694[var10] = this.texTriangleZ[var11] & '\uffff'; + var8.field1692[var10] = this.texTriangleX[var11] & 0xffff; + var8.field1693[var10] = this.texTriangleY[var11] & 0xffff; + var8.field1694[var10] = this.texTriangleZ[var11] & 0xffff; var9[var11] = var10++; } else { var9[var11] = -1; @@ -1481,10 +1496,10 @@ public class ModelData extends Entity { for (int var16 = 0; var16 < this.faceCount; ++var16) { byte var17; - if (this.field1557 == null) { + if (this.faceRenderTypes == null) { var17 = 0; } else { - var17 = this.field1557[var16]; + var17 = this.faceRenderTypes[var16]; } byte var18; @@ -1513,79 +1528,75 @@ public class ModelData extends Entity { int var14; FaceNormal var19; if (var12 == -1) { - if (var17 != 0) { - if (var17 == 1) { - var19 = this.faceNormals[var16]; - var14 = (var4 * var19.field1890 + var5 * var19.field1888 + var3 * var19.field1889) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method2792(this.faceColors[var16] & '\uffff', var14); - var8.faceColors3[var16] = -1; - } else if (var17 == 3) { - var8.faceColors1[var16] = 128; - var8.faceColors3[var16] = -1; - } else { - var8.faceColors3[var16] = -2; - } - } else { - int var15 = this.faceColors[var16] & '\uffff'; + if (var17 == 0) { + int var15 = this.faceColors[var16] & 0xffff; if (this.field1581 != null && this.field1581[this.indices1[var16]] != null) { var13 = this.field1581[this.indices1[var16]]; } else { - var13 = this.field1574[this.indices1[var16]]; + var13 = this.vertexNormals[this.indices1[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors1[var16] = method2792(var15, var14); if (this.field1581 != null && this.field1581[this.indices2[var16]] != null) { var13 = this.field1581[this.indices2[var16]]; } else { - var13 = this.field1574[this.indices2[var16]]; + var13 = this.vertexNormals[this.indices2[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors2[var16] = method2792(var15, var14); if (this.field1581 != null && this.field1581[this.indices3[var16]] != null) { var13 = this.field1581[this.indices3[var16]]; } else { - var13 = this.field1574[this.indices3[var16]]; + var13 = this.vertexNormals[this.indices3[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors3[var16] = method2792(var15, var14); - } - } else if (var17 != 0) { - if (var17 == 1) { + } else if (var17 == 1) { var19 = this.faceNormals[var16]; - var14 = (var4 * var19.field1890 + var5 * var19.field1888 + var3 * var19.field1889) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method2818(var14); + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2792(this.faceColors[var16] & 0xffff, var14); + var8.faceColors3[var16] = -1; + } else if (var17 == 3) { + var8.faceColors1[var16] = 128; var8.faceColors3[var16] = -1; } else { var8.faceColors3[var16] = -2; } - } else { + } else if (var17 == 0) { if (this.field1581 != null && this.field1581[this.indices1[var16]] != null) { var13 = this.field1581[this.indices1[var16]]; } else { - var13 = this.field1574[this.indices1[var16]]; + var13 = this.vertexNormals[this.indices1[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors1[var16] = method2818(var14); if (this.field1581 != null && this.field1581[this.indices2[var16]] != null) { var13 = this.field1581[this.indices2[var16]]; } else { - var13 = this.field1574[this.indices2[var16]]; + var13 = this.vertexNormals[this.indices2[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors2[var16] = method2818(var14); if (this.field1581 != null && this.field1581[this.indices3[var16]] != null) { var13 = this.field1581[this.indices3[var16]]; } else { - var13 = this.field1574[this.indices3[var16]]; + var13 = this.vertexNormals[this.indices3[var16]]; } - var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; var8.faceColors3[var16] = method2818(var14); + } else if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2818(var14); + var8.faceColors3[var16] = -1; + } else { + var8.faceColors3[var16] = -2; } } @@ -1598,9 +1609,9 @@ public class ModelData extends Entity { var8.indices1 = this.indices1; var8.indices2 = this.indices2; var8.indices3 = this.indices3; - var8.faceRenderPriorities = this.field1559; + var8.faceRenderPriorities = this.faceRenderPriorities; var8.faceAlphas = this.faceAlphas; - var8.field1690 = this.field1563; + var8.field1690 = this.priority; var8.vertexLabels = this.vertexLabels; var8.faceLabelsAlpha = this.faceLabelsAlpha; var8.faceTextures = this.faceTextures; @@ -1611,7 +1622,8 @@ public class ModelData extends Entity { @ObfuscatedSignature( signature = "(Lhp;II)Lds;" ) - public static ModelData method2769(AbstractArchive var0, int var1, int var2) { + @Export("ModelData_get") + public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { byte[] var3 = var0.takeFile(var1, var2); return var3 == null ? null : new ModelData(var3); } @@ -1621,10 +1633,10 @@ public class ModelData extends Entity { signature = "(Lds;Lds;IIIZ)V" ) static void method2790(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { - var0.method2789(); - var0.method2787(); - var1.method2789(); - var1.method2787(); + var0.calculateBounds(); + var0.calculateVertexNormals(); + var1.calculateBounds(); + var1.calculateVertexNormals(); ++field1586; int var6 = 0; int[] var7 = var1.verticesX; @@ -1632,76 +1644,84 @@ public class ModelData extends Entity { int var9; for (var9 = 0; var9 < var0.verticesCount; ++var9) { - VertexNormal var10 = var0.field1574[var9]; - if (var10.field1761 != 0) { - int var11 = var0.verticesY[var9] - var3; - if (var11 <= var1.field1579) { - int var12 = var0.verticesX[var9] - var2; - if (var12 >= var1.field1575 && var12 <= var1.field1564) { - int var13 = var0.verticesZ[var9] - var4; - if (var13 >= var1.field1554 && var13 <= var1.field1582) { - for (int var14 = 0; var14 < var8; ++var14) { - VertexNormal var15 = var1.field1574[var14]; - if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.field1761 != 0) { - if (var0.field1581 == null) { - var0.field1581 = new VertexNormal[var0.verticesCount]; - } - - if (var1.field1581 == null) { - var1.field1581 = new VertexNormal[var8]; - } - - VertexNormal var16 = var0.field1581[var9]; - if (var16 == null) { - var16 = var0.field1581[var9] = new VertexNormal(var10); - } - - VertexNormal var17 = var1.field1581[var14]; - if (var17 == null) { - var17 = var1.field1581[var14] = new VertexNormal(var15); - } - - var16.field1759 += var15.field1759; - var16.field1760 += var15.field1760; - var16.field1758 += var15.field1758; - var16.field1761 += var15.field1761; - var17.field1759 += var10.field1759; - var17.field1760 += var10.field1760; - var17.field1758 += var10.field1758; - var17.field1761 += var10.field1761; - ++var6; - field1584[var9] = field1586; - field1585[var14] = field1586; - } - } - } - } + VertexNormal var10 = var0.vertexNormals[var9]; + if (var10.magnitude == 0) { + continue; + } + int var11 = var0.verticesY[var9] - var3; + if (var11 > var1.field1579) { + continue; + } + int var12 = var0.verticesX[var9] - var2; + if (var12 < var1.field1575 || var12 > var1.field1564) { + continue; + } + int var13 = var0.verticesZ[var9] - var4; + if (var13 < var1.field1554 || var13 > var1.field1582) { + continue; + } + for (int var14 = 0; var14 < var8; ++var14) { + VertexNormal var15 = var1.vertexNormals[var14]; + if (var12 != var7[var14] || var13 != var1.verticesZ[var14] || var11 != var1.verticesY[var14] || var15.magnitude == 0) { + continue; } + if (var0.field1581 == null) { + var0.field1581 = new VertexNormal[var0.verticesCount]; + } + + if (var1.field1581 == null) { + var1.field1581 = new VertexNormal[var8]; + } + + VertexNormal var16 = var0.field1581[var9]; + if (var16 == null) { + var16 = var0.field1581[var9] = new VertexNormal(var10); + } + + VertexNormal var17 = var1.field1581[var14]; + if (var17 == null) { + var17 = var1.field1581[var14] = new VertexNormal(var15); + } + + var16.x += var15.x; + var16.y += var15.y; + var16.z += var15.z; + var16.magnitude += var15.magnitude; + var17.x += var10.x; + var17.y += var10.y; + var17.z += var10.z; + var17.magnitude += var10.magnitude; + ++var6; + field1584[var9] = field1586; + field1585[var14] = field1586; } } - if (var6 >= 3 && var5) { - for (var9 = 0; var9 < var0.faceCount; ++var9) { - if (field1584[var0.indices1[var9]] == field1586 && field1584[var0.indices2[var9]] == field1586 && field1584[var0.indices3[var9]] == field1586) { - if (var0.field1557 == null) { - var0.field1557 = new byte[var0.faceCount]; - } - - var0.field1557[var9] = 2; - } - } - - for (var9 = 0; var9 < var1.faceCount; ++var9) { - if (field1586 == field1585[var1.indices1[var9]] && field1586 == field1585[var1.indices2[var9]] && field1586 == field1585[var1.indices3[var9]]) { - if (var1.field1557 == null) { - var1.field1557 = new byte[var1.faceCount]; - } - - var1.field1557[var9] = 2; - } - } - + if (var6 < 3 || !var5) { + return; } + for (var9 = 0; var9 < var0.faceCount; ++var9) { + if (field1584[var0.indices1[var9]] != field1586 || field1584[var0.indices2[var9]] != field1586 || field1584[var0.indices3[var9]] != field1586) { + continue; + } + if (var0.faceRenderTypes == null) { + var0.faceRenderTypes = new byte[var0.faceCount]; + } + + var0.faceRenderTypes[var9] = 2; + } + + for (var9 = 0; var9 < var1.faceCount; ++var9) { + if (field1586 != field1585[var1.indices1[var9]] || field1586 != field1585[var1.indices2[var9]] || field1586 != field1585[var1.indices3[var9]]) { + continue; + } + if (var1.faceRenderTypes == null) { + var1.faceRenderTypes = new byte[var1.faceCount]; + } + + var1.faceRenderTypes[var9] = 2; + } + } @ObfuscatedName("av") diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index f39e28e631..c240cbda7d 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -270,80 +270,43 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi int var1 = 0; var0.importIndex(); - byte[] var10000; int var2; int var3; - int var4; + for (var2 = 0; var2 < Players.Players_count; ++var2) { + var3 = Players.Players_indices[var2]; + if ((Players.field1252[var3] & 1) != 0) { + continue; + } + if (var1 > 0) { + --var1; + Players.field1252[var3] = (byte)(Players.field1252[var3] | 2); + } else if (var0.readBits(1) == 0) { + var1 = World.decode(var0); + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); + } else { + WorldMapIcon_0.readPlayerUpdate(var0, var3); + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } + var0.importIndex(); + for (var2 = 0; var2 < Players.Players_count; ++var2) { var3 = Players.Players_indices[var2]; if ((Players.field1252[var3] & 1) == 0) { - if (var1 > 0) { - --var1; - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - var4 = var0.readBits(1); - if (var4 == 0) { - var1 = World.method1686(var0); - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - WorldMapIcon_0.method210(var0, var3); - } - } + continue; } - } - - var0.exportIndex(); - if (var1 != 0) { - throw new RuntimeException(); - } - var0.importIndex(); - - for (var2 = 0; var2 < Players.Players_count; ++var2) { - var3 = Players.Players_indices[var2]; - if ((Players.field1252[var3] & 1) != 0) { - if (var1 > 0) { - --var1; - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - var4 = var0.readBits(1); - if (var4 == 0) { - var1 = World.method1686(var0); - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - WorldMapIcon_0.method210(var0, var3); - } - } - } - } - - var0.exportIndex(); - if (var1 != 0) { - throw new RuntimeException(); - } - var0.importIndex(); - - for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { - var3 = Players.Players_emptyIndices[var2]; - if ((Players.field1252[var3] & 1) != 0) { - if (var1 > 0) { - --var1; - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - var4 = var0.readBits(1); - if (var4 == 0) { - var1 = World.method1686(var0); - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else if (class226.updateExternalPlayer(var0, var3)) { - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } - } + if (var1 > 0) { + --var1; + Players.field1252[var3] = (byte)(Players.field1252[var3] | 2); + } else if (var0.readBits(1) == 0) { + var1 = World.decode(var0); + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); + } else { + WorldMapIcon_0.readPlayerUpdate(var0, var3); } } @@ -356,21 +319,38 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { var3 = Players.Players_emptyIndices[var2]; if ((Players.field1252[var3] & 1) == 0) { - if (var1 > 0) { - --var1; - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else { - var4 = var0.readBits(1); - if (var4 == 0) { - var1 = World.method1686(var0); - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } else if (class226.updateExternalPlayer(var0, var3)) { - var10000 = Players.field1252; - var10000[var3] = (byte)(var10000[var3] | 2); - } - } + continue; + } + if (var1 > 0) { + --var1; + Players.field1252[var3] = (byte)(Players.field1252[var3] | 2); + } else if (var0.readBits(1) == 0) { + var1 = World.decode(var0); + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); + } else if (class226.updateExternalPlayer(var0, var3)) { + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } + var0.importIndex(); + + for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { + var3 = Players.Players_emptyIndices[var2]; + if ((Players.field1252[var3] & 1) != 0) { + continue; + } + if (var1 > 0) { + --var1; + Players.field1252[var3] = (byte)(Players.field1252[var3] | 2); + } else if (var0.readBits(1) == 0) { + var1 = World.decode(var0); + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); + } else if (class226.updateExternalPlayer(var0, var3)) { + Players.field1252[var3] = (byte) (Players.field1252[var3] | 2); } } @@ -382,8 +362,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi Players.Players_emptyIdxCount = 0; for (var2 = 1; var2 < 2048; ++var2) { - var10000 = Players.field1252; - var10000[var2] = (byte)(var10000[var2] >> 1); + Players.field1252[var2] = (byte)(Players.field1252[var2] >> 1); Player var5 = Client.players[var2]; if (var5 != null) { Players.Players_indices[++Players.Players_count - 1] = var2; @@ -410,9 +389,9 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi garbageValue = "1793626495" ) static final int method1021(int var0, int var1) { - int var2 = var0 + var1 * 57; - var2 ^= var2 << 13; - int var3 = (var2 * var2 * 15731 + 789221) * var2 + 1376312589 & Integer.MAX_VALUE; - return var3 >> 19 & 255; + int var2 = var0 + var1 * 0x39; + var2 ^= var2 << 0xd; + int var3 = (var2 * var2 * 0x3d73 + 0xc0ae5) * var2 + 0x5208dd0d & Integer.MAX_VALUE; + return var3 >> 0x13 & 0xff; } } diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 9666b0c86f..581a3f7ff9 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -73,7 +73,8 @@ public class MouseRecorder implements Runnable { signature = "(I)V", garbageValue = "234130562" ) - static final void method1138() { + @Export("FriendSystem_friendsListFullMes") + static final void FriendSystem_friendsListFullMes() { Object var10000 = null; String var0 = "Your friend list is full. Max of 200 for free users, and 400 for members"; ScriptEvent.addGameMessage(30, "", var0); @@ -113,7 +114,7 @@ public class MouseRecorder implements Runnable { @Export("performPlayerAnimation") static void performPlayerAnimation(Player var0, int var1, int var2) { if (var0.sequence == var1 && var1 != -1) { - int var3 = GrandExchangeEvent.getSequenceDefinition(var1).field3529; + int var3 = GrandExchangeEvent.SequenceDefinition_get(var1).field3529; if (var3 == 1) { var0.sequenceFrame = 0; var0.sequenceFrameCycle = 0; @@ -124,7 +125,7 @@ public class MouseRecorder implements Runnable { if (var3 == 2) { var0.field985 = 0; } - } else if (var1 == -1 || var0.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var1).field3533 >= GrandExchangeEvent.getSequenceDefinition(var0.sequence).field3533) { + } else if (var1 == -1 || var0.sequence == -1 || GrandExchangeEvent.SequenceDefinition_get(var1).field3533 >= GrandExchangeEvent.SequenceDefinition_get(var0.sequence).field3533) { var0.sequence = var1; var0.sequenceFrame = 0; var0.sequenceFrameCycle = 0; diff --git a/runescape-client/src/main/java/MusicPatch.java b/runescape-client/src/main/java/MusicPatch.java index 8cbff818f5..89311e9450 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -489,27 +489,29 @@ public class MusicPatch extends Node { RawSound var6 = null; for (int var7 = 0; var7 < 128; ++var7) { - if (var2 == null || var2[var7] != 0) { - int var8 = this.field2480[var7]; - if (var8 != 0) { - if (var8 != var5) { - var5 = var8--; - if ((var8 & 1) == 0) { - var6 = var1.getSoundEffect(var8 >> 2, var3); - } else { - var6 = var1.getMusicSample(var8 >> 2, var3); - } - - if (var6 == null) { - var4 = false; - } - } - - if (var6 != null) { - this.rawSounds[var7] = var6; - this.field2480[var7] = 0; - } + if (var2 != null && var2[var7] == 0) { + continue; + } + int var8 = this.field2480[var7]; + if (var8 == 0) { + continue; + } + if (var8 != var5) { + var5 = var8--; + if ((var8 & 1) == 0) { + var6 = var1.getSoundEffect(var8 >> 2, var3); + } else { + var6 = var1.getMusicSample(var8 >> 2, var3); } + + if (var6 == null) { + var4 = false; + } + } + + if (var6 != null) { + this.rawSounds[var7] = var6; + this.field2480[var7] = 0; } } @@ -531,8 +533,8 @@ public class MusicPatch extends Node { signature = "(IB)Lib;", garbageValue = "-20" ) - @Export("getSpotAnimationDefinition") - public static SpotAnimationDefinition getSpotAnimationDefinition(int var0) { + @Export("SpotAnimationDefinition_get") + public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); if (var1 != null) { return var1; @@ -553,7 +555,8 @@ public class MusicPatch extends Node { signature = "(B)V", garbageValue = "1" ) - public static void method3888() { + @Export("VarbitDefinition_clearCached") + public static void VarbitDefinition_clearCached() { VarbitDefinition.VarbitDefinition_cached.clear(); } @@ -562,11 +565,12 @@ public class MusicPatch extends Node { signature = "(IIIIIIIIII)V", garbageValue = "-1700353173" ) - static final void method3885(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + @Export("updatePendingSpawn") + static final void updatePendingSpawn(int plane, int x, int y, int type, int id, int var5, int orientation, int delay, int hitpoints) { PendingSpawn var9 = null; for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { + if (plane == var10.plane && var10.x == x && y == var10.y && type == var10.type) { var9 = var10; break; } @@ -574,18 +578,18 @@ public class MusicPatch extends Node { if (var9 == null) { var9 = new PendingSpawn(); - var9.plane = var0; - var9.type = var3; - var9.x = var1; - var9.y = var2; + var9.plane = plane; + var9.type = type; + var9.x = x; + var9.y = y; class294.method5327(var9); Client.pendingSpawns.addFirst(var9); } - var9.id = var4; + var9.id = id; var9.field940 = var5; - var9.orientation = var6; - var9.delay = var7; - var9.hitpoints = var8; + var9.orientation = orientation; + var9.delay = delay; + var9.hitpoints = hitpoints; } } diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index 1f08f2c389..f8b2af3363 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -61,7 +61,8 @@ public class MusicPatchNode2 { signature = "(IS)I", garbageValue = "17338" ) - static int method3686(int var0) { + @Export("Messages_getNextChatID") + static int Messages_getNextChatID(int var0) { Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); if (var1 == null) { return -1; diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index 2df785f0f7..f40e1091e8 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -61,7 +61,7 @@ public class MusicPatchPcmStream extends PcmStream { var4 -= var7; var1.field2444 += var6 * var7 - 1048576; int var8 = CollisionMap.PcmPlayer_sampleRate / 100; - int var9 = 262144 / var6; + int var9 = 0x40000 / var6; if (var9 < var8) { var8 = var9; } diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index 97e717542c..732c81f51c 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -65,12 +65,10 @@ public class MusicTrack extends Node { ++var10; } else if (var14 == 5) { ++var11; - } else { - if (var14 != 6) { - throw new RuntimeException(); - } - + } else if (var14 == 6) { ++var12; + } else { + throw new RuntimeException(); } } } @@ -104,34 +102,32 @@ public class MusicTrack extends Node { int var29; for (var29 = 0; var29 < var6; ++var29) { var28 = var28 + var1.readUnsignedByte() & 127; - if (var28 != 0 && var28 != 32) { - if (var28 == 1) { - ++var16; - } else if (var28 == 33) { - ++var17; - } else if (var28 == 7) { - ++var18; - } else if (var28 == 39) { - ++var19; - } else if (var28 == 10) { - ++var20; - } else if (var28 == 42) { - ++var21; - } else if (var28 == 99) { - ++var22; - } else if (var28 == 98) { - ++var23; - } else if (var28 == 101) { - ++var24; - } else if (var28 == 100) { - ++var25; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { - ++var27; - } else { - ++var26; - } - } else { + if (var28 == 0 || var28 == 32) { ++var12; + } else if (var28 == 1) { + ++var16; + } else if (var28 == 33) { + ++var17; + } else if (var28 == 7) { + ++var18; + } else if (var28 == 39) { + ++var19; + } else if (var28 == 10) { + ++var20; + } else if (var28 == 42) { + ++var21; + } else if (var28 == 99) { + ++var22; + } else if (var28 == 98) { + ++var23; + } else if (var28 == 101) { + ++var24; + } else if (var28 == 100) { + ++var25; + } else if (var28 == 64 || var28 == 65 || var28 == 120 || var28 == 121 || var28 == 123) { + ++var26; + } else { + ++var27; } } @@ -180,7 +176,7 @@ public class MusicTrack extends Node { var1.offset += var5 * 3; this.midi = new byte[var4]; Buffer var51 = new Buffer(this.midi); - var51.writeInt(1297377380); + var51.writeInt(0x4d546864); var51.writeInt(6); var51.writeShort(var2 > 1 ? 1 : 0); var51.writeShort(var2); @@ -198,137 +194,131 @@ public class MusicTrack extends Node { label235: for (int var60 = 0; var60 < var2; ++var60) { - var51.writeInt(1297379947); + var51.writeInt(0x4d54726b); var51.offset += 4; int var61 = var51.offset; int var62 = -1; while (true) { - while (true) { - int var63 = var1.readVarInt(); - var51.writeVarInt(var63); - int var64 = var1.array[var29++] & 255; - boolean var65 = var64 != var62; - var62 = var64 & 15; - if (var64 == 7) { - if (var65) { - var51.writeByte(255); - } - - var51.writeByte(47); - var51.writeByte(0); - var51.writeLengthInt(var51.offset - var61); - continue label235; + int var63 = var1.readVarInt(); + var51.writeVarInt(var63); + int var64 = var1.array[var29++] & 255; + boolean var65 = var64 != var62; + var62 = var64 & 15; + if (var64 == 7) { + if (var65) { + var51.writeByte(255); } - if (var64 == 23) { - if (var65) { - var51.writeByte(255); - } + var51.writeByte(47); + var51.writeByte(0); + var51.writeLengthInt(var51.offset - var61); + continue label235; + } - var51.writeByte(81); - var51.writeByte(3); - var51.writeByte(var1.array[var50++]); - var51.writeByte(var1.array[var50++]); - var51.writeByte(var1.array[var50++]); + if (var64 == 23) { + if (var65) { + var51.writeByte(255); + } + + var51.writeByte(81); + var51.writeByte(3); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + continue; + } + var52 ^= var64 >> 4; + if (var62 == 0) { + if (var65) { + var51.writeByte(var52 + 144); + } + + var53 += var1.array[var37++]; + var54 += var1.array[var38++]; + var51.writeByte(var53 & 127); + var51.writeByte(var54 & 127); + } else if (var62 == 1) { + if (var65) { + var51.writeByte(var52 + 128); + } + + var53 += var1.array[var37++]; + var55 += var1.array[var40++]; + var51.writeByte(var53 & 127); + var51.writeByte(var55 & 127); + } else if (var62 == 2) { + if (var65) { + var51.writeByte(var52 + 176); + } + + var28 = var28 + var1.array[var15++] & 127; + var51.writeByte(var28); + byte var66; + if (var28 == 0 || var28 == 32) { + var66 = var1.array[var44++]; + } else if (var28 == 1) { + var66 = var1.array[var34++]; + } else if (var28 == 33) { + var66 = var1.array[var41++]; + } else if (var28 == 7) { + var66 = var1.array[var35++]; + } else if (var28 == 39) { + var66 = var1.array[var42++]; + } else if (var28 == 10) { + var66 = var1.array[var36++]; + } else if (var28 == 42) { + var66 = var1.array[var43++]; + } else if (var28 == 99) { + var66 = var1.array[var46++]; + } else if (var28 == 98) { + var66 = var1.array[var47++]; + } else if (var28 == 101) { + var66 = var1.array[var48++]; + } else if (var28 == 100) { + var66 = var1.array[var49++]; + } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { + var66 = var1.array[var39++]; } else { - var52 ^= var64 >> 4; - if (var62 == 0) { - if (var65) { - var51.writeByte(var52 + 144); - } - - var53 += var1.array[var37++]; - var54 += var1.array[var38++]; - var51.writeByte(var53 & 127); - var51.writeByte(var54 & 127); - } else if (var62 == 1) { - if (var65) { - var51.writeByte(var52 + 128); - } - - var53 += var1.array[var37++]; - var55 += var1.array[var40++]; - var51.writeByte(var53 & 127); - var51.writeByte(var55 & 127); - } else if (var62 == 2) { - if (var65) { - var51.writeByte(var52 + 176); - } - - var28 = var28 + var1.array[var15++] & 127; - var51.writeByte(var28); - byte var66; - if (var28 != 0 && var28 != 32) { - if (var28 == 1) { - var66 = var1.array[var34++]; - } else if (var28 == 33) { - var66 = var1.array[var41++]; - } else if (var28 == 7) { - var66 = var1.array[var35++]; - } else if (var28 == 39) { - var66 = var1.array[var42++]; - } else if (var28 == 10) { - var66 = var1.array[var36++]; - } else if (var28 == 42) { - var66 = var1.array[var43++]; - } else if (var28 == 99) { - var66 = var1.array[var46++]; - } else if (var28 == 98) { - var66 = var1.array[var47++]; - } else if (var28 == 101) { - var66 = var1.array[var48++]; - } else if (var28 == 100) { - var66 = var1.array[var49++]; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { - var66 = var1.array[var39++]; - } else { - var66 = var1.array[var30++]; - } - } else { - var66 = var1.array[var44++]; - } - - int var67 = var66 + var59[var28]; - var59[var28] = var67; - var51.writeByte(var67 & 127); - } else if (var62 == 3) { - if (var65) { - var51.writeByte(var52 + 224); - } - - var56 += var1.array[var45++]; - var56 += var1.array[var33++] << 7; - var51.writeByte(var56 & 127); - var51.writeByte(var56 >> 7 & 127); - } else if (var62 == 4) { - if (var65) { - var51.writeByte(var52 + 208); - } - - var57 += var1.array[var32++]; - var51.writeByte(var57 & 127); - } else if (var62 == 5) { - if (var65) { - var51.writeByte(var52 + 160); - } - - var53 += var1.array[var37++]; - var58 += var1.array[var31++]; - var51.writeByte(var53 & 127); - var51.writeByte(var58 & 127); - } else { - if (var62 != 6) { - throw new RuntimeException(); - } - - if (var65) { - var51.writeByte(var52 + 192); - } - - var51.writeByte(var1.array[var44++]); - } + var66 = var1.array[var30++]; } + + int var67 = var66 + var59[var28]; + var59[var28] = var67; + var51.writeByte(var67 & 127); + } else if (var62 == 3) { + if (var65) { + var51.writeByte(var52 + 224); + } + + var56 += var1.array[var45++]; + var56 += var1.array[var33++] << 7; + var51.writeByte(var56 & 127); + var51.writeByte(var56 >> 7 & 127); + } else if (var62 == 4) { + if (var65) { + var51.writeByte(var52 + 208); + } + + var57 += var1.array[var32++]; + var51.writeByte(var57 & 127); + } else if (var62 == 5) { + if (var65) { + var51.writeByte(var52 + 160); + } + + var53 += var1.array[var37++]; + var58 += var1.array[var31++]; + var51.writeByte(var53 & 127); + var51.writeByte(var58 & 127); + } else if (var62 == 6) { + if (var65) { + var51.writeByte(var52 + 192); + } + + var51.writeByte(var1.array[var44++]); + } else { + throw new RuntimeException(); } } } @@ -337,83 +327,84 @@ public class MusicTrack extends Node { @ObfuscatedName("w") void method3925() { - if (this.table == null) { - this.table = new NodeHashTable(16); - int[] var1 = new int[16]; - int[] var2 = new int[16]; - var2[9] = 128; - var1[9] = 128; - MidiFileReader var4 = new MidiFileReader(this.midi); - int var5 = var4.trackCount(); - - int var6; - for (var6 = 0; var6 < var5; ++var6) { - var4.gotoTrack(var6); - var4.readTrackLength(var6); - var4.markTrackPosition(var6); - } - - label53: - do { - while (true) { - var6 = var4.getPrioritizedTrack(); - int var7 = var4.trackLengths[var6]; - - while (var7 == var4.trackLengths[var6]) { - var4.gotoTrack(var6); - int var8 = var4.readMessage(var6); - if (var8 == 1) { - var4.setTrackDone(); - var4.markTrackPosition(var6); - continue label53; - } - - int var9 = var8 & 240; - int var10; - int var11; - int var12; - if (var9 == 176) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var12 = var8 >> 16 & 127; - if (var11 == 0) { - var1[var10] = (var12 << 14) + (var1[var10] & -2080769); - } - - if (var11 == 32) { - var1[var10] = (var1[var10] & -16257) + (var12 << 7); - } - } - - if (var9 == 192) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var2[var10] = var11 + var1[var10]; - } - - if (var9 == 144) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var12 = var8 >> 16 & 127; - if (var12 > 0) { - int var13 = var2[var10]; - ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13); - if (var14 == null) { - var14 = new ByteArrayNode(new byte[128]); - this.table.put(var14, (long)var13); - } - - var14.byteArray[var11] = 1; - } - } - - var4.readTrackLength(var6); - var4.markTrackPosition(var6); - } - } - } while(!var4.isDone()); - + if (this.table != null) { + return; } + this.table = new NodeHashTable(16); + int[] var1 = new int[16]; + int[] var2 = new int[16]; + var2[9] = 128; + var1[9] = 128; + MidiFileReader var4 = new MidiFileReader(this.midi); + int var5 = var4.trackCount(); + + int var6; + for (var6 = 0; var6 < var5; ++var6) { + var4.gotoTrack(var6); + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + + label53: + do { + while (true) { + var6 = var4.getPrioritizedTrack(); + int var7 = var4.trackLengths[var6]; + + while (var7 == var4.trackLengths[var6]) { + var4.gotoTrack(var6); + int var8 = var4.readMessage(var6); + if (var8 == 1) { + var4.setTrackDone(); + var4.markTrackPosition(var6); + continue label53; + } + + int var9 = var8 & 240; + int var10; + int var11; + int var12; + if (var9 == 176) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var12 = var8 >> 16 & 127; + if (var11 == 0) { + var1[var10] = (var12 << 14) + (var1[var10] & 0xffe03fff); + } + + if (var11 == 32) { + var1[var10] = (var1[var10] & 0xffffc07f) + (var12 << 7); + } + } + + if (var9 == 192) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var2[var10] = var11 + var1[var10]; + } + + if (var9 == 144) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var12 = var8 >> 16 & 127; + if (var12 > 0) { + int var13 = var2[var10]; + ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13); + if (var14 == null) { + var14 = new ByteArrayNode(new byte[128]); + this.table.put(var14, (long)var13); + } + + var14.byteArray[var11] = 1; + } + } + + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + } + } while(!var4.isDone()); + } @ObfuscatedName("e") diff --git a/runescape-client/src/main/java/NPC.java b/runescape-client/src/main/java/NPC.java index 67b925c76c..e30258d2f3 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -66,7 +66,7 @@ public final class NPC extends Actor { --var4; } - if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) { super.sequence = -1; } @@ -91,7 +91,7 @@ public final class NPC extends Actor { garbageValue = "128" ) final void method1963(int var1, int var2, boolean var3) { - if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) { super.sequence = -1; } @@ -135,8 +135,8 @@ public final class NPC extends Actor { if (this.definition == null) { return null; } - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(super.movementSequence) : null; + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? GrandExchangeEvent.SequenceDefinition_get(super.movementSequence) : null; Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); if (var3 == null) { return null; @@ -144,7 +144,7 @@ public final class NPC extends Actor { var3.calculateBoundsCylinder(); super.defaultHeight = var3.height; if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - Model var4 = MusicPatch.getSpotAnimationDefinition(super.spotAnimation).getModel(super.spotAnimationFrame); + Model var4 = MusicPatch.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { var4.offsetBy(0, -super.heightOffset, 0); Model[] var5 = new Model[]{var3, var4}; @@ -200,7 +200,7 @@ public final class NPC extends Actor { return MenuAction.method1992(var0, var1, var2); } if (var0 < 1800) { - return class169.method3501(var0, var1, var2); + return FileSystem.method3501(var0, var1, var2); } if (var0 < 1900) { return StudioGame.method4137(var0, var1, var2); diff --git a/runescape-client/src/main/java/NPCDefinition.java b/runescape-client/src/main/java/NPCDefinition.java index 3e4e43ea3a..fb3cc5dbcd 100644 --- a/runescape-client/src/main/java/NPCDefinition.java +++ b/runescape-client/src/main/java/NPCDefinition.java @@ -148,12 +148,14 @@ public class NPCDefinition extends DualNode { @ObfuscatedGetter( intValue = -1025761835 ) - int field3489; + @Export("ambient") + int ambient; @ObfuscatedName("av") @ObfuscatedGetter( intValue = -704573687 ) - int field3477; + @Export("contrast") + int contrast; @ObfuscatedName("as") @ObfuscatedGetter( intValue = -958294189 @@ -164,7 +166,8 @@ public class NPCDefinition extends DualNode { @ObfuscatedGetter( intValue = 648485331 ) - public int field3492; + @Export("rotation") + public int rotation; @ObfuscatedName("ad") @Export("transforms") public int[] transforms; @@ -217,10 +220,10 @@ public class NPCDefinition extends DualNode { this.widthScale = 128; this.heightScale = 128; this.isVisible = false; - this.field3489 = 0; - this.field3477 = 0; + this.ambient = 0; + this.contrast = 0; this.headIconPrayer = -1; - this.field3492 = 32; + this.rotation = 32; this.transformVarbit = -1; this.transformVarp = -1; this.isInteractable = true; @@ -328,13 +331,13 @@ public class NPCDefinition extends DualNode { } else if (var2 == 99) { this.isVisible = true; } else if (var2 == 100) { - this.field3489 = var1.readByte(); + this.ambient = var1.readByte(); } else if (var2 == 101) { - this.field3477 = var1.readByte() * 5; + this.contrast = var1.readByte() * 5; } else if (var2 == 102) { this.headIconPrayer = var1.readUnsignedShort(); } else if (var2 == 103) { - this.field3492 = var1.readUnsignedShort(); + this.rotation = var1.readUnsignedShort(); } else if (var2 != 106 && var2 != 118) { if (var2 == 107) { this.isInteractable = false; @@ -347,19 +350,19 @@ public class NPCDefinition extends DualNode { } } else { this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { + if (this.transformVarbit == 0xffff) { this.transformVarbit = -1; } this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { + if (this.transformVarp == 0xffff) { this.transformVarp = -1; } var3 = -1; if (var2 == 118) { var3 = var1.readUnsignedShort(); - if (var3 == 65535) { + if (var3 == 0xffff) { var3 = -1; } } @@ -369,7 +372,7 @@ public class NPCDefinition extends DualNode { for (int var5 = 0; var5 <= var4; ++var5) { this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { + if (this.transforms[var5] == 0xffff) { this.transforms[var5] = -1; } } @@ -408,7 +411,7 @@ public class NPCDefinition extends DualNode { int var9; for (var9 = 0; var9 < this.models.length; ++var9) { - var8[var9] = ModelData.method2769(NpcDefinition_modelArchive, this.models[var9], 0); + var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0); } ModelData var11; @@ -430,7 +433,7 @@ public class NPCDefinition extends DualNode { } } - var5 = var11.toModel(this.field3489 + 64, this.field3477 + 850, -30, -50, -30); + var5 = var11.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); NpcDefinition_cachedModels.put(var5, (long)this.id); } @@ -480,7 +483,7 @@ public class NPCDefinition extends DualNode { ModelData[] var6 = new ModelData[this.field3463.length]; for (int var3 = 0; var3 < this.field3463.length; ++var3) { - var6[var3] = ModelData.method2769(NpcDefinition_modelArchive, this.field3463[var3], 0); + var6[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3463[var3], 0); } ModelData var7; @@ -561,19 +564,14 @@ public class NPCDefinition extends DualNode { @Export("getIntParam") public int getIntParam(int var1, int var2) { IterableNodeHashTable var4 = this.params; - int var3; if (var4 == null) { - var3 = var2; - } else { - IntegerNode var5 = (IntegerNode)var4.get((long)var1); - if (var5 == null) { - var3 = var2; - } else { - var3 = var5.integer; - } + return var2; } - - return var3; + IntegerNode var5 = (IntegerNode)var4.get((long)var1); + if (var5 == null) { + return var2; + } + return var5.integer; } @ObfuscatedName("x") diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index e139b10687..8f83790864 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -18,12 +18,14 @@ public class NetCache { @ObfuscatedGetter( intValue = 351053657 ) - static int field3163; + @Export("NetCache_loadTime") + static int NetCache_loadTime; @ObfuscatedName("e") @ObfuscatedGetter( longValue = 906577835555410159L ) - static long field3169; + @Export("NetCache_timeMs") + static long NetCache_timeMs; @ObfuscatedName("p") @ObfuscatedSignature( signature = "Llc;" @@ -114,7 +116,7 @@ public class NetCache { public static int NetCache_ioExceptions; static { - field3163 = 0; + NetCache_loadTime = 0; NetCache_pendingPriorityWrites = new NodeHashTable(4096); NetCache_pendingPriorityWritesCount = 0; NetCache_pendingPriorityResponses = new NodeHashTable(32); @@ -138,12 +140,12 @@ public class NetCache { signature = "(III)V", garbageValue = "-1775821653" ) - static void method4312(int var0, int var1) { + @Export("calculateMenuBounds") + static void calculateMenuBounds(int x, int y) { int var2 = WorldMapIcon_1.fontBold12.stringWidth("Choose Option"); - int var3; int var4; - for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { + for (int var3 = 0; var3 < Client.menuOptionsCount; ++var3) { var4 = WorldMapIcon_1.fontBold12.stringWidth(WorldMapLabel.getMenuText(var3)); if (var4 > var2) { var2 = var4; @@ -151,8 +153,8 @@ public class NetCache { } var2 += 8; - var3 = Client.menuOptionsCount * 15 + 22; - var4 = var0 - var2 / 2; + int var3 = Client.menuOptionsCount * 15 + 22; + var4 = x - var2 / 2; if (var2 + var4 > GrandExchangeEvent.canvasWidth) { var4 = GrandExchangeEvent.canvasWidth - var2; } @@ -161,8 +163,8 @@ public class NetCache { var4 = 0; } - int var5 = var1; - if (var3 + var1 > ParamDefinition.canvasHeight) { + int var5 = y; + if (var3 + y > ParamDefinition.canvasHeight) { var5 = ParamDefinition.canvasHeight - var3; } diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index c41103fcfb..59931c7b29 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -43,24 +43,25 @@ public class NetFileRequest extends DualNode { signature = "(IIIIIB)V", garbageValue = "-20" ) - static final void method4139(int var0, int var1, int var2, int var3, int var4) { - GrandExchangeOfferAgeComparator.scrollBarSprites[0].drawAt(var0, var1); - GrandExchangeOfferAgeComparator.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field715); - int var5 = var3 * (var3 - 32) / var4; + @Export("drawScrollBar") + static final void drawScrollBar(int x, int y, int scrollY, int height, int scrollHeight) { + GrandExchangeOfferAgeComparator.scrollBarSprites[0].drawAt(x, y); + GrandExchangeOfferAgeComparator.scrollBarSprites[1].drawAt(x, height + y - 16); + Rasterizer2D.Rasterizer2D_fillRectangle(x, y + 16, 16, height - 32, Client.field715); + int var5 = height * (height - 32) / scrollHeight; if (var5 < 8) { var5 = 8; } - int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field716); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field772); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field772); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field772); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field772); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field720); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field720); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field720); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field720); + int var6 = (height - 32 - var5) * scrollY / (scrollHeight - height); + Rasterizer2D.Rasterizer2D_fillRectangle(x, var6 + y + 16, 16, var5, Client.field716); + Rasterizer2D.Rasterizer2D_drawVerticalLine(x, var6 + y + 16, var5, Client.field772); + Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 1, var6 + y + 16, var5, Client.field772); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + y + 16, 16, Client.field772); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + y + 17, 16, Client.field772); + Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 15, var6 + y + 16, var5, Client.field720); + Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 14, var6 + y + 17, var5 - 1, Client.field720); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + var5 + y + 15, 16, Client.field720); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(x + 1, var5 + var6 + y + 14, 15, Client.field720); } } diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index 3208dc99b8..ebbe690ba8 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -225,73 +225,66 @@ public final class NetSocket extends AbstractSocket implements Runnable { public void run() { try { while (true) { - label84: { - int var1; - int var2; - synchronized(this) { - if (this.outOffset == this.outLength) { - if (this.isClosed) { - break label84; - } - - try { - this.wait(); - } catch (InterruptedException var10) { - } + int var1; + int var2; + synchronized(this) { + if (this.outOffset == this.outLength) { + if (this.isClosed) { + break; } - - var2 = this.outLength; - if (this.outOffset >= this.outLength) { - var1 = this.outOffset - this.outLength; - } else { - var1 = this.bufferLength - this.outLength; + try { + this.wait(); + } catch (InterruptedException var10) { } } - if (var1 <= 0) { - continue; + var2 = this.outLength; + if (this.outOffset >= this.outLength) { + var1 = this.outOffset - this.outLength; + } else { + var1 = this.bufferLength - this.outLength; } + } - try { - this.outputStream.write(this.outBuffer, var2, var1); - } catch (IOException var9) { - this.exceptionWriting = true; - } - - this.outLength = (var1 + this.outLength) % this.bufferLength; - - try { - if (this.outOffset == this.outLength) { - this.outputStream.flush(); - } - } catch (IOException var8) { - this.exceptionWriting = true; - } + if (var1 <= 0) { continue; } try { - if (this.inputStream != null) { - this.inputStream.close(); - } - - if (this.outputStream != null) { - this.outputStream.close(); - } - - if (this.socket != null) { - this.socket.close(); - } - } catch (IOException var7) { + this.outputStream.write(this.outBuffer, var2, var1); + } catch (IOException var9) { + this.exceptionWriting = true; } - this.outBuffer = null; - break; + this.outLength = (var1 + this.outLength) % this.bufferLength; + + try { + if (this.outOffset == this.outLength) { + this.outputStream.flush(); + } + } catch (IOException var8) { + this.exceptionWriting = true; + } } } catch (Exception var12) { - HitSplatDefinition.sendStackTrace((String)null, var12); + HitSplatDefinition.RunException_sendStackTrace((String)null, var12); + } + try { + if (this.inputStream != null) { + this.inputStream.close(); + } + + if (this.outputStream != null) { + this.outputStream.close(); + } + + if (this.socket != null) { + this.socket.close(); + } + } catch (IOException var7) { } + this.outBuffer = null; } @ObfuscatedName("w") @@ -299,11 +292,12 @@ public final class NetSocket extends AbstractSocket implements Runnable { signature = "(II)Lkl;", garbageValue = "939071894" ) - public static class310 method3530(int var0) { - class310[] var1 = UserComparator9.method3383(); + @Export("ChatMode_find") + public static PrivateChatMode ChatMode_find(int var0) { + PrivateChatMode[] var1 = UserComparator9.ChatMode_values(); for (int var2 = 0; var2 < var1.length; ++var2) { - class310 var3 = var1[var2]; + PrivateChatMode var3 = var1[var2]; if (var0 == var3.field3815) { return var3; } diff --git a/runescape-client/src/main/java/ObjectDefinition.java b/runescape-client/src/main/java/ObjectDefinition.java index 450c3ad965..d6721ad0dd 100644 --- a/runescape-client/src/main/java/ObjectDefinition.java +++ b/runescape-client/src/main/java/ObjectDefinition.java @@ -58,9 +58,11 @@ public class ObjectDefinition extends DualNode { @Export("id") public int id; @ObfuscatedName("f") - int[] field3362; + @Export("modelIds") + int[] modelIds; @ObfuscatedName("m") - int[] field3359; + @Export("models") + int[] models; @ObfuscatedName("u") @Export("name") public String name; @@ -311,7 +313,7 @@ public class ObjectDefinition extends DualNode { void postDecode() { if (this.int1 == -1) { this.int1 = 0; - if (this.field3362 != null && (this.field3359 == null || this.field3359[0] == 10)) { + if (this.modelIds != null && (this.models == null || this.models[0] == 10)) { this.int1 = 1; } @@ -356,34 +358,36 @@ public class ObjectDefinition extends DualNode { int var4; if (var2 == 1) { var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.field3362 != null && !ObjectDefinition_isLowDetail) { - var1.offset += 3 * var3; - } else { - this.field3359 = new int[var3]; - this.field3362 = new int[var3]; + if (var3 <= 0) { + return; + } + if (this.modelIds == null || ObjectDefinition_isLowDetail) { + this.models = new int[var3]; + this.modelIds = new int[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.field3362[var4] = var1.readUnsignedShort(); - this.field3359[var4] = var1.readUnsignedByte(); - } + for (var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); + this.models[var4] = var1.readUnsignedByte(); } + } else { + var1.offset += 3 * var3; } } else if (var2 == 2) { this.name = var1.readStringCp1252NullTerminated(); } else if (var2 == 5) { var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.field3362 != null && !ObjectDefinition_isLowDetail) { - var1.offset += var3 * 2; - } else { - this.field3359 = null; - this.field3362 = new int[var3]; + if (var3 <= 0) { + return; + } + if (this.modelIds == null || ObjectDefinition_isLowDetail) { + this.models = null; + this.modelIds = new int[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.field3362[var4] = var1.readUnsignedShort(); - } + for (var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); } + } else { + var1.offset += var3 * 2; } } else if (var2 == 14) { this.sizeX = var1.readUnsignedByte(); @@ -404,7 +408,7 @@ public class ObjectDefinition extends DualNode { this.modelClipped = true; } else if (var2 == 24) { this.animationId = var1.readUnsignedShort(); - if (this.animationId == 65535) { + if (this.animationId == 0xffff) { this.animationId = -1; } } else if (var2 == 27) { @@ -464,42 +468,21 @@ public class ObjectDefinition extends DualNode { this.isSolid = true; } else if (var2 == 75) { this.int3 = var1.readUnsignedByte(); - } else if (var2 != 77 && var2 != 92) { - if (var2 == 78) { - this.ambientSoundId = var1.readUnsignedShort(); - this.int4 = var1.readUnsignedByte(); - } else if (var2 == 79) { - this.int5 = var1.readUnsignedShort(); - this.int6 = var1.readUnsignedShort(); - this.int4 = var1.readUnsignedByte(); - var3 = var1.readUnsignedByte(); - this.soundEffectIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.soundEffectIds[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 81) { - this.clipType = var1.readUnsignedByte() * 65536; - } else if (var2 == 82) { - this.mapIconId = var1.readUnsignedShort(); - } else if (var2 == 249) { - this.params = WorldMapArea.readStringIntParameters(var1, this.params); - } - } else { + } else if (var2 == 77 || var2 == 92) { this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { + if (this.transformVarbit == 0xffff) { this.transformVarbit = -1; } this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { + if (this.transformVarp == 0xffff) { this.transformVarp = -1; } var3 = -1; if (var2 == 92) { var3 = var1.readUnsignedShort(); - if (var3 == 65535) { + if (var3 == 0xffff) { var3 = -1; } } @@ -509,14 +492,33 @@ public class ObjectDefinition extends DualNode { for (int var5 = 0; var5 <= var4; ++var5) { this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { + if (this.transforms[var5] == 0xffff) { this.transforms[var5] = -1; } } this.transforms[var4 + 1] = var3; - } + } else if (var2 == 78) { + this.ambientSoundId = var1.readUnsignedShort(); + this.int4 = var1.readUnsignedByte(); + } else if (var2 == 79) { + this.int5 = var1.readUnsignedShort(); + this.int6 = var1.readUnsignedShort(); + this.int4 = var1.readUnsignedByte(); + var3 = var1.readUnsignedByte(); + this.soundEffectIds = new int[var3]; + for (var4 = 0; var4 < var3; ++var4) + { + this.soundEffectIds[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 81) { + this.clipType = var1.readUnsignedByte() * 65536; + } else if (var2 == 82) { + this.mapIconId = var1.readUnsignedShort(); + } else if (var2 == 249) { + this.params = WorldMapArea.readStringIntParameters(var1, this.params); + } } @ObfuscatedName("k") @@ -525,16 +527,16 @@ public class ObjectDefinition extends DualNode { garbageValue = "-672143890" ) public final boolean method4589(int var1) { - if (this.field3359 != null) { - for (int var4 = 0; var4 < this.field3359.length; ++var4) { - if (this.field3359[var4] == var1) { - return ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var4] & 65535, 0); + if (this.models != null) { + for (int var4 = 0; var4 < this.models.length; ++var4) { + if (this.models[var4] == var1) { + return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 0xffff, 0); } } return true; } - if (this.field3362 == null) { + if (this.modelIds == null) { return true; } if (var1 != 10) { @@ -542,8 +544,8 @@ public class ObjectDefinition extends DualNode { } boolean var2 = true; - for (int var3 = 0; var3 < this.field3362.length; ++var3) { - var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var3] & 65535, 0); + for (int var3 = 0; var3 < this.modelIds.length; ++var3) { + var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 0xffff, 0); } return var2; @@ -554,14 +556,15 @@ public class ObjectDefinition extends DualNode { signature = "(I)Z", garbageValue = "-275510577" ) - public final boolean method4608() { - if (this.field3362 == null) { + @Export("needsModelFiles") + public final boolean needsModelFiles() { + if (this.modelIds == null) { return true; } boolean var1 = true; - for (int var2 = 0; var2 < this.field3362.length; ++var2) { - var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var2] & 65535, 0); + for (int var2 = 0; var2 < this.modelIds.length; ++var2) { + var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 0xffff, 0); } return var1; @@ -575,7 +578,7 @@ public class ObjectDefinition extends DualNode { @Export("getEntity") public final Entity getEntity(int type, int rotation, int[][] tileHeights, int xPacked, int avgHeight, int yPacked) { long var7; - if (this.field3359 == null) { + if (this.models == null) { var7 = (long)(rotation + (this.id << 10)); } else { var7 = (long)(rotation + (type << 3) + (this.id << 10)); @@ -591,9 +594,9 @@ public class ObjectDefinition extends DualNode { if (!this.nonFlatShading) { var9 = var10.toModel(this.ambient + 64, this.contrast * 25 + 768, -50, -10, -50); } else { - var10.field1580 = (short)(this.ambient + 64); - var10.field1577 = (short)(this.contrast * 25 + 768); - var10.method2787(); + var10.ambient = (short)(this.ambient + 64); + var10.contrast = (short)(this.contrast * 25 + 768); + var10.calculateVertexNormals(); var9 = var10; } @@ -623,7 +626,7 @@ public class ObjectDefinition extends DualNode { @Export("getModel") public final Model getModel(int type, int rotation, int[][] tileHeights, int xPacked, int avgHeight, int yPacked) { long var7; - if (this.field3359 == null) { + if (this.models == null) { var7 = (long)(rotation + (this.id << 10)); } else { var7 = (long)(rotation + (type << 3) + (this.id << 10)); @@ -655,7 +658,7 @@ public class ObjectDefinition extends DualNode { @Export("getModelDynamic") public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) { long var9; - if (this.field3359 == null) { + if (this.models == null) { var9 = (long)(var2 + (this.id << 10)); } else { var9 = (long)(var2 + (var1 << 3) + (this.id << 10)); @@ -699,12 +702,12 @@ public class ObjectDefinition extends DualNode { boolean var4; int var5; int var7; - if (this.field3359 == null) { + if (this.models == null) { if (type != 10) { return null; } - if (this.field3362 == null) { + if (this.modelIds == null) { return null; } @@ -713,17 +716,17 @@ public class ObjectDefinition extends DualNode { var4 = !var4; } - var5 = this.field3362.length; + var5 = this.modelIds.length; for (int var6 = 0; var6 < var5; ++var6) { - var7 = this.field3362[var6]; + var7 = this.modelIds[var6]; if (var4) { var7 += 65536; } var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); if (var3 == null) { - var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var7 & 65535, 0); + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 0xffff, 0); if (var3 == null) { return null; } @@ -746,8 +749,8 @@ public class ObjectDefinition extends DualNode { } else { int var9 = -1; - for (var5 = 0; var5 < this.field3359.length; ++var5) { - if (this.field3359[var5] == type) { + for (var5 = 0; var5 < this.models.length; ++var5) { + if (this.models[var5] == type) { var9 = var5; break; } @@ -757,7 +760,7 @@ public class ObjectDefinition extends DualNode { return null; } - var5 = this.field3362[var9]; + var5 = this.modelIds[var9]; boolean var10 = this.isRotated ^ rotation > 3; if (var10) { var5 += 65536; @@ -765,7 +768,7 @@ public class ObjectDefinition extends DualNode { var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); if (var3 == null) { - var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var5 & 65535, 0); + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 0xffff, 0); if (var3 == null) { return null; } @@ -794,7 +797,7 @@ public class ObjectDefinition extends DualNode { ModelData var8 = new ModelData(var3, rotation == 0 && !var4 && !var11, null == this.recolorFrom, this.retextureFrom == null, true); if (type == 4 && rotation > 3) { var8.method2781(256); - var8.method2782(45, 0, -45); + var8.changeOffset(45, 0, -45); } rotation &= 3; @@ -819,11 +822,11 @@ public class ObjectDefinition extends DualNode { } if (var4) { - var8.method2786(this.modelSizeX, this.modelHeight, this.modelSizeY); + var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY); } if (var11) { - var8.method2782(this.offsetX, this.offsetHeight, this.offsetY); + var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY); } return var8; diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index 915337b52b..44ddf11350 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, 0xffffff, 33554431, 67108863, 134217727, 0xfffffff, 536870911, 1073741823, Integer.MAX_VALUE, -1}; + field3724 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 0x7fff, 0xffff, 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 6e8984a64b..462fe2e298 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -60,7 +60,8 @@ public class PacketBufferNode extends Node { signature = "(B)V", garbageValue = "-108" ) - public void method3620() { + @Export("release") + public void release() { if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; } @@ -81,7 +82,8 @@ public class PacketBufferNode extends Node { signature = "(CLgu;I)C", garbageValue = "1821592074" ) - static char method3623(char var0, Language var1) { + @Export("standardizeChar") + static char standardizeChar(char var0, Language var1) { if (var0 >= 192 && var0 <= 255) { if (var0 >= 192 && var0 <= 198) { return 'A'; @@ -195,408 +197,409 @@ public class PacketBufferNode extends Node { if (!var0) { Client.field709 = 1; - } else { - Client.field707 = 0; - var0 = true; + return; + } + Client.field707 = 0; + var0 = true; - int var3; - int var4; - for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) { - byte[] var2 = class80.regionMapArchives[var1]; - if (var2 != null) { - var3 = (DirectByteArrayCopier.regions[var1] >> 8) * 64 - MusicPatchNode2.baseX * 64; - var4 = (DirectByteArrayCopier.regions[var1] & 255) * 64 - class1.baseY * 64; - if (Client.isInInstance) { - var3 = 10; - var4 = 10; - } - - var0 &= Huffman.method3947(var2, var3, var4); - } - } - - if (!var0) { - Client.field709 = 2; - } else { - if (Client.field709 != 0) { - TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); - } - - class186.playPcmPlayers(); - GrandExchangeOfferWorldComparator.scene.clear(); - - for (var1 = 0; var1 < 4; ++var1) { - Client.collisionMaps[var1].clear(); - } - - int var49; - for (var1 = 0; var1 < 4; ++var1) { - for (var49 = 0; var49 < 104; ++var49) { - for (var3 = 0; var3 < 104; ++var3) { - Tiles.Tiles_renderFlags[var1][var49][var3] = 0; - } - } - } - - class186.playPcmPlayers(); - Tiles.Tiles_minPlane = 99; - Tiles.field504 = new byte[4][104][104]; - Tiles.field505 = new byte[4][104][104]; - Tiles.field506 = new byte[4][104][104]; - class268.field3561 = new byte[4][104][104]; - FaceNormal.field1887 = new int[4][105][105]; - class32.field282 = new byte[4][105][105]; - Tiles.field515 = new int[105][105]; - 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; - - for (ObjectSound var55 = (ObjectSound)ObjectSound.objectSounds.last(); var55 != null; var55 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var55.stream1 != null) { - SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream1); - var55.stream1 = null; - } - - if (var55.stream2 != null) { - SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream2); - var55.stream2 = null; - } - } - - ObjectSound.objectSounds.clear(); - WorldMapElement.method4368(true); - int var6; - int var7; - int var9; - int var10; - int var11; - int var12; - int var51; - if (!Client.isInInstance) { - byte[] var5; - for (var49 = 0; var49 < var1; ++var49) { - var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; - var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; - var5 = class13.regionLandArchives[var49]; - if (var5 != null) { - class186.playPcmPlayers(); - var6 = Canvas.field418 * 8 - 48; - var7 = ViewportMouse.field1747 * 8 - 48; - CollisionMap[] var8 = Client.collisionMaps; - - for (var9 = 0; var9 < 4; ++var9) { - for (var10 = 0; var10 < 64; ++var10) { - for (var11 = 0; var11 < 64; ++var11) { - if (var3 + var10 > 0 && var10 + var3 < 103 && var11 + var4 > 0 && var11 + var4 < 103) { - int[] var10000 = var8[var9].flags[var3 + var10]; - var10000[var11 + var4] &= -16777217; - } - } - } - } - - Buffer var50 = new Buffer(var5); - - for (var10 = 0; var10 < 4; ++var10) { - for (var11 = 0; var11 < 64; ++var11) { - for (var12 = 0; var12 < 64; ++var12) { - WorldMapLabel.loadTerrain(var50, var10, var3 + var11, var4 + var12, var6, var7, 0); - } - } - } - } - } - - for (var49 = 0; var49 < var1; ++var49) { - var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; - var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; - var5 = class13.regionLandArchives[var49]; - if (var5 == null && ViewportMouse.field1747 < 800) { - class186.playPcmPlayers(); - Players.method2092(var3, var4, 64, 64); - } - } - - WorldMapElement.method4368(true); - - for (var49 = 0; var49 < var1; ++var49) { - byte[] var53 = class80.regionMapArchives[var49]; - if (var53 != null) { - var4 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; - var51 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; - class186.playPcmPlayers(); - AbstractByteArrayCopier.method3933(var53, var4, var51, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); - } - } - } - - int var52; + int var3; + int var4; + for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) { + byte[] var2 = class80.regionMapArchives[var1]; + if (var2 != null) { + var3 = (DirectByteArrayCopier.regions[var1] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var1] & 255) * 64 - class1.baseY * 64; if (Client.isInInstance) { - for (var49 = 0; var49 < 4; ++var49) { - class186.playPcmPlayers(); - - for (var3 = 0; var3 < 13; ++var3) { - for (var4 = 0; var4 < 13; ++var4) { - boolean var56 = false; - var6 = Client.instanceChunkTemplates[var49][var3][var4]; - if (var6 != -1) { - var7 = var6 >> 24 & 3; - var52 = var6 >> 1 & 3; - var9 = var6 >> 14 & 1023; - var10 = var6 >> 3 & 2047; - var11 = (var9 / 8 << 8) + var10 / 8; - - for (var12 = 0; var12 < DirectByteArrayCopier.regions.length; ++var12) { - if (DirectByteArrayCopier.regions[var12] == var11 && class13.regionLandArchives[var12] != null) { - ScriptFrame.method1088(class13.regionLandArchives[var12], var49, var3 * 8, var4 * 8, var7, (var9 & 7) * 8, (var10 & 7) * 8, var52, Client.collisionMaps); - var56 = true; - break; - } - } - } - - if (!var56) { - var7 = var49; - var52 = var3 * 8; - var9 = var4 * 8; - - for (var10 = 0; var10 < 8; ++var10) { - for (var11 = 0; var11 < 8; ++var11) { - Tiles.Tiles_heights[var7][var52 + var10][var11 + var9] = 0; - } - } - - if (var52 > 0) { - for (var10 = 1; var10 < 8; ++var10) { - Tiles.Tiles_heights[var7][var52][var9 + var10] = Tiles.Tiles_heights[var7][var52 - 1][var9 + var10]; - } - } - - if (var9 > 0) { - for (var10 = 1; var10 < 8; ++var10) { - Tiles.Tiles_heights[var7][var52 + var10][var9] = Tiles.Tiles_heights[var7][var52 + var10][var9 - 1]; - } - } - - if (var52 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9] != 0) { - Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9]; - } else if (var9 > 0 && Tiles.Tiles_heights[var7][var52][var9 - 1] != 0) { - Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52][var9 - 1]; - } else if (var52 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9 - 1] != 0) { - Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9 - 1]; - } - } - } - } - } - - for (var49 = 0; var49 < 13; ++var49) { - for (var3 = 0; var3 < 13; ++var3) { - var4 = Client.instanceChunkTemplates[0][var49][var3]; - if (var4 == -1) { - Players.method2092(var49 * 8, var3 * 8, 8, 8); - } - } - } - - WorldMapElement.method4368(true); - - for (var49 = 0; var49 < 4; ++var49) { - class186.playPcmPlayers(); - - for (var3 = 0; var3 < 13; ++var3) { - label447: - for (var4 = 0; var4 < 13; ++var4) { - var51 = Client.instanceChunkTemplates[var49][var3][var4]; - 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) { - 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; - } - - 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) { - 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); - } - } - } - } - } - } + var3 = 10; + var4 = 10; } - WorldMapElement.method4368(true); - class186.playPcmPlayers(); - GrandExchangeEvents.method72(GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); - WorldMapElement.method4368(true); - var49 = Tiles.Tiles_minPlane; - if (var49 > class42.plane) { - var49 = class42.plane; - } - - if (var49 < class42.plane - 1) { - var49 = class42.plane - 1; - } - - if (Client.isLowDetail) { - GrandExchangeOfferWorldComparator.scene.init(Tiles.Tiles_minPlane); - } else { - GrandExchangeOfferWorldComparator.scene.init(0); - } - - for (var3 = 0; var3 < 104; ++var3) { - for (var4 = 0; var4 < 104; ++var4) { - GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); - } - } - - class186.playPcmPlayers(); - - for (PendingSpawn var57 = (PendingSpawn)Client.pendingSpawns.last(); var57 != null; var57 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var57.hitpoints == -1) { - var57.delay = 0; - class294.method5327(var57); - } else { - var57.remove(); - } - } - - ObjectDefinition.ObjectDefinition_cachedModelData.clear(); - PacketBufferNode var58; - if (WorldMapSprite.client.hasFrame()) { - var58 = Archive.method4265(ClientPacket.field2212, Client.packetWriter.isaacCipher); - var58.packetBuffer.writeInt(1057001181); - Client.packetWriter.method2219(var58); - } - - if (!Client.isInInstance) { - var3 = (Canvas.field418 - 6) / 8; - var4 = (Canvas.field418 + 6) / 8; - var51 = (ViewportMouse.field1747 - 6) / 8; - var6 = (ViewportMouse.field1747 + 6) / 8; - - for (var7 = var3 - 1; var7 <= var4 + 1; ++var7) { - for (var52 = var51 - 1; var52 <= var6 + 1; ++var52) { - if (var7 < var3 || var7 > var4 || var52 < var51 || var52 > var6) { - WorldMapCacheName.archive5.loadRegionFromName("m" + var7 + "_" + var52); - WorldMapCacheName.archive5.loadRegionFromName("l" + var7 + "_" + var52); - } - } - } - } - - class96.updateGameState(30); - class186.playPcmPlayers(); - KeyHandler.method787(); - var58 = Archive.method4265(ClientPacket.field2279, Client.packetWriter.isaacCipher); - Client.packetWriter.method2219(var58); - WallDecoration.method3291(); + var0 &= Huffman.method3947(var2, var3, var4); } } + + if (!var0) { + Client.field709 = 2; + return; + } + if (Client.field709 != 0) { + TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); + } + + class186.playPcmPlayers(); + GrandExchangeOfferWorldComparator.scene.clear(); + + for (var1 = 0; var1 < 4; ++var1) { + Client.collisionMaps[var1].clear(); + } + + int var49; + for (var1 = 0; var1 < 4; ++var1) { + for (var49 = 0; var49 < 104; ++var49) { + for (var3 = 0; var3 < 104; ++var3) { + Tiles.Tiles_renderFlags[var1][var49][var3] = 0; + } + } + } + + class186.playPcmPlayers(); + Tiles.Tiles_minPlane = 99; + Tiles.field504 = new byte[4][104][104]; + Tiles.field505 = new byte[4][104][104]; + Tiles.field506 = new byte[4][104][104]; + class268.field3561 = new byte[4][104][104]; + FaceNormal.field1887 = new int[4][105][105]; + class32.field282 = new byte[4][105][105]; + Tiles.field515 = new int[105][105]; + 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; + + for (ObjectSound var55 = (ObjectSound)ObjectSound.objectSounds.last(); var55 != null; var55 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var55.stream1 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream1); + var55.stream1 = null; + } + + if (var55.stream2 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream2); + var55.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + WorldMapElement.method4368(true); + int var6; + int var7; + int var9; + int var10; + int var11; + int var12; + int var51; + if (!Client.isInInstance) { + byte[] var5; + for (var49 = 0; var49 < var1; ++var49) { + var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + var5 = class13.regionLandArchives[var49]; + if (var5 == null) { + continue; + } + class186.playPcmPlayers(); + var6 = Canvas.field418 * 8 - 48; + var7 = ViewportMouse.field1747 * 8 - 48; + CollisionMap[] var8 = Client.collisionMaps; + + for (var9 = 0; var9 < 4; ++var9) { + for (var10 = 0; var10 < 64; ++var10) { + for (var11 = 0; var11 < 64; ++var11) { + if (var3 + var10 > 0 && var10 + var3 < 103 && var11 + var4 > 0 && var11 + var4 < 103) { + var8[var9].flags[var3 + var10][var11 + var4] &= 0xfeffffff; + } + } + } + } + + Buffer var50 = new Buffer(var5); + + for (var10 = 0; var10 < 4; ++var10) { + for (var11 = 0; var11 < 64; ++var11) { + for (var12 = 0; var12 < 64; ++var12) { + WorldMapLabel.loadTerrain(var50, var10, var3 + var11, var4 + var12, var6, var7, 0); + } + } + } + } + + for (var49 = 0; var49 < var1; ++var49) { + var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + var5 = class13.regionLandArchives[var49]; + if (var5 == null && ViewportMouse.field1747 < 800) { + class186.playPcmPlayers(); + Players.method2092(var3, var4, 64, 64); + } + } + + WorldMapElement.method4368(true); + + for (var49 = 0; var49 < var1; ++var49) { + byte[] var53 = class80.regionMapArchives[var49]; + if (var53 != null) { + var4 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var51 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + class186.playPcmPlayers(); + AbstractByteArrayCopier.method3933(var53, var4, var51, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); + } + } + } + + int var52; + if (Client.isInInstance) { + for (var49 = 0; var49 < 4; ++var49) { + class186.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + for (var4 = 0; var4 < 13; ++var4) { + boolean var56 = false; + var6 = Client.instanceChunkTemplates[var49][var3][var4]; + if (var6 != -1) { + var7 = var6 >> 24 & 3; + var52 = var6 >> 1 & 3; + var9 = var6 >> 14 & 1023; + var10 = var6 >> 3 & 2047; + var11 = (var9 / 8 << 8) + var10 / 8; + + for (var12 = 0; var12 < DirectByteArrayCopier.regions.length; ++var12) { + if (DirectByteArrayCopier.regions[var12] == var11 && class13.regionLandArchives[var12] != null) { + ScriptFrame.method1088(class13.regionLandArchives[var12], var49, var3 * 8, var4 * 8, var7, (var9 & 7) * 8, (var10 & 7) * 8, var52, Client.collisionMaps); + var56 = true; + break; + } + } + } + + if (var56) { + continue; + } + var7 = var49; + var52 = var3 * 8; + var9 = var4 * 8; + + for (var10 = 0; var10 < 8; ++var10) { + for (var11 = 0; var11 < 8; ++var11) { + Tiles.Tiles_heights[var7][var52 + var10][var11 + var9] = 0; + } + } + + if (var52 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var52][var9 + var10] = Tiles.Tiles_heights[var7][var52 - 1][var9 + var10]; + } + } + + if (var9 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var52 + var10][var9] = Tiles.Tiles_heights[var7][var52 + var10][var9 - 1]; + } + } + + if (var52 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9]; + } else if (var9 > 0 && Tiles.Tiles_heights[var7][var52][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52][var9 - 1]; + } else if (var52 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9 - 1]; + } + } + } + } + + for (var49 = 0; var49 < 13; ++var49) { + for (var3 = 0; var3 < 13; ++var3) { + var4 = Client.instanceChunkTemplates[0][var49][var3]; + if (var4 == -1) { + Players.method2092(var49 * 8, var3 * 8, 8, 8); + } + } + } + + WorldMapElement.method4368(true); + + for (var49 = 0; var49 < 4; ++var49) { + class186.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + for (var4 = 0; var4 < 13; ++var4) { + var51 = Client.instanceChunkTemplates[var49][var3][var4]; + 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) { + 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) { + break; + } + + 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) { + 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); + } + } + break; + } + } + } + } + } + + WorldMapElement.method4368(true); + class186.playPcmPlayers(); + GrandExchangeEvents.method72(GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); + WorldMapElement.method4368(true); + var49 = Tiles.Tiles_minPlane; + if (var49 > class42.plane) { + var49 = class42.plane; + } + + if (var49 < class42.plane - 1) { + var49 = class42.plane - 1; + } + + if (Client.isLowDetail) { + GrandExchangeOfferWorldComparator.scene.init(Tiles.Tiles_minPlane); + } else { + GrandExchangeOfferWorldComparator.scene.init(0); + } + + for (var3 = 0; var3 < 104; ++var3) { + for (var4 = 0; var4 < 104; ++var4) { + GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); + } + } + + class186.playPcmPlayers(); + + for (PendingSpawn var57 = (PendingSpawn)Client.pendingSpawns.last(); var57 != null; var57 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var57.hitpoints == -1) { + var57.delay = 0; + class294.method5327(var57); + } else { + var57.remove(); + } + } + + ObjectDefinition.ObjectDefinition_cachedModelData.clear(); + PacketBufferNode var58; + if (WorldMapSprite.client.hasFrame()) { + var58 = Archive.getPacketBufferNode(ClientPacket.field2212, Client.packetWriter.isaacCipher); + var58.packetBuffer.writeInt(1057001181); + Client.packetWriter.addNode(var58); + } + + if (!Client.isInInstance) { + var3 = (Canvas.field418 - 6) / 8; + var4 = (Canvas.field418 + 6) / 8; + var51 = (ViewportMouse.field1747 - 6) / 8; + var6 = (ViewportMouse.field1747 + 6) / 8; + + for (var7 = var3 - 1; var7 <= var4 + 1; ++var7) { + for (var52 = var51 - 1; var52 <= var6 + 1; ++var52) { + if (var7 < var3 || var7 > var4 || var52 < var51 || var52 > var6) { + WorldMapCacheName.archive5.loadRegionFromName("m" + var7 + "_" + var52); + WorldMapCacheName.archive5.loadRegionFromName("l" + var7 + "_" + var52); + } + } + } + } + + class96.updateGameState(30); + class186.playPcmPlayers(); + KeyHandler.method787(); + var58 = Archive.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var58); + WallDecoration.method3291(); } } diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index cc913b263f..0387ddadc9 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -67,7 +67,8 @@ public class PacketWriter { @ObfuscatedGetter( intValue = 1793928125 ) - int field1319; + @Export("pendingWrites") + int pendingWrites; @ObfuscatedName("u") @ObfuscatedSignature( signature = "Lgc;" @@ -93,7 +94,7 @@ public class PacketWriter { this.serverPacketLength = 0; this.field1322 = true; this.field1318 = 0; - this.field1319 = 0; + this.pendingWrites = 0; } @ObfuscatedName("q") @@ -101,7 +102,8 @@ public class PacketWriter { signature = "(I)V", garbageValue = "19166064" ) - final void method2218() { + @Export("clearBuffer") + final void clearBuffer() { this.packetBufferNodes.clear(); this.bufferSize = 0; } @@ -111,27 +113,24 @@ public class PacketWriter { signature = "(I)V", garbageValue = "294803591" ) - final void method2234() throws IOException { + @Export("flush") + final void flush() throws IOException { 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; - } - + PacketBufferNode var1; + while ((var1 = (PacketBufferNode)this.packetBufferNodes.last()) != null && var1.index <= this.buffer.array.length - this.buffer.offset) { this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); this.bufferSize -= var1.index; var1.remove(); - var1.packetBuffer.method5477(); - var1.method3620(); + var1.packetBuffer.releaseArray(); + var1.release(); } + this.socket.write(this.buffer.array, 0, this.buffer.offset); + this.pendingWrites = 0; } @ObfuscatedName("e") @@ -139,7 +138,8 @@ public class PacketWriter { signature = "(Lgb;I)V", garbageValue = "2067459847" ) - public final void method2219(PacketBufferNode var1) { + @Export("addNode") + public final void addNode(PacketBufferNode var1) { this.packetBufferNodes.addFirst(var1); var1.index = var1.packetBuffer.offset; var1.packetBuffer.offset = 0; @@ -195,37 +195,39 @@ public class PacketWriter { signature = "(B)V", garbageValue = "-107" ) - static final void method2245() { + @Export("drawProjectiles") + static final void drawProjectiles() { for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { - if (var0.plane == class42.plane && Client.cycle <= var0.cycleEnd) { - if (Client.cycle >= var0.cycleStart) { - if (var0.targetIndex > 0) { - NPC var1 = Client.npcs[var0.targetIndex - 1]; - if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) { - var0.setDestination(var1.x, var1.y, ScriptEvent.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle); - } - } - - if (var0.targetIndex < 0) { - int var2 = -var0.targetIndex - 1; - Player var3; - if (var2 == Client.localPlayerIndex) { - var3 = Client.localPlayer; - } else { - var3 = Client.players[var2]; - } - - if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) { - var0.setDestination(var3.x, var3.y, ScriptEvent.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); - } - } - - var0.advance(Client.field718); - GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); - } - } else { + if (var0.plane != class42.plane || Client.cycle > var0.cycleEnd) { var0.remove(); + continue; } + if (Client.cycle < var0.cycleStart) { + continue; + } + if (var0.targetIndex > 0) { + NPC var1 = Client.npcs[var0.targetIndex - 1]; + if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) { + var0.setDestination(var1.x, var1.y, ScriptEvent.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + if (var0.targetIndex < 0) { + int var2 = -var0.targetIndex - 1; + Player var3; + if (var2 == Client.localPlayerIndex) { + var3 = Client.localPlayer; + } else { + var3 = Client.players[var2]; + } + + if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) { + var0.setDestination(var3.x, var3.y, ScriptEvent.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + var0.advance(Client.field718); + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); } } diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index 3dda2ce70a..92c96cc2bf 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -11,8 +11,8 @@ public class PcmPlayer { @ObfuscatedGetter( intValue = 1278180609 ) - @Export("pcmPlayerCount") - static int pcmPlayerCount; + @Export("PcmPlayer_count") + static int PcmPlayer_count; @ObfuscatedName("r") @Export("samples") protected int[] samples; @@ -181,13 +181,14 @@ public class PcmPlayer { try { if (0L != this.field1416) { - if (var1 < this.field1416) { + if (var1 >= this.field1416) { + this.open(this.capacity); + this.field1416 = 0L; + this.field1421 = true; + } else { return; } - this.open(this.capacity); - this.field1416 = 0L; - this.field1421 = true; } int var3 = this.position(); @@ -223,17 +224,15 @@ public class PcmPlayer { } if (var1 > this.field1420) { - if (!this.field1421) { - if (this.field1417 == 0 && this.field1418 == 0) { - this.close(); - this.field1416 = 2000L + var1; - return; - } - + if (this.field1421) { + this.field1421 = false; + } else if (this.field1417 != 0 || this.field1418 != 0) { this.field1413 = Math.min(this.field1418, this.field1417); this.field1418 = this.field1417; } else { - this.field1421 = false; + this.close(); + this.field1416 = 2000L + var1; + return; } this.field1417 = 0; @@ -341,7 +340,7 @@ public class PcmPlayer { @Export("fill") final void fill(int[] var1, int var2) { int var3 = var2; - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { var3 = var2 << 1; } @@ -354,10 +353,8 @@ public class PcmPlayer { int var4 = 0; int var5 = 255; - int var6; PcmStream var10; - label104: - for (var6 = 7; var5 != 0; --var6) { + for (int var6 = 7; var5 != 0; --var6) { int var7; int var8; if (var6 < 0) { @@ -368,67 +365,59 @@ public class PcmPlayer { var8 = 0; } - for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { - if ((var9 & 1) != 0) { - var5 &= ~(1 << var7); - var10 = null; - PcmStream var11 = this.field1426[var7]; + for (int var9 = var5 >>> var7 & 0x11111111; var9 != 0; var9 >>>= 4, var7 += 4, ++var8) { + if ((var9 & 1) == 0) { + continue; + } + var5 &= ~(1 << var7); + var10 = null; - label98: - while (true) { - while (true) { - if (var11 == null) { - break label98; - } - AbstractSound var12 = var11.sound; - if (var12 != null && var12.position > var8) { - var5 |= 1 << var7; - var10 = var11; - var11 = var11.after; - } else { - var11.active = true; - int var13 = var11.vmethod3892(); - var4 += var13; - if (var12 != null) { - var12.position += var13; - } + for (PcmStream var11 = this.field1426[var7]; var11 != null;) { + AbstractSound var12 = var11.sound; + if (var12 != null && var12.position > var8) { + var5 |= 1 << var7; + var10 = var11; + var11 = var11.after; + continue; + } + var11.active = true; + int var13 = var11.vmethod3892(); + var4 += var13; + if (var12 != null) { + var12.position += var13; + } - if (var4 >= this.field1406) { - break label104; - } + if (var4 >= this.field1406) { + return; + } - PcmStream var14 = var11.firstSubStream(); - if (var14 != null) { - for (int var15 = var11.field1496; var14 != null; var14 = var11.nextSubStream()) { - this.method2456(var14, var15 * var14.vmethod2689() >> 8); - } - } - - PcmStream var18 = var11.after; - var11.after = null; - if (var10 == null) { - this.field1426[var7] = var18; - } else { - var10.after = var18; - } - - if (var18 == null) { - this.field1425[var7] = var10; - } - - var11 = var18; - } + PcmStream var14 = var11.firstSubStream(); + if (var14 != null) { + for (int var15 = var11.field1496; var14 != null; var14 = var11.nextSubStream()) { + this.method2456(var14, var15 * var14.vmethod2689() >> 8); } } - } - var7 += 4; - ++var8; + PcmStream var18 = var11.after; + var11.after = null; + if (var10 == null) { + this.field1426[var7] = var18; + } + else { + var10.after = var18; + } + + if (var18 == null) { + this.field1425[var7] = var10; + } + + var11 = var18; + } } } - for (var6 = 0; var6 < 8; ++var6) { + for (int var6 = 0; var6 < 8; ++var6) { PcmStream var16 = this.field1426[var6]; PcmStream[] var17 = this.field1426; this.field1425[var6] = null; diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java index cfe04a2b07..277b9501c8 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -46,7 +46,8 @@ public final class PendingSpawn extends Node { @ObfuscatedGetter( intValue = 160620695 ) - int field935; + @Export("objectId") + int objectId; @ObfuscatedName("l") @ObfuscatedGetter( intValue = 1900923625 @@ -115,7 +116,7 @@ public final class PendingSpawn extends Node { var3.group = var1; var3.type = var2; Client.interfaceParents.put(var3, (long)var0); - GrandExchangeOfferAgeComparator.method146(var1); + GrandExchangeOfferAgeComparator.Widget_resetModelFrames(var1); Widget var4 = class80.getWidget(var0); Strings.invalidateWidget(var4); if (Client.meslayerContinueWidget != null) { @@ -128,9 +129,9 @@ public final class PendingSpawn extends Node { if (var5 < Client.menuOptionsCount - 1) { for (int var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { Client.menuActions[var6] = Client.menuActions[var6 + 1]; - Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; + Client.menuTargets[var6] = Client.menuTargets[var6 + 1]; Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; - Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; + Client.menuIdentifiers[var6] = Client.menuIdentifiers[var6 + 1]; Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; @@ -142,11 +143,11 @@ public final class PendingSpawn extends Node { } } - GrandExchangeOfferAgeComparator.method145(); + GrandExchangeOfferAgeComparator.calculateMenuBounds(); WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var0 >> 16], var4, false); Canvas.runWidgetOnLoadListener(var1); if (Client.rootInterface != -1) { - WorldMapLabelSize.method175(Client.rootInterface, 1); + WorldMapLabelSize.runIntfCloseListeners(Client.rootInterface, 1); } return var3; diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index 2cd0df189c..7290b790a1 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -205,13 +205,13 @@ public final class Player extends Actor { } else { var7 = var1.readUnsignedByte(); var4[var5] = var7 + (var6 << 8); - if (var5 == 0 && var4[0] == 65535) { + if (var5 == 0 && var4[0] == 0xffff) { var3 = var1.readUnsignedShort(); break; } if (var4[var5] >= 512) { - int var8 = WorldMapArea.getItemDefinition(var4[var5] - 512).team; + int var8 = WorldMapArea.ItemDefinition_get(var4[var5] - 512).team; if (var8 != 0) { this.team = var8; } @@ -231,38 +231,38 @@ public final class Player extends Actor { } super.readySequence = var1.readUnsignedShort(); - if (super.readySequence == 65535) { + if (super.readySequence == 0xffff) { super.readySequence = -1; } super.turnLeftSequence = var1.readUnsignedShort(); - if (super.turnLeftSequence == 65535) { + if (super.turnLeftSequence == 0xffff) { super.turnLeftSequence = -1; } super.turnRightSequence = super.turnLeftSequence; super.walkSequence = var1.readUnsignedShort(); - if (super.walkSequence == 65535) { + if (super.walkSequence == 0xffff) { super.walkSequence = -1; } super.walkBackSequence = var1.readUnsignedShort(); - if (super.walkBackSequence == 65535) { + if (super.walkBackSequence == 0xffff) { super.walkBackSequence = -1; } super.walkLeftSequence = var1.readUnsignedShort(); - if (super.walkLeftSequence == 65535) { + if (super.walkLeftSequence == 0xffff) { super.walkLeftSequence = -1; } super.walkRightSequence = var1.readUnsignedShort(); - if (super.walkRightSequence == 65535) { + if (super.walkRightSequence == 0xffff) { super.walkRightSequence = -1; } super.runSequence = var1.readUnsignedShort(); - if (super.runSequence == 65535) { + if (super.runSequence == 0xffff) { super.runSequence = -1; } @@ -375,8 +375,8 @@ public final class Player extends Actor { if (this.appearance == null) { return null; } - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(super.movementSequence) : null; + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeEvent.SequenceDefinition_get(super.movementSequence) : null; Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); if (var3 == null) { return null; @@ -386,7 +386,7 @@ public final class Player extends Actor { Model var4; Model[] var5; if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - var4 = MusicPatch.getSpotAnimationDefinition(super.spotAnimation).getModel(super.spotAnimationFrame); + var4 = MusicPatch.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); if (var4 != null) { var4.offsetBy(0, -super.heightOffset, 0); var5 = new Model[]{var3, var4}; @@ -439,26 +439,24 @@ public final class Player extends Actor { signature = "(IIBS)V", garbageValue = "-30153" ) - final void method1189(int var1, int var2, byte var3) { - if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + final void method1189(int x, int y, byte var3) { + if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) { super.sequence = -1; } super.field976 = -1; - if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) { - if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) { - if (var3 == 2) { - Widget.method4056(this, var1, var2, (byte)2); - } - - this.method1191(var1, var2, var3); - } else { - this.resetPath(var1, var2); - } - } else { - this.resetPath(var1, var2); + if (x < 0 || x >= 104 || y < 0 || y >= 104) { + this.resetPath(x, y); + return; } - + if (super.pathX[0] < 0 || super.pathX[0] >= 104 || super.pathY[0] < 0 || super.pathY[0] >= 104) { + this.resetPath(x, y); + return; + } + if (var3 == 2) { + Widget.method4056(this, x, y, (byte) 2); + } + this.method1191(x, y, var3); } @ObfuscatedName("x") diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java index 247dcb22c7..ae7ec19eb9 100644 --- a/runescape-client/src/main/java/PlayerAppearance.java +++ b/runescape-client/src/main/java/PlayerAppearance.java @@ -59,7 +59,7 @@ public class PlayerAppearance { for (int var5 = 0; var5 < 7; ++var5) { for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { - KitDefinition var7 = ArchiveDiskAction.getKitDefinition(var6); + KitDefinition var7 = ArchiveDiskAction.KitDefinition_get(var6); if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (isFemale ? 7 : 0)) { equipment[equipmentIndices[var5]] = var6 + 256; break; @@ -80,11 +80,12 @@ public class PlayerAppearance { signature = "(IZS)V", garbageValue = "7431" ) - public void method3992(int var1, boolean var2) { - if (var1 == 1 && this.isFemale) { + @Export("changeAppearance") + public void changeAppearance(int slot, boolean forwards) { + if (slot == 1 && this.isFemale) { return; } - int var3 = this.equipment[equipmentIndices[var1]]; + int var3 = this.equipment[equipmentIndices[slot]]; if (var3 == 0) { return; } @@ -92,7 +93,7 @@ public class PlayerAppearance { KitDefinition var4; do { - if (!var2) { + if (!forwards) { --var3; if (var3 < 0) { var3 = KitDefinition.KitDefinition_fileCount - 1; @@ -104,10 +105,10 @@ public class PlayerAppearance { } } - var4 = ArchiveDiskAction.getKitDefinition(var3); - } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1); + var4 = ArchiveDiskAction.KitDefinition_get(var3); + } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + slot); - this.equipment[equipmentIndices[var1]] = var3 + 256; + this.equipment[equipmentIndices[slot]] = var3 + 256; this.setHash(); } @@ -264,11 +265,11 @@ public class PlayerAppearance { int var11; for (int var10 = 0; var10 < 12; ++var10) { var11 = var7[var10]; - if (var11 >= 256 && var11 < 512 && !ArchiveDiskAction.getKitDefinition(var11 - 256).ready()) { + if (var11 >= 256 && var11 < 512 && !ArchiveDiskAction.KitDefinition_get(var11 - 256).ready()) { var9 = true; } - if (var11 >= 512 && !WorldMapArea.getItemDefinition(var11 - 512).method4646(this.isFemale)) { + if (var11 >= 512 && !WorldMapArea.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { var9 = true; } } @@ -292,14 +293,14 @@ public class PlayerAppearance { var13 = var7[var12]; ModelData var14; if (var13 >= 256 && var13 < 512) { - var14 = ArchiveDiskAction.getKitDefinition(var13 - 256).getModelData(); + var14 = ArchiveDiskAction.KitDefinition_get(var13 - 256).getModelData(); if (var14 != null) { var16[var11++] = var14; } } if (var13 >= 512) { - var14 = WorldMapArea.getItemDefinition(var13 - 512).method4694(this.isFemale); + var14 = WorldMapArea.ItemDefinition_get(var13 - 512).method4694(this.isFemale); if (var14 != null) { var16[var11++] = var14; } @@ -354,11 +355,11 @@ public class PlayerAppearance { int var3; for (int var2 = 0; var2 < 12; ++var2) { var3 = this.equipment[var2]; - if (var3 >= 256 && var3 < 512 && !ArchiveDiskAction.getKitDefinition(var3 - 256).method4445()) { + if (var3 >= 256 && var3 < 512 && !ArchiveDiskAction.KitDefinition_get(var3 - 256).method4445()) { var1 = true; } - if (var3 >= 512 && !WorldMapArea.getItemDefinition(var3 - 512).method4683(this.isFemale)) { + if (var3 >= 512 && !WorldMapArea.ItemDefinition_get(var3 - 512).method4683(this.isFemale)) { var1 = true; } } @@ -374,14 +375,14 @@ public class PlayerAppearance { var5 = this.equipment[var4]; ModelData var6; if (var5 >= 256 && var5 < 512) { - var6 = ArchiveDiskAction.getKitDefinition(var5 - 256).method4441(); + var6 = ArchiveDiskAction.KitDefinition_get(var5 - 256).getKitDefinitionModels(); if (var6 != null) { var7[var3++] = var6; } } if (var5 >= 512) { - var6 = WorldMapArea.getItemDefinition(var5 - 512).method4649(this.isFemale); + var6 = WorldMapArea.ItemDefinition_get(var5 - 512).method4649(this.isFemale); if (var6 != null) { var7[var3++] = var6; } diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index a94a58724f..197335c6b0 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -82,23 +82,24 @@ public class Players { static final void method2092(int var0, int var1, int var2, int var3) { for (int var4 = var1; var4 <= var3 + var1; ++var4) { for (int var5 = var0; var5 <= var0 + var2; ++var5) { - if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { - class32.field282[0][var5][var4] = 127; - if (var0 == var5 && var5 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; - } + if (var5 < 0 || var5 >= 104 || var4 < 0 || var4 >= 104) { + continue; + } + class32.field282[0][var5][var4] = 127; + if (var0 == var5 && var5 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; + } - if (var5 == var0 + var2 && var5 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; - } + if (var5 == var0 + var2 && var5 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; + } - if (var4 == var1 && var4 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; - } + if (var4 == var1 && var4 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; + } - if (var4 == var3 + var1 && var4 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; - } + if (var4 == var3 + var1 && var4 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; } } } diff --git a/runescape-client/src/main/java/class310.java b/runescape-client/src/main/java/PrivateChatMode.java similarity index 57% rename from runescape-client/src/main/java/class310.java rename to runescape-client/src/main/java/PrivateChatMode.java index 4db5a90d83..e2a06cb021 100644 --- a/runescape-client/src/main/java/class310.java +++ b/runescape-client/src/main/java/PrivateChatMode.java @@ -1,24 +1,27 @@ +import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("kl") -public class class310 { +@Implements("PrivateChatMode") +public class PrivateChatMode +{ @ObfuscatedName("q") @ObfuscatedSignature( signature = "Lkl;" ) - static final class310 field3818; + static final PrivateChatMode field3818; @ObfuscatedName("w") @ObfuscatedSignature( signature = "Lkl;" ) - public static final class310 field3816; + public static final PrivateChatMode field3816; @ObfuscatedName("e") @ObfuscatedSignature( signature = "Lkl;" ) - static final class310 field3817; + static final PrivateChatMode field3817; @ObfuscatedName("p") @ObfuscatedGetter( intValue = 721881779 @@ -26,12 +29,12 @@ public class class310 { public final int field3815; static { - field3818 = new class310(0); - field3816 = new class310(1); - field3817 = new class310(2); + field3818 = new PrivateChatMode(0); + field3816 = new PrivateChatMode(1); + field3817 = new PrivateChatMode(2); } - class310(int var1) { + PrivateChatMode(int var1) { this.field3815 = var1; } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 34da63020c..8a558b271b 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -147,9 +147,9 @@ public final class Projectile extends Entity { this.targetIndex = var10; this.endHeight = var11; this.isMoving = false; - int var12 = MusicPatch.getSpotAnimationDefinition(this.id).sequence; + int var12 = MusicPatch.SpotAnimationDefinition_get(this.id).sequence; if (var12 != -1) { - this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var12); + this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var12); } else { this.sequenceDefinition = null; } @@ -227,7 +227,7 @@ public final class Projectile extends Entity { ) @Export("getModel") protected final Model getModel() { - SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id); + SpotAnimationDefinition var1 = MusicPatch.SpotAnimationDefinition_get(this.id); Model var2 = var1.getModel(this.frame); if (var2 == null) { return null; @@ -241,8 +241,8 @@ public final class Projectile extends Entity { signature = "(IB)Lio;", garbageValue = "0" ) - @Export("getHitSplatDefinition") - public static HitSplatDefinition getHitSplatDefinition(int var0) { + @Export("HitSplatDefinition_get") + public static HitSplatDefinition HitSplatDefinition_get(int var0) { HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); if (var1 != null) { return var1; diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java index 64b207fe5f..40d5998d8b 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -389,31 +389,31 @@ public class Rasterizer2D extends DualNode { @ObfuscatedName("dh") @Export("Rasterizer2D_fillRectangle") - public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) { - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; + public static void Rasterizer2D_fillRectangle(int x, int y, int w, int h, int c) { + if (x < Rasterizer2D_xClipStart) { + w -= Rasterizer2D_xClipStart - x; + x = Rasterizer2D_xClipStart; } - if (var1 < Rasterizer2D_yClipStart) { - var3 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; + if (y < Rasterizer2D_yClipStart) { + h -= Rasterizer2D_yClipStart - y; + y = Rasterizer2D_yClipStart; } - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; + if (x + w > Rasterizer2D_xClipEnd) { + w = Rasterizer2D_xClipEnd - x; } - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; + if (h + y > Rasterizer2D_yClipEnd) { + h = Rasterizer2D_yClipEnd - y; } - int var5 = Rasterizer2D_width - var2; - int var6 = var0 + Rasterizer2D_width * var1; + int var5 = Rasterizer2D_width - w; + int var6 = x + Rasterizer2D_width * y; - for (int var7 = -var3; var7 < 0; ++var7) { - for (int var8 = -var2; var8 < 0; ++var8) { - Rasterizer2D_pixels[var6++] = var4; + for (int var7 = -h; var7 < 0; ++var7) { + for (int var8 = -w; var8 < 0; ++var8) { + Rasterizer2D_pixels[var6++] = c; } var6 += var5; diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java index 709f82988f..8a47a80c11 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -174,10 +174,8 @@ public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("b") @Export("Rasterizer3D_buildPalette") - static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { - int var4 = var2 * 128; - - for (int var5 = var2; var5 < var3; ++var5) { + static final void Rasterizer3D_buildPalette(double brightness, int var2, int var3) { + for (int var4 = var2 * 128, var5 = var2; var5 < var3; ++var5) { double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; @@ -240,7 +238,7 @@ public class Rasterizer3D extends Rasterizer2D { int var20 = (int)(var15 * 256.0D); int var30 = (int)(var17 * 256.0D); int var22 = var30 + (var20 << 8) + (var29 << 16); - var22 = Rasterizer3D_brighten(var22, var0); + var22 = Rasterizer3D_brighten(var22, brightness); if (var22 == 0) { var22 = 1; } @@ -253,13 +251,13 @@ public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("i") @Export("Rasterizer3D_brighten") - static int Rasterizer3D_brighten(int var0, double var1) { - double var3 = (double)(var0 >> 16) / 256.0D; - double var5 = (double)(var0 >> 8 & 255) / 256.0D; - double var7 = (double)(var0 & 255) / 256.0D; - var3 = Math.pow(var3, var1); - var5 = Math.pow(var5, var1); - var7 = Math.pow(var7, var1); + static int Rasterizer3D_brighten(int colour, double brightness) { + double var3 = (double)(colour >> 16) / 256.0D; + double var5 = (double)(colour >> 8 & 255) / 256.0D; + double var7 = (double)(colour & 255) / 256.0D; + var3 = Math.pow(var3, brightness); + var5 = Math.pow(var5, brightness); + var7 = Math.pow(var7, brightness); int var9 = (int)(var3 * 256.0D); int var10 = (int)(var5 * 256.0D); int var11 = (int)(var7 * 256.0D); @@ -1413,613 +1411,515 @@ public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("y") static final void method2986(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, int var14, int var15, int var16, int var17, int var18) { - int[] var19 = Rasterizer3D_textureLoader.load(var18); + int[] var19 = Rasterizer3D_textureLoader.getTexturePixels(var18); int var20; if (var19 == null) { var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); method3020(var0, var1, var2, var3, var4, var5, method3045(var20, var6), method3045(var20, var7), method3045(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field1772 = Rasterizer3D_textureLoader.vmethod3278(var18); - var20 = var4 - var3; - int var21 = var1 - var0; - int var22 = var5 - var3; - int var23 = var2 - var0; - int var24 = var7 - var6; - int var25 = var8 - var6; - int var26 = 0; - if (var0 != var1) { - var26 = (var4 - var3 << 14) / (var1 - var0); + return; + } + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1772 = Rasterizer3D_textureLoader.vmethod3278(var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if (var0 != var1) { + var26 = (var4 - var3 << 14) / (var1 - var0); + } + + int var27 = 0; + if (var2 != var1) { + var27 = (var5 - var4 << 14) / (var2 - var1); + } + + int var28 = 0; + if (var0 != var2) { + var28 = (var3 - var5 << 14) / (var0 - var2); + } + + int var29 = var20 * var23 - var22 * var21; + if (var29 == 0) { + return; + } + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var9 * var14 << 14; + int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); + int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); + int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); + int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); + int var41; + if (var0 <= var1 && var0 <= var2) { + if (var0 >= Rasterizer3D_clipHeight) { + return; + } + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; } - int var27 = 0; - if (var2 != var1) { - var27 = (var5 - var4 << 14) / (var2 - var1); + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; } - int var28 = 0; - if (var0 != var2) { - var28 = (var3 - var5 << 14) / (var0 - var2); - } + var6 = var30 + ((var6 << 9) - var3 * var30); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } - int var29 = var20 * var23 - var22 * var21; - if (var29 != 0) { - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; - var10 = var9 - var10; - var13 = var12 - var13; - var16 = var15 - var16; - var11 -= var9; - var14 -= var12; - var17 -= var15; - int var32 = var11 * var12 - var9 * var14 << 14; - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); - int var35 = var10 * var12 - var13 * var9 << 14; - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); - int var38 = var13 * var11 - var10 * var14 << 14; - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); - int var41; - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } + var4 <<= 14; + if (var1 < 0) { + var4 -= var27 * var1; + var1 = 0; + } - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - var6 = var30 + ((var6 << 9) - var3 * var30); - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var27 * var1; - var1 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var27 * var2; - var2 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var28 * var2; - var2 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var28; - var0 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var26 < var27) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var26; - var0 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var26 * var1; - var1 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; var32 += var34; var35 += var37; var38 += var40; } + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; } + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; } + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + if (var1 <= var2) { + if (var1 >= Rasterizer3D_clipHeight) { + return; + } + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var30 + ((var7 << 9) - var30 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var28; + var0 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var26 < var27) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var2 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + if (var2 >= Rasterizer3D_clipHeight) { + return; + } + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = (var8 << 9) - var5 * var30 + var30; + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var26; + var0 = 0; + } + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + + while (--var0 < 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + return; + } + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (--var1 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + while (--var0 >= 0) { + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; } } @@ -2445,121 +2345,89 @@ public class Rasterizer3D extends Rasterizer2D { } @ObfuscatedName("a") - static final void method2988(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, int var14, int var15, int var16, int var17, int var18) { - int[] var19 = Rasterizer3D_textureLoader.load(var18); + @Export("drawTexturedTile") + static final void drawTexturedTile(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, int var14, int var15, int var16, int var17, int var18) { + int[] var19 = Rasterizer3D_textureLoader.getTexturePixels(var18); int var20; if (var19 == null) { var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); method3020(var0, var1, var2, var3, var4, var5, method3045(var20, var6), method3045(var20, var7), method3045(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field1772 = Rasterizer3D_textureLoader.vmethod3278(var18); - var20 = var4 - var3; - int var21 = var1 - var0; - int var22 = var5 - var3; - int var23 = var2 - var0; - int var24 = var7 - var6; - int var25 = var8 - var6; - int var26 = 0; - if (var0 != var1) { - var26 = (var4 - var3 << 14) / (var1 - var0); - } + return; + } + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1772 = Rasterizer3D_textureLoader.vmethod3278(var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if (var0 != var1) { + var26 = (var4 - var3 << 14) / (var1 - var0); + } - int var27 = 0; - if (var2 != var1) { - var27 = (var5 - var4 << 14) / (var2 - var1); - } + int var27 = 0; + if (var2 != var1) { + var27 = (var5 - var4 << 14) / (var2 - var1); + } - int var28 = 0; - if (var0 != var2) { - var28 = (var3 - var5 << 14) / (var0 - var2); - } + int var28 = 0; + if (var0 != var2) { + var28 = (var3 - var5 << 14) / (var0 - var2); + } - int var29 = var20 * var23 - var22 * var21; - if (var29 != 0) { - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; - var10 = var9 - var10; - var13 = var12 - var13; - var16 = var15 - var16; - var11 -= var9; - var14 -= var12; - var17 -= var15; - int var32 = var11 * var12 - var9 * var14 << 14; - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); - int var35 = var10 * var12 - var13 * var9 << 14; - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); - int var38 = var13 * var11 - var10 * var14 << 14; - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); - int var41; - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; + int var29 = var20 * var23 - var22 * var21; + if (var29 != 0) { + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var9 * var14 << 14; + int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); + int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); + int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); + int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); + int var41; + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + var6 = var30 + ((var6 << 9) - var3 * var30); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; } - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; + var4 <<= 14; + if (var1 < 0) { + var4 -= var27 * var1; + var1 = 0; } - var6 = var30 + ((var6 << 9) - var3 * var30); - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var27 * var1; - var1 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { var2 -= var1; var1 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -2573,7 +2441,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); var5 += var28; var4 += var27; var6 += var31; @@ -2584,7 +2452,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); var5 += var28; var3 += var26; var6 += var31; @@ -2594,59 +2462,59 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; - var5 <<= 14; - if (var2 < 0) { - var5 -= var27 * var2; - var2 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; } - } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; } + } + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { var1 -= var2; var2 -= var0; var0 = Rasterizer3D_rowOffsets[var0]; @@ -2660,7 +2528,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); var5 += var27; var3 += var26; var6 += var31; @@ -2671,7 +2539,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); var4 += var28; var3 += var26; var6 += var31; @@ -2681,71 +2549,71 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var28 * var2; - var2 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var30 + ((var7 << 9) - var30 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { var0 -= var2; var2 -= var1; var1 = Rasterizer3D_rowOffsets[var1]; @@ -2759,7 +2627,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); var3 += var26; var5 += var28; var7 += var31; @@ -2770,7 +2638,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); var3 += var26; var4 += var27; var7 += var31; @@ -2780,59 +2648,59 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var28; - var0 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var26 < var27) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; } - } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; } + } + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var28; + var0 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var26 < var27) { var2 -= var0; var0 -= var1; var1 = Rasterizer3D_rowOffsets[var1]; @@ -2846,7 +2714,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); var3 += var28; var4 += var27; var7 += var31; @@ -2857,7 +2725,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); var5 += var26; var4 += var27; var7 += var31; @@ -2867,70 +2735,70 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var3 <<= 14; + while (true) { + --var0; if (var0 < 0) { - var3 -= var0 * var26; - var0 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } + --var2; + if (var2 < 0) { + return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; var32 += var34; var35 += var37; var38 += var40; } } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = (var8 << 9) - var5 * var30 + var30; + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var26; + var0 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { var1 -= var0; var0 -= var2; var2 = Rasterizer3D_rowOffsets[var2]; @@ -2944,7 +2812,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); var4 += var27; var3 += var26; var8 += var31; @@ -2955,7 +2823,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); var4 += var27; var5 += var28; var8 += var31; @@ -2965,59 +2833,59 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; - var4 <<= 14; - if (var1 < 0) { - var4 -= var26 * var1; - var1 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; } - } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; } + } + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { var0 -= var1; var1 -= var2; var2 = Rasterizer3D_rowOffsets[var2]; @@ -3031,7 +2899,7 @@ public class Rasterizer3D extends Rasterizer2D { return; } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); var4 += var26; var5 += var28; var8 += var31; @@ -3042,7 +2910,7 @@ public class Rasterizer3D extends Rasterizer2D { } } - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); var3 += var27; var5 += var28; var8 += var31; @@ -3052,6 +2920,39 @@ public class Rasterizer3D extends Rasterizer2D { var38 += var40; } } + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } } } } diff --git a/runescape-client/src/main/java/RawPcmStream.java b/runescape-client/src/main/java/RawPcmStream.java index 477cdba031..3df49282ac 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -658,12 +658,12 @@ public class RawPcmStream extends PcmStream { this.field1479 += var2; if (this.field1469 == 256 && (this.field1471 & 255) == 0) { - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { var2 = method2559(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this); } else { var2 = method2586(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this); } - } else if (class169.isStereo) { + } else if (FileSystem.PcmPlayer_stereo) { var2 = method2627(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5); } else { var2 = method2633(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5); @@ -682,14 +682,14 @@ public class RawPcmStream extends PcmStream { } if (this.field1469 == 256 && (this.field1471 & 255) == 0) { - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { return method2551(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this); } return method2550(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this); } - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { return method2555(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5); } @@ -708,12 +708,12 @@ public class RawPcmStream extends PcmStream { this.field1479 += var2; if (this.field1469 == -256 && (this.field1471 & 255) == 0) { - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { var2 = method2561(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this); } else { var2 = method2560(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this); } - } else if (class169.isStereo) { + } else if (FileSystem.PcmPlayer_stereo) { var2 = method2605(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5); } else { var2 = method2569(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5); @@ -732,14 +732,14 @@ public class RawPcmStream extends PcmStream { } if (this.field1469 == -256 && (this.field1471 & 255) == 0) { - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { return method2553(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this); } return method2594(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this); } - if (class169.isStereo) { + if (FileSystem.PcmPlayer_stereo) { return method2557(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5); } diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index c2aa916453..2122ceb4c5 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -46,7 +46,8 @@ public abstract class RouteStrategy { signature = "(IIILfv;I)Z", garbageValue = "-1217489379" ) - public abstract boolean vmethod3594(int var1, int var2, int var3, CollisionMap var4); + @Export("hasArrived") + public abstract boolean hasArrived(int size, int x, int y, CollisionMap var4); @ObfuscatedName("ec") @ObfuscatedSignature( @@ -67,7 +68,7 @@ public abstract class RouteStrategy { SequenceDefinition.SequenceDefinition_cachedFrames.clear(); SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); - MusicPatch.method3888(); + MusicPatch.VarbitDefinition_clearCached(); SecureRandomCallable.method1093(); HitSplatDefinition.HitSplatDefinition_cached.clear(); HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); @@ -81,7 +82,7 @@ public abstract class RouteStrategy { ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); Script.Script_cached.clear(); class197.archive0.clearFiles(); - class167.archive1.clearFiles(); + JagexCache.archive1.clearFiles(); class43.archive3.clearFiles(); class13.archive4.clearFiles(); WorldMapCacheName.archive5.clearFiles(); diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 3b87607ee9..63a04ad595 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -286,16 +286,17 @@ public class Scene { for (int var4 = 0; var4 < 3; ++var4) { Tile var5 = this.tiles[var4][var1][var2] = this.tiles[var4 + 1][var1][var2]; - if (var5 != null) { - --var5.plane; + if (var5 == null) { + continue; + } + --var5.plane; - for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { - GameObject var7 = var5.gameObjects[var6]; - long var9 = var7.tag; - boolean var8 = WorldMapLabel.method420(var9) == 2; - if (var8 && var7.startX == var1 && var2 == var7.startY) { - --var7.plane; - } + for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { + GameObject var7 = var5.gameObjects[var6]; + long var9 = var7.tag; + boolean var8 = WorldMapLabel.Entity_unpackType(var9) == 2; + if (var8 && var7.startX == var1 && var2 == var7.startY) { + --var7.plane; } } } @@ -477,13 +478,13 @@ public class Scene { @ObfuscatedSignature( signature = "(IIIIIILeo;IJI)Z" ) - public boolean method3076(int var1, int var2, int var3, int var4, int var5, int var6, Entity var7, int var8, long var9, int var11) { + public boolean method3076(int plane, int x, int y, int var4, int width, int height, Entity var7, int var8, long var9, int var11) { if (var7 == null) { return true; } - int var12 = var5 * 64 + var2 * 128; - int var13 = var6 * 64 + var3 * 128; - return this.newGameObject(var1, var2, var3, var5, var6, var12, var13, var4, var7, var8, false, var9, var11); + int centerX = width * 64 + x * 128; + int centerY = height * 64 + y * 128; + return this.newGameObject(plane, x, y, width, height, centerX, centerY, var4, var7, var8, false, var9, var11); } @ObfuscatedName("r") @@ -528,8 +529,9 @@ public class Scene { @ObfuscatedSignature( signature = "(IIIIILeo;IJIIII)Z" ) - public boolean method3079(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, int var10, int var11, int var12, int var13) { - return var6 == null ? true : this.newGameObject(var1, var10, var11, var12 - var10 + 1, var13 - var11 + 1, var2, var3, var4, var6, var7, true, var8, 0); + @Export("addNullableObject") + public boolean addNullableObject(int plane, int centerX, int centerY, int height, int var5, Entity entity, int orientation, long packed, int x, int y, int var12, int var13) { + return entity == null ? true : this.newGameObject(plane, x, y, var12 - x + 1, var13 - y + 1, centerX, centerY, height, entity, orientation, true, packed, 0); } @ObfuscatedName("y") @@ -537,15 +539,15 @@ public class Scene { signature = "(IIIIIIIILeo;IZJI)Z" ) @Export("newGameObject") - boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Entity var9, int var10, boolean var11, long var12, int var14) { + boolean newGameObject(int plane, int x, int y, int w, int h, int centerX, int centerY, int height, Entity var9, int var10, boolean var11, long var12, int var14) { int var16; - for (int var15 = var2; var15 < var2 + var4; ++var15) { - for (var16 = var3; var16 < var3 + var5; ++var16) { + for (int var15 = x; var15 < x + w; ++var15) { + for (var16 = y; var16 < y + h; ++var16) { if (var15 < 0 || var16 < 0 || var15 >= this.xSize || var16 >= this.ySize) { return false; } - Tile var22 = this.tiles[var1][var15][var16]; + Tile var22 = this.tiles[plane][var15][var16]; if (var22 != null && var22.gameObjectsCount >= 5) { return false; } @@ -555,43 +557,43 @@ public class Scene { GameObject var21 = new GameObject(); var21.tag = var12; var21.flags = var14; - var21.plane = var1; - var21.centerX = var6; - var21.centerY = var7; - var21.height = var8; + var21.plane = plane; + var21.centerX = centerX; + var21.centerY = centerY; + var21.height = height; var21.entity = var9; var21.orientation = var10; - var21.startX = var2; - var21.startY = var3; - var21.endX = var2 + var4 - 1; - var21.endY = var3 + var5 - 1; + var21.startX = x; + var21.startY = y; + var21.endX = x + w - 1; + var21.endY = y + h - 1; - for (var16 = var2; var16 < var2 + var4; ++var16) { - for (int var17 = var3; var17 < var3 + var5; ++var17) { + for (var16 = x; var16 < x + w; ++var16) { + for (int var17 = y; var17 < y + h; ++var17) { int var18 = 0; - if (var16 > var2) { + if (var16 > x) { ++var18; } - if (var16 < var2 + var4 - 1) { + if (var16 < x + w - 1) { var18 += 4; } - if (var17 > var3) { + if (var17 > y) { var18 += 8; } - if (var17 < var3 + var5 - 1) { + if (var17 < y + h - 1) { var18 += 2; } - for (int var19 = var1; var19 >= 0; --var19) { + for (int var19 = plane; var19 >= 0; --var19) { if (this.tiles[var19][var16][var17] == null) { this.tiles[var19][var16][var17] = new Tile(var19, var16, var17); } } - Tile var23 = this.tiles[var1][var16][var17]; + Tile var23 = this.tiles[plane][var16][var17]; var23.gameObjects[var23.gameObjectsCount] = var21; var23.gameObjectEdgeMasks[var23.gameObjectsCount] = var18; var23.gameObjectsEdgeMask |= var18; @@ -627,27 +629,29 @@ public class Scene { for (int var2 = var1.startX; var2 <= var1.endX; ++var2) { for (int var3 = var1.startY; var3 <= var1.endY; ++var3) { Tile var4 = this.tiles[var1.plane][var2][var3]; - if (var4 != null) { - int var5; - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - if (var4.gameObjects[var5] == var1) { - --var4.gameObjectsCount; + if (var4 == null) { + continue; + } + int var5; + for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + if (var4.gameObjects[var5] != var1) { + continue; + } + --var4.gameObjectsCount; - for (int var6 = var5; var6 < var4.gameObjectsCount; ++var6) { - var4.gameObjects[var6] = var4.gameObjects[var6 + 1]; - var4.gameObjectEdgeMasks[var6] = var4.gameObjectEdgeMasks[var6 + 1]; - } - - var4.gameObjects[var4.gameObjectsCount] = null; - break; - } + for (int var6 = var5; var6 < var4.gameObjectsCount; ++var6) { + var4.gameObjects[var6] = var4.gameObjects[var6 + 1]; + var4.gameObjectEdgeMasks[var6] = var4.gameObjectEdgeMasks[var6 + 1]; } - var4.gameObjectsEdgeMask = 0; + var4.gameObjects[var4.gameObjectsCount] = null; + break; + } - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; - } + var4.gameObjectsEdgeMask = 0; + + for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; } } } @@ -657,13 +661,15 @@ public class Scene { @ObfuscatedName("j") public void method3082(int var1, int var2, int var3, int var4) { Tile var5 = this.tiles[var1][var2][var3]; - if (var5 != null) { - WallDecoration var6 = var5.wallDecoration; - if (var6 != null) { - var6.xOffset = var4 * var6.xOffset / 16; - var6.yOffset = var4 * var6.yOffset / 16; - } + if (var5 == null) { + return; } + WallDecoration var6 = var5.wallDecoration; + if (var6 == null) { + return; + } + var6.xOffset = var4 * var6.xOffset / 16; + var6.yOffset = var4 * var6.yOffset / 16; } @ObfuscatedName("o") @@ -685,20 +691,22 @@ public class Scene { } @ObfuscatedName("s") - public void method3154(int var1, int var2, int var3) { + @Export("removeGameObject") + public void removeGameObject(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - GameObject var6 = var4.gameObjects[var5]; - long var8 = var6.tag; - boolean var7 = WorldMapLabel.method420(var8) == 2; - if (var7 && var2 == var6.startX && var3 == var6.startY) { - this.removeGameObject(var6); - return; - } - } - + if (var4 == null) { + return; } + for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + long var8 = var6.tag; + boolean var7 = WorldMapLabel.Entity_unpackType(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + this.removeGameObject(var6); + return; + } + } + } @ObfuscatedName("z") @@ -749,7 +757,7 @@ public class Scene { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; long var8 = var6.tag; - boolean var7 = WorldMapLabel.method420(var8) == 2; + boolean var7 = WorldMapLabel.Entity_unpackType(var8) == 2; if (var7 && var2 == var6.startX && var3 == var6.startY) { return var6; } @@ -792,7 +800,7 @@ public class Scene { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; long var8 = var6.tag; - boolean var7 = WorldMapLabel.method420(var8) == 2; + boolean var7 = WorldMapLabel.Entity_unpackType(var8) == 2; if (var7 && var2 == var6.startX && var3 == var6.startY) { return var6.tag; } @@ -851,10 +859,10 @@ public class Scene { var10 = (ModelData)var8.entity2; this.method3099(var10, var4, var5, var6, 1, 1); ModelData.method2790(var9, var10, 0, 0, 0, false); - var8.entity2 = var10.toModel(var10.field1580, var10.field1577, var1, var2, var3); + var8.entity2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); } - var8.entity1 = var9.toModel(var9.field1580, var9.field1577, var1, var2, var3); + var8.entity1 = var9.toModel(var9.ambient, var9.contrast, var1, var2, var3); } for (int var12 = 0; var12 < var7.gameObjectsCount; ++var12) { @@ -862,7 +870,7 @@ public class Scene { if (var14 != null && var14.entity instanceof ModelData) { ModelData var11 = (ModelData)var14.entity; this.method3099(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); - var14.entity = var11.toModel(var11.field1580, var11.field1577, var1, var2, var3); + var14.entity = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); } } @@ -870,7 +878,7 @@ public class Scene { if (var13 != null && var13.entity instanceof ModelData) { var10 = (ModelData)var13.entity; this.method3120(var10, var4, var5, var6); - var13.entity = var10.toModel(var10.field1580, var10.field1577, var1, var2, var3); + var13.entity = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); } } } @@ -930,7 +938,7 @@ public class Scene { int var10 = var4 - 1; int var11 = var4 + var6; - for (int var12 = var2; var12 <= var2 + 1; ++var12) { + for (int var12 = var2; var12 <= var2 + 1; ++var12, --var8, var7 = false) { if (var12 == this.planes) { continue; } @@ -972,11 +980,7 @@ public class Scene { } } } - - --var8; - var7 = false; } - } @ObfuscatedName("ac") @@ -990,59 +994,60 @@ public class Scene { int var10; if (var8 != null) { int var9 = var8.rgb; - if (var9 != 0) { - for (var10 = 0; var10 < 4; ++var10) { - var1[var2] = var9; - var1[var2 + 1] = var9; - var1[var2 + 2] = var9; - var1[var2 + 3] = var9; - var2 += var3; - } - + if (var9 == 0) { + return; } - } else { - TileModel var18 = var7.model; - if (var18 != null) { - var10 = var18.shape; - int var11 = var18.rotation; - int var12 = var18.underlayRgb; - int var13 = var18.overlayRgb; - int[] var14 = this.tileShape2D[var10]; - int[] var15 = this.tileRotation2D[var11]; - int var16 = 0; - int var17; - if (var12 != 0) { - for (var17 = 0; var17 < 4; ++var17) { - var1[var2] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 1] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 2] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 3] = var14[var15[var16++]] == 0 ? var12 : var13; - var2 += var3; - } - } else { - for (var17 = 0; var17 < 4; ++var17) { - if (var14[var15[var16++]] != 0) { - var1[var2] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 1] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 2] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 3] = var13; - } - - var2 += var3; - } - } - + for (var10 = 0; var10 < 4; ++var10) { + var1[var2] = var9; + var1[var2 + 1] = var9; + var1[var2 + 2] = var9; + var1[var2 + 3] = var9; + var2 += var3; } + return; } + TileModel var18 = var7.model; + if (var18 == null) { + return; + } + var10 = var18.shape; + int var11 = var18.rotation; + int var12 = var18.underlayRgb; + int var13 = var18.overlayRgb; + int[] var14 = this.tileShape2D[var10]; + int[] var15 = this.tileRotation2D[var11]; + int var16 = 0; + int var17; + if (var12 != 0) { + for (var17 = 0; var17 < 4; ++var17) { + var1[var2] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 1] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 2] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 3] = var14[var15[var16++]] == 0 ? var12 : var13; + var2 += var3; + } + return; + } + for (var17 = 0; var17 < 4; ++var17) { + if (var14[var15[var16++]] != 0) { + var1[var2] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 1] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 2] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 3] = var13; + } + + var2 += var3; + } + } @ObfuscatedName("aa") @@ -1060,7 +1065,8 @@ public class Scene { } @ObfuscatedName("an") - public void method3104() { + @Export("setViewportWalking") + public void setViewportWalking() { viewportWalking = true; } @@ -1120,15 +1126,10 @@ public class Scene { this.occlude(); tileUpdateCount = 0; - int var7; - Tile[][] var8; - int var9; - int var10; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; - - for (var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) { - for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { + for (int var7 = this.minPlane; var7 < this.planes; ++var7) { + Tile[][] var8 = this.tiles[var7]; + for (int var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) { + for (int var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { Tile var11 = var8[var9][var10]; if (var11 == null) { continue; @@ -1152,33 +1153,27 @@ public class Scene { } } - int var12; - int var13; - int var14; - Tile var15; - int var16; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; - - for (var9 = -25; var9 <= 0; ++var9) { - var10 = var9 + Scene_cameraXTile; - var16 = Scene_cameraXTile - var9; + for (int var7 = this.minPlane; var7 < this.planes; ++var7) { + Tile[][] var8 = this.tiles[var7]; + for (int var9 = -25; var9 <= 0; ++var9) { + int var10 = var9 + Scene_cameraXTile; + int var16 = Scene_cameraXTile - var9; if (var10 < Scene_cameraXTileMin && var16 >= Scene_cameraXTileMax) { continue; } - for (var12 = -25; var12 <= 0; ++var12) { - var13 = var12 + Scene_cameraYTile; - var14 = Scene_cameraYTile - var12; + for (int var12 = -25; var12 <= 0; ++var12) { + int var13 = var12 + Scene_cameraYTile; + int var14 = Scene_cameraYTile - var12; if (var10 >= Scene_cameraXTileMin) { if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var10][var13]; + Tile var15 = var8[var10][var13]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, true); } } if (var14 < Scene_cameraYTileMax) { - var15 = var8[var10][var14]; + Tile var15 = var8[var10][var14]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, true); } @@ -1187,14 +1182,14 @@ public class Scene { if (var16 < Scene_cameraXTileMax) { if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var16][var13]; + Tile var15 = var8[var16][var13]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, true); } } if (var14 < Scene_cameraYTileMax) { - var15 = var8[var16][var14]; + Tile var15 = var8[var16][var14]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, true); } @@ -1209,28 +1204,28 @@ public class Scene { } } - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; + for (int var7 = this.minPlane; var7 < this.planes; ++var7) { + Tile[][] var8 = this.tiles[var7]; - for (var9 = -25; var9 <= 0; ++var9) { - var10 = var9 + Scene_cameraXTile; - var16 = Scene_cameraXTile - var9; + for (int var9 = -25; var9 <= 0; ++var9) { + int var10 = var9 + Scene_cameraXTile; + int var16 = Scene_cameraXTile - var9; if (var10 < Scene_cameraXTileMin && var16 >= Scene_cameraXTileMax) { continue; } - for (var12 = -25; var12 <= 0; ++var12) { - var13 = var12 + Scene_cameraYTile; - var14 = Scene_cameraYTile - var12; + for (int var12 = -25; var12 <= 0; ++var12) { + int var13 = var12 + Scene_cameraYTile; + int var14 = Scene_cameraYTile - var12; if (var10 >= Scene_cameraXTileMin) { if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var10][var13]; + Tile var15 = var8[var10][var13]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, false); } } if (var14 < Scene_cameraYTileMax) { - var15 = var8[var10][var14]; + Tile var15 = var8[var10][var14]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, false); } @@ -1239,14 +1234,14 @@ public class Scene { if (var16 < Scene_cameraXTileMax) { if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var16][var13]; + Tile var15 = var8[var16][var13]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, false); } } if (var14 < Scene_cameraYTileMax) { - var15 = var8[var16][var14]; + Tile var15 = var8[var16][var14]; if (var15 != null && var15.drawPrimary) { this.drawTile(var15, false); } @@ -1269,437 +1264,395 @@ public class Scene { signature = "(Ldv;Z)V" ) @Export("drawTile") - void drawTile(Tile var1, boolean var2) { - Scene_tilesDeque.addFirst(var1); + void drawTile(Tile tile, boolean var2) { + Scene_tilesDeque.addFirst(tile); - while (true) { - Tile var3; - int var4; - int var5; - int var6; - int var7; - Tile[][] var8; - Tile var9; - int var11; - int var14; - int var15; - int var16; - int var24; - int var25; - do { - do { - do { - do { - do { - do { - while (true) { - BoundaryObject var10; - GameObject var12; - int var17; - int var18; - boolean var20; - int var21; - Tile var36; - while (true) { - do { - var3 = (Tile)Scene_tilesDeque.removeLast(); - if (var3 == null) { - return; - } - } while(!var3.drawSecondary); - - var4 = var3.x; - var5 = var3.y; - var6 = var3.plane; - var7 = var3.originalPlane; - var8 = this.tiles[var6]; - if (!var3.drawPrimary) { - break; - } - - if (var2) { - if (var6 > 0) { - var9 = this.tiles[var6 - 1][var4][var5]; - if (var9 != null && var9.drawSecondary) { - continue; - } - } - - if (var4 <= Scene_cameraXTile && var4 > Scene_cameraXTileMin) { - var9 = var8[var4 - 1][var5]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 1) == 0)) { - continue; - } - } - - if (var4 >= Scene_cameraXTile && var4 < Scene_cameraXTileMax - 1) { - var9 = var8[var4 + 1][var5]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 4) == 0)) { - continue; - } - } - - if (var5 <= Scene_cameraYTile && var5 > Scene_cameraYTileMin) { - var9 = var8[var4][var5 - 1]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 8) == 0)) { - continue; - } - } - - if (var5 >= Scene_cameraYTile && var5 < Scene_cameraYTileMax - 1) { - var9 = var8[var4][var5 + 1]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 2) == 0)) { - continue; - } - } - } else { - var2 = true; - } - - var3.drawPrimary = false; - if (var3.linkedBelowTile != null) { - var9 = var3.linkedBelowTile; - if (var9.paint != null) { - if (!this.method3181(0, var4, var5)) { - this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } else if (var9.model != null && !this.method3181(0, var4, var5)) { - this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var10 = var9.boundaryObject; - if (var10 != null) { - var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); - } - - for (var11 = 0; var11 < var9.gameObjectsCount; ++var11) { - var12 = var9.gameObjects[var11]; - if (var12 != null) { - var12.entity.draw(var12.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var12.centerX - Scene_cameraX, var12.height - Scene_cameraY, var12.centerY - Scene_cameraZ, var12.tag); - } - } - } - - var20 = false; - if (var3.paint != null) { - if (!this.method3181(var7, var4, var5)) { - var20 = true; - if (var3.paint.neColor != 12345678 || checkClick && var6 <= Scene_selectedPlane) { - this.drawTileUnderlay(var3.paint, var7, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } - } else if (var3.model != null && !this.method3181(var7, var4, var5)) { - var20 = true; - this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var21 = 0; - var11 = 0; - BoundaryObject var31 = var3.boundaryObject; - WallDecoration var13 = var3.wallDecoration; - if (var31 != null || var13 != null) { - if (var4 == Scene_cameraXTile) { - ++var21; - } else if (Scene_cameraXTile < var4) { - var21 += 2; - } - - if (var5 == Scene_cameraYTile) { - var21 += 3; - } else if (Scene_cameraYTile > var5) { - var21 += 6; - } - - var11 = field1847[var21]; - var3.field1666 = field1809[var21]; - } - - if (var31 != null) { - if ((var31.orientationA & field1815[var21]) != 0) { - if (var31.orientationA == 16) { - var3.drawGameObjectEdges = 3; - var3.field1651 = field1844[var21]; - var3.field1665 = 3 - var3.field1651; - } else if (var31.orientationA == 32) { - var3.drawGameObjectEdges = 6; - var3.field1651 = field1828[var21]; - var3.field1665 = 6 - var3.field1651; - } else if (var31.orientationA == 64) { - var3.drawGameObjectEdges = 12; - var3.field1651 = field1852[var21]; - var3.field1665 = 12 - var3.field1651; - } else { - var3.drawGameObjectEdges = 9; - var3.field1651 = field1842[var21]; - var3.field1665 = 9 - var3.field1651; - } - } else { - var3.drawGameObjectEdges = 0; - } - - if ((var31.orientationA & var11) != 0 && !this.method3194(var7, var4, var5, var31.orientationA)) { - var31.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); - } - - if ((var31.orientationB & var11) != 0 && !this.method3194(var7, var4, var5, var31.orientationB)) { - var31.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); - } - } - - if (var13 != null && !this.method3116(var7, var4, var5, var13.entity1.height)) { - if ((var13.orientation & var11) != 0) { - var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var13.xOffset + (var13.x * 4096 - Scene_cameraX), var13.tileHeight - Scene_cameraY, var13.yOffset + (var13.y * 4096 - Scene_cameraZ), var13.tag); - } else if (var13.orientation == 256) { - var14 = var13.x * 4096 - Scene_cameraX; - var15 = var13.tileHeight - Scene_cameraY; - var16 = var13.y * 4096 - Scene_cameraZ; - var17 = var13.orientation2; - if (var17 != 1 && var17 != 2) { - var18 = var14; - } else { - var18 = -var14; - } - - int var19; - if (var17 != 2 && var17 != 3) { - var19 = var16; - } else { - var19 = -var16; - } - - if (var19 < var18) { - var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + var13.xOffset, var15, var16 + var13.yOffset, var13.tag); - } else if (var13.entity2 != null) { - var13.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14, var15, var16, var13.tag); - } - } - } - - if (var20) { - FloorDecoration var22 = var3.floorDecoration; - if (var22 != null) { - var22.entity.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var22.x * 4096 - Scene_cameraX, var22.tileHeight - Scene_cameraY, var22.y * 4096 - Scene_cameraZ, var22.tag); - } - - TileItemPile var23 = var3.tileItemPile; - if (var23 != null && var23.height == 0) { - if (var23.second != null) { - var23.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - - if (var23.third != null) { - var23.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - - if (var23.first != null) { - var23.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - } - } - - var14 = var3.gameObjectsEdgeMask; - if (var14 != 0) { - if (var4 < Scene_cameraXTile && (var14 & 4) != 0) { - var36 = var8[var4 + 1][var5]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 < Scene_cameraYTile && (var14 & 2) != 0) { - var36 = var8[var4][var5 + 1]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var4 > Scene_cameraXTile && (var14 & 1) != 0) { - var36 = var8[var4 - 1][var5]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 > Scene_cameraYTile && (var14 & 8) != 0) { - var36 = var8[var4][var5 - 1]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - } - break; - } - - if (var3.drawGameObjectEdges != 0) { - var20 = true; - - for (var21 = 0; var21 < var3.gameObjectsCount; ++var21) { - if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field1651) { - var20 = false; - break; - } - } - - if (var20) { - var10 = var3.boundaryObject; - if (!this.method3194(var7, var4, var5, var10.orientationA)) { - var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); - } - - var3.drawGameObjectEdges = 0; - } - } - - if (!var3.drawGameObjects) { - break; - } - - try { - int var34 = var3.gameObjectsCount; - var3.drawGameObjects = false; - var21 = 0; - - label563: - for (var11 = 0; var11 < var34; ++var11) { - var12 = var3.gameObjects[var11]; - if (var12.lastDrawn != Scene_drawnCount) { - for (var24 = var12.startX; var24 <= var12.endX; ++var24) { - for (var14 = var12.startY; var14 <= var12.endY; ++var14) { - var36 = var8[var24][var14]; - if (var36.drawPrimary) { - var3.drawGameObjects = true; - continue label563; - } - - if (var36.drawGameObjectEdges != 0) { - var16 = 0; - if (var24 > var12.startX) { - ++var16; - } - - if (var24 < var12.endX) { - var16 += 4; - } - - if (var14 > var12.startY) { - var16 += 8; - } - - if (var14 < var12.endY) { - var16 += 2; - } - - if ((var16 & var36.drawGameObjectEdges) == var3.field1665) { - var3.drawGameObjects = true; - continue label563; - } - } - } - } - - gameObjects[var21++] = var12; - var24 = Scene_cameraXTile - var12.startX; - var14 = var12.endX - Scene_cameraXTile; - if (var14 > var24) { - var24 = var14; - } - - var15 = Scene_cameraYTile - var12.startY; - var16 = var12.endY - Scene_cameraYTile; - if (var16 > var15) { - var12.field1939 = var24 + var16; - } else { - var12.field1939 = var24 + var15; - } - } - } - - while (var21 > 0) { - var11 = -50; - var25 = -1; - - for (var24 = 0; var24 < var21; ++var24) { - GameObject var35 = gameObjects[var24]; - if (var35.lastDrawn != Scene_drawnCount) { - if (var35.field1939 > var11) { - var11 = var35.field1939; - var25 = var24; - } else if (var11 == var35.field1939) { - var15 = var35.centerX - Scene_cameraX; - var16 = var35.centerY - Scene_cameraZ; - var17 = gameObjects[var25].centerX - Scene_cameraX; - var18 = gameObjects[var25].centerY - Scene_cameraZ; - if (var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { - var25 = var24; - } - } - } - } - - if (var25 == -1) { - break; - } - - GameObject var33 = gameObjects[var25]; - var33.lastDrawn = Scene_drawnCount; - if (!this.method3117(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.entity.height)) { - var33.entity.draw(var33.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var33.centerX - Scene_cameraX, var33.height - Scene_cameraY, var33.centerY - Scene_cameraZ, var33.tag); - } - - for (var14 = var33.startX; var14 <= var33.endX; ++var14) { - for (var15 = var33.startY; var15 <= var33.endY; ++var15) { - Tile var26 = var8[var14][var15]; - if (var26.drawGameObjectEdges != 0) { - Scene_tilesDeque.addFirst(var26); - } else if ((var14 != var4 || var15 != var5) && var26.drawSecondary) { - Scene_tilesDeque.addFirst(var26); - } - } - } - } - - if (!var3.drawGameObjects) { - break; - } - } catch (Exception var28) { - var3.drawGameObjects = false; - break; - } - } - } while(!var3.drawSecondary); - } while(var3.drawGameObjectEdges != 0); - - if (var4 > Scene_cameraXTile || var4 <= Scene_cameraXTileMin) { - break; + while ((tile = (Tile) Scene_tilesDeque.removeLast()) != null) { + if (!tile.drawSecondary) { + continue; + } + int x = tile.x; + int y = tile.y; + int plane = tile.plane; + int originalPlane = tile.originalPlane; + Tile[][] var8 = this.tiles[plane]; + if (tile.drawPrimary) { + if (!var2) { + var2 = true; + } else { + if (plane > 0) { + Tile var9 = this.tiles[plane - 1][x][y]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } + if (x <= Scene_cameraXTile && x > Scene_cameraXTileMin) { + Tile var9 = var8[x - 1][y]; + if (var9 != null && var9.drawSecondary) { + if (var9.drawPrimary || (tile.gameObjectsEdgeMask & 1) == 0) { + continue; } + } + } + if (x >= Scene_cameraXTile && x < Scene_cameraXTileMax - 1) { + Tile var9 = var8[x + 1][y]; + if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (tile.gameObjectsEdgeMask & 4) == 0)) { + continue; + } + } + if (y <= Scene_cameraYTile && y > Scene_cameraYTileMin) { + Tile var9 = var8[x][y - 1]; + if (var9 != null && var9.drawSecondary) { + if (var9.drawPrimary || (tile.gameObjectsEdgeMask & 8) == 0) { + continue; + } + } + } + if (y >= Scene_cameraYTile && y < Scene_cameraYTileMax - 1) { + Tile var9 = var8[x][y + 1]; + if (var9 != null && var9.drawSecondary) { + if (var9.drawPrimary || (tile.gameObjectsEdgeMask & 2) == 0) { + continue; + } + } + } + } - var9 = var8[var4 - 1][var5]; - } while(var9 != null && var9.drawSecondary); + tile.drawPrimary = false; + if (tile.linkedBelowTile != null) { + Tile var9 = tile.linkedBelowTile; + if (var9.paint != null) { + if (!this.method3181(0, x, y)) { + this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, x, y); + } + } else if (var9.model != null) { + if (!this.method3181(0, x, y)) { + this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, x, y); + } + } + BoundaryObject var10 = var9.boundaryObject; + if (var10 != null) { + var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); + } + for (int var11 = 0; var11 < var9.gameObjectsCount; ++var11) { + GameObject var12 = var9.gameObjects[var11]; + if (var12 != null) { + var12.entity.draw(var12.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var12.centerX - Scene_cameraX, var12.height - Scene_cameraY, var12.centerY - Scene_cameraZ, var12.tag); + } + } + } + boolean var20 = false; + if (tile.paint != null) { + if (!this.method3181(originalPlane, x, y)) { + var20 = true; + if (tile.paint.neColor != 12345678 || checkClick && plane <= Scene_selectedPlane) { + this.drawTileUnderlay(tile.paint, originalPlane, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, x, y); + } + } + } else if (tile.model != null) { + if (!this.method3181(originalPlane, x, y)) { + var20 = true; + this.drawTileOverlay(tile.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, x, y); + } + } + int var21 = 0; + int var11 = 0; + BoundaryObject wall = tile.boundaryObject; + WallDecoration wallDecoration = tile.wallDecoration; + if (wall != null || wallDecoration != null) { + if (x == Scene_cameraXTile) { + ++var21; + } else if (Scene_cameraXTile < x) { + var21 += 2; + } + if (y == Scene_cameraYTile) { + var21 += 3; + } else if (Scene_cameraYTile > y) { + var21 += 6; + } + var11 = field1847[var21]; + tile.field1666 = field1809[var21]; + } + if (wall != null) { + if ((wall.orientationA & field1815[var21]) != 0) { + if (wall.orientationA == 16) { + tile.drawGameObjectEdges = 3; + tile.field1651 = field1844[var21]; + tile.field1665 = 3 - tile.field1651; + } else if (wall.orientationA == 32) { + tile.drawGameObjectEdges = 6; + tile.field1651 = field1828[var21]; + tile.field1665 = 6 - tile.field1651; + } else if (wall.orientationA == 64) { + tile.drawGameObjectEdges = 12; + tile.field1651 = field1852[var21]; + tile.field1665 = 12 - tile.field1651; + } else { + tile.drawGameObjectEdges = 9; + tile.field1651 = field1842[var21]; + tile.field1665 = 9 - tile.field1651; + } + } else { + tile.drawGameObjectEdges = 0; + } + if ((wall.orientationA & var11) != 0) { + if (!this.method3194(originalPlane, x, y, wall.orientationA)) { + wall.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, wall.x * 4096 - Scene_cameraX, wall.tileHeight - Scene_cameraY, wall.y * 4096 - Scene_cameraZ, wall.tag); + } + } + if ((wall.orientationB & var11) != 0) { + if (!this.method3194(originalPlane, x, y, wall.orientationB)) { + wall.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, wall.x * 4096 - Scene_cameraX, wall.tileHeight - Scene_cameraY, wall.y * 4096 - Scene_cameraZ, wall.tag); + } + } + } + if (wallDecoration != null) { + if (!this.method3116(originalPlane, x, y, wallDecoration.entity1.height)) { + if ((wallDecoration.orientation & var11) != 0) { + wallDecoration.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, wallDecoration.xOffset + (wallDecoration.x * 4096 - Scene_cameraX), wallDecoration.tileHeight - Scene_cameraY, wallDecoration.yOffset + (wallDecoration.y * 4096 - Scene_cameraZ), wallDecoration.tag); + } else if (wallDecoration.orientation == 256) { + int var14 = wallDecoration.x * 4096 - Scene_cameraX; + int var15 = wallDecoration.tileHeight - Scene_cameraY; + int var16 = wallDecoration.y * 4096 - Scene_cameraZ; + int var17 = wallDecoration.orientation2; + int var18; + if (var17 != 1 && var17 != 2) { + var18 = var14; + } else { + var18 = -var14; + } + int var19; + if (var17 != 2 && var17 != 3) { + var19 = var16; + } else { + var19 = -var16; + } + if (var19 < var18) { + wallDecoration.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + wallDecoration.xOffset, var15, var16 + wallDecoration.yOffset, wallDecoration.tag); + } else if (wallDecoration.entity2 != null) { + wallDecoration.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14, var15, var16, wallDecoration.tag); + } + } + } + } + if (var20) { + FloorDecoration floorDecoration = tile.floorDecoration; + if (floorDecoration != null) { + floorDecoration.entity.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, floorDecoration.x * 4096 - Scene_cameraX, floorDecoration.tileHeight - Scene_cameraY, floorDecoration.y * 4096 - Scene_cameraZ, floorDecoration.tag); + } + TileItemPile lootPile = tile.tileItemPile; + if (lootPile != null && lootPile.height == 0) { + if (lootPile.second != null) { + lootPile.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, lootPile.x * 4096 - Scene_cameraX, lootPile.tileHeight - Scene_cameraY, lootPile.y * 4096 - Scene_cameraZ, lootPile.tag); + } + if (lootPile.third != null) { + lootPile.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, lootPile.x * 4096 - Scene_cameraX, lootPile.tileHeight - Scene_cameraY, lootPile.y * 4096 - Scene_cameraZ, lootPile.tag); + } + if (lootPile.first != null) { + lootPile.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, lootPile.x * 4096 - Scene_cameraX, lootPile.tileHeight - Scene_cameraY, lootPile.y * 4096 - Scene_cameraZ, lootPile.tag); + } + } + } + int objectsEdgeMask = tile.gameObjectsEdgeMask; + if (objectsEdgeMask != 0) { + if (x < Scene_cameraXTile && (objectsEdgeMask & 4) != 0) { + Tile var36 = var8[x + 1][y]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } - if (var4 < Scene_cameraXTile || var4 >= Scene_cameraXTileMax - 1) { + if (y < Scene_cameraYTile && (objectsEdgeMask & 2) != 0) { + Tile var36 = var8[x][y + 1]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + + if (x > Scene_cameraXTile && (objectsEdgeMask & 1) != 0) { + Tile var36 = var8[x - 1][y]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + + if (y > Scene_cameraYTile && (objectsEdgeMask & 8) != 0) { + Tile var36 = var8[x][y - 1]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + } + } + + if (tile.drawGameObjectEdges != 0) { + boolean var20 = true; + + for (int var21 = 0; var21 < tile.gameObjectsCount; ++var21) { + if (tile.gameObjects[var21].lastDrawn != Scene_drawnCount && (tile.gameObjectEdgeMasks[var21] & tile.drawGameObjectEdges) == tile.field1651) { + var20 = false; + break; + } + } + + if (var20) { + BoundaryObject var10 = tile.boundaryObject; + if (!this.method3194(originalPlane, x, y, var10.orientationA)) { + var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); + } + + tile.drawGameObjectEdges = 0; + } + } + if (tile.drawGameObjects) { + try { + int var34 = tile.gameObjectsCount; + tile.drawGameObjects = false; + int var21 = 0; + + label563: + for (int var11 = 0; var11 < var34; ++var11) { + GameObject var12 = tile.gameObjects[var11]; + if (var12.lastDrawn == Scene_drawnCount) { + continue; + } + + for (int var24 = var12.startX; var24 <= var12.endX; ++var24) { + for (int var14 = var12.startY; var14 <= var12.endY; ++var14) { + Tile var36 = var8[var24][var14]; + if (var36.drawPrimary) { + tile.drawGameObjects = true; + continue label563; + } + + if (var36.drawGameObjectEdges != 0) { + int var16 = 0; + if (var24 > var12.startX) { + ++var16; + } + + if (var24 < var12.endX) { + var16 += 4; + } + + if (var14 > var12.startY) { + var16 += 8; + } + + if (var14 < var12.endY) { + var16 += 2; + } + + if ((var16 & var36.drawGameObjectEdges) == tile.field1665) { + tile.drawGameObjects = true; + continue label563; + } + } + } + } + + gameObjects[var21++] = var12; + int var24 = Scene_cameraXTile - var12.startX; + int var14 = var12.endX - Scene_cameraXTile; + if (var14 > var24) { + var24 = var14; + } + + int var15 = Scene_cameraYTile - var12.startY; + int var16 = var12.endY - Scene_cameraYTile; + if (var16 > var15) { + var12.field1939 = var24 + var16; + } else { + var12.field1939 = var24 + var15; + } + } + + while (var21 > 0) { + int var11 = -50; + int var25 = -1; + + for (int var24 = 0; var24 < var21; ++var24) { + GameObject var35 = gameObjects[var24]; + if (var35.lastDrawn == Scene_drawnCount) { + continue; + } + if (var35.field1939 > var11) { + var11 = var35.field1939; + var25 = var24; + } else if (var11 == var35.field1939) { + int var15 = var35.centerX - Scene_cameraX; + int var16 = var35.centerY - Scene_cameraZ; + int var17 = gameObjects[var25].centerX - Scene_cameraX; + int var18 = gameObjects[var25].centerY - Scene_cameraZ; + if (var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { + var25 = var24; + } + } + } + + if (var25 == -1) { break; } - var9 = var8[var4 + 1][var5]; - } while(var9 != null && var9.drawSecondary); + GameObject var33 = gameObjects[var25]; + var33.lastDrawn = Scene_drawnCount; + if (!this.method3117(originalPlane, var33.startX, var33.endX, var33.startY, var33.endY, var33.entity.height)) { + var33.entity.draw(var33.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var33.centerX - Scene_cameraX, var33.height - Scene_cameraY, var33.centerY - Scene_cameraZ, var33.tag); + } - if (var5 > Scene_cameraYTile || var5 <= Scene_cameraYTileMin) { - break; + for (int var14 = var33.startX; var14 <= var33.endX; ++var14) { + for (int var15 = var33.startY; var15 <= var33.endY; ++var15) { + Tile var26 = var8[var14][var15]; + if (var26.drawGameObjectEdges != 0) { + Scene_tilesDeque.addFirst(var26); + } else if ((var14 != x || var15 != y) && var26.drawSecondary) { + Scene_tilesDeque.addFirst(var26); + } + } + } } - var9 = var8[var4][var5 - 1]; - } while(var9 != null && var9.drawSecondary); - - if (var5 < Scene_cameraYTile || var5 >= Scene_cameraYTileMax - 1) { - break; + if (tile.drawGameObjects) { + continue; + } + } catch (Exception var28) { + tile.drawGameObjects = false; } + } + if (!tile.drawSecondary) { + continue; + } + if (tile.drawGameObjectEdges != 0) { + continue; + } + if (x <= Scene_cameraXTile && x > Scene_cameraXTileMin) { + Tile var9 = var8[x - 1][y]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } + if (x >= Scene_cameraXTile && x < Scene_cameraXTileMax - 1) { + Tile var9 = var8[x + 1][y]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } + if (y <= Scene_cameraYTile && y > Scene_cameraYTileMin) { + Tile var9 = var8[x][y - 1]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } + if (y >= Scene_cameraYTile && y < Scene_cameraYTileMax - 1) { + Tile var9 = var8[x][y + 1]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } - var9 = var8[var4][var5 + 1]; - } while(var9 != null && var9.drawSecondary); - - var3.drawSecondary = false; + tile.drawSecondary = false; --tileUpdateCount; - TileItemPile var32 = var3.tileItemPile; + TileItemPile var32 = tile.tileItemPile; if (var32 != null && var32.height != 0) { if (var32.second != null) { var32.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); @@ -1714,22 +1667,24 @@ public class Scene { } } - if (var3.field1666 != 0) { - WallDecoration var29 = var3.wallDecoration; - if (var29 != null && !this.method3116(var7, var4, var5, var29.entity1.height)) { - if ((var29.orientation & var3.field1666) != 0) { + if (tile.field1666 != 0) { + WallDecoration var29 = tile.wallDecoration; + if (var29 != null && !this.method3116(originalPlane, x, y, var29.entity1.height)) { + if ((var29.orientation & tile.field1666) != 0) { var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.xOffset + (var29.x * 4096 - Scene_cameraX), var29.tileHeight - Scene_cameraY, var29.yOffset + (var29.y * 4096 - Scene_cameraZ), var29.tag); } else if (var29.orientation == 256) { - var11 = var29.x * 4096 - Scene_cameraX; - var25 = var29.tileHeight - Scene_cameraY; - var24 = var29.y * 4096 - Scene_cameraZ; - var14 = var29.orientation2; + int var11 = var29.x * 4096 - Scene_cameraX; + int var25 = var29.tileHeight - Scene_cameraY; + int var24 = var29.y * 4096 - Scene_cameraZ; + int var14 = var29.orientation2; + int var15; if (var14 != 1 && var14 != 2) { var15 = var11; } else { var15 = -var11; } + int var16; if (var14 != 2 && var14 != 3) { var16 = var24; } else { @@ -1744,49 +1699,48 @@ public class Scene { } } - BoundaryObject var27 = var3.boundaryObject; - if (var27 != null) { - if ((var27.orientationB & var3.field1666) != 0 && !this.method3194(var7, var4, var5, var27.orientationB)) { - var27.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); + BoundaryObject wall = tile.boundaryObject; + if (wall != null) { + if ((wall.orientationB & tile.field1666) != 0 && !this.method3194(originalPlane, x, y, wall.orientationB)) { + wall.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, wall.x * 4096 - Scene_cameraX, wall.tileHeight - Scene_cameraY, wall.y * 4096 - Scene_cameraZ, wall.tag); } - if ((var27.orientationA & var3.field1666) != 0 && !this.method3194(var7, var4, var5, var27.orientationA)) { - var27.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); + if ((wall.orientationA & tile.field1666) != 0 && !this.method3194(originalPlane, x, y, wall.orientationA)) { + wall.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, wall.x * 4096 - Scene_cameraX, wall.tileHeight - Scene_cameraY, wall.y * 4096 - Scene_cameraZ, wall.tag); } } } - Tile var30; - if (var6 < this.planes - 1) { - var30 = this.tiles[var6 + 1][var4][var5]; + if (plane < this.planes - 1) { + Tile var30 = this.tiles[plane + 1][x][y]; if (var30 != null && var30.drawSecondary) { Scene_tilesDeque.addFirst(var30); } } - if (var4 < Scene_cameraXTile) { - var30 = var8[var4 + 1][var5]; + if (x < Scene_cameraXTile) { + Tile var30 = var8[x + 1][y]; if (var30 != null && var30.drawSecondary) { Scene_tilesDeque.addFirst(var30); } } - if (var5 < Scene_cameraYTile) { - var30 = var8[var4][var5 + 1]; + if (y < Scene_cameraYTile) { + Tile var30 = var8[x][y + 1]; if (var30 != null && var30.drawSecondary) { Scene_tilesDeque.addFirst(var30); } } - if (var4 > Scene_cameraXTile) { - var30 = var8[var4 - 1][var5]; + if (x > Scene_cameraXTile) { + Tile var30 = var8[x - 1][y]; if (var30 != null && var30.drawSecondary) { Scene_tilesDeque.addFirst(var30); } } - if (var5 > Scene_cameraYTile) { - var30 = var8[var4][var5 - 1]; + if (y > Scene_cameraYTile) { + Tile var30 = var8[x][y - 1]; if (var30 != null && var30.drawSecondary) { Scene_tilesDeque.addFirst(var30); } @@ -1800,14 +1754,10 @@ public class Scene { ) @Export("drawTileUnderlay") void drawTileUnderlay(TilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9; - int var10 = var9 = (var7 << 7) - Scene_cameraX; - int var11; - int var12 = var11 = (var8 << 7) - Scene_cameraZ; - int var13; - int var14 = var13 = var10 + 128; - int var15; - int var16 = var15 = var12 + 128; + int var9, var10 = var9 = (var7 << 7) - Scene_cameraX; + int var11, var12 = var11 = (var8 << 7) - Scene_cameraZ; + int var13, var14 = var13 = var10 + 128; + int var15, var16 = var15 = var12 + 128; int var17 = this.tileHeights[var2][var7][var8] - Scene_cameraY; int var18 = this.tileHeights[var2][var7 + 1][var8] - Scene_cameraY; int var19 = this.tileHeights[var2][var7 + 1][var8 + 1] - Scene_cameraY; @@ -1872,15 +1822,13 @@ public class Scene { if (var1.neColor != 12345678) { Rasterizer3D.method3020(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); } - } else if (!Scene_isLowDetail) { - if (var1.isFlat) { - Rasterizer3D.method2988(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); - } else { - Rasterizer3D.method2988(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var13, var9, var14, var19, var21, var18, var16, var15, var11, var1.texture); - } - } else { + } else if (Scene_isLowDetail) { var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); Rasterizer3D.method3020(var27, var29, var25, var26, var28, var24, method3111(var30, var1.neColor), method3111(var30, var1.nwColor), method3111(var30, var1.seColor)); + } else if (var1.isFlat) { + Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); + } else { + Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var13, var9, var14, var19, var21, var18, var16, var15, var11, var1.texture); } } @@ -1900,13 +1848,12 @@ public class Scene { Rasterizer3D.method3020(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); } } else if (!Scene_isLowDetail) { - Rasterizer3D.method2988(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); + Rasterizer3D.drawTexturedTile(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); } else { var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); Rasterizer3D.method3020(var23, var25, var29, var22, var24, var28, method3111(var30, var1.swColor), method3111(var30, var1.seColor), method3111(var30, var1.nwColor)); } } - } @ObfuscatedName("ay") @@ -1971,19 +1918,17 @@ public class Scene { Scene_selectedY = var7; } - if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { - if (!Scene_isLowDetail) { - if (var1.isFlat) { - Rasterizer3D.method2988(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[0], TileModel.field1594[1], TileModel.field1594[3], TileModel.field1607[0], TileModel.field1607[1], TileModel.field1607[3], TileModel.field1608[0], TileModel.field1608[1], TileModel.field1608[3], var1.triangleTextureId[var9]); - } else { - Rasterizer3D.method2988(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[var10], TileModel.field1594[var11], TileModel.field1594[var12], TileModel.field1607[var10], TileModel.field1607[var11], TileModel.field1607[var12], TileModel.field1608[var10], TileModel.field1608[var11], TileModel.field1608[var12], var1.triangleTextureId[var9]); - } - } else { - int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); - Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, method3111(var19, var1.triangleColorA[var9]), method3111(var19, var1.triangleColorB[var9]), method3111(var19, var1.triangleColorC[var9])); + if (var1.triangleTextureId == null || var1.triangleTextureId[var9] == -1) { + if (var1.triangleColorA[var9] != 12345678) { + Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); } - } else if (var1.triangleColorA[var9] != 12345678) { - Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); + } else if (Scene_isLowDetail) { + int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); + Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, method3111(var19, var1.triangleColorA[var9]), method3111(var19, var1.triangleColorB[var9]), method3111(var19, var1.triangleColorC[var9])); + } else if (var1.isFlat) { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[0], TileModel.field1594[1], TileModel.field1594[3], TileModel.field1607[0], TileModel.field1607[1], TileModel.field1607[3], TileModel.field1608[0], TileModel.field1608[1], TileModel.field1608[3], var1.triangleTextureId[var9]); + } else { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[var10], TileModel.field1594[var11], TileModel.field1594[var12], TileModel.field1607[var10], TileModel.field1607[var11], TileModel.field1607[var12], TileModel.field1608[var10], TileModel.field1608[var11], TileModel.field1608[var12], var1.triangleTextureId[var9]); } } @@ -1998,162 +1943,164 @@ public class Scene { for (int var3 = 0; var3 < var1; ++var3) { Occluder var4 = var2[var3]; - int var5; - int var6; - int var7; - int var9; boolean var13; if (var4.type == 1) { - var5 = var4.minTileX - Scene_cameraXTile + 25; - if (var5 >= 0 && var5 <= 50) { - var6 = var4.minTileY - Scene_cameraYTile + 25; - if (var6 < 0) { - var6 = 0; - } + int var5 = var4.minTileX - Scene_cameraXTile + 25; + if (var5 < 0 || var5 > 50) { + continue; + } + int var6 = var4.minTileY - Scene_cameraYTile + 25; + if (var6 < 0) { + var6 = 0; + } - var7 = var4.maxTileY - Scene_cameraYTile + 25; - if (var7 > 50) { - var7 = 50; - } + int var7 = var4.maxTileY - Scene_cameraYTile + 25; + if (var7 > 50) { + var7 = 50; + } - var13 = false; + var13 = false; - while (var6 <= var7) { - if (visibleTiles[var5][var6++]) { - var13 = true; - break; - } - } - - if (var13) { - var9 = Scene_cameraX - var4.minX; - if (var9 > 32) { - var4.field1910 = 1; - } else { - if (var9 >= -32) { - continue; - } - - var4.field1910 = 2; - var9 = -var9; - } - - var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var9; - var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var9; - var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field1913 = (var4.maxY - Scene_cameraY << 8) / var9; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + while (var6 <= var7) { + if (visibleTiles[var5][var6++]) { + var13 = true; + break; } } + + if (!var13) { + continue; + } + int var9 = Scene_cameraX - var4.minX; + if (var9 > 32) { + var4.field1910 = 1; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1910 = 2; + var9 = -var9; + } + + var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var9; + var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var9; + var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1913 = (var4.maxY - Scene_cameraY << 8) / var9; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; } else if (var4.type == 2) { - var5 = var4.minTileY - Scene_cameraYTile + 25; - if (var5 >= 0 && var5 <= 50) { - var6 = var4.minTileX - Scene_cameraXTile + 25; - if (var6 < 0) { - var6 = 0; - } + int var5 = var4.minTileY - Scene_cameraYTile + 25; + if (var5 < 0 || var5 > 50) { + continue; + } + int var6 = var4.minTileX - Scene_cameraXTile + 25; + if (var6 < 0) { + var6 = 0; + } - var7 = var4.maxTileX - Scene_cameraXTile + 25; - if (var7 > 50) { - var7 = 50; - } + int var7 = var4.maxTileX - Scene_cameraXTile + 25; + if (var7 > 50) { + var7 = 50; + } - var13 = false; + var13 = false; - while (var6 <= var7) { - if (visibleTiles[var6++][var5]) { - var13 = true; - break; - } - } - - if (var13) { - var9 = Scene_cameraZ - var4.minZ; - if (var9 > 32) { - var4.field1910 = 3; - } else { - if (var9 >= -32) { - continue; - } - - var4.field1910 = 4; - var9 = -var9; - } - - var4.field1907 = (var4.minX - Scene_cameraX << 8) / var9; - var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var9; - var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field1913 = (var4.maxY - Scene_cameraY << 8) / var9; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + while (var6 <= var7) { + if (visibleTiles[var6++][var5]) { + var13 = true; + break; } } + + if (!var13) { + continue; + } + int var9 = Scene_cameraZ - var4.minZ; + if (var9 > 32) { + var4.field1910 = 3; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1910 = 4; + var9 = -var9; + } + + var4.field1907 = (var4.minX - Scene_cameraX << 8) / var9; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var9; + var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1913 = (var4.maxY - Scene_cameraY << 8) / var9; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; } else if (var4.type == 4) { - var5 = var4.minY - Scene_cameraY; - if (var5 > 128) { - var6 = var4.minTileY - Scene_cameraYTile + 25; - if (var6 < 0) { - var6 = 0; - } + int var5 = var4.minY - Scene_cameraY; + if (var5 <= 128) { + continue; + } + int var6 = var4.minTileY - Scene_cameraYTile + 25; + if (var6 < 0) { + var6 = 0; + } - var7 = var4.maxTileY - Scene_cameraYTile + 25; - if (var7 > 50) { - var7 = 50; - } + int var7 = var4.maxTileY - Scene_cameraYTile + 25; + if (var7 > 50) { + var7 = 50; + } - if (var6 <= var7) { - int var8 = var4.minTileX - Scene_cameraXTile + 25; - if (var8 < 0) { - var8 = 0; - } + if (var6 > var7) { + continue; + } + int var8 = var4.minTileX - Scene_cameraXTile + 25; + if (var8 < 0) { + var8 = 0; + } - var9 = var4.maxTileX - Scene_cameraXTile + 25; - if (var9 > 50) { - var9 = 50; - } + int var9 = var4.maxTileX - Scene_cameraXTile + 25; + if (var9 > 50) { + var9 = 50; + } - boolean var10 = false; + boolean var10 = false; - label144: - for (int var11 = var8; var11 <= var9; ++var11) { - for (int var12 = var6; var12 <= var7; ++var12) { - if (visibleTiles[var11][var12]) { - var10 = true; - break label144; - } - } - } - - if (var10) { - var4.field1910 = 5; - var4.field1907 = (var4.minX - Scene_cameraX << 8) / var5; - var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var5; - var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var5; - var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var5; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + label144: + for (int var11 = var8; var11 <= var9; ++var11) { + for (int var12 = var6; var12 <= var7; ++var12) { + if (visibleTiles[var11][var12]) { + var10 = true; + break label144; } } } + + if (var10) { + var4.field1910 = 5; + var4.field1907 = (var4.minX - Scene_cameraX << 8) / var5; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var5; + var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var5; + var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var5; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } } } } @ObfuscatedName("bz") - boolean method3181(int var1, int var2, int var3) { - int var4 = this.field1810[var1][var2][var3]; + boolean method3181(int plane, int x, int y) { + int var4 = this.field1810[plane][x][y]; if (var4 == -Scene_drawnCount) { return false; } if (var4 == Scene_drawnCount) { return true; } - int var5 = var2 << 7; - int var6 = var3 << 7; - if (this.method3102(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3102(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { - this.field1810[var1][var2][var3] = Scene_drawnCount; + int var5 = x << 7; + int var6 = y << 7; + if (this.method3102(var5 + 1, this.tileHeights[plane][x][y], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[plane][x + 1][y], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[plane][x + 1][y + 1], var6 + 128 - 1) && this.method3102(var5 + 1, this.tileHeights[plane][x][y + 1], var6 + 128 - 1)) { + this.field1810[plane][x][y] = Scene_drawnCount; return true; } - this.field1810[var1][var2][var3] = -Scene_drawnCount; + this.field1810[plane][x][y] = -Scene_drawnCount; return false; } @@ -2173,9 +2120,7 @@ public class Scene { if (var5 > Scene_cameraX) { if (!this.method3102(var5, var7, var6)) { return false; - } - - if (!this.method3102(var5, var7, var6 + 128)) { + } else if (!this.method3102(var5, var7, var6 + 128)) { return false; } } @@ -2183,31 +2128,23 @@ public class Scene { if (var1 > 0) { if (!this.method3102(var5, var8, var6)) { return false; - } - - if (!this.method3102(var5, var8, var6 + 128)) { + } else if (!this.method3102(var5, var8, var6 + 128)) { return false; } } if (!this.method3102(var5, var9, var6)) { return false; - } - - if (!this.method3102(var5, var9, var6 + 128)) { + } else if (!this.method3102(var5, var9, var6 + 128)) { return false; } return true; - } - - if (var4 == 2) { + } else if (var4 == 2) { if (var6 < Scene_cameraZ) { if (!this.method3102(var5, var7, var6 + 128)) { return false; - } - - if (!this.method3102(var5 + 128, var7, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var7, var6 + 128)) { return false; } } @@ -2215,31 +2152,23 @@ public class Scene { if (var1 > 0) { if (!this.method3102(var5, var8, var6 + 128)) { return false; - } - - if (!this.method3102(var5 + 128, var8, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var8, var6 + 128)) { return false; } } if (!this.method3102(var5, var9, var6 + 128)) { return false; - } - - if (!this.method3102(var5 + 128, var9, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var9, var6 + 128)) { return false; + } else { + return true; } - - return true; - } - - if (var4 == 4) { + } else if (var4 == 4) { if (var5 < Scene_cameraX) { if (!this.method3102(var5 + 128, var7, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var7, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var7, var6 + 128)) { return false; } } @@ -2247,31 +2176,23 @@ public class Scene { if (var1 > 0) { if (!this.method3102(var5 + 128, var8, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var8, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var8, var6 + 128)) { return false; } } if (!this.method3102(var5 + 128, var9, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var9, var6 + 128)) { + } else if (!this.method3102(var5 + 128, var9, var6 + 128)) { return false; + } else { + return true; } - - return true; - } - - if (var4 == 8) { + } else if (var4 == 8) { if (var6 > Scene_cameraZ) { if (!this.method3102(var5, var7, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var7, var6)) { + } else if (!this.method3102(var5 + 128, var7, var6)) { return false; } } @@ -2279,41 +2200,34 @@ public class Scene { if (var1 > 0) { if (!this.method3102(var5, var8, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var8, var6)) { + } else if (!this.method3102(var5 + 128, var8, var6)) { return false; } } if (!this.method3102(var5, var9, var6)) { return false; - } - - if (!this.method3102(var5 + 128, var9, var6)) { + } else if (!this.method3102(var5 + 128, var9, var6)) { return false; + } else { + return true; } - - return true; } } if (!this.method3102(var5 + 64, var10, var6 + 64)) { return false; - } - if (var4 == 16) { + } else if (var4 == 16) { return this.method3102(var5, var9, var6 + 128); - } - if (var4 == 32) { + } else if (var4 == 32) { return this.method3102(var5 + 128, var9, var6 + 128); - } - if (var4 == 64) { + } else if (var4 == 64) { return this.method3102(var5 + 128, var9, var6); - } - if (var4 == 128) { + } else if (var4 == 128) { return this.method3102(var5, var9, var6); + } else { + return true; } - return true; } @ObfuscatedName("bg") @@ -2327,36 +2241,34 @@ public class Scene { } @ObfuscatedName("bh") - boolean method3117(int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - int var8; - if (var3 == var2 && var5 == var4) { - if (!this.method3181(var1, var2, var4)) { - return false; + boolean method3117(int plane, int startX, int endX, int startY, int endY, int height) { + if (endX == startX && endY == startY) { + if (this.method3181(plane, startX, startY)) { + int var7 = startX << 7; + int var8 = startY << 7; + return this.method3102(var7 + 1, this.tileHeights[plane][startX][startY] - height, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[plane][startX + 1][startY] - height, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[plane][startX + 1][startY + 1] - height, var8 + 128 - 1) && this.method3102(var7 + 1, this.tileHeights[plane][startX][startY + 1] - height, var8 + 128 - 1); } - var7 = var2 << 7; - var8 = var4 << 7; - return this.method3102(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3102(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); + return false; } - for (var7 = var2; var7 <= var3; ++var7) { - for (var8 = var4; var8 <= var5; ++var8) { - if (this.field1810[var1][var7][var8] == -Scene_drawnCount) { + for (int var7 = startX; var7 <= endX; ++var7) { + for (int var8 = startY; var8 <= endY; ++var8) { + if (this.field1810[plane][var7][var8] == -Scene_drawnCount) { return false; } } } - var7 = (var2 << 7) + 1; - var8 = (var4 << 7) + 2; - int var9 = this.tileHeights[var1][var2][var4] - var6; + int var7 = (startX << 7) + 1; + int var8 = (startY << 7) + 2; + int var9 = this.tileHeights[plane][startX][startY] - height; if (!this.method3102(var7, var9, var8)) { return false; } - int var10 = (var3 << 7) - 1; + int var10 = (endX << 7) - 1; if (!this.method3102(var10, var9, var8)) { return false; } - int var11 = (var5 << 7) - 1; + int var11 = (endY << 7) - 1; if (!this.method3102(var7, var9, var11)) { return false; } @@ -2370,62 +2282,57 @@ public class Scene { boolean method3102(int var1, int var2, int var3) { for (int var4 = 0; var4 < Scene_currentOccludersCount; ++var4) { Occluder var5 = Scene_currentOccluders[var4]; - int var6; - int var7; - int var8; - int var9; - int var10; if (var5.field1910 == 1) { - var6 = var5.minX - var1; + int var6 = var5.minX - var1; if (var6 > 0) { - var7 = (var6 * var5.field1900 >> 8) + var5.minZ; - var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; - var9 = (var6 * var5.field1912 >> 8) + var5.minY; - var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + int var7 = (var6 * var5.field1900 >> 8) + var5.minZ; + int var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; + int var9 = (var6 * var5.field1912 >> 8) + var5.minY; + int var10 = (var6 * var5.field1913 >> 8) + var5.maxY; if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } } else if (var5.field1910 == 2) { - var6 = var1 - var5.minX; + int var6 = var1 - var5.minX; if (var6 > 0) { - var7 = (var6 * var5.field1900 >> 8) + var5.minZ; - var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; - var9 = (var6 * var5.field1912 >> 8) + var5.minY; - var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + int var7 = (var6 * var5.field1900 >> 8) + var5.minZ; + int var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; + int var9 = (var6 * var5.field1912 >> 8) + var5.minY; + int var10 = (var6 * var5.field1913 >> 8) + var5.maxY; if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } } else if (var5.field1910 == 3) { - var6 = var5.minZ - var3; + int var6 = var5.minZ - var3; if (var6 > 0) { - var7 = (var6 * var5.field1907 >> 8) + var5.minX; - var8 = (var6 * var5.field1909 >> 8) + var5.maxX; - var9 = (var6 * var5.field1912 >> 8) + var5.minY; - var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + int var7 = (var6 * var5.field1907 >> 8) + var5.minX; + int var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + int var9 = (var6 * var5.field1912 >> 8) + var5.minY; + int var10 = (var6 * var5.field1913 >> 8) + var5.maxY; if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } } else if (var5.field1910 == 4) { - var6 = var3 - var5.minZ; + int var6 = var3 - var5.minZ; if (var6 > 0) { - var7 = (var6 * var5.field1907 >> 8) + var5.minX; - var8 = (var6 * var5.field1909 >> 8) + var5.maxX; - var9 = (var6 * var5.field1912 >> 8) + var5.minY; - var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + int var7 = (var6 * var5.field1907 >> 8) + var5.minX; + int var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + int var9 = (var6 * var5.field1912 >> 8) + var5.minY; + int var10 = (var6 * var5.field1913 >> 8) + var5.maxY; if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { return true; } } } else if (var5.field1910 == 5) { - var6 = var2 - var5.minY; + int var6 = var2 - var5.minY; if (var6 > 0) { - var7 = (var6 * var5.field1907 >> 8) + var5.minX; - var8 = (var6 * var5.field1909 >> 8) + var5.maxX; - var9 = (var6 * var5.field1900 >> 8) + var5.minZ; - var10 = (var6 * var5.field1911 >> 8) + var5.maxZ; + int var7 = (var6 * var5.field1907 >> 8) + var5.minX; + int var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + int var9 = (var6 * var5.field1900 >> 8) + var5.minZ; + int var10 = (var6 * var5.field1911 >> 8) + var5.maxZ; if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { return true; } @@ -2544,12 +2451,12 @@ public class Scene { int var4 = var2 * Scene_cameraYawCosine - var0 * Scene_cameraYawSine >> 16; int var5 = var4 * Scene_cameraPitchCosine + Scene_cameraPitchSine * var1 >> 16; int var6 = Scene_cameraPitchCosine * var1 - var4 * Scene_cameraPitchSine >> 16; - if (var5 >= 50 && var5 <= 3500) { - int var7 = var3 * 128 / var5 + Scene_viewportXCenter; - int var8 = var6 * 128 / var5 + Scene_viewportYCenter; - return var7 >= Scene_viewportXMin && var7 <= Scene_viewportXMax && var8 >= Scene_viewportYMin && var8 <= Scene_viewportYMax; + if (var5 < 50 || var5 > 3500) { + return false; } - return false; + int var7 = var3 * 128 / var5 + Scene_viewportXCenter; + int var8 = var6 * 128 / var5 + Scene_viewportYCenter; + return var7 >= Scene_viewportXMin && var7 <= Scene_viewportXMax && var8 >= Scene_viewportYMin && var8 <= Scene_viewportYMax; } @ObfuscatedName("au") diff --git a/runescape-client/src/main/java/Script.java b/runescape-client/src/main/java/Script.java index 9443486a3b..a4c9020884 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -65,7 +65,8 @@ public class Script extends DualNode { signature = "(IB)[Lla;", garbageValue = "45" ) - IterableNodeHashTable[] method2182(int var1) { + @Export("newIterableNodeHashTable") + IterableNodeHashTable[] newIterableNodeHashTable(int var1) { return new IterableNodeHashTable[var1]; } diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index 1616b43c13..6d19f773cd 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -21,7 +21,8 @@ public class ScriptEvent extends Node { @Export("loginBoxCenter") static int loginBoxCenter; @ObfuscatedName("o") - static String field586; + @Export("operatingSystem") + static String operatingSystem; @ObfuscatedName("q") @Export("args") Object[] args; @@ -86,7 +87,7 @@ public class ScriptEvent extends Node { int type; public ScriptEvent() { - this.type = 76; + this.type = 0x4c; } @ObfuscatedName("q") diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index 5eb02adb68..1868286459 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -61,8 +61,7 @@ public class ScriptFrame { for (int var9 = 0; var9 < 8; ++var9) { for (var10 = 0; var10 < 8; ++var10) { if (var9 + var2 > 0 && var9 + var2 < 103 && var3 + var10 > 0 && var3 + var10 < 103) { - int[] var10000 = var8[var1].flags[var9 + var2]; - var10000[var3 + var10] &= -16777217; + var8[var1].flags[var9 + var2][var3 + var10] &= 0xfeffffff; } } } @@ -89,7 +88,7 @@ public class ScriptFrame { garbageValue = "204342367" ) static final void method1090() { - if (Client.field700 > 0) { + if (Client.logoutTimer > 0) { RouteStrategy.method3593(); } else { Client.timer.method4993(); @@ -121,7 +120,7 @@ public class ScriptFrame { static final void updateNpcs(boolean var0, PacketBuffer var1) { Client.field775 = 0; Client.field697 = 0; - StructDefinition.method4530(); + StructDefinition.readNpcUpdates(); int var2; NPC var4; @@ -132,7 +131,7 @@ public class ScriptFrame { int var9; while (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { var2 = var1.readBits(15); - if (var2 == 32767) { + if (var2 == 0x7fff) { break; } @@ -158,9 +157,9 @@ public class ScriptFrame { } var6 = var1.readBits(1); - var7 = Client.field780[var1.readBits(3)]; + var7 = Client.defaultRotations[var1.readBits(3)]; if (var3) { - var4.orientation = var4.field950 = var7; + var4.orientation = var4.rotation = var7; } var8 = var1.readBits(1); @@ -182,9 +181,9 @@ public class ScriptFrame { var4.definition = GameShell.getNpcDefinition(var1.readBits(14)); var4.size = var4.definition.size * 78073455; - var4.field948 = var4.definition.field3492; + var4.field948 = var4.definition.rotation; if (var4.field948 == 0) { - var4.field950 = 0; + var4.rotation = 0; } var4.walkSequence = var4.definition.walkSequence; @@ -206,7 +205,7 @@ public class ScriptFrame { var5 = var1.readUnsignedByte(); if ((var5 & 1) != 0) { var4.targetIndex = var1.method5532(); - if (var4.targetIndex == 65535) { + if (var4.targetIndex == 0xffff) { var4.targetIndex = -1; } } @@ -223,13 +222,13 @@ public class ScriptFrame { if ((var5 & 32) != 0) { var6 = var1.readUnsignedShort(); - if (var6 == 65535) { + if (var6 == 0xffff) { var6 = -1; } var7 = var1.method5525(); if (var6 == var4.sequence && var6 != -1) { - var8 = GrandExchangeEvent.getSequenceDefinition(var6).field3529; + var8 = GrandExchangeEvent.SequenceDefinition_get(var6).field3529; if (var8 == 1) { var4.sequenceFrame = 0; var4.sequenceFrameCycle = 0; @@ -240,7 +239,7 @@ public class ScriptFrame { if (var8 == 2) { var4.field985 = 0; } - } else if (var6 == -1 || var4.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var6).field3533 >= GrandExchangeEvent.getSequenceDefinition(var4.sequence).field3533) { + } else if (var6 == -1 || var4.sequence == -1 || GrandExchangeEvent.SequenceDefinition_get(var6).field3533 >= GrandExchangeEvent.SequenceDefinition_get(var4.sequence).field3533) { var4.sequence = var6; var4.sequenceFrame = 0; var4.sequenceFrameCycle = 0; @@ -253,7 +252,7 @@ public class ScriptFrame { if ((var5 & 4) != 0) { var4.definition = GameShell.getNpcDefinition(var1.readUnsignedShort()); var4.size = var4.definition.size * 78073455; - var4.field948 = var4.definition.field3492; + var4.field948 = var4.definition.rotation; var4.walkSequence = var4.definition.walkSequence; var4.walkBackSequence = var4.definition.walkBackSequence; var4.walkLeftSequence = var4.definition.walkLeftSequence; @@ -274,7 +273,7 @@ public class ScriptFrame { var10 = -1; var11 = -1; var8 = var1.readUShortSmart(); - if (var8 == 32767) { + if (var8 == 0x7fff) { var8 = var1.readUShortSmart(); var10 = var1.readUShortSmart(); var9 = var1.readUShortSmart(); @@ -295,7 +294,7 @@ public class ScriptFrame { for (var8 = 0; var8 < var7; ++var8) { var9 = var1.readUShortSmart(); var10 = var1.readUShortSmart(); - if (var10 != 32767) { + if (var10 != 0x7fff) { var11 = var1.readUShortSmart(); var12 = var1.readUnsignedByte(); int var13 = var10 > 0 ? var1.method5525() : var12; @@ -311,14 +310,14 @@ public class ScriptFrame { var4.spotAnimation = var1.method5532(); var6 = var1.method5542(); var4.heightOffset = var6 >> 16; - var4.field989 = (var6 & 65535) + Client.cycle; + var4.field989 = (var6 & 0xffff) + Client.cycle; var4.spotAnimationFrame = 0; var4.spotAnimationFrameCycle = 0; if (var4.field989 > Client.cycle) { var4.spotAnimationFrame = -1; } - if (var4.spotAnimation == 65535) { + if (var4.spotAnimation == 0xffff) { var4.spotAnimation = -1; } } @@ -355,10 +354,10 @@ public class ScriptFrame { ) @Export("resumePauseWidget") static void resumePauseWidget(int parentID, int childID) { - PacketBufferNode var2 = Archive.method4265(ClientPacket.field2273, Client.packetWriter.isaacCipher); + PacketBufferNode var2 = Archive.getPacketBufferNode(ClientPacket.field2273, Client.packetWriter.isaacCipher); var2.packetBuffer.writeIntLE16(parentID); var2.packetBuffer.method5530(childID); - Client.packetWriter.method2219(var2); + Client.packetWriter.addNode(var2); } @ObfuscatedName("js") @@ -366,9 +365,10 @@ public class ScriptFrame { signature = "(B)V", garbageValue = "-73" ) - static final void method1089() { - PacketBufferNode var0 = Archive.method4265(ClientPacket.field2286, Client.packetWriter.isaacCipher); + @Export("Clan_leaveChat") + static final void Clan_leaveChat() { + PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher); var0.packetBuffer.writeByte(0); - Client.packetWriter.method2219(var0); + Client.packetWriter.addNode(var0); } } diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index fa0e04fe26..2f831a5f77 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -246,7 +246,7 @@ public class SequenceDefinition extends DualNode { public Model transformActorModel(Model var1, int var2) { var2 = this.frameIds[var2]; Frames var3 = class30.getFrames(var2 >> 16); - var2 &= 65535; + var2 &= 0xffff; if (var3 == null) { return var1.toSharedSequenceModel(true); } @@ -264,7 +264,7 @@ public class SequenceDefinition extends DualNode { Model transformObjectModel(Model var1, int var2, int var3) { var2 = this.frameIds[var2]; Frames var4 = class30.getFrames(var2 >> 16); - var2 &= 65535; + var2 &= 0xffff; if (var4 == null) { return var1.toSharedSequenceModel(true); } @@ -299,7 +299,7 @@ public class SequenceDefinition extends DualNode { Model transformSpotAnimationModel(Model var1, int var2) { var2 = this.frameIds[var2]; Frames var3 = class30.getFrames(var2 >> 16); - var2 &= 65535; + var2 &= 0xffff; if (var3 == null) { return var1.toSharedSpotAnimationModel(true); } @@ -317,13 +317,13 @@ public class SequenceDefinition extends DualNode { public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { var2 = this.frameIds[var2]; Frames var5 = class30.getFrames(var2 >> 16); - var2 &= 65535; + var2 &= 0xffff; if (var5 == null) { return var3.transformActorModel(var1, var4); } var4 = var3.frameIds[var4]; Frames var6 = class30.getFrames(var4 >> 16); - var4 &= 65535; + var4 &= 0xffff; Model var7; if (var6 == null) { var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2)); @@ -344,7 +344,7 @@ public class SequenceDefinition extends DualNode { public Model transformWidgetModel(Model var1, int var2) { int var3 = this.frameIds[var2]; Frames var4 = class30.getFrames(var3 >> 16); - var3 &= 65535; + var3 &= 0xffff; if (var4 == null) { return var1.toSharedSequenceModel(true); } @@ -353,11 +353,11 @@ public class SequenceDefinition extends DualNode { if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { var6 = this.chatFrameIds[var2]; var5 = class30.getFrames(var6 >> 16); - var6 &= 65535; + var6 &= 0xffff; } Model var7; - if (var5 != null && var6 != 65535) { + if (var5 != null && var6 != 0xffff) { var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); var7.animate(var4, var3); var7.animate(var5, var6); diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index cf2842a506..c29657f3cb 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -54,7 +54,7 @@ public class SoundCache { ) @Export("getSoundEffect0") RawSound getSoundEffect0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); + int var4 = var2 ^ (var1 << 4 & 0xffff | var1 >>> 12); var4 |= var1 << 16; long var5 = (long)var4; RawSound var7 = (RawSound)this.rawSounds.get(var5); @@ -84,7 +84,7 @@ public class SoundCache { ) @Export("getMusicSample0") RawSound getMusicSample0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); + int var4 = var2 ^ (var1 << 4 & 0xffff | var1 >>> 12); var4 |= var1 << 16; long var5 = (long)var4 ^ 4294967296L; RawSound var7 = (RawSound)this.rawSounds.get(var5); diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index 7ea5afa018..8f9145f59f 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -53,8 +53,7 @@ public class SoundEffect { public final int calculateDelay() { int var1 = 9999999; - int var2; - for (var2 = 0; var2 < 10; ++var2) { + for (int var2 = 0; var2 < 10; ++var2) { if (this.instruments[var2] != null && this.instruments[var2].offset / 20 < var1) { var1 = this.instruments[var2].offset / 20; } @@ -64,22 +63,21 @@ public class SoundEffect { var1 = this.start / 20; } - if (var1 != 9999999 && var1 != 0) { - for (var2 = 0; var2 < 10; ++var2) { - if (this.instruments[var2] != null) { - Instrument var10000 = this.instruments[var2]; - var10000.offset -= var1 * 20; - } - } - - if (this.start < this.end) { - this.start -= var1 * 20; - this.end -= var1 * 20; - } - - return var1; + if (var1 == 9999999 || var1 == 0) { + return 0; } - return 0; + for (int var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null) { + this.instruments[var2].offset -= var1 * 20; + } + } + + if (this.start < this.end) { + this.start -= var1 * 20; + this.end -= var1 * 20; + } + + return var1; } @ObfuscatedName("p") @@ -87,8 +85,7 @@ public class SoundEffect { final byte[] mix() { int var1 = 0; - int var2; - for (var2 = 0; var2 < 10; ++var2) { + for (int var2 = 0; var2 < 10; ++var2) { if (this.instruments[var2] != null && this.instruments[var2].duration + this.instruments[var2].offset > var1) { var1 = this.instruments[var2].duration + this.instruments[var2].offset; } @@ -97,23 +94,24 @@ public class SoundEffect { if (var1 == 0) { return new byte[0]; } - var2 = var1 * 22050 / 1000; + int var2 = var1 * 22050 / 1000; byte[] var3 = new byte[var2]; for (int var4 = 0; var4 < 10; ++var4) { - if (this.instruments[var4] != null) { - int var5 = this.instruments[var4].duration * 22050 / 1000; - int var6 = this.instruments[var4].offset * 22050 / 1000; - int[] var7 = this.instruments[var4].synthesize(var5, this.instruments[var4].duration); + if (this.instruments[var4] == null) { + continue; + } + int var5 = this.instruments[var4].duration * 22050 / 1000; + int var6 = this.instruments[var4].offset * 22050 / 1000; + int[] var7 = this.instruments[var4].synthesize(var5, this.instruments[var4].duration); - for (int var8 = 0; var8 < var5; ++var8) { - int var9 = (var7[var8] >> 8) + var3[var8 + var6]; - if ((var9 + 128 & -256) != 0) { - var9 = var9 >> 31 ^ 127; - } - - var3[var8 + var6] = (byte)var9; + for (int var8 = 0; var8 < var5; ++var8) { + int var9 = (var7[var8] >> 8) + var3[var8 + var6]; + if ((var9 + 128 & -256) != 0) { + var9 = var9 >> 31 ^ 127; } + + var3[var8 + var6] = (byte)var9; } } diff --git a/runescape-client/src/main/java/SoundEnvelope.java b/runescape-client/src/main/java/SoundEnvelope.java index 6ae5a90526..b6e2656eef 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -45,9 +45,9 @@ public class SoundEnvelope { this.durations = new int[2]; this.phases = new int[2]; this.durations[0] = 0; - this.durations[1] = 65535; + this.durations[1] = 0xffff; this.phases[0] = 0; - this.phases[1] = 65535; + this.phases[1] = 0xffff; } @ObfuscatedName("q") diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index 4d296f26dc..130dd1e770 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -29,7 +29,7 @@ public class SoundSystem implements Runnable { } } } catch (Exception var4) { - HitSplatDefinition.sendStackTrace((String)null, var4); + HitSplatDefinition.RunException_sendStackTrace((String)null, var4); } } @@ -58,7 +58,8 @@ public class SoundSystem implements Runnable { signature = "([BB)V", garbageValue = "103" ) - public static synchronized void method2478(byte[] var0) { + @Export("ByteArrayPool_release") + public static synchronized void ByteArrayPool_release(byte[] var0) { if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) { ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) { @@ -69,7 +70,7 @@ public class SoundSystem implements Runnable { 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; + break; } } } @@ -80,7 +81,8 @@ public class SoundSystem implements Runnable { signature = "(I)I", garbageValue = "-925078025" ) - protected static int method2479() { + @Export("getGcDuration") + protected static int getGcDuration() { int var0 = 0; if (class43.garbageCollector == null || !class43.garbageCollector.isValid()) { try { diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index ff0c573171..5cd374cdf3 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -82,12 +82,14 @@ public class SpotAnimationDefinition extends DualNode { @ObfuscatedGetter( intValue = -1281395591 ) - int field3251; + @Export("ambient") + int ambient; @ObfuscatedName("y") @ObfuscatedGetter( intValue = -499739553 ) - int field3253; + @Export("contrast") + int contrast; static { SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); @@ -99,8 +101,8 @@ public class SpotAnimationDefinition extends DualNode { this.widthScale = 128; this.heightScale = 128; this.orientation = 0; - this.field3251 = 0; - this.field3253 = 0; + this.ambient = 0; + this.contrast = 0; } @ObfuscatedName("w") @@ -138,33 +140,28 @@ public class SpotAnimationDefinition extends DualNode { } else if (var2 == 6) { this.orientation = var1.readUnsignedShort(); } else if (var2 == 7) { - this.field3251 = var1.readUnsignedByte(); + this.ambient = var1.readUnsignedByte(); } else if (var2 == 8) { - this.field3253 = var1.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; + this.contrast = var1.readUnsignedByte(); + } else if (var2 == 40) { + int var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; + for (int var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short) var1.readUnsignedShort(); + this.recolorTo[var4] = (short) var1.readUnsignedShort(); + } + } else if (var2 == 41) { + int var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } + for (int var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short) var1.readUnsignedShort(); + this.retextureTo[var4] = (short) var1.readUnsignedShort(); } } - } @ObfuscatedName("p") @@ -176,7 +173,7 @@ public class SpotAnimationDefinition extends DualNode { public final Model getModel(int var1) { Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); if (var2 == null) { - ModelData var3 = ModelData.method2769(class43.SpotAnimationDefinition_modelArchive, this.archive, 0); + ModelData var3 = ModelData.ModelData_get(class43.SpotAnimationDefinition_modelArchive, this.archive, 0); if (var3 == null) { return null; } @@ -194,13 +191,13 @@ public class SpotAnimationDefinition extends DualNode { } } - var2 = var3.toModel(this.field3251 + 64, this.field3253 + 850, -30, -50, -30); + var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); } Model var5; if (this.sequence != -1 && var1 != -1) { - var5 = GrandExchangeEvent.getSequenceDefinition(this.sequence).transformSpotAnimationModel(var2, var1); + var5 = GrandExchangeEvent.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); } else { var5 = var2.toSharedSpotAnimationModel(true); } @@ -209,21 +206,22 @@ public class SpotAnimationDefinition extends DualNode { var5.scale(this.widthScale, this.heightScale, this.widthScale); } - if (this.orientation != 0) { - if (this.orientation == 90) { - var5.rotateY90Ccw(); - } + if (this.orientation == 0) { + return var5; + } + if (this.orientation == 90) { + var5.rotateY90Ccw(); + } - if (this.orientation == 180) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } + if (this.orientation == 180) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } - if (this.orientation == 270) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } + if (this.orientation == 270) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); } return var5; diff --git a/runescape-client/src/main/java/Sprite.java b/runescape-client/src/main/java/Sprite.java index 4e64c8ee68..0e9b2acfbb 100644 --- a/runescape-client/src/main/java/Sprite.java +++ b/runescape-client/src/main/java/Sprite.java @@ -799,7 +799,7 @@ public final class Sprite extends Rasterizer2D { } var1 -= this.xOffset << 4; var2 -= this.yOffset << 4; - double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D; + double var7 = (double)(var5 & 0xffff) * 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; diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java index 98f7730355..ea4c05deb4 100644 --- a/runescape-client/src/main/java/Strings.java +++ b/runescape-client/src/main/java/Strings.java @@ -30,7 +30,8 @@ public class Strings { signature = "(I)V", garbageValue = "-495158745" ) - static void method4121() { + @Export("resetMenuEntries") + static void resetMenuEntries() { Client.menuOptionsCount = 0; Client.isMenuOpen = false; } diff --git a/runescape-client/src/main/java/StructDefinition.java b/runescape-client/src/main/java/StructDefinition.java index df093d77e1..e5fa03c291 100644 --- a/runescape-client/src/main/java/StructDefinition.java +++ b/runescape-client/src/main/java/StructDefinition.java @@ -123,175 +123,170 @@ public class StructDefinition extends DualNode { var0.y += (var4 - var0.y) / var2; var0.field1007 = 0; var0.orientation = var0.field997; + } else if (var0.field996 >= Client.cycle) { + if (var0.field996 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > GrandExchangeEvent.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { + var2 = var0.field996 - var0.field995; + var3 = Client.cycle - var0.field995; + var4 = var0.size * -1342954560 + var0.field991 * 128; + int var5 = var0.field993 * 128 + var0.size * -1342954560; + int var6 = var0.size * -1342954560 + var0.field992 * 128; + int var7 = var0.size * -1342954560 + var0.field983 * 128; + var0.x = (var6 * var3 + var4 * (var2 - var3)) / var2; + var0.y = (var7 * var3 + var5 * (var2 - var3)) / var2; + } + + var0.field1007 = 0; + var0.orientation = var0.field997; + var0.rotation = var0.orientation; + } else if (var0.pathLength == 0) { + var0.movementSequence = var0.readySequence; + var0.field1007 = 0; } else { - int var5; - int var7; - if (var0.field996 >= Client.cycle) { - if (var0.field996 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > GrandExchangeEvent.getSequenceDefinition(var0.sequence).frameLengths[var0.sequenceFrame]) { - var2 = var0.field996 - var0.field995; - var3 = Client.cycle - var0.field995; - var4 = var0.size * -1342954560 + var0.field991 * 128; - var5 = var0.field993 * 128 + var0.size * -1342954560; - int var6 = var0.size * -1342954560 + var0.field992 * 128; - var7 = var0.size * -1342954560 + var0.field983 * 128; - var0.x = (var6 * var3 + var4 * (var2 - var3)) / var2; - var0.y = (var7 * var3 + var5 * (var2 - var3)) / var2; + var0.movementSequence = var0.readySequence; + label434: { + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var11 = GrandExchangeEvent.SequenceDefinition_get(var0.sequence); + if (var0.field1008 > 0 && var11.field3525 == 0) { + ++var0.field1007; + break label434; + } + + if (var0.field1008 <= 0 && var11.field3532 == 0) { + ++var0.field1007; + break label434; + } } - var0.field1007 = 0; - var0.orientation = var0.field997; - var0.field950 = var0.orientation; - } else { - var0.movementSequence = var0.readySequence; - if (var0.pathLength == 0) { - var0.field1007 = 0; - } else { - label434: { - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); - if (var0.field1008 > 0 && var11.field3525 == 0) { - ++var0.field1007; - break label434; - } + var2 = var0.x; + var3 = var0.y; + var4 = var0.size * -1342954560 + var0.pathX[var0.pathLength - 1] * 128; + int var5 = var0.size * -1342954560 + var0.pathY[var0.pathLength - 1] * 128; + if (var2 < var4) { + if (var3 < var5) { + var0.orientation = 1280; + } else if (var3 > var5) { + var0.orientation = 1792; + } else { + var0.orientation = 1536; + } + } else if (var2 > var4) { + if (var3 < var5) { + var0.orientation = 768; + } else if (var3 > var5) { + var0.orientation = 256; + } else { + var0.orientation = 512; + } + } else if (var3 < var5) { + var0.orientation = 1024; + } else if (var3 > var5) { + var0.orientation = 0; + } - if (var0.field1008 <= 0 && var11.field3532 == 0) { - ++var0.field1007; - break label434; - } + byte var13 = var0.pathTraversed[var0.pathLength - 1]; + if (var4 - var2 > 256 || var4 - var2 < -256 || var5 - var3 > 256 || var5 - var3 < -256) { + var0.x = var4; + var0.y = var5; + --var0.pathLength; + if (var0.field1008 > 0) { + --var0.field1008; + } + } else { + int var7 = var0.orientation - var0.rotation & 2047; + if (var7 > 1024) { + var7 -= 2048; + } + + int var8 = var0.walkBackSequence; + if (var7 >= -256 && var7 <= 256) { + var8 = var0.walkSequence; + } else if (var7 >= 256 && var7 < 768) { + var8 = var0.walkRightSequence; + } else if (var7 >= -768 && var7 <= -256) { + var8 = var0.walkLeftSequence; + } + + if (var8 == -1) { + var8 = var0.walkSequence; + } + + var0.movementSequence = var8; + int var9 = 4; + boolean var10 = true; + if (var0 instanceof NPC) { + var10 = ((NPC) var0).definition.isClickable; + } + + if (var10) { + if (var0.orientation != var0.rotation && var0.targetIndex == -1 && var0.field948 != 0) { + var9 = 2; } - var2 = var0.x; - var3 = var0.y; - var4 = var0.size * -1342954560 + var0.pathX[var0.pathLength - 1] * 128; - var5 = var0.size * -1342954560 + var0.pathY[var0.pathLength - 1] * 128; + if (var0.pathLength > 2) { + var9 = 6; + } + + if (var0.pathLength > 3) { + var9 = 8; + } + + if (var0.field1007 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1007; + } + } else { + if (var0.pathLength > 1) { + var9 = 6; + } + + if (var0.pathLength > 2) { + var9 = 8; + } + + if (var0.field1007 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1007; + } + } + + if (var13 == 2) { + var9 <<= 1; + } + + if (var9 >= 8 && var0.walkSequence == var0.movementSequence && var0.runSequence != -1) { + var0.movementSequence = var0.runSequence; + } + + if (var2 != var4 || var3 != var5) { if (var2 < var4) { - if (var3 < var5) { - var0.orientation = 1280; - } else if (var3 > var5) { - var0.orientation = 1792; - } else { - var0.orientation = 1536; + var0.x += var9; + if (var0.x > var4) { + var0.x = var4; } } else if (var2 > var4) { - if (var3 < var5) { - var0.orientation = 768; - } else if (var3 > var5) { - var0.orientation = 256; - } else { - var0.orientation = 512; + var0.x -= var9; + if (var0.x < var4) { + var0.x = var4; } - } else if (var3 < var5) { - var0.orientation = 1024; - } else if (var3 > var5) { - var0.orientation = 0; } - byte var13 = var0.pathTraversed[var0.pathLength - 1]; - if (var4 - var2 <= 256 && var4 - var2 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { - var7 = var0.orientation - var0.field950 & 2047; - if (var7 > 1024) { - var7 -= 2048; + if (var3 < var5) { + var0.y += var9; + if (var0.y > var5) { + var0.y = var5; } - - int var8 = var0.walkBackSequence; - if (var7 >= -256 && var7 <= 256) { - var8 = var0.walkSequence; - } else if (var7 >= 256 && var7 < 768) { - var8 = var0.walkRightSequence; - } else if (var7 >= -768 && var7 <= -256) { - var8 = var0.walkLeftSequence; + } else if (var3 > var5) { + var0.y -= var9; + if (var0.y < var5) { + var0.y = var5; } + } + } - if (var8 == -1) { - var8 = var0.walkSequence; - } - - var0.movementSequence = var8; - int var9 = 4; - boolean var10 = true; - if (var0 instanceof NPC) { - var10 = ((NPC)var0).definition.isClickable; - } - - if (var10) { - if (var0.orientation != var0.field950 && var0.targetIndex == -1 && var0.field948 != 0) { - var9 = 2; - } - - if (var0.pathLength > 2) { - var9 = 6; - } - - if (var0.pathLength > 3) { - var9 = 8; - } - - if (var0.field1007 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field1007; - } - } else { - if (var0.pathLength > 1) { - var9 = 6; - } - - if (var0.pathLength > 2) { - var9 = 8; - } - - if (var0.field1007 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field1007; - } - } - - if (var13 == 2) { - var9 <<= 1; - } - - if (var9 >= 8 && var0.walkSequence == var0.movementSequence && var0.runSequence != -1) { - var0.movementSequence = var0.runSequence; - } - - if (var2 != var4 || var3 != var5) { - if (var2 < var4) { - var0.x += var9; - if (var0.x > var4) { - var0.x = var4; - } - } else if (var2 > var4) { - var0.x -= var9; - if (var0.x < var4) { - var0.x = var4; - } - } - - if (var3 < var5) { - var0.y += var9; - if (var0.y > var5) { - var0.y = var5; - } - } else if (var3 > var5) { - var0.y -= var9; - if (var0.y < var5) { - var0.y = var5; - } - } - } - - if (var4 == var0.x && var5 == var0.y) { - --var0.pathLength; - if (var0.field1008 > 0) { - --var0.field1008; - } - } - } else { - var0.x = var4; - var0.y = var5; - --var0.pathLength; - if (var0.field1008 > 0) { - --var0.field1008; - } + if (var4 == var0.x && var5 == var0.y) { + --var0.pathLength; + if (var0.field1008 > 0) { + --var0.field1008; } } } @@ -308,7 +303,7 @@ public class StructDefinition extends DualNode { var0.method1658(); } - if (Client.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { + if (Client.localPlayer == var0 && (var0.x < 0x600 || var0.y < 0x600 || var0.x >= 0x2e00 || var0.y >= 0x2e00)) { var0.sequence = -1; var0.spotAnimation = -1; var0.field995 = 0; @@ -319,12 +314,13 @@ public class StructDefinition extends DualNode { } Friend.method5226(var0); - var0.field967 = false; + var0.isWalking = false; if (var0.movementSequence != -1) { - var11 = GrandExchangeEvent.getSequenceDefinition(var0.movementSequence); - if (var11 != null && var11.frameIds != null) { - ++var0.movementFrameCycle; - if (var0.movementFrame < var11.frameIds.length && var0.movementFrameCycle > var11.frameLengths[var0.movementFrame]) { + var11 = GrandExchangeEvent.SequenceDefinition_get(var0.movementSequence); + if (var11 == null || var11.frameIds == null) { + var0.movementSequence = -1; + } else { + if (++var0.movementFrame < var11.frameIds.length && var0.movementFrameCycle > var11.frameLengths[var0.movementFrame]) { var0.movementFrameCycle = 1; ++var0.movementFrame; WorldMapSection0.addSequenceSoundEffect(var11, var0.movementFrame, var0.x, var0.y); @@ -335,8 +331,6 @@ public class StructDefinition extends DualNode { var0.movementFrame = 0; WorldMapSection0.addSequenceSoundEffect(var11, var0.movementFrame, var0.x, var0.y); } - } else { - var0.movementSequence = -1; } } @@ -345,10 +339,14 @@ public class StructDefinition extends DualNode { var0.spotAnimationFrame = 0; } - var2 = MusicPatch.getSpotAnimationDefinition(var0.spotAnimation).sequence; - if (var2 != -1) { - SequenceDefinition var12 = GrandExchangeEvent.getSequenceDefinition(var2); - if (var12 != null && var12.frameIds != null) { + var2 = MusicPatch.SpotAnimationDefinition_get(var0.spotAnimation).sequence; + if (var2 == -1) { + var0.spotAnimation = -1; + } else { + SequenceDefinition var12 = GrandExchangeEvent.SequenceDefinition_get(var2); + if (var12 == null || var12.frameIds == null) { + var0.spotAnimation = -1; + } else { ++var0.spotAnimationFrameCycle; if (var0.spotAnimationFrame < var12.frameIds.length && var0.spotAnimationFrameCycle > var12.frameLengths[var0.spotAnimationFrame]) { var0.spotAnimationFrameCycle = 1; @@ -359,16 +357,12 @@ public class StructDefinition extends DualNode { if (var0.spotAnimationFrame >= var12.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var12.frameIds.length)) { var0.spotAnimation = -1; } - } else { - var0.spotAnimation = -1; } - } else { - var0.spotAnimation = -1; } } if (var0.sequence != -1 && var0.sequenceDelay <= 1) { - var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); + var11 = GrandExchangeEvent.SequenceDefinition_get(var0.sequence); if (var11.field3525 == 1 && var0.field1008 > 0 && var0.field995 <= Client.cycle && var0.field996 < Client.cycle) { var0.sequenceDelay = 1; return; @@ -376,8 +370,10 @@ public class StructDefinition extends DualNode { } if (var0.sequence != -1 && var0.sequenceDelay == 0) { - var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); - if (var11 != null && var11.frameIds != null) { + var11 = GrandExchangeEvent.SequenceDefinition_get(var0.sequence); + if (var11 == null || var11.frameIds == null) { + var0.sequence = -1; + } else { ++var0.sequenceFrameCycle; if (var0.sequenceFrame < var11.frameIds.length && var0.sequenceFrameCycle > var11.frameLengths[var0.sequenceFrame]) { var0.sequenceFrameCycle = 1; @@ -397,9 +393,7 @@ public class StructDefinition extends DualNode { } } - var0.field967 = var11.field3526; - } else { - var0.sequence = -1; + var0.isWalking = var11.field3526; } } @@ -414,7 +408,8 @@ public class StructDefinition extends DualNode { signature = "(I)V", garbageValue = "-1674693758" ) - static final void method4530() { + @Export("readNpcUpdates") + static final void readNpcUpdates() { PacketBuffer var0 = Client.packetWriter.packetBuffer; var0.importIndex(); int var1 = var0.readBits(8); @@ -437,39 +432,35 @@ public class StructDefinition extends DualNode { if (var5 == 0) { Client.npcIndices[++Client.npcCount - 1] = var3; var4.npcCycle = Client.cycle; - } else { - int var6 = var0.readBits(2); - if (var6 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; + continue; + } + int var6 = var0.readBits(2); + if (var6 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + Client.field859[++Client.field697 - 1] = var3; + } else if (var6 == 1) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + int var7 = var0.readBits(3); + var4.method1974(var7, (byte) 1); + int var8 = var0.readBits(1); + if (var8 == 1) { Client.field859[++Client.field697 - 1] = var3; - } else { - int var7; - int var8; - if (var6 == 1) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - var7 = var0.readBits(3); - var4.method1974(var7, (byte)1); - var8 = var0.readBits(1); - if (var8 == 1) { - Client.field859[++Client.field697 - 1] = var3; - } - } else if (var6 == 2) { - Client.npcIndices[++Client.npcCount - 1] = var3; - var4.npcCycle = Client.cycle; - var7 = var0.readBits(3); - var4.method1974(var7, (byte)2); - var8 = var0.readBits(3); - var4.method1974(var8, (byte)2); - int var9 = var0.readBits(1); - if (var9 == 1) { - Client.field859[++Client.field697 - 1] = var3; - } - } else if (var6 == 3) { - Client.field776[++Client.field775 - 1] = var3; - } } + } else if (var6 == 2) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + int var7 = var0.readBits(3); + var4.method1974(var7, (byte) 2); + int var8 = var0.readBits(3); + var4.method1974(var8, (byte) 2); + int var9 = var0.readBits(1); + if (var9 == 1) { + Client.field859[++Client.field697 - 1] = var3; + } + } else if (var6 == 3) { + Client.field776[++Client.field775 - 1] = var3; } } diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index ef74ba06ba..4aeae5fc49 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -26,8 +26,8 @@ public class TaskHandler implements Runnable { @ObfuscatedSignature( signature = "Lfa;" ) - @Export("task0") - Task task0; + @Export("task") + Task task; @ObfuscatedName("k") @Export("thread") Thread thread; @@ -37,7 +37,7 @@ public class TaskHandler implements Runnable { public TaskHandler() { this.current = null; - this.task0 = null; + this.task = null; this.isClosed = false; javaVendor = "Unknown"; javaVersion = "1.6"; @@ -86,11 +86,11 @@ public class TaskHandler implements Runnable { var5.intArgument = var2; var5.objectArgument = var4; synchronized(this) { - if (this.task0 != null) { - this.task0.next = var5; - this.task0 = var5; + if (this.task != null) { + this.task.next = var5; + this.task = var5; } else { - this.task0 = this.current = var5; + this.task = this.current = var5; } this.notify(); @@ -131,7 +131,7 @@ public class TaskHandler implements Runnable { var1 = this.current; this.current = this.current.next; if (this.current == null) { - this.task0 = null; + this.task = null; } break; } diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 07414a9bfd..64d490ef89 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -15,8 +15,8 @@ public class Texture extends Node { @ObfuscatedName("l") boolean field1624; @ObfuscatedName("b") - @Export("records") - int[] records; + @Export("fileIds") + int[] fileIds; @ObfuscatedName("i") int[] field1626; @ObfuscatedName("c") @@ -44,61 +44,58 @@ public class Texture extends Node { this.averageRGB = var1.readUnsignedShort(); this.field1624 = var1.readUnsignedByte() == 1; int var2 = var1.readUnsignedByte(); - if (var2 >= 1 && var2 <= 4) { - this.records = new int[var2]; - - int var3; - for (var3 = 0; var3 < var2; ++var3) { - this.records[var3] = var1.readUnsignedShort(); - } - - if (var2 > 1) { - this.field1626 = new int[var2 - 1]; - - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field1626[var3] = var1.readUnsignedByte(); - } - } - - if (var2 > 1) { - this.field1627 = new int[var2 - 1]; - - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field1627[var3] = var1.readUnsignedByte(); - } - } - - this.field1619 = new int[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - this.field1619[var3] = var1.readInt(); - } - - this.animationDirection = var1.readUnsignedByte(); - this.animationSpeed = var1.readUnsignedByte(); - this.pixels = null; - } else { + if (var2 < 1 || var2 > 4) { throw new RuntimeException(); } + this.fileIds = new int[var2]; + + int var3; + for (var3 = 0; var3 < var2; ++var3) { + this.fileIds[var3] = var1.readUnsignedShort(); + } + + if (var2 > 1) { + this.field1626 = new int[var2 - 1]; + + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1626[var3] = var1.readUnsignedByte(); + } + + this.field1627 = new int[var2 - 1]; + + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1627[var3] = var1.readUnsignedByte(); + } + } + + this.field1619 = new int[var2]; + + for (var3 = 0; var3 < var2; ++var3) { + this.field1619[var3] = var1.readInt(); + } + + this.animationDirection = var1.readUnsignedByte(); + this.animationSpeed = var1.readUnsignedByte(); + this.pixels = null; } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(DILhp;)Z" ) - boolean method2846(double var1, int var3, AbstractArchive var4) { - int var5; - for (var5 = 0; var5 < this.records.length; ++var5) { - if (var4.getFileFlat(this.records[var5]) == null) { + @Export("load") + boolean load(double brightness, int size, AbstractArchive var4) { + for (int var5 = 0; var5 < this.fileIds.length; ++var5) { + if (var4.getFileFlat(this.fileIds[var5]) == null) { return false; } } - var5 = var3 * var3; + int var5 = size * size; this.pixels = new int[var5]; - for (int var6 = 0; var6 < this.records.length; ++var6) { - int var8 = this.records[var6]; + for (int var6 = 0; var6 < this.fileIds.length; ++var6) { + int var8 = this.fileIds[var6]; IndexedSprite var7; if (!PlayerAppearance.SpriteBuffer_bufferFileFlat(var4, var8)) { var7 = null; @@ -120,64 +117,57 @@ public class Texture extends Node { byte[] var17 = var7.pixels; int[] var11 = var7.palette; int var12 = this.field1619[var6]; - if ((var12 & 0xff000000) == 16777216) { + if ((var12 & 0xff000000) == 0x1000000) { } - if ((var12 & 0xff000000) == 33554432) { + if ((var12 & 0xff000000) == 0x2000000) { } - int var13; - int var14; - int var15; - int var16; - if ((var12 & 0xff000000) == 50331648) { - var13 = var12 & 0xff00ff; - var14 = var12 >> 8 & 255; + if ((var12 & 0xff000000) == 0x3000000) { + int var13 = var12 & 0xff00ff; + int var14 = var12 >> 8 & 255; - for (var15 = 0; var15 < var11.length; ++var15) { - var16 = var11[var15]; - if (var16 >> 8 == (var16 & 65535)) { + for (int var15 = 0; var15 < var11.length; ++var15) { + int var16 = var11[var15]; + if (var16 >> 8 == (var16 & 0xffff)) { var16 &= 255; var11[var15] = var13 * var16 >> 8 & 0xff00ff | var14 * var16 & 0xff00; } } } - for (var13 = 0; var13 < var11.length; ++var13) { - var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], var1); + for (int var13 = 0; var13 < var11.length; ++var13) { + var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], brightness); } - if (var6 == 0) { - var13 = 0; - } else { + int var13 = 0; + if (var6 != 0) { var13 = this.field1626[var6 - 1]; } if (var13 == 0) { - if (var3 == var7.subWidth) { - for (var14 = 0; var14 < var5; ++var14) { + if (size == var7.subWidth) { + for (int var14 = 0; var14 < var5; ++var14) { this.pixels[var14] = var11[var17[var14] & 255]; } - } else if (var7.subWidth == 64 && var3 == 128) { - var14 = 0; + } else if (var7.subWidth == 64 && size == 128) { + int var14 = 0; - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { + for (int var15 = 0; var15 < size; ++var15) { + for (int var16 = 0; var16 < size; ++var16) { this.pixels[var14++] = var11[var17[(var15 >> 1 << 6) + (var16 >> 1)] & 255]; } } - } else { - if (var7.subWidth != 128 || var3 != 64) { - throw new RuntimeException(); - } + } else if (var7.subWidth == 128 && size == 64) { + int var14 = 0; - var14 = 0; - - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { + for (int var15 = 0; var15 < size; ++var15) { + for (int var16 = 0; var16 < size; ++var16) { this.pixels[var14++] = var11[var17[(var16 << 1) + (var15 << 1 << 7)] & 255]; } } + } else { + throw new RuntimeException(); } } @@ -203,73 +193,74 @@ public class Texture extends Node { @ObfuscatedName("e") @Export("animate") void animate(int var1) { - if (this.pixels != null) { - short var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int[] var10; - if (this.animationDirection == 1 || this.animationDirection == 3) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } - - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } - - var3 = this.pixels.length; - var4 = var2 * this.animationSpeed * var1; - var5 = var3 - 1; - if (this.animationDirection == 1) { - var4 = -var4; - } - - for (var6 = 0; var6 < var3; ++var6) { - var7 = var6 + var4 & var5; - Texture_animatedPixels[var6] = this.pixels[var7]; - } - - var10 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var10; - } - - if (this.animationDirection == 2 || this.animationDirection == 4) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } - - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } - - var3 = this.pixels.length; - var4 = this.animationSpeed * var1; - var5 = var2 - 1; - if (this.animationDirection == 2) { - var4 = -var4; - } - - for (var6 = 0; var6 < var3; var6 += var2) { - for (var7 = 0; var7 < var2; ++var7) { - int var8 = var6 + var7; - int var9 = var6 + (var7 + var4 & var5); - Texture_animatedPixels[var8] = this.pixels[var9]; - } - } - - var10 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var10; - } - + if (this.pixels == null) { + return; } + short var2; + int var3; + int var4; + int var5; + int var6; + int var7; + int[] var10; + if (this.animationDirection == 1 || this.animationDirection == 3) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } + + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } + + var3 = this.pixels.length; + var4 = var2 * this.animationSpeed * var1; + var5 = var3 - 1; + if (this.animationDirection == 1) { + var4 = -var4; + } + + for (var6 = 0; var6 < var3; ++var6) { + var7 = var6 + var4 & var5; + Texture_animatedPixels[var6] = this.pixels[var7]; + } + + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } + + if (this.animationDirection == 2 || this.animationDirection == 4) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } + + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } + + var3 = this.pixels.length; + var4 = this.animationSpeed * var1; + var5 = var2 - 1; + if (this.animationDirection == 2) { + var4 = -var4; + } + + for (var6 = 0; var6 < var3; var6 += var2) { + for (var7 = 0; var7 < var2; ++var7) { + int var8 = var6 + var7; + int var9 = var6 + (var7 + var4 & var5); + Texture_animatedPixels[var8] = this.pixels[var9]; + } + } + + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } + } } diff --git a/runescape-client/src/main/java/TextureLoader.java b/runescape-client/src/main/java/TextureLoader.java index d40dc3516a..c5857da083 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -11,8 +11,8 @@ public interface TextureLoader { signature = "(II)[I", garbageValue = "726289343" ) - @Export("load") - int[] load(int var1); + @Export("getTexturePixels") + int[] getTexturePixels(int var1); @ObfuscatedName("p") @ObfuscatedSignature( diff --git a/runescape-client/src/main/java/TextureProvider.java b/runescape-client/src/main/java/TextureProvider.java index e3bc0c9448..54affdc6ee 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -14,7 +14,8 @@ public class TextureProvider implements TextureLoader { @ObfuscatedGetter( intValue = -95819679 ) - static int field1539; + @Export("cacheGamebuild") + static int cacheGamebuild; @ObfuscatedName("q") @ObfuscatedSignature( signature = "[Ldb;" @@ -92,9 +93,9 @@ public class TextureProvider implements TextureLoader { for (int var4 = 0; var4 < var3.length; ++var4) { Texture var5 = var3[var4]; - if (var5 != null && var5.records != null) { - var1 += var5.records.length; - int[] var6 = var5.records; + if (var5 != null && var5.fileIds != null) { + var1 += var5.fileIds.length; + int[] var6 = var5.fileIds; for (int var7 = 0; var7 < var6.length; ++var7) { int var8 = var6[var7]; @@ -123,29 +124,30 @@ public class TextureProvider implements TextureLoader { signature = "(II)[I", garbageValue = "726289343" ) - @Export("load") - public int[] load(int var1) { + @Export("getTexturePixels") + public int[] getTexturePixels(int var1) { Texture var2 = this.textures[var1]; - if (var2 != null) { - if (var2.pixels != null) { - this.deque.addLast(var2); - var2.isLoaded = true; - return var2.pixels; + if (var2 == null) { + return null; + } + if (var2.pixels != null) { + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; + } + + boolean var3 = var2.load(this.brightness, this.textureSize, this.archive); + if (var3) { + if (this.remaining == 0) { + Texture var4 = (Texture)this.deque.removeFirst(); + var4.reset(); + } else { + --this.remaining; } - boolean var3 = var2.method2846(this.brightness, this.textureSize, this.archive); - if (var3) { - if (this.remaining == 0) { - Texture var4 = (Texture)this.deque.removeFirst(); - var4.reset(); - } else { - --this.remaining; - } - - this.deque.addLast(var2); - var2.isLoaded = true; - return var2.pixels; - } + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; } return null; @@ -219,8 +221,9 @@ public class TextureProvider implements TextureLoader { signature = "(II)[B", garbageValue = "506694111" ) - public static synchronized byte[] method2729(int var0) { - return ByteArrayPool.ByteArrayPool_get(var0, false); + @Export("ByteArrayPool_getArray") + public static synchronized byte[] ByteArrayPool_getArray(int var0) { + return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); } @ObfuscatedName("w") @@ -228,17 +231,18 @@ public class TextureProvider implements TextureLoader { signature = "(Ljava/lang/String;Ljava/lang/String;II)Ljava/io/File;", garbageValue = "-1682877008" ) - static File method2760(String var0, String var1, int var2) { + @Export("getCacheDir") + static File getCacheDir(String var0, String var1, int var2) { String var3 = var2 == 0 ? "" : "" + var2; - class167.field2038 = new File(PlayerType.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); + JagexCache.JagexCache_locationFile = new File(PlayerType.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); String var4 = null; String var5 = null; boolean var6 = false; Buffer var8; File var23; - if (class167.field2038.exists()) { + if (JagexCache.JagexCache_locationFile.exists()) { try { - AccessFile var7 = new AccessFile(class167.field2038, "rw", 10000L); + AccessFile var7 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); int var9; for (var8 = new Buffer((int)var7.length()); var8.offset < var8.array.length; var8.offset += var9) { @@ -285,7 +289,7 @@ public class TextureProvider implements TextureLoader { if (var4 != null) { var23 = new File(var4, "test.dat"); - if (!class186.method3618(var23, true)) { + if (!class186.testReadWritePermissions(var23, true)) { var4 = null; } } @@ -293,10 +297,10 @@ public class TextureProvider implements TextureLoader { if (var4 == null && var2 == 0) { label139: - for (int var15 = 0; var15 < LoginPacket.field2309.length; ++var15) { - for (int var16 = 0; var16 < class167.field2043.length; ++var16) { - File var17 = new File(class167.field2043[var16] + LoginPacket.field2309[var15] + File.separatorChar + var0 + File.separatorChar); - if (var17.exists() && class186.method3618(new File(var17, "test.dat"), true)) { + for (int var15 = 0; var15 < LoginPacket.validCacheNames.length; ++var15) { + for (int var16 = 0; var16 < JagexCache.JagexCache_validCacheLocations.length; ++var16) { + File var17 = new File(JagexCache.JagexCache_validCacheLocations[var16] + LoginPacket.validCacheNames[var15] + File.separatorChar + var0 + File.separatorChar); + if (var17.exists() && class186.testReadWritePermissions(new File(var17, "test.dat"), true)) { var4 = var17.toString(); var6 = true; break label139; @@ -339,7 +343,7 @@ public class TextureProvider implements TextureLoader { var8 = null; try { - AccessFile var25 = new AccessFile(class167.field2038, "rw", 10000L); + AccessFile var25 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); Buffer var26 = new Buffer(500); var26.writeByte(3); var26.writeByte(var8 != null ? 1 : 0); @@ -363,10 +367,10 @@ public class TextureProvider implements TextureLoader { signature = "(Lhp;Ljava/lang/String;Ljava/lang/String;IZB)V", garbageValue = "-92" ) - public static void method2761(AbstractArchive var0, String var1, String var2, int var3, boolean var4) { - int var5 = var0.getGroupId(var1); - int var6 = var0.getFileId(var5, var2); - class169.method3503(var0, var5, var6, var3, var4); + public static void method2761(AbstractArchive var0, String group, String file, int var3, boolean var4) { + int var5 = var0.getGroupId(group); + int var6 = var0.getFileId(var5, file); + FileSystem.method3503(var0, var5, var6, var3, var4); } @ObfuscatedName("d") diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index 5da0aa98ce..7fbb0ad868 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -177,9 +177,9 @@ public final class Tile extends Node { garbageValue = "-1948443569" ) @Export("calculateTag") - public static long calculateTag(int var0, int var1, int var2, boolean var3, int var4) { - long var5 = (long)((var0 & 127) << 0 | (var1 & 127) << 7 | (var2 & 3) << 14) | ((long)var4 & 4294967295L) << 17; - if (var3) { + public static long calculateTag(int x, int y, int type, boolean notInteractable, int id) { + long var5 = (long)((x & 127) << 0 | (y & 127) << 7 | (type & 3) << 14) | ((long)id & 4294967295L) << 17; + if (notInteractable) { var5 |= 65536L; } @@ -191,14 +191,14 @@ public final class Tile extends Node { signature = "(IZII)V", garbageValue = "-1363278802" ) - public static final void method2853(int var0, boolean var1, int var2) { - if (var0 >= 8000 && var0 <= 48000) { - CollisionMap.PcmPlayer_sampleRate = var0; - class169.isStereo = var1; - PcmPlayer.pcmPlayerCount = var2; - } else { + @Export("PcmPlayer_configure") + public static final void PcmPlayer_configure(int var0, boolean var1, int var2) { + if (var0 < 8000 || var0 > 48000) { throw new IllegalArgumentException(); } + CollisionMap.PcmPlayer_sampleRate = var0; + FileSystem.PcmPlayer_stereo = var1; + PcmPlayer.PcmPlayer_count = var2; } @ObfuscatedName("jc") @@ -209,10 +209,10 @@ public final class Tile extends Node { @Export("clanKickUser") static final void clanKickUser(String var0) { if (DevicePcmPlayerProvider.clanChat != null) { - PacketBufferNode var1 = Archive.method4265(ClientPacket.field2216, Client.packetWriter.isaacCipher); + PacketBufferNode var1 = Archive.getPacketBufferNode(ClientPacket.field2216, Client.packetWriter.isaacCipher); var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method2219(var1); + Client.packetWriter.addNode(var1); } } } diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java index 89bdf4e8fe..f16070cbc6 100644 --- a/runescape-client/src/main/java/TileItem.java +++ b/runescape-client/src/main/java/TileItem.java @@ -41,7 +41,7 @@ public final class TileItem extends Entity { ) @Export("getModel") protected final Model getModel() { - return WorldMapArea.getItemDefinition(this.id).getModel(this.quantity); + return WorldMapArea.ItemDefinition_get(this.id).getModel(this.quantity); } @ObfuscatedName("q") @@ -59,7 +59,8 @@ public final class TileItem extends Entity { signature = "(III)Lbj;", garbageValue = "308740376" ) - static Message method2049(int var0, int var1) { + @Export("Messages_getByChannelAndID") + static Message Messages_getByChannelAndID(int var0, int var1) { ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); return var2.getMessage(var1); } diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index 39b48df818..d9b4cae9c7 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -145,8 +145,8 @@ public class Timer { var2 /= 10L; if (var2 < 0L) { var2 = 0L; - } else if (var2 > 65535L) { - var2 = 65535L; + } else if (var2 > 0xffffL) { + var2 = 0xffffL; } var1.writeShort((int)var2); @@ -154,8 +154,8 @@ public class Timer { var4 /= 10L; if (var4 < 0L) { var4 = 0L; - } else if (var4 > 65535L) { - var4 = 65535L; + } else if (var4 > 0xffffL) { + var4 = 0xffffL; } var1.writeShort((int)var4); @@ -163,8 +163,8 @@ public class Timer { var6 /= 10L; if (var6 < 0L) { var6 = 0L; - } else if (var6 > 65535L) { - var6 = 65535L; + } else if (var6 > 0xffffL) { + var6 = 0xffffL; } var1.writeShort((int)var6); @@ -238,7 +238,7 @@ public class Timer { Client.titleLoadingStage = 30; } else if (Client.titleLoadingStage == 30) { class197.archive0 = class65.newArchive(0, false, true, true); - class167.archive1 = class65.newArchive(1, false, true, true); + JagexCache.archive1 = class65.newArchive(1, false, true, true); class215.archive2 = class65.newArchive(2, true, false, true); class43.archive3 = class65.newArchive(3, false, true, true); class13.archive4 = class65.newArchive(4, false, true, true); @@ -263,7 +263,7 @@ public class Timer { } else if (Client.titleLoadingStage == 40) { byte var30 = 0; var0 = var30 + class197.archive0.percentage() * 4 / 100; - var0 += class167.archive1.percentage() * 4 / 100; + var0 += JagexCache.archive1.percentage() * 4 / 100; var0 += class215.archive2.percentage() * 2 / 100; var0 += class43.archive3.percentage() * 2 / 100; var0 += class13.archive4.percentage() * 6 / 100; @@ -282,15 +282,9 @@ public class Timer { var0 += Client.archive18.percentage() / 100; var0 += Entity.archive20.percentage() / 100; var0 += WorldMapSprite.archive17.method4258() && WorldMapSprite.archive17.isFullyLoaded() ? 1 : 0; - if (var0 != 100) { - if (var0 != 0) { - Login.Login_loadingText = "Checking for updates - " + var0 + "%"; - } - - Login.Login_loadingPercent = 30; - } else { + if (var0 == 100) { class42.method763(class197.archive0, "Animations"); - class42.method763(class167.archive1, "Skeletons"); + class42.method763(JagexCache.archive1, "Skeletons"); class42.method763(class13.archive4, "Sound FX"); class42.method763(WorldMapCacheName.archive5, "Maps"); class42.method763(WorldMapRegion.archive6, "Music Tracks"); @@ -307,9 +301,15 @@ public class Timer { Login.Login_loadingText = "Loaded update list"; Login.Login_loadingPercent = 30; Client.titleLoadingStage = 45; + } else { + if (var0 != 0) { + Login.Login_loadingText = "Checking for updates - " + var0 + "%"; + } + + Login.Login_loadingPercent = 30; } } else if (Client.titleLoadingStage == 45) { - Tile.method2853(22050, !Client.isLowDetail, 2); + Tile.PcmPlayer_configure(22050, !Client.isLowDetail, 2); MidiPcmStream var33 = new MidiPcmStream(); var33.method3720(9, 128); class80.pcmPlayer0 = ArchiveDiskActionHandler.method4256(GameShell.taskHandler, 0, 22050); @@ -322,339 +322,330 @@ public class Timer { Login.Login_loadingText = "Prepared sound engine"; Login.Login_loadingPercent = 35; Client.titleLoadingStage = 50; - class169.WorldMapElement_fonts = new Fonts(Client.archive8, class2.archive13); - } else { - int var1; - if (Client.titleLoadingStage == 50) { - FontName[] var32 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; - var1 = var32.length; - Fonts var29 = class169.WorldMapElement_fonts; - FontName[] var3 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; - Client.fontsMap = var29.createMap(var3); - if (Client.fontsMap.size() < var1) { - Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var1 + "%"; - Login.Login_loadingPercent = 40; - } else { - Coord.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); - class169.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); - WorldMapIcon_1.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); - WorldMapRectangle.platformInfo = Client.platformInfoProvider.get(); - Login.Login_loadingText = "Loaded fonts"; - Login.Login_loadingPercent = 40; - Client.titleLoadingStage = 60; - } + FileSystem.WorldMapElement_fonts = new Fonts(Client.archive8, class2.archive13); + } else if (Client.titleLoadingStage == 50) { + FontName[] var32 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; + int var1 = var32.length; + Fonts var29 = FileSystem.WorldMapElement_fonts; + FontName[] var3 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; + Client.fontsMap = var29.createMap(var3); + if (Client.fontsMap.size() < var1) { + Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var1 + "%"; + Login.Login_loadingPercent = 40; } else { - Archive var2; - int var4; - Archive var25; - int var26; - if (Client.titleLoadingStage == 60) { - var25 = WorldMapLabelSize.archive10; - var2 = Client.archive8; - var26 = 0; - if (var25.tryLoadFileByNames("title.jpg", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("logo", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("titlebox", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("titlebutton", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("runes", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("title_mute", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { - ++var26; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { - ++var26; - } - - var2.tryLoadFileByNames("sl_back", ""); - var2.tryLoadFileByNames("sl_flags", ""); - var2.tryLoadFileByNames("sl_arrows", ""); - var2.tryLoadFileByNames("sl_stars", ""); - var2.tryLoadFileByNames("sl_button", ""); - var4 = ScriptEvent.method1121(); - if (var26 < var4) { - Login.Login_loadingText = "Loading title screen - " + var26 * 100 / var4 + "%"; - Login.Login_loadingPercent = 50; - } else { - Login.Login_loadingText = "Loaded title screen"; - Login.Login_loadingPercent = 50; - class96.updateGameState(5); - Client.titleLoadingStage = 70; - } - } else if (Client.titleLoadingStage == 70) { - if (!class215.archive2.isFullyLoaded()) { - 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.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.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.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.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.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; - if (var20.isFullyLoaded()) { - UserComparator1.WorldMapElement_count = var20.getGroupFileCount(35); - WorldMapElement.WorldMapElement_cached = new WorldMapElement[UserComparator1.WorldMapElement_count]; - - for (int var22 = 0; var22 < UserComparator1.WorldMapElement_count; ++var22) { - byte[] var23 = var20.takeFile(35, var22); - WorldMapElement.WorldMapElement_cached[var22] = new WorldMapElement(var22); - if (var23 != null) { - WorldMapElement.WorldMapElement_cached[var22].decode(new Buffer(var23)); - WorldMapElement.WorldMapElement_cached[var22].method4370(); - } - } - } - // --- - - Login.Login_loadingText = "Loaded config"; - Login.Login_loadingPercent = 60; - Client.titleLoadingStage = 80; - } - } else if (Client.titleLoadingStage == 80) { - var0 = 0; - if (Message.compass == null) { - Message.compass = class65.SpriteBuffer_getSprite(Client.archive8, UserComparator6.spriteIds.compass, 0); - } else { - ++var0; - } - - if (UserComparator4.redHintArrowSprite == null) { - UserComparator4.redHintArrowSprite = class65.SpriteBuffer_getSprite(Client.archive8, UserComparator6.spriteIds.field3823, 0); - } else { - ++var0; - } - - if (ClanChat.mapSceneSprites == null) { - ClanChat.mapSceneSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.mapScenes, 0); - } else { - ++var0; - } - - if (UserComparator3.headIconPkSprites == null) { - UserComparator3.headIconPkSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.headIconsPk, 0); - } else { - ++var0; - } - - if (SoundCache.headIconPrayerSprites == null) { - SoundCache.headIconPrayerSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3830, 0); - } else { - ++var0; - } - - if (class173.headIconHintSprites == null) { - class173.headIconHintSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3827, 0); - } else { - ++var0; - } - - if (WorldMapData_1.mapMarkerSprites == null) { - WorldMapData_1.mapMarkerSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3828, 0); - } else { - ++var0; - } - - if (Occluder.crossSprites == null) { - Occluder.crossSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3829, 0); - } else { - ++var0; - } - - if (Skills.mapDotSprites == null) { - Skills.mapDotSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3832, 0); - } else { - ++var0; - } - - if (GrandExchangeOfferAgeComparator.scrollBarSprites == null) { - GrandExchangeOfferAgeComparator.scrollBarSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.field3831, 0); - } else { - ++var0; - } - - if (GrandExchangeOfferNameComparator.modIconSprites == null) { - GrandExchangeOfferNameComparator.modIconSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.field3822, 0); - } else { - ++var0; - } - - if (var0 < 11) { - Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; - Login.Login_loadingPercent = 70; - } else { - AbstractFont.AbstractFont_modIconSprites = GrandExchangeOfferNameComparator.modIconSprites; - UserComparator4.redHintArrowSprite.normalize(); - var1 = (int)(Math.random() * 21.0D) - 10; - int var28 = (int)(Math.random() * 21.0D) - 10; - var26 = (int)(Math.random() * 21.0D) - 10; - var4 = (int)(Math.random() * 41.0D) - 20; - ClanChat.mapSceneSprites[0].shiftColors(var1 + var4, var4 + var28, var4 + var26); - Login.Login_loadingText = "Loaded sprites"; - Login.Login_loadingPercent = 70; - Client.titleLoadingStage = 90; - } - } else if (Client.titleLoadingStage == 90) { - if (!class4.archive9.isFullyLoaded()) { - Login.Login_loadingText = "Loading textures - " + "0%"; - Login.Login_loadingPercent = 90; - } else { - GrandExchangeEvents.textureProvider = new TextureProvider(class4.archive9, Client.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); - Rasterizer3D.Rasterizer3D_setTextureLoader(GrandExchangeEvents.textureProvider); - Rasterizer3D.Rasterizer3D_setBrightness(0.8D); - Client.titleLoadingStage = 100; - } - } else if (Client.titleLoadingStage == 100) { - var0 = GrandExchangeEvents.textureProvider.getLoadedPercentage(); - if (var0 < 100) { - Login.Login_loadingText = "Loading textures - " + var0 + "%"; - Login.Login_loadingPercent = 90; - } else { - Login.Login_loadingText = "Loaded textures"; - Login.Login_loadingPercent = 90; - Client.titleLoadingStage = 110; - } - } else if (Client.titleLoadingStage == 110) { - class40.mouseRecorder = new MouseRecorder(); - GameShell.taskHandler.newThreadTask(class40.mouseRecorder, 10); - Login.Login_loadingText = "Loaded input handler"; - Login.Login_loadingPercent = 92; - Client.titleLoadingStage = 120; - } else if (Client.titleLoadingStage == 120) { - if (!WorldMapLabelSize.archive10.tryLoadFileByNames("huffman", "")) { - Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; - Login.Login_loadingPercent = 94; - } else { - Huffman var24 = new Huffman(WorldMapLabelSize.archive10.takeFileByNames("huffman", "")); - class210.huffman = var24; - Login.Login_loadingText = "Loaded wordpack"; - Login.Login_loadingPercent = 94; - Client.titleLoadingStage = 130; - } - } else if (Client.titleLoadingStage == 130) { - if (!class43.archive3.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + class43.archive3.loadPercent() * 4 / 5 + "%"; - Login.Login_loadingPercent = 96; - } else if (!UserComparator4.archive12.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (80 + UserComparator4.archive12.loadPercent() / 6) + "%"; - Login.Login_loadingPercent = 96; - } else if (!class2.archive13.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (96 + class2.archive13.loadPercent() / 50) + "%"; - Login.Login_loadingPercent = 96; - } else { - Login.Login_loadingText = "Loaded interfaces"; - Login.Login_loadingPercent = 98; - Client.titleLoadingStage = 140; - } - } else if (Client.titleLoadingStage == 140) { - Login.Login_loadingPercent = 100; - if (!ItemDefinition.archive19.tryLoadGroupByName(WorldMapCacheName.field308.name)) { - Login.Login_loadingText = "Loading world map - " + ItemDefinition.archive19.groupLoadPercentByName(WorldMapCacheName.field308.name) / 10 + "%"; - } else { - if (BoundaryObject.worldMap == null) { - BoundaryObject.worldMap = new WorldMap(); - BoundaryObject.worldMap.init(ItemDefinition.archive19, Client.archive18, Entity.archive20, WorldMapIcon_1.fontBold12, Client.fontsMap, ClanChat.mapSceneSprites); - } - - Login.Login_loadingText = "Loaded world map"; - Client.titleLoadingStage = 150; - } - } else if (Client.titleLoadingStage == 150) { - class96.updateGameState(10); - } + Coord.fontPlain11 = (Font) Client.fontsMap.get(FontName.FontName_plain11); + FileSystem.fontPlain12 = (Font) Client.fontsMap.get(FontName.FontName_plain12); + WorldMapIcon_1.fontBold12 = (Font) Client.fontsMap.get(FontName.FontName_bold12); + WorldMapRectangle.platformInfo = Client.platformInfoProvider.get(); + Login.Login_loadingText = "Loaded fonts"; + Login.Login_loadingPercent = 40; + Client.titleLoadingStage = 60; } + } else if (Client.titleLoadingStage == 60) { + Archive var25 = WorldMapLabelSize.archive10; + Archive var2 = Client.archive8; + int var26 = 0; + if (var25.tryLoadFileByNames("title.jpg", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("logo", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("titlebox", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("titlebutton", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("runes", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("title_mute", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { + ++var26; + } + + var2.tryLoadFileByNames("sl_back", ""); + var2.tryLoadFileByNames("sl_flags", ""); + var2.tryLoadFileByNames("sl_arrows", ""); + var2.tryLoadFileByNames("sl_stars", ""); + var2.tryLoadFileByNames("sl_button", ""); + int var4 = ScriptEvent.method1121(); + if (var26 < var4) { + Login.Login_loadingText = "Loading title screen - " + var26 * 100 / var4 + "%"; + Login.Login_loadingPercent = 50; + } else { + Login.Login_loadingText = "Loaded title screen"; + Login.Login_loadingPercent = 50; + class96.updateGameState(5); + Client.titleLoadingStage = 70; + } + } else if (Client.titleLoadingStage == 70) { + if (!class215.archive2.isFullyLoaded()) { + 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.FloorUnderlayDefinition_setArchives(class215.archive2); + GrandExchangeEvents.KitDefinition_setArchives(class215.archive2, NPCDefinition.archive7); + // object def inlined + Archive var25 = class215.archive2; + Archive var2 = NPCDefinition.archive7; + boolean var34 = Client.isLowDetail; + ObjectDefinition.ObjectDefinition_archive = var25; + ObjectDefinition.ObjectDefinition_modelsArchive = var2; + ObjectDefinition.ObjectDefinition_isLowDetail = var34; + // --- + 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.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 = JagexCache.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.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.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; + if (var20.isFullyLoaded()) { + UserComparator1.WorldMapElement_count = var20.getGroupFileCount(35); + WorldMapElement.WorldMapElement_cached = new WorldMapElement[UserComparator1.WorldMapElement_count]; + + for (int var22 = 0; var22 < UserComparator1.WorldMapElement_count; ++var22) { + byte[] var23 = var20.takeFile(35, var22); + WorldMapElement.WorldMapElement_cached[var22] = new WorldMapElement(var22); + if (var23 != null) { + WorldMapElement.WorldMapElement_cached[var22].decode(new Buffer(var23)); + WorldMapElement.WorldMapElement_cached[var22].method4370(); + } + } + } + // --- + + Login.Login_loadingText = "Loaded config"; + Login.Login_loadingPercent = 60; + Client.titleLoadingStage = 80; + } + } else if (Client.titleLoadingStage == 80) { + var0 = 0; + if (Message.compass == null) { + Message.compass = class65.SpriteBuffer_getSprite(Client.archive8, UserComparator6.spriteIds.compass, 0); + } else { + ++var0; + } + + if (UserComparator4.redHintArrowSprite == null) { + UserComparator4.redHintArrowSprite = class65.SpriteBuffer_getSprite(Client.archive8, UserComparator6.spriteIds.field3823, 0); + } else { + ++var0; + } + + if (ClanChat.mapSceneSprites == null) { + ClanChat.mapSceneSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.mapScenes, 0); + } else { + ++var0; + } + + if (UserComparator3.headIconPkSprites == null) { + UserComparator3.headIconPkSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.headIconsPk, 0); + } else { + ++var0; + } + + if (SoundCache.headIconPrayerSprites == null) { + SoundCache.headIconPrayerSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3830, 0); + } else { + ++var0; + } + + if (class173.headIconHintSprites == null) { + class173.headIconHintSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3827, 0); + } else { + ++var0; + } + + if (WorldMapData_1.mapMarkerSprites == null) { + WorldMapData_1.mapMarkerSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3828, 0); + } else { + ++var0; + } + + if (Occluder.crossSprites == null) { + Occluder.crossSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3829, 0); + } else { + ++var0; + } + + if (Skills.mapDotSprites == null) { + Skills.mapDotSprites = TilePaint.SpriteBuffer_getSpriteArray(Client.archive8, UserComparator6.spriteIds.field3832, 0); + } else { + ++var0; + } + + if (GrandExchangeOfferAgeComparator.scrollBarSprites == null) { + GrandExchangeOfferAgeComparator.scrollBarSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.field3831, 0); + } else { + ++var0; + } + + if (GrandExchangeOfferNameComparator.modIconSprites == null) { + GrandExchangeOfferNameComparator.modIconSprites = class289.SpriteBuffer_getIndexedSpriteArray(Client.archive8, UserComparator6.spriteIds.field3822, 0); + } else { + ++var0; + } + + if (var0 < 11) { + Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; + Login.Login_loadingPercent = 70; + } else { + AbstractFont.AbstractFont_modIconSprites = GrandExchangeOfferNameComparator.modIconSprites; + UserComparator4.redHintArrowSprite.normalize(); + int var1 = (int) (Math.random() * 21.0D) - 10; + int var28 = (int) (Math.random() * 21.0D) - 10; + int var26 = (int) (Math.random() * 21.0D) - 10; + int var4 = (int) (Math.random() * 41.0D) - 20; + ClanChat.mapSceneSprites[0].shiftColors(var1 + var4, var4 + var28, var4 + var26); + Login.Login_loadingText = "Loaded sprites"; + Login.Login_loadingPercent = 70; + Client.titleLoadingStage = 90; + } + } else if (Client.titleLoadingStage == 90) { + if (!class4.archive9.isFullyLoaded()) { + Login.Login_loadingText = "Loading textures - " + "0%"; + Login.Login_loadingPercent = 90; + } else { + GrandExchangeEvents.textureProvider = new TextureProvider(class4.archive9, Client.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); + Rasterizer3D.Rasterizer3D_setTextureLoader(GrandExchangeEvents.textureProvider); + Rasterizer3D.Rasterizer3D_setBrightness(0.8D); + Client.titleLoadingStage = 100; + } + } else if (Client.titleLoadingStage == 100) { + var0 = GrandExchangeEvents.textureProvider.getLoadedPercentage(); + if (var0 < 100) { + Login.Login_loadingText = "Loading textures - " + var0 + "%"; + Login.Login_loadingPercent = 90; + } else { + Login.Login_loadingText = "Loaded textures"; + Login.Login_loadingPercent = 90; + Client.titleLoadingStage = 110; + } + } else if (Client.titleLoadingStage == 110) { + class40.mouseRecorder = new MouseRecorder(); + GameShell.taskHandler.newThreadTask(class40.mouseRecorder, 10); + Login.Login_loadingText = "Loaded input handler"; + Login.Login_loadingPercent = 92; + Client.titleLoadingStage = 120; + } else if (Client.titleLoadingStage == 120) { + if (!WorldMapLabelSize.archive10.tryLoadFileByNames("huffman", "")) { + Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; + Login.Login_loadingPercent = 94; + } else { + Huffman var24 = new Huffman(WorldMapLabelSize.archive10.takeFileByNames("huffman", "")); + class210.huffman = var24; + Login.Login_loadingText = "Loaded wordpack"; + Login.Login_loadingPercent = 94; + Client.titleLoadingStage = 130; + } + } else if (Client.titleLoadingStage == 130) { + if (!class43.archive3.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + class43.archive3.loadPercent() * 4 / 5 + "%"; + Login.Login_loadingPercent = 96; + } else if (!UserComparator4.archive12.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (80 + UserComparator4.archive12.loadPercent() / 6) + "%"; + Login.Login_loadingPercent = 96; + } else if (!class2.archive13.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (96 + class2.archive13.loadPercent() / 50) + "%"; + Login.Login_loadingPercent = 96; + } else { + Login.Login_loadingText = "Loaded interfaces"; + Login.Login_loadingPercent = 98; + Client.titleLoadingStage = 140; + } + } else if (Client.titleLoadingStage == 140) { + Login.Login_loadingPercent = 100; + if (!ItemDefinition.archive19.tryLoadGroupByName(WorldMapCacheName.DETAILS.name)) { + Login.Login_loadingText = "Loading world map - " + ItemDefinition.archive19.groupLoadPercentByName(WorldMapCacheName.DETAILS.name) / 10 + "%"; + } else { + if (BoundaryObject.worldMap == null) { + BoundaryObject.worldMap = new WorldMap(); + BoundaryObject.worldMap.init(ItemDefinition.archive19, Client.archive18, Entity.archive20, WorldMapIcon_1.fontBold12, Client.fontsMap, ClanChat.mapSceneSprites); + } + + Login.Login_loadingText = "Loaded world map"; + Client.titleLoadingStage = 150; + } + } else if (Client.titleLoadingStage == 150) { + class96.updateGameState(10); } } } diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index b2424f14f2..21702d0141 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -47,11 +47,11 @@ public class TriBool { 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; + int var5 = FileSystem.fontPlain12.lineWidth(var0, 250); + int var6 = FileSystem.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); + FileSystem.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); diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index 259c4fba4e..a492854652 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -170,7 +170,7 @@ public class UrlRequest { var14 = 100; } - int var15 = (Client.field908 - Client.field906) * var14 / 100 + Client.field906; + int var15 = (Client.zoomWidth - Client.zoomHeight) * var14 / 100 + Client.zoomHeight; int var13 = var15 * var11 / 256; var16[var9] = var12 * var13 >> 16; } diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index 7e87c9d1ba..9fa3c3a894 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -113,7 +113,7 @@ public class UrlRequester implements Runnable { } } catch (Exception var17) { - HitSplatDefinition.sendStackTrace((String)null, var17); + HitSplatDefinition.RunException_sendStackTrace((String)null, var17); } } diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index 87d9db588e..31a5624962 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -95,9 +95,9 @@ public class UserComparator1 implements Comparator { } } - PacketBufferNode var1 = Archive.method4265(ClientPacket.field2263, Client.packetWriter.isaacCipher); + PacketBufferNode var1 = Archive.getPacketBufferNode(ClientPacket.field2263, Client.packetWriter.isaacCipher); var1.packetBuffer.writeByte(var0.length() + 1); var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method2219(var1); + Client.packetWriter.addNode(var1); } } diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index 879055870d..324029cdbf 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -53,203 +53,204 @@ public class UserComparator10 extends AbstractUserComparator { Login.Login_username = Login.Login_username.trim(); if (Login.Login_username.length() == 0) { class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - } else { - long var1; - try { - URL var3 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws"); - URLConnection var4 = var3.openConnection(); - var4.setRequestProperty("connection", "close"); - var4.setDoInput(true); - var4.setDoOutput(true); - var4.setConnectTimeout(5000); - OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); - var5.write("data1=req"); - var5.flush(); - InputStream var6 = var4.getInputStream(); - Buffer var7 = new Buffer(new byte[1000]); - - while (true) { - int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); - if (var8 == -1) { - var7.offset = 0; - long var22 = var7.readLong(); - var1 = var22; - break; - } + return; + } + long var1; + try { + URL var3 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws"); + URLConnection var4 = var3.openConnection(); + var4.setRequestProperty("connection", "close"); + var4.setDoInput(true); + var4.setDoOutput(true); + var4.setConnectTimeout(5000); + OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); + var5.write("data1=req"); + var5.flush(); + InputStream var6 = var4.getInputStream(); + Buffer var7 = new Buffer(new byte[1000]); + while (true) { + int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); + if (var8 != -1) { var7.offset += var8; if (var7.offset >= 1000) { var1 = 0L; break; } - } - } catch (Exception var34) { - var1 = 0L; - } - - byte var0; - if (0L == var1) { - var0 = 5; - } else { - String var35 = Login.Login_username; - Random var36 = new Random(); - Buffer var26 = new Buffer(128); - Buffer var9 = new Buffer(128); - int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1}; - var26.writeByte(10); - - int var11; - for (var11 = 0; var11 < 4; ++var11) { - var26.writeInt(var36.nextInt()); - } - - var26.writeInt(var10[0]); - var26.writeInt(var10[1]); - var26.writeLong(var1); - var26.writeLong(0L); - - for (var11 = 0; var11 < 4; ++var11) { - var26.writeInt(var36.nextInt()); - } - - var26.encryptRsa(class80.field1140, class80.field1141); - var9.writeByte(10); - - for (var11 = 0; var11 < 3; ++var11) { - var9.writeInt(var36.nextInt()); - } - - var9.writeLong(var36.nextLong()); - var9.writeLongMedium(var36.nextLong()); - if (Client.field693 != null) { - var9.writeBytes(Client.field693, 0, Client.field693.length); } else { - byte[] var12 = new byte[24]; - - try { - class167.randomDat.seek(0L); - class167.randomDat.readFully(var12); - - int var13; - for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) { - } - - if (var13 >= 24) { - throw new IOException(); - } - } catch (Exception var33) { - for (int var14 = 0; var14 < 24; ++var14) { - var12[var14] = -1; - } - } - - var9.writeBytes(var12, 0, var12.length); + var7.offset = 0; + long var22 = var7.readLong(); + var1 = var22; + break; } - var9.writeLong(var36.nextLong()); - var9.encryptRsa(class80.field1140, class80.field1141); - var11 = Huffman.stringCp1252NullTerminatedByteSize(var35); - if (var11 % 8 != 0) { - var11 += 8 - var11 % 8; - } - - Buffer var37 = new Buffer(var11); - var37.writeStringCp1252NullTerminated(var35); - var37.offset = var11; - var37.xteaEncryptAll(var10); - Buffer var27 = new Buffer(var9.offset + var26.offset + var37.offset + 5); - var27.writeByte(2); - var27.writeByte(var26.offset); - var27.writeBytes(var26.array, 0, var26.offset); - var27.writeByte(var9.offset); - var27.writeBytes(var9.array, 0, var9.offset); - var27.writeShort(var37.offset); - var27.writeBytes(var37.array, 0, var37.offset); - byte[] var15 = var27.array; - String var29 = Widget.method4092(var15, 0, var15.length); - String var16 = var29; - - byte var30; - try { - URL var17 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws"); - URLConnection var18 = var17.openConnection(); - var18.setDoInput(true); - var18.setDoOutput(true); - var18.setConnectTimeout(5000); - OutputStreamWriter var19 = new OutputStreamWriter(var18.getOutputStream()); - var19.write("data2=" + GrandExchangeOfferWorldComparator.method63(var16) + "&dest=" + GrandExchangeOfferWorldComparator.method63("passwordchoice.ws")); - var19.flush(); - InputStream var20 = var18.getInputStream(); - var27 = new Buffer(new byte[1000]); - - while (true) { - int var21 = var20.read(var27.array, var27.offset, 1000 - var27.offset); - if (var21 == -1) { - var19.close(); - var20.close(); - String var31 = new String(var27.array); - if (var31.startsWith("OFFLINE")) { - var30 = 4; - } else if (var31.startsWith("WRONG")) { - var30 = 7; - } else if (var31.startsWith("RELOAD")) { - var30 = 3; - } else if (var31.startsWith("Not permitted for social network accounts.")) { - var30 = 6; - } else { - var27.xteaDecryptAll(var10); - - while (var27.offset > 0 && var27.array[var27.offset - 1] == 0) { - --var27.offset; - } - - var31 = new String(var27.array, 0, var27.offset); - if (HealthBarUpdate.method1676(var31)) { - GrandExchangeOfferWorldComparator.openURL(var31, true, false); - var30 = 2; - } else { - var30 = 5; - } - } - break; - } - - var27.offset += var21; - if (var27.offset >= 1000) { - var30 = 5; - break; - } - } - } catch (Throwable var32) { - var32.printStackTrace(); - var30 = 5; - } - - var0 = var30; } - - switch(var0) { - case 2: - class268.setLoginResponseString(Strings.field2942, Strings.field3027, Strings.field2768); - Login.loginIndex = 6; - break; - case 3: - class268.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 4: - class268.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); - break; - case 5: - class268.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); - break; - case 6: - class268.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 7: - class268.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); - } - + } catch (Exception var34) { + var1 = 0L; } + + byte var0; + if (0L == var1) { + var0 = 5; + } else { + String var35 = Login.Login_username; + Random var36 = new Random(); + Buffer var26 = new Buffer(128); + Buffer var9 = new Buffer(128); + int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1}; + var26.writeByte(10); + + int var11; + for (var11 = 0; var11 < 4; ++var11) { + var26.writeInt(var36.nextInt()); + } + + var26.writeInt(var10[0]); + var26.writeInt(var10[1]); + var26.writeLong(var1); + var26.writeLong(0L); + + for (var11 = 0; var11 < 4; ++var11) { + var26.writeInt(var36.nextInt()); + } + + var26.encryptRsa(class80.field1140, class80.field1141); + var9.writeByte(10); + + for (var11 = 0; var11 < 3; ++var11) { + var9.writeInt(var36.nextInt()); + } + + var9.writeLong(var36.nextLong()); + var9.writeLongMedium(var36.nextLong()); + if (Client.randomDatData != null) { + var9.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); + } else { + byte[] var12 = new byte[24]; + + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var12); + + int var13; + for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) { + } + + if (var13 >= 24) { + throw new IOException(); + } + } catch (Exception var33) { + for (int var14 = 0; var14 < 24; ++var14) { + var12[var14] = -1; + } + } + + var9.writeBytes(var12, 0, var12.length); + } + + var9.writeLong(var36.nextLong()); + var9.encryptRsa(class80.field1140, class80.field1141); + var11 = Huffman.stringCp1252NullTerminatedByteSize(var35); + if (var11 % 8 != 0) { + var11 += 8 - var11 % 8; + } + + Buffer var37 = new Buffer(var11); + var37.writeStringCp1252NullTerminated(var35); + var37.offset = var11; + var37.xteaEncryptAll(var10); + Buffer var27 = new Buffer(var9.offset + var26.offset + var37.offset + 5); + var27.writeByte(2); + var27.writeByte(var26.offset); + var27.writeBytes(var26.array, 0, var26.offset); + var27.writeByte(var9.offset); + var27.writeBytes(var9.array, 0, var9.offset); + var27.writeShort(var37.offset); + var27.writeBytes(var37.array, 0, var37.offset); + byte[] var15 = var27.array; + String var29 = Widget.method4092(var15, 0, var15.length); + String var16 = var29; + + byte var30; + try { + URL var17 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws"); + URLConnection var18 = var17.openConnection(); + var18.setDoInput(true); + var18.setDoOutput(true); + var18.setConnectTimeout(5000); + OutputStreamWriter var19 = new OutputStreamWriter(var18.getOutputStream()); + var19.write("data2=" + GrandExchangeOfferWorldComparator.method63(var16) + "&dest=" + GrandExchangeOfferWorldComparator.method63("passwordchoice.ws")); + var19.flush(); + InputStream var20 = var18.getInputStream(); + var27 = new Buffer(new byte[1000]); + + while (true) { + int var21 = var20.read(var27.array, var27.offset, 1000 - var27.offset); + if (var21 == -1) { + var19.close(); + var20.close(); + String var31 = new String(var27.array); + if (var31.startsWith("OFFLINE")) { + var30 = 4; + } else if (var31.startsWith("WRONG")) { + var30 = 7; + } else if (var31.startsWith("RELOAD")) { + var30 = 3; + } else if (var31.startsWith("Not permitted for social network accounts.")) { + var30 = 6; + } else { + var27.xteaDecryptAll(var10); + + while (var27.offset > 0 && var27.array[var27.offset - 1] == 0) { + --var27.offset; + } + + var31 = new String(var27.array, 0, var27.offset); + if (HealthBarUpdate.isValidURL(var31)) { + GrandExchangeOfferWorldComparator.openURL(var31, true, false); + var30 = 2; + } else { + var30 = 5; + } + } + break; + } + + var27.offset += var21; + if (var27.offset >= 1000) { + var30 = 5; + break; + } + } + } catch (Throwable var32) { + var32.printStackTrace(); + var30 = 5; + } + + var0 = var30; + } + + switch(var0) { + case 2: + class268.setLoginResponseString(Strings.field2942, Strings.field3027, Strings.field2768); + Login.loginIndex = 6; + break; + case 3: + class268.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 4: + class268.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); + break; + case 5: + class268.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); + break; + case 6: + class268.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 7: + class268.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); + } + } @ObfuscatedName("b") @@ -257,7 +258,8 @@ public class UserComparator10 extends AbstractUserComparator { signature = "(I)V", garbageValue = "-1807078732" ) - static void method3405() { + @Export("Messages_invalidateIgnoreds") + static void Messages_invalidateIgnoreds() { Iterator var0 = Messages.Messages_hashTable.iterator(); while (var0.hasNext()) { diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index 03e6972fb5..d1cc4e6131 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -46,18 +46,18 @@ public class UserComparator3 extends AbstractUserComparator { @Export("loadWorlds") static boolean loadWorlds() { try { - if (World.field1027 == null) { - World.field1027 = SequenceDefinition.urlRequester.request(new URL(WorldMapArea.field213)); - } else if (World.field1027.isDone()) { - byte[] var0 = World.field1027.getResponse(); + if (World.World_request == null) { + World.World_request = SequenceDefinition.urlRequester.request(new URL(WorldMapArea.field213)); + } else if (World.World_request.isDone()) { + byte[] var0 = World.World_request.getResponse(); Buffer var1 = new Buffer(var0); var1.readInt(); - World.worldsCount = var1.readUnsignedShort(); - World.worlds = new World[World.worldsCount]; + World.World_count = var1.readUnsignedShort(); + World.World_worlds = new World[World.World_count]; World var3; - for (int var2 = 0; var2 < World.worldsCount; var3.index = var2++) { - var3 = World.worlds[var2] = new World(); + for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { + var3 = World.World_worlds[var2] = new World(); var3.id = var1.readUnsignedShort(); var3.properties = var1.readInt(); var3.host = var1.readStringCp1252NullTerminated(); @@ -66,13 +66,13 @@ public class UserComparator3 extends AbstractUserComparator { var3.population = var1.readShort(); } - Client.sortWorlds(World.worlds, 0, World.worlds.length - 1, World.sortOption1, World.sortOption2); - World.field1027 = null; + Client.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + World.World_request = null; return true; } } catch (Exception var4) { var4.printStackTrace(); - World.field1027 = null; + World.World_request = null; } return false; diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 22ddfae758..5ee53e5381 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -46,17 +46,18 @@ public class UserComparator6 extends AbstractUserComparator { signature = "(Ljava/lang/String;Ljava/lang/String;III)V", garbageValue = "491873255" ) - public static void method3440(String var0, String var1, int var2, int var3) throws IOException { - class40.idxCount = var3; - TextureProvider.field1539 = var2; + @Export("JagexCache_init") + public static void JagexCache_init(String game, String serverBuild, int zero, int idxCount) throws IOException { + class40.idxCount = idxCount; + TextureProvider.cacheGamebuild = zero; try { - ScriptEvent.field586 = System.getProperty("os.name"); + ScriptEvent.operatingSystem = System.getProperty("os.name"); } catch (Exception var14) { - ScriptEvent.field586 = "Unknown"; + ScriptEvent.operatingSystem = "Unknown"; } - GrandExchangeOfferOwnWorldComparator.field647 = ScriptEvent.field586.toLowerCase(); + GrandExchangeOfferOwnWorldComparator.operatingSystemLC = ScriptEvent.operatingSystem.toLowerCase(); try { PlayerType.userHomeDirectory = System.getProperty("user.home"); @@ -67,7 +68,7 @@ public class UserComparator6 extends AbstractUserComparator { } try { - if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("win")) { + if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("win")) { if (PlayerType.userHomeDirectory == null) { PlayerType.userHomeDirectory = System.getenv("USERPROFILE"); } @@ -85,84 +86,77 @@ public class UserComparator6 extends AbstractUserComparator { PlayerType.userHomeDirectory = "~/"; } - class167.field2043 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", PlayerType.userHomeDirectory, "/tmp/", ""}; - LoginPacket.field2309 = new String[]{".jagex_cache_" + TextureProvider.field1539, ".file_store_" + TextureProvider.field1539}; - int var9 = 0; + JagexCache.JagexCache_validCacheLocations = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", PlayerType.userHomeDirectory, "/tmp/", ""}; + LoginPacket.validCacheNames = new String[]{".jagex_cache_" + TextureProvider.cacheGamebuild, ".file_store_" + TextureProvider.cacheGamebuild}; int var7; File var8; label135: - while (var9 < 4) { - class1.field2 = TextureProvider.method2760(var0, var1, var9); - if (!class1.field2.exists()) { - class1.field2.mkdirs(); + for (int var9 = 0; var9 < 4; var9++) { + class1.cacheDir = TextureProvider.getCacheDir(game, serverBuild, var9); + if (!class1.cacheDir.exists()) { + class1.cacheDir.mkdirs(); } - File[] var5 = class1.field2.listFiles(); + File[] var5 = class1.cacheDir.listFiles(); if (var5 == null) { break; } File[] var6 = var5; - var7 = 0; - - while (true) { - if (var7 >= var6.length) { - break label135; - } + for (var7 = 0; var7 < var6.length; var7++) { var8 = var6[var7]; - if (!class186.method3618(var8, false)) { - ++var9; - break; + if (!class186.testReadWritePermissions(var8, false)) { + continue label135; } - - ++var7; } + break; } - File var4 = class1.field2; - class169.field2050 = var4; - if (!class169.field2050.exists()) { + + File var4 = class1.cacheDir; + FileSystem.FileSystem_cacheDir = var4; + if (!FileSystem.FileSystem_cacheDir.exists()) { throw new RuntimeException(""); } - class169.field2055 = true; + FileSystem.FileSystem_hasPermissions = true; try { File var16 = new File(PlayerType.userHomeDirectory, "random.dat"); if (var16.exists()) { - class167.randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); } else { label115: - for (int var10 = 0; var10 < LoginPacket.field2309.length; ++var10) { - for (var7 = 0; var7 < class167.field2043.length; ++var7) { - var8 = new File(class167.field2043[var7] + LoginPacket.field2309[var10] + File.separatorChar + "random.dat"); + for (int var10 = 0; var10 < LoginPacket.validCacheNames.length; ++var10) { + for (var7 = 0; var7 < JagexCache.JagexCache_validCacheLocations.length; ++var7) { + var8 = new File(JagexCache.JagexCache_validCacheLocations[var7] + LoginPacket.validCacheNames[var10] + File.separatorChar + "random.dat"); if (var8.exists()) { - class167.randomDat = new BufferedFile(new AccessFile(var8, "rw", 25L), 24, 0); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var8, "rw", 25L), 24, 0); break label115; } } } } - if (class167.randomDat == null) { + if (JagexCache.JagexCache_randomDat == null) { RandomAccessFile var17 = new RandomAccessFile(var16, "rw"); var7 = var17.read(); var17.seek(0L); var17.write(var7); var17.seek(0L); var17.close(); - class167.randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); } } catch (IOException var15) { } - class167.dat2File = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); - class167.idx255File = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); - class167.idxFiles = new BufferedFile[class40.idxCount]; + JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(class65.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); + JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(class65.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); + JagexCache.JagexCache_idxFiles = new BufferedFile[class40.idxCount]; for (int var11 = 0; var11 < class40.idxCount; ++var11) { - class167.idxFiles[var11] = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.idx" + var11), "rw", 1048576L), 6000, 0); + JagexCache.JagexCache_idxFiles[var11] = new BufferedFile(new AccessFile(class65.getFile("main_file_cache.idx" + var11), "rw", 1048576L), 6000, 0); } } diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index 129455339e..9b5cdf3569 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -58,15 +58,12 @@ public class UserComparator8 extends AbstractUserComparator { int var7; int var9; - int[] var10000; for (var7 = 0; var7 < 32768; ++var7) { NPC var8 = Client.npcs[var7]; if (var8 != null) { for (var9 = 0; var9 < 10; ++var9) { - var10000 = var8.pathX; - var10000[var9] -= var5; - var10000 = var8.pathY; - var10000[var9] -= var6; + var8.pathX[var9] -= var5; + var8.pathY[var9] -= var6; } var8.x -= var5 * 128; @@ -78,10 +75,8 @@ public class UserComparator8 extends AbstractUserComparator { Player var21 = Client.players[var7]; if (var21 != null) { for (var9 = 0; var9 < 10; ++var9) { - var10000 = var21.pathX; - var10000[var9] -= var5; - var10000 = var21.pathY; - var10000[var9] -= var6; + var21.pathX[var9] -= var5; + var21.pathY[var9] -= var6; } var21.x -= var5 * 128; diff --git a/runescape-client/src/main/java/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index b8a41b8b32..4962418f86 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -37,15 +37,17 @@ public class UserComparator9 extends AbstractUserComparator { signature = "(I)[Lkl;", garbageValue = "-445895559" ) - static class310[] method3383() { - return new class310[]{class310.field3817, class310.field3816, class310.field3818}; + @Export("ChatMode_values") + static PrivateChatMode[] ChatMode_values() { + return new PrivateChatMode[]{PrivateChatMode.field3817, PrivateChatMode.field3816, PrivateChatMode.field3818}; } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lml;" ) - public static RunException method3390(Throwable var0, String var1) { + @Export("newRunException") + public static RunException newRunException(Throwable var0, String var1) { RunException var2; if (var0 instanceof RunException) { var2 = (RunException)var0; @@ -73,9 +75,8 @@ public class UserComparator9 extends AbstractUserComparator { var4 = var2 ? Interpreter.field1111 : Calendar.field2507; } - int var11; if (var0 == ScriptOpcodes.CC_SETOP) { - var11 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; + int var11 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; if (var11 >= 0 && var11 <= 9) { var4.setAction(var11, Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); return 1; @@ -83,11 +84,10 @@ public class UserComparator9 extends AbstractUserComparator { --Skills.Interpreter_stringStackSize; return 1; } - int var6; if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { HealthBarUpdate.Interpreter_intStackSize -= 2; - var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + int var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; var4.parent = Client.getWidgetChild(var11, var6); return 1; } @@ -119,80 +119,78 @@ public class UserComparator9 extends AbstractUserComparator { var4.field2691 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; return 1; } - int var7; - byte[] var9; if (var0 == ScriptOpcodes.CC_SETOPKEY) { byte[] var8 = null; - var9 = null; - if (var3) { + byte[] var9 = null; + if (!var3) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var8 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; + var9 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]}; + } else { HealthBarUpdate.Interpreter_intStackSize -= 10; - - for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize] >= 0; var7 += 2) { + int var7 = 0; + while (var7 < 10 && Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize] >= 0) { + var7 += 2; } if (var7 > 0) { var8 = new byte[var7 / 2]; var9 = new byte[var7 / 2]; - for (var7 -= 2; var7 >= 0; var7 -= 2) { + while ((var7 -= 2) >= 0) { var8[var7 / 2] = (byte) Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize]; var9[var7 / 2] = (byte) Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize + 1]; } } - } else { - HealthBarUpdate.Interpreter_intStackSize -= 2; - var8 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; - var9 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]}; } - var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; + int var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; if (var7 < 0 || var7 > 9) { throw new RuntimeException(); } - FloorOverlayDefinition.method4756(var4, var7, var8, var9); + FloorOverlayDefinition.Widget_setKey(var4, var7, var8, var9); return 1; } - byte var5; if (var0 == ScriptOpcodes.CC_SETOPTKEY) { HealthBarUpdate.Interpreter_intStackSize -= 2; - var5 = 10; - var9 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; + byte var5 = 10; + byte[] var9 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; byte[] var10 = new byte[]{(byte) Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]}; - FloorOverlayDefinition.method4756(var4, var5, var9, var10); + FloorOverlayDefinition.Widget_setKey(var4, var5, var9, var10); return 1; } if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { HealthBarUpdate.Interpreter_intStackSize -= 3; - var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; - var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; - if (var11 >= 0 && var11 <= 9) { - class14.method153(var4, var11, var6, var7); - return 1; + int var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; + int var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + if (var11 < 0 || var11 > 9) { + throw new RuntimeException(); } - throw new RuntimeException(); + class14.Widget_setKeyRate(var4, var11, var6, var7); + return 1; } if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { - var5 = 10; - var6 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - class14.method153(var4, var5, var6, var7); + byte var5 = 10; + int var6 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + int var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + class14.Widget_setKeyRate(var4, var5, var6, var7); return 1; } if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { --HealthBarUpdate.Interpreter_intStackSize; - var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; + int var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; if (var11 < 0 || var11 > 9) { throw new RuntimeException(); } - WorldMapCacheName.method600(var4, var11); + WorldMapCacheName.Widget_setKeyIgnoreHeld(var4, var11); return 1; } if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { - var5 = 10; - WorldMapCacheName.method600(var4, var5); + byte var5 = 10; + WorldMapCacheName.Widget_setKeyIgnoreHeld(var4, var5); return 1; } diff --git a/runescape-client/src/main/java/VarbitDefinition.java b/runescape-client/src/main/java/VarbitDefinition.java index d07efb88c1..7bedb6b126 100644 --- a/runescape-client/src/main/java/VarbitDefinition.java +++ b/runescape-client/src/main/java/VarbitDefinition.java @@ -97,53 +97,53 @@ public class VarbitDefinition extends DualNode { int var15; if (Login.worldSelectOpen) { while (true) { - if (!class218.method4109()) { + if (!class218.isKeyDown()) { if (MouseHandler.MouseHandler_lastButton != 1 && (DevicePcmPlayerProvider.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { - break; + return; } int var1 = Login.xPadding + 280; if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(0, 0); - break; + return; } if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(0, 1); - break; + return; } int var2 = Login.xPadding + 390; if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(1, 0); - break; + return; } if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(1, 1); - break; + return; } var3 = Login.xPadding + 500; if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(2, 0); - break; + return; } if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(2, 1); - break; + return; } var15 = Login.xPadding + 610; if (MouseHandler.MouseHandler_lastPressedX >= var15 && MouseHandler.MouseHandler_lastPressedX <= var15 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(3, 0); - break; + return; } if (MouseHandler.MouseHandler_lastPressedX >= var15 + 15 && MouseHandler.MouseHandler_lastPressedX <= var15 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { class192.changeWorldSelectSorting(3, 1); - break; + return; } if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { @@ -151,26 +151,27 @@ public class VarbitDefinition extends DualNode { GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18); - break; + return; } if (Login.hoveredWorldIndex != -1) { - World var13 = World.worlds[Login.hoveredWorldIndex]; + World var13 = World.World_worlds[Login.hoveredWorldIndex]; MusicPatchPcmStream.changeWorld(var13); Login.worldSelectOpen = false; GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18); - } else { - if (Login.worldSelectPage > 0 && Login.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= Login.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { - --Login.worldSelectPage; - } - - if (Login.worldSelectPage < Login.worldSelectPagesCount && NPCDefinition.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= GrandExchangeEvent.canvasWidth - NPCDefinition.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= GrandExchangeEvent.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { - ++Login.worldSelectPage; - } + return; } - break; + + if (Login.worldSelectPage > 0 && Login.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= Login.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { + --Login.worldSelectPage; + } + + if (Login.worldSelectPage < Login.worldSelectPagesCount && NPCDefinition.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= GrandExchangeEvent.canvasWidth - NPCDefinition.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= GrandExchangeEvent.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { + ++Login.worldSelectPage; + } + return; } if (ReflectionCheck.field1338 == 13) { @@ -178,7 +179,7 @@ public class VarbitDefinition extends DualNode { GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18); - break; + return; } if (ReflectionCheck.field1338 == 96) { @@ -189,525 +190,531 @@ public class VarbitDefinition extends DualNode { ++Login.worldSelectPage; } } + } + if ((MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { + WorldMapLabelSize.clientPreferences.titleMusicDisabled = !WorldMapLabelSize.clientPreferences.titleMusicDisabled; + ReflectionCheck.savePreferences(); + if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { + TextureProvider.method2761(WorldMapRegion.archive6, "scape main", "", 255, false); + } else { + NetSocket.method3553(); + } + } - } else { - if ((MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { - WorldMapLabelSize.clientPreferences.titleMusicDisabled = !WorldMapLabelSize.clientPreferences.titleMusicDisabled; - ReflectionCheck.savePreferences(); - if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { - TextureProvider.method2761(WorldMapRegion.archive6, "scape main", "", 255, false); - } else { - NetSocket.method3553(); + if (Client.gameState == 5) { + return; + } + if (Login.field1193 == -1L) { + Login.field1193 = DirectByteArrayCopier.currentTimeMs() + 1000L; + } + + long var11 = DirectByteArrayCopier.currentTimeMs(); + if (Language.method3667() && -1L == Login.field1211) { + Login.field1211 = var11; + if (Login.field1211 > Login.field1193) { + Login.field1193 = Login.field1211; + } + } + + if (Client.gameState != 10 && Client.gameState != 11) { + return; + } + if (Language.Language_EN == ScriptFrame.clientLanguage) { + if (MouseHandler.MouseHandler_lastButton == 1 || (!DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { + var3 = Login.xPadding + 5; + if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 100 && MouseHandler.MouseHandler_lastPressedY >= 463 && MouseHandler.MouseHandler_lastPressedY <= 35 + 463) { + ChatChannel.openWorldSelect(); + return; } } - if (Client.gameState != 5) { - if (Login.field1193 == -1L) { - Login.field1193 = DirectByteArrayCopier.currentTimeMs() + 1000L; + if (World.World_request != null) { + ChatChannel.openWorldSelect(); + } + } + + var3 = MouseHandler.MouseHandler_lastButton; + var15 = MouseHandler.MouseHandler_lastPressedX; + int var16 = MouseHandler.MouseHandler_lastPressedY; + if (var3 == 0) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + } + + if (!DevicePcmPlayerProvider.mouseCam && var3 == 4) { + var3 = 1; + } + + int var7; + short var8; + if (Login.loginIndex == 0) { + boolean var17 = false; + + while (class218.isKeyDown()) { + if (ReflectionCheck.field1338 == 84) { + var17 = true; + } + } + + var7 = ScriptEvent.loginBoxCenter - 80; + var8 = 291; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); + } + + var7 = ScriptEvent.loginBoxCenter + 80; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20 || var17) { + if ((Client.worldProperties & 0x2000000) != 0) { + Login.Login_response0 = ""; + Login.Login_response1 = "This is a Beta world."; + Login.Login_response2 = "Your normal account will not be affected."; + Login.Login_response3 = ""; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else if ((Client.worldProperties & 4) != 0) { + if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk PvP world."; + Login.Login_response2 = "Players can attack each other almost everywhere"; + Login.Login_response3 = "and the Protect Item prayer won't work."; + } else { + Login.Login_response1 = "This is a PvP world."; + Login.Login_response2 = "Players can attack each other"; + Login.Login_response3 = "almost everywhere."; + } + + Login.Login_response0 = "Warning!"; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk world."; + Login.Login_response2 = "The Protect Item prayer will"; + Login.Login_response3 = "not work on this world."; + Login.Login_response0 = "Warning!"; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else { + FaceNormal.method3266(false); + } + } + return; + } + int var18; + short var20; + if (Login.loginIndex == 1) { + while (class218.isKeyDown()) { + if (ReflectionCheck.field1338 == 84) { + FaceNormal.method3266(false); + } else if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + } + } + + var18 = ScriptEvent.loginBoxCenter - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); + } + + var18 = ScriptEvent.loginBoxCenter + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + Login.loginIndex = 0; + } + return; + } + boolean var9; + int var10; + short var19; + if (Login.loginIndex == 2) { + var19 = 201; + var18 = var19 + 52; + if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { + Login.currentLoginField = 0; + } + + var18 += 15; + if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { + Login.currentLoginField = 1; + } + + var18 += 15; + var19 = 361; + if (class96.field1325 != null) { + var7 = class96.field1325.highX / 2; + if (var3 == 1 && var15 >= class96.field1325.lowX - var7 && var15 <= var7 + class96.field1325.lowX && var16 >= var19 - 15 && var16 < var19) { + switch(Login.field1212) { + case 1: + class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + Login.loginIndex = 5; + return; + case 2: + GrandExchangeOfferWorldComparator.openURL("https://support.runescape.com/hc/en-gb", true, false); + } + } + } + + var7 = ScriptEvent.loginBoxCenter - 80; + var8 = 321; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class268.setLoginResponseString("", "Please enter your username/email address.", ""); + return; } - long var11 = DirectByteArrayCopier.currentTimeMs(); - if (Language.method3667() && -1L == Login.field1211) { - Login.field1211 = var11; - if (Login.field1211 > Login.field1193) { - Login.field1193 = Login.field1211; + if (Login.Login_password.length() == 0) { + class268.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class268.setLoginResponseString("", "Connecting to server...", ""); + GrandExchangeOffer.method99(false); + class96.updateGameState(20); + return; + } + + var7 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + } + + var7 = ScriptEvent.loginBoxCenter + -117; + var8 = 277; + Login.field1199 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; + if (var3 == 1 && Login.field1199) { + Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; + if (!Client.Login_isUsernameRemembered && WorldMapLabelSize.clientPreferences.rememberedUsername != null) { + WorldMapLabelSize.clientPreferences.rememberedUsername = null; + ReflectionCheck.savePreferences(); + } + } + + var7 = ScriptEvent.loginBoxCenter + 24; + var8 = 277; + Login.field1184 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; + if (var3 == 1 && Login.field1184) { + WorldMapLabelSize.clientPreferences.hideUsername = !WorldMapLabelSize.clientPreferences.hideUsername; + if (!WorldMapLabelSize.clientPreferences.hideUsername) { + Login.Login_username = ""; + WorldMapLabelSize.clientPreferences.rememberedUsername = null; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; } } - if (Client.gameState == 10 || Client.gameState == 11) { - if (Language.Language_EN == ScriptFrame.clientLanguage) { - if (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { - var3 = Login.xPadding + 5; - short var4 = 463; - byte var5 = 100; - byte var6 = 35; - if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + var5 && MouseHandler.MouseHandler_lastPressedY >= var4 && MouseHandler.MouseHandler_lastPressedY <= var6 + var4) { - ChatChannel.method2214(); + ReflectionCheck.savePreferences(); + } + + while (true) { + while (class218.isKeyDown()) { + var9 = false; + + for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { + if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { + var9 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + } else if (Login.currentLoginField == 0) { + if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { + Login.currentLoginField = 1; + } + + if (var9 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Calendar.field2508; + } + } else if (Login.currentLoginField == 1) { + if (ReflectionCheck.field1338 == 85 && Login.Login_password.length() > 0) { + Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); + } + + if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { + Login.currentLoginField = 0; + } + + if (ReflectionCheck.field1338 == 84) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class268.setLoginResponseString("", "Please enter your username/email address.", ""); return; } + + if (Login.Login_password.length() == 0) { + class268.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class268.setLoginResponseString("", "Connecting to server...", ""); + GrandExchangeOffer.method99(false); + class96.updateGameState(20); + return; } - if (World.field1027 != null) { - ChatChannel.method2214(); + if (var9 && Login.Login_password.length() < 20) { + Login.Login_password = Login.Login_password + Calendar.field2508; } } - - var3 = MouseHandler.MouseHandler_lastButton; - var15 = MouseHandler.MouseHandler_lastPressedX; - int var16 = MouseHandler.MouseHandler_lastPressedY; - if (var3 == 0) { - var15 = MouseHandler.MouseHandler_x; - var16 = MouseHandler.MouseHandler_y; - } - - if (!DevicePcmPlayerProvider.mouseCam && var3 == 4) { - var3 = 1; - } - - int var7; - short var8; - if (Login.loginIndex == 0) { - boolean var17 = false; - - while (class218.method4109()) { - if (ReflectionCheck.field1338 == 84) { - var17 = true; - } - } - - var7 = ScriptEvent.loginBoxCenter - 80; - var8 = 291; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { - GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); - } - - var7 = ScriptEvent.loginBoxCenter + 80; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20 || var17) { - if ((Client.worldProperties & 33554432) != 0) { - Login.Login_response0 = ""; - Login.Login_response1 = "This is a Beta world."; - Login.Login_response2 = "Your normal account will not be affected."; - Login.Login_response3 = ""; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 4) != 0) { - if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk PvP world."; - Login.Login_response2 = "Players can attack each other almost everywhere"; - Login.Login_response3 = "and the Protect Item prayer won't work."; - } else { - Login.Login_response1 = "This is a PvP world."; - Login.Login_response2 = "Players can attack each other"; - Login.Login_response3 = "almost everywhere."; - } - - Login.Login_response0 = "Warning!"; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk world."; - Login.Login_response2 = "The Protect Item prayer will"; - Login.Login_response3 = "not work on this world."; - Login.Login_response0 = "Warning!"; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else { - FaceNormal.method3266(false); - } - } - } else { - int var18; - short var20; - if (Login.loginIndex != 1) { - boolean var9; - int var10; - short var19; - if (Login.loginIndex == 2) { - var19 = 201; - var18 = var19 + 52; - if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { - Login.currentLoginField = 0; - } - - var18 += 15; - if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { - Login.currentLoginField = 1; - } - - var18 += 15; - var19 = 361; - if (class96.field1325 != null) { - var7 = class96.field1325.highX / 2; - if (var3 == 1 && var15 >= class96.field1325.lowX - var7 && var15 <= var7 + class96.field1325.lowX && var16 >= var19 - 15 && var16 < var19) { - switch(Login.field1212) { - case 1: - class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Login.loginIndex = 5; - return; - case 2: - GrandExchangeOfferWorldComparator.openURL("https://support.runescape.com/hc/en-gb", true, false); - } - } - } - - var7 = ScriptEvent.loginBoxCenter - 80; - var8 = 321; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - class268.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - class268.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - class268.setLoginResponseString("", "Connecting to server...", ""); - GrandExchangeOffer.method99(false); - class96.updateGameState(20); - return; - } - - var7 = Login.loginBoxX + 180 + 80; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - GrandExchangeOffer.field65 = 0; - WorldMapManager.otp = ""; - Login.field1201 = true; - } - - var7 = ScriptEvent.loginBoxCenter + -117; - var8 = 277; - Login.field1199 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; - if (var3 == 1 && Login.field1199) { - Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; - if (!Client.Login_isUsernameRemembered && WorldMapLabelSize.clientPreferences.rememberedUsername != null) { - WorldMapLabelSize.clientPreferences.rememberedUsername = null; - ReflectionCheck.savePreferences(); - } - } - - var7 = ScriptEvent.loginBoxCenter + 24; - var8 = 277; - Login.field1184 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; - if (var3 == 1 && Login.field1184) { - WorldMapLabelSize.clientPreferences.hideUsername = !WorldMapLabelSize.clientPreferences.hideUsername; - if (!WorldMapLabelSize.clientPreferences.hideUsername) { - Login.Login_username = ""; - WorldMapLabelSize.clientPreferences.rememberedUsername = null; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } - - ReflectionCheck.savePreferences(); - } - - while (true) { - while (class218.method4109()) { - var9 = false; - - for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { - if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { - var9 = true; - break; - } - } - - if (ReflectionCheck.field1338 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - GrandExchangeOffer.field65 = 0; - WorldMapManager.otp = ""; - Login.field1201 = true; - } else if (Login.currentLoginField == 0) { - if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { - Login.currentLoginField = 1; - } - - if (var9 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + Calendar.field2508; - } - } else if (Login.currentLoginField == 1) { - if (ReflectionCheck.field1338 == 85 && Login.Login_password.length() > 0) { - Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); - } - - if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { - Login.currentLoginField = 0; - } - - if (ReflectionCheck.field1338 == 84) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - class268.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - class268.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - class268.setLoginResponseString("", "Connecting to server...", ""); - GrandExchangeOffer.method99(false); - class96.updateGameState(20); - return; - } - - if (var9 && Login.Login_password.length() < 20) { - Login.Login_password = Login.Login_password + Calendar.field2508; - } - } - } - - return; - } - } - if (Login.loginIndex == 3) { - var18 = Login.loginBoxX + 180; - var20 = 276; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(false); - } - - var18 = Login.loginBoxX + 180; - var20 = 326; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Login.loginIndex = 5; - return; - } - } else { - int var22; - if (Login.loginIndex == 4) { - var18 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - WorldMapManager.otp.trim(); - if (WorldMapManager.otp.length() != 6) { - class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); - WorldMapManager.otp = ""; - GrandExchangeOffer.method99(true); - class268.setLoginResponseString("", "Connecting to server...", ""); - class96.updateGameState(20); - return; - } - - if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 9 && var15 <= Login.loginBoxX + 180 + 130 && var16 >= 263 && var16 <= 296) { - Login.field1201 = !Login.field1201; - } - - if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 34 && var15 <= Login.loginBoxX + 34 + 180 && var16 >= 351 && var16 <= 363) { - GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); - } - - var18 = Login.loginBoxX + 180 + 80; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - GrandExchangeOffer.field65 = 0; - WorldMapManager.otp = ""; - } - - while (class218.method4109()) { - boolean var21 = false; - - for (var22 = 0; var22 < "1234567890".length(); ++var22) { - if (Calendar.field2508 == "1234567890".charAt(var22)) { - var21 = true; - break; - } - } - - if (ReflectionCheck.field1338 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - GrandExchangeOffer.field65 = 0; - WorldMapManager.otp = ""; - } else { - if (ReflectionCheck.field1338 == 85 && WorldMapManager.otp.length() > 0) { - WorldMapManager.otp = WorldMapManager.otp.substring(0, WorldMapManager.otp.length() - 1); - } - - if (ReflectionCheck.field1338 == 84) { - WorldMapManager.otp.trim(); - if (WorldMapManager.otp.length() != 6) { - class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); - WorldMapManager.otp = ""; - GrandExchangeOffer.method99(true); - class268.setLoginResponseString("", "Connecting to server...", ""); - class96.updateGameState(20); - return; - } - - if (var21 && WorldMapManager.otp.length() < 6) { - WorldMapManager.otp = WorldMapManager.otp + Calendar.field2508; - } - } - } - } else if (Login.loginIndex == 5) { - var18 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - UserComparator10.method3406(); - return; - } - - var18 = Login.loginBoxX + 180 + 80; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(true); - } - - var8 = 361; - if (WorldMapAreaData.field332 != null) { - var22 = WorldMapAreaData.field332.highX / 2; - if (var3 == 1 && var15 >= WorldMapAreaData.field332.lowX - var22 && var15 <= var22 + WorldMapAreaData.field332.lowX && var16 >= var8 - 15 && var16 < var8) { - GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); - } - } - - while (class218.method4109()) { - var9 = false; - - for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { - if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { - var9 = true; - break; - } - } - - if (ReflectionCheck.field1338 == 13) { - FaceNormal.method3266(true); - } else { - if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (ReflectionCheck.field1338 == 84) { - UserComparator10.method3406(); - return; - } - - if (var9 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + Calendar.field2508; - } - } - } - } else if (Login.loginIndex == 6) { - while (true) { - do { - if (!class218.method4109()) { - var19 = 321; - if (var3 == 1 && var16 >= var19 - 20 && var16 <= var19 + 20) { - FaceNormal.method3266(true); - } - - return; - } - } while(ReflectionCheck.field1338 != 84 && ReflectionCheck.field1338 != 13); - - FaceNormal.method3266(true); - } - } else if (Login.loginIndex == 7) { - var18 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=dob/set_dob.ws", true, false); - class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var18 = Login.loginBoxX + 180 + 80; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(true); - } - } else if (Login.loginIndex == 8) { - var18 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - GrandExchangeOfferWorldComparator.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); - class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var18 = Login.loginBoxX + 180 + 80; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(true); - } - } else if (Login.loginIndex == 12) { - String var14 = ""; - switch(Login.field1182) { - case 0: - var14 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; - break; - case 1: - var14 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; - break; - default: - FaceNormal.method3266(false); - } - - var7 = Login.loginBoxX + 180; - var8 = 276; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { - GrandExchangeOfferWorldComparator.openURL(var14, true, false); - class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var7 = Login.loginBoxX + 180; - var8 = 326; - if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { - FaceNormal.method3266(false); - } - } else if (Login.loginIndex == 24) { - var18 = Login.loginBoxX + 180; - var20 = 301; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(false); - } - } - } - } else { - while (class218.method4109()) { - if (ReflectionCheck.field1338 == 84) { - FaceNormal.method3266(false); - } else if (ReflectionCheck.field1338 == 13) { - Login.loginIndex = 0; - } - } - - var18 = ScriptEvent.loginBoxCenter - 80; - var20 = 321; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - FaceNormal.method3266(false); - } - - var18 = ScriptEvent.loginBoxCenter + 80; - if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { - Login.loginIndex = 0; - } - } - } - } + + return; + } + } + if (Login.loginIndex == 3) { + var18 = Login.loginBoxX + 180; + var20 = 276; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); + } + + var18 = Login.loginBoxX + 180; + var20 = 326; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + Login.loginIndex = 5; + } + return; + } + int var22; + if (Login.loginIndex == 4) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + WorldMapManager.otp.trim(); + if (WorldMapManager.otp.length() != 6) { + class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); + WorldMapManager.otp = ""; + GrandExchangeOffer.method99(true); + class268.setLoginResponseString("", "Connecting to server...", ""); + class96.updateGameState(20); + return; + } + + if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 9 && var15 <= Login.loginBoxX + 180 + 130 && var16 >= 263 && var16 <= 296) { + Login.field1201 = !Login.field1201; + } + + if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 34 && var15 <= Login.loginBoxX + 34 + 180 && var16 >= 351 && var16 <= 363) { + GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + } + + while (class218.isKeyDown()) { + boolean var21 = false; + + for (var22 = 0; var22 < "1234567890".length(); ++var22) { + if (Calendar.field2508 == "1234567890".charAt(var22)) { + var21 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + } else { + if (ReflectionCheck.field1338 == 85 && WorldMapManager.otp.length() > 0) { + WorldMapManager.otp = WorldMapManager.otp.substring(0, WorldMapManager.otp.length() - 1); + } + + if (ReflectionCheck.field1338 == 84) { + WorldMapManager.otp.trim(); + if (WorldMapManager.otp.length() != 6) { + class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); + WorldMapManager.otp = ""; + GrandExchangeOffer.method99(true); + class268.setLoginResponseString("", "Connecting to server...", ""); + class96.updateGameState(20); + return; + } + + if (var21 && WorldMapManager.otp.length() < 6) { + WorldMapManager.otp = WorldMapManager.otp + Calendar.field2508; + } + } + } + return; + } + if (Login.loginIndex == 5) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + UserComparator10.method3406(); + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + + var8 = 361; + if (WorldMapAreaData.field332 != null) { + var22 = WorldMapAreaData.field332.highX / 2; + if (var3 == 1 && var15 >= WorldMapAreaData.field332.lowX - var22 && var15 <= var22 + WorldMapAreaData.field332.lowX && var16 >= var8 - 15 && var16 < var8) { + GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); + } + } + + while (class218.isKeyDown()) { + var9 = false; + + for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { + if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { + var9 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + FaceNormal.method3266(true); + } else { + if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ReflectionCheck.field1338 == 84) { + UserComparator10.method3406(); + return; + } + + if (var9 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Calendar.field2508; + } + } + } + return; + } + if (Login.loginIndex == 6) { + while (true) { + do { + if (!class218.isKeyDown()) { + var19 = 321; + if (var3 == 1 && var16 >= var19 - 20 && var16 <= var19 + 20) { + FaceNormal.method3266(true); + } + + return; + } + } while(ReflectionCheck.field1338 != 84 && ReflectionCheck.field1338 != 13); + + FaceNormal.method3266(true); + } + } + if (Login.loginIndex == 7) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + GrandExchangeOfferWorldComparator.openURL(Language.method3666("secure", true) + "m=dob/set_dob.ws", true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + return; + } + if (Login.loginIndex == 8) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + GrandExchangeOfferWorldComparator.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + return; + } + if (Login.loginIndex == 12) { + String var14 = ""; + switch(Login.field1182) { + case 0: + var14 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; + break; + case 1: + var14 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; + break; + default: + FaceNormal.method3266(false); + } + + var7 = Login.loginBoxX + 180; + var8 = 276; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + GrandExchangeOfferWorldComparator.openURL(var14, true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var7 = Login.loginBoxX + 180; + var8 = 326; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + FaceNormal.method3266(false); + } + return; + } + if (Login.loginIndex == 24) { + var18 = Login.loginBoxX + 180; + var20 = 301; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); } } } diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index 1da337aa42..2d47a1015f 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -63,7 +63,8 @@ public class VarcInt extends DualNode { signature = "(Ljava/lang/CharSequence;S)Ljava/lang/String;", garbageValue = "-32757" ) - public static String method4403(CharSequence var0) { + @Export("base37Decode") + public static String base37Decode(CharSequence var0) { long var3 = 0L; int var5 = var0.length(); @@ -87,7 +88,7 @@ public class VarcInt extends DualNode { var3 /= 37L; } - String var8 = class215.method4023(var3); + String var8 = class215.base37DecodeLong(var3); if (var8 == null) { var8 = ""; } diff --git a/runescape-client/src/main/java/VarpDefinition.java b/runescape-client/src/main/java/VarpDefinition.java index c5bfdbf263..f6ed28b8e9 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -88,20 +88,21 @@ public class VarpDefinition extends DualNode { garbageValue = "-17259877" ) public static boolean method4366(char var0) { - if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { - if (var0 != 0) { - char[] var1 = class288.cp1252AsciiExtension; - - for (int var2 = 0; var2 < var1.length; ++var2) { - char var3 = var1[var2]; - if (var0 == var3) { - return true; - } - } - } - + if ((var0 > 0 && var0 < 128) || (var0 >= 160 && var0 <= 255)) { + return true; + } + if (var0 == 0) { return false; } - return true; + char[] var1 = class288.cp1252AsciiExtension; + + for (int var2 = 0; var2 < var1.length; ++var2) { + char var3 = var1[var2]; + if (var0 == var3) { + return true; + } + } + + return false; } } diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index 400e03b615..a0df20e0c5 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -67,17 +67,13 @@ public class Varps { var7 = Client.experience[var2[var4++]]; } - int var9; - Widget var10; - int var11; - int var12; if (var6 == 4) { - var9 = var2[var4++] << 16; + int 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) { + Widget var10 = class80.getWidget(var9); + int var11 = var2[var4++]; + if (var11 != -1 && (!WorldMapArea.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (int var12 = 0; var12 < var10.itemIds.length; ++var12) { if (var11 + 1 == var10.itemIds[var12]) { var7 += var10.itemQuantities[var12]; } @@ -94,7 +90,7 @@ public class Varps { } if (var6 == 7) { - var7 = Varps_main[var2[var4++]] * 100 / 46875; + var7 = Varps_main[var2[var4++]] * 0x64 / 46875; } if (var6 == 8) { @@ -102,7 +98,7 @@ public class Varps { } if (var6 == 9) { - for (var9 = 0; var9 < 25; ++var9) { + for (int var9 = 0; var9 < 25; ++var9) { if (Skills.Skills_enabled[var9]) { var7 += Client.levels[var9]; } @@ -110,12 +106,12 @@ public class Varps { } if (var6 == 10) { - var9 = var2[var4++] << 16; + int 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) { + Widget var10 = class80.getWidget(var9); + int var11 = var2[var4++]; + if (var11 != -1 && (!WorldMapArea.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (int var12 = 0; var12 < var10.itemIds.length; ++var12) { if (var11 + 1 == var10.itemIds[var12]) { var7 = 999999999; break; @@ -133,13 +129,13 @@ public class Varps { } if (var6 == 13) { - var9 = Varps_main[var2[var4++]]; + int var9 = Varps_main[var2[var4++]]; int var13 = var2[var4++]; var7 = (var9 & 1 << var13) != 0 ? 1 : 0; } if (var6 == 14) { - var9 = var2[var4++]; + int var9 = var2[var4++]; var7 = GrandExchangeOfferOwnWorldComparator.getVarbit(var9); } @@ -167,27 +163,27 @@ public class Varps { 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 { + if (var8 != 0) { var5 = var8; + continue; } + if (var5 == 0) { + var3 += var7; + } + + if (var5 == 1) { + var3 -= var7; + } + + if (var5 == 2 && var7 != 0) { + var3 /= var7; + } + + if (var5 == 3) { + var3 *= var7; + } + + var5 = 0; } } catch (Exception var14) { return -1; diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index 9dc3409995..91a43b8d13 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -1,4 +1,5 @@ import java.util.Iterator; +import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; @@ -11,22 +12,26 @@ public class VertexNormal { @ObfuscatedGetter( intValue = 741962059 ) - int field1759; + @Export("x") + int x; @ObfuscatedName("w") @ObfuscatedGetter( intValue = -1828551341 ) - int field1760; + @Export("y") + int y; @ObfuscatedName("e") @ObfuscatedGetter( intValue = 1911535461 ) - int field1758; + @Export("z") + int z; @ObfuscatedName("p") @ObfuscatedGetter( intValue = -171249661 ) - int field1761; + @Export("magnitude") + int magnitude; VertexNormal() { } @@ -35,10 +40,10 @@ public class VertexNormal { signature = "(Ldd;)V" ) VertexNormal(VertexNormal var1) { - this.field1759 = var1.field1759; - this.field1760 = var1.field1760; - this.field1758 = var1.field1758; - this.field1761 = var1.field1761; + this.x = var1.x; + this.y = var1.y; + this.z = var1.z; + this.magnitude = var1.magnitude; } @ObfuscatedName("jz") @@ -46,7 +51,8 @@ public class VertexNormal { signature = "(B)V", garbageValue = "6" ) - static final void method2972() { + @Export("FriendSystem_invalidateFriends") + static final void FriendSystem_invalidateFriends() { for (int var0 = 0; var0 < Players.Players_count; ++var0) { Player var1 = Client.players[Players.Players_indices[var0]]; var1.clearIsFriend(); diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index 12bbe70407..fa6627bc6f 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -130,41 +130,43 @@ public class ViewportMouse { static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { long var6 = (long)((var1 << 16) + var2); NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); + if (var8 != null) { + return; + } + var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); + if (var8 != null) { + return; + } + var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); + if (var8 != null) { + if (var5) { + var8.removeDual(); + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingPriorityWritesCount; + } + + } else { + if (!var5) { + var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); if (var8 != null) { - if (var5) { - var8.removeDual(); - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingPriorityWritesCount; - } - - } else { - if (!var5) { - var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); - if (var8 != null) { - return; - } - } - - var8 = new NetFileRequest(); - var8.archive = var0; - var8.crc = var3; - var8.padding = var4; - if (var5) { - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - ++NetCache.NetCache_pendingPriorityWritesCount; - } else { - NetCache.NetCache_pendingWritesQueue.addFirst(var8); - NetCache.NetCache_pendingWrites.put(var8, var6); - ++NetCache.NetCache_pendingWritesCount; - } - + return; } } + + var8 = new NetFileRequest(); + var8.archive = var0; + var8.crc = var3; + var8.padding = var4; + if (var5) { + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + ++NetCache.NetCache_pendingPriorityWritesCount; + } else { + NetCache.NetCache_pendingWritesQueue.addFirst(var8); + NetCache.NetCache_pendingWrites.put(var8, var6); + ++NetCache.NetCache_pendingWritesCount; + } + } } diff --git a/runescape-client/src/main/java/VorbisSample.java b/runescape-client/src/main/java/VorbisSample.java index 7d679170a5..bdbac439f9 100644 --- a/runescape-client/src/main/java/VorbisSample.java +++ b/runescape-client/src/main/java/VorbisSample.java @@ -354,17 +354,14 @@ public class VorbisSample extends Node { var43[var17 + var47] = var43[var4 - var47 - 1]; } - float[] var10000; for (var47 = var8; var47 < var9; ++var47) { var27 = (float)Math.sin(((double)(var47 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); - var10000 = field1378; - var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + field1378[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); } for (var47 = var11; var47 < var12; ++var47) { var27 = (float)Math.sin(((double)(var47 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); - var10000 = field1378; - var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + field1378[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); } } @@ -453,14 +450,14 @@ public class VorbisSample extends Node { @ObfuscatedName("q") @Export("float32Unpack") static float float32Unpack(int var0) { - int var1 = var0 & 2097151; + int var1 = var0 & 0x1fffff; int var2 = var0 & Integer.MIN_VALUE; - int var3 = (var0 & 2145386496) >> 21; + int var3 = (var0 & 0x7fe00000) >> 21; if (var2 != 0) { var1 = -var1; } - return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); + return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 0x314))); } @ObfuscatedName("w") diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 1e76e0656f..da1ae12d21 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -805,14 +805,14 @@ public class Widget extends Node { this.rawHeight = var1.readUnsignedShort(); this.transparencyTop = var1.readUnsignedByte(); this.parentId = var1.readUnsignedShort(); - if (this.parentId == 65535) { + if (this.parentId == 0xffff) { this.parentId = -1; } else { - this.parentId += this.id & -65536; + this.parentId += this.id & 0xffff0000; } this.mouseOverRedirect = var1.readUnsignedShort(); - if (this.mouseOverRedirect == 65535) { + if (this.mouseOverRedirect == 0xffff) { this.mouseOverRedirect = -1; } @@ -841,7 +841,7 @@ public class Widget extends Node { for (var6 = 0; var6 < var5; ++var6) { this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); - if (this.cs1Instructions[var4][var6] == 65535) { + if (this.cs1Instructions[var4][var6] == 0xffff) { this.cs1Instructions[var4][var6] = -1; } } @@ -919,7 +919,7 @@ public class Widget extends Node { this.textYAlignment = var1.readUnsignedByte(); this.textLineHeight = var1.readUnsignedByte(); this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { + if (this.fontId == 0xffff) { this.fontId = -1; } @@ -949,23 +949,23 @@ public class Widget extends Node { if (this.type == 6) { this.modelType = 1; this.modelId = var1.readUnsignedShort(); - if (this.modelId == 65535) { + if (this.modelId == 0xffff) { this.modelId = -1; } this.modelType2 = 1; this.modelId2 = var1.readUnsignedShort(); - if (this.modelId2 == 65535) { + if (this.modelId2 == 0xffff) { this.modelId2 = -1; } this.sequenceId = var1.readUnsignedShort(); - if (this.sequenceId == 65535) { + if (this.sequenceId == 0xffff) { this.sequenceId = -1; } this.sequenceId2 = var1.readUnsignedShort(); - if (this.sequenceId2 == 65535) { + if (this.sequenceId2 == 0xffff) { this.sequenceId2 = -1; } @@ -979,7 +979,7 @@ public class Widget extends Node { this.itemQuantities = new int[this.rawHeight * this.rawWidth]; this.textXAlignment = var1.readUnsignedByte(); this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { + if (this.fontId == 0xffff) { this.fontId = -1; } @@ -1070,10 +1070,10 @@ public class Widget extends Node { this.xAlignment = var1.readByte(); this.yAlignment = var1.readByte(); this.parentId = var1.readUnsignedShort(); - if (this.parentId == 65535) { + if (this.parentId == 0xffff) { this.parentId = -1; } else { - this.parentId += this.id & -65536; + this.parentId += this.id & 0xffff0000; } this.isHidden = var1.readUnsignedByte() == 1; @@ -1097,7 +1097,7 @@ public class Widget extends Node { if (this.type == 6) { this.modelType = 1; this.modelId = var1.readUnsignedShort(); - if (this.modelId == 65535) { + if (this.modelId == 0xffff) { this.modelId = -1; } @@ -1108,7 +1108,7 @@ public class Widget extends Node { this.modelAngleZ = var1.readUnsignedShort(); this.modelZoom = var1.readUnsignedShort(); this.sequenceId = var1.readUnsignedShort(); - if (this.sequenceId == 65535) { + if (this.sequenceId == 0xffff) { this.sequenceId = -1; } @@ -1125,7 +1125,7 @@ public class Widget extends Node { if (this.type == 4) { this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { + if (this.fontId == 0xffff) { this.fontId = -1; } @@ -1337,25 +1337,25 @@ public class Widget extends Node { @Export("getInventorySprite") public Sprite getInventorySprite(int var1) { field2562 = false; - if (var1 >= 0 && var1 < this.inventorySprites.length) { - int var2 = this.inventorySprites[var1]; - if (var2 == -1) { - return null; - } - Sprite var3 = (Sprite)Widget_cachedSprites.get((long)var2); - if (var3 != null) { - return var3; - } - var3 = class65.SpriteBuffer_getSprite(class216.Widget_spritesArchive, var2, 0); - if (var3 != null) { - Widget_cachedSprites.put(var3, (long)var2); - } else { - field2562 = true; - } - + if (var1 < 0 || var1 >= this.inventorySprites.length) { + return null; + } + int var2 = this.inventorySprites[var1]; + if (var2 == -1) { + return null; + } + Sprite var3 = (Sprite)Widget_cachedSprites.get((long)var2); + if (var3 != null) { return var3; } - return null; + var3 = class65.SpriteBuffer_getSprite(class216.Widget_spritesArchive, var2, 0); + if (var3 != null) { + Widget_cachedSprites.put(var3, (long)var2); + } else { + field2562 = true; + } + + return var3; } @ObfuscatedName("v") @@ -1386,7 +1386,7 @@ public class Widget extends Node { if (var7 == null) { ModelData var8; if (var5 == 1) { - var8 = ModelData.method2769(ViewportMouse.Widget_modelsArchive, var6, 0); + var8 = ModelData.ModelData_get(ViewportMouse.Widget_modelsArchive, var6, 0); if (var8 == null) { field2562 = true; return null; @@ -1420,8 +1420,8 @@ public class Widget extends Node { } if (var5 == 4) { - ItemDefinition var9 = WorldMapArea.getItemDefinition(var6); - var8 = var9.method4643(10); + ItemDefinition var9 = WorldMapArea.ItemDefinition_get(var6); + var8 = var9.getModelData(10); if (var8 == null) { field2562 = true; return null; @@ -1538,18 +1538,22 @@ public class Widget extends Node { for (int var4 = var1; var4 < var2 + var1; var4 += 3) { int var5 = var0[var4] & 255; var3.append(class290.field3673[var5 >>> 2]); - if (var4 < var2 - 1) { - int var6 = var0[var4 + 1] & 255; - var3.append(class290.field3673[(var5 & 3) << 4 | var6 >>> 4]); - if (var4 < var2 - 2) { - int var7 = var0[var4 + 2] & 255; - var3.append(class290.field3673[(var6 & 15) << 2 | var7 >>> 6]).append(class290.field3673[var7 & 63]); - } else { - var3.append(class290.field3673[(var6 & 15) << 2]).append("="); - } - } else { + + if (var4 >= var2 - 1) { var3.append(class290.field3673[(var5 & 3) << 4]).append("=="); + continue; } + + int var6 = var0[var4 + 1] & 255; + var3.append(class290.field3673[(var5 & 3) << 4 | var6 >>> 4]); + + if (var4 >= var2 - 2) { + var3.append(class290.field3673[(var6 & 15) << 2]).append("="); + continue; + } + + int var7 = var0[var4 + 2] & 255; + var3.append(class290.field3673[(var6 & 15) << 2 | var7 >>> 6]).append(class290.field3673[var7 & 63]); } return var3.toString(); @@ -1574,461 +1578,466 @@ public class Widget extends Node { signature = "(Lbd;IIBI)V", garbageValue = "310839135" ) - static final void method4056(Player var0, int var1, int var2, byte var3) { + static final void method4056(Player var0, int x, int y, byte var3) { int var4 = var0.pathX[0]; int var5 = var0.pathY[0]; int var6 = var0.transformedSize(); - if (var4 >= var6 && var4 < 104 - var6 && var5 >= var6 && var5 < 104 - var6) { - if (var1 >= var6 && var1 < 104 - var6 && var2 >= var6 && var2 < 104 - var6) { - int var8 = var0.transformedSize(); - RouteStrategy var9 = WorldMapAreaData.method667(var1, var2); - CollisionMap var10 = Client.collisionMaps[var0.plane]; - int[] var11 = Client.field929; - int[] var12 = Client.field930; + if (var4 < var6 || var4 >= 104 - var6 || var5 < var6 || var5 >= 104 - var6) { + return; + } + if (x < var6 || x >= 104 - var6 || y < var6 || y >= 104 - var6) { + return; + } + int var8 = var0.transformedSize(); + RouteStrategy var9 = WorldMapAreaData.method667(x, y); + CollisionMap var10 = Client.collisionMaps[var0.plane]; + int[] var11 = Client.field929; + int[] var12 = Client.field930; - int var13; - int var14; - for (var13 = 0; var13 < 128; ++var13) { - for (var14 = 0; var14 < 128; ++var14) { - class173.directions[var13][var14] = 0; - class173.distances[var13][var14] = 99999999; + int var13; + int var14; + for (var13 = 0; var13 < 128; ++var13) { + for (var14 = 0; var14 < 128; ++var14) { + class173.directions[var13][var14] = 0; + class173.distances[var13][var14] = 99999999; + } + } + + int var15; + int var16; + byte var17; + byte var18; + int var19; + int var20; + byte var21; + int var22; + int[][] var23; + int var24; + int var25; + int var26; + int var27; + boolean var33; + boolean var34; + int var35; + int var36; + int var38; + if (var8 == 1) { + var15 = var4; + var16 = var5; + var17 = 64; + var18 = 64; + var19 = var4 - var17; + var20 = var5 - var18; + class173.directions[var17][var18] = 99; + class173.distances[var17][var18] = 0; + var21 = 0; + var22 = 0; + class173.bufferX[var21] = var4; + var38 = var21 + 1; + class173.bufferY[var21] = var5; + var23 = var10.flags; + + while (true) { + if (var38 != var22) { + var15 = class173.bufferX[var22]; + var16 = class173.bufferY[var22]; + var22 = var22 + 1 & 4095; + var35 = var15 - var19; + var36 = var16 - var20; + var24 = var15 - var10.xInset; + var25 = var16 - var10.yInset; + if (var9.hasArrived(1, var15, var16, var10)) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = true; + break; + } + + var26 = class173.distances[var35][var36] + 1; + if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136776) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36] = 2; + class173.distances[var35 - 1][var36] = var26; + } + + if (var35 < 127 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + 1][var25] & 19136896) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36] = 8; + class173.distances[var35 + 1][var36] = var26; + } + + if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 - 1] = 1; + class173.distances[var35][var36 - 1] = var26; + } + + if (var36 < 127 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 + 1] = 4; + class173.distances[var35][var36 + 1] = var26; + } + + if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 - 1] = 3; + class173.distances[var35 - 1][var36 - 1] = var26; + } + + if (var35 < 127 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + 1][var25 - 1] & 19136899) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 - 1] = 9; + class173.distances[var35 + 1][var36 - 1] = var26; + } + + if (var35 > 0 && var36 < 127 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + 1] & 19136824) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 + 1] = 6; + class173.distances[var35 - 1][var36 + 1] = var26; + } + + if (var35 < 127 && var36 < 127 && class173.directions[var35 + 1][var36 + 1] == 0 && (var23[var24 + 1][var25 + 1] & 19136992) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 + 1] = 12; + class173.distances[var35 + 1][var36 + 1] = var26; } } + else { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = false; + break; + } - int var15; - int var16; - byte var17; - byte var18; - int var19; - int var20; - byte var21; - int var22; - int[][] var23; - int var24; - int var25; - int var26; - int var27; - boolean var33; - boolean var34; - int var35; - int var36; - int var38; - if (var8 == 1) { - var15 = var4; - var16 = var5; - var17 = 64; - var18 = 64; - var19 = var4 - var17; - var20 = var5 - var18; - class173.directions[var17][var18] = 99; - class173.distances[var17][var18] = 0; - var21 = 0; - var22 = 0; - class173.bufferX[var21] = var4; - var38 = var21 + 1; - class173.bufferY[var21] = var5; - var23 = var10.flags; + } - while (true) { - if (var38 == var22) { - class173.field2088 = var15; - class218.field2707 = var16; - var34 = false; - break; - } + var33 = var34; + } else if (var8 == 2) { + var33 = Frames.method3267(var4, var5, var9, var10); + } else { + var15 = var4; + var16 = var5; + var17 = 64; + var18 = 64; + var19 = var4 - var17; + var20 = var5 - var18; + class173.directions[var17][var18] = 99; + class173.distances[var17][var18] = 0; + var21 = 0; + var22 = 0; + class173.bufferX[var21] = var4; + var38 = var21 + 1; + class173.bufferY[var21] = var5; + var23 = var10.flags; - var15 = class173.bufferX[var22]; - var16 = class173.bufferY[var22]; - var22 = var22 + 1 & 4095; - var35 = var15 - var19; - var36 = var16 - var20; - var24 = var15 - var10.xInset; - var25 = var16 - var10.yInset; - if (var9.vmethod3594(1, var15, var16, var10)) { - class173.field2088 = var15; - class218.field2707 = var16; - var34 = true; - break; - } - - var26 = class173.distances[var35][var36] + 1; - if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136776) == 0) { - class173.bufferX[var38] = var15 - 1; - class173.bufferY[var38] = var16; - var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36] = 2; - class173.distances[var35 - 1][var36] = var26; - } - - if (var35 < 127 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + 1][var25] & 19136896) == 0) { - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36] = 8; - class173.distances[var35 + 1][var36] = var26; - } - - if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { - class173.bufferX[var38] = var15; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35][var36 - 1] = 1; - class173.distances[var35][var36 - 1] = var26; - } - - if (var36 < 127 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { - class173.bufferX[var38] = var15; - class173.bufferY[var38] = var16 + 1; - var38 = var38 + 1 & 4095; - class173.directions[var35][var36 + 1] = 4; - class173.distances[var35][var36 + 1] = var26; - } - - if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { - class173.bufferX[var38] = var15 - 1; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36 - 1] = 3; - class173.distances[var35 - 1][var36 - 1] = var26; - } - - if (var35 < 127 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + 1][var25 - 1] & 19136899) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36 - 1] = 9; - class173.distances[var35 + 1][var36 - 1] = var26; - } - - if (var35 > 0 && var36 < 127 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + 1] & 19136824) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { - class173.bufferX[var38] = var15 - 1; - class173.bufferY[var38] = var16 + 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36 + 1] = 6; - class173.distances[var35 - 1][var36 + 1] = var26; - } - - if (var35 < 127 && var36 < 127 && class173.directions[var35 + 1][var36 + 1] == 0 && (var23[var24 + 1][var25 + 1] & 19136992) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16 + 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36 + 1] = 12; - class173.distances[var35 + 1][var36 + 1] = var26; - } - } - - var33 = var34; - } else if (var8 == 2) { - var33 = Frames.method3267(var4, var5, var9, var10); - } else { - var15 = var4; - var16 = var5; - var17 = 64; - var18 = 64; - var19 = var4 - var17; - var20 = var5 - var18; - class173.directions[var17][var18] = 99; - class173.distances[var17][var18] = 0; - var21 = 0; - var22 = 0; - class173.bufferX[var21] = var4; - var38 = var21 + 1; - class173.bufferY[var21] = var5; - var23 = var10.flags; - - label640: - while (true) { - label638: - while (true) { + label640: + while (true) { + label638: + while (true) { + do { + do { do { + label615: do { - do { - label615: - do { - if (var22 == var38) { - class173.field2088 = var15; - class218.field2707 = var16; - var34 = false; - break label640; - } + if (var22 == var38) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = false; + break label640; + } - var15 = class173.bufferX[var22]; - var16 = class173.bufferY[var22]; - var22 = var22 + 1 & 4095; - var35 = var15 - var19; - var36 = var16 - var20; - var24 = var15 - var10.xInset; - var25 = var16 - var10.yInset; - if (var9.vmethod3594(var8, var15, var16, var10)) { - class173.field2088 = var15; - class218.field2707 = var16; - var34 = true; - break label640; - } + var15 = class173.bufferX[var22]; + var16 = class173.bufferY[var22]; + var22 = var22 + 1 & 4095; + var35 = var15 - var19; + var36 = var16 - var20; + var24 = var15 - var10.xInset; + var25 = var16 - var10.yInset; + if (var9.hasArrived(var8, var15, var16, var10)) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = true; + break label640; + } - var26 = class173.distances[var35][var36] + 1; - if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136782) == 0 && (var23[var24 - 1][var8 + var25 - 1] & 19136824) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8 - 1) { - class173.bufferX[var38] = var15 - 1; - class173.bufferY[var38] = var16; - var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36] = 2; - class173.distances[var35 - 1][var36] = var26; - break; - } - - if ((var23[var24 - 1][var27 + var25] & 19136830) != 0) { - break; - } - - ++var27; - } - } - - if (var35 < 128 - var8 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + var8][var25] & 19136899) == 0 && (var23[var24 + var8][var25 + var8 - 1] & 19136992) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8 - 1) { - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36] = 8; - class173.distances[var35 + 1][var36] = var26; - break; - } - - if ((var23[var8 + var24][var27 + var25] & 19136995) != 0) { - break; - } - - ++var27; - } - } - - if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136782) == 0 && (var23[var24 + var8 - 1][var25 - 1] & 19136899) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8 - 1) { - class173.bufferX[var38] = var15; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35][var36 - 1] = 1; - class173.distances[var35][var36 - 1] = var26; - break; - } - - if ((var23[var27 + var24][var25 - 1] & 19136911) != 0) { - break; - } - - ++var27; - } - } - - if (var36 < 128 - var8 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var8 + var25] & 19136824) == 0 && (var23[var8 + var24 - 1][var8 + var25] & 19136992) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8 - 1) { - class173.bufferX[var38] = var15; - class173.bufferY[var38] = var16 + 1; - var38 = var38 + 1 & 4095; - class173.directions[var35][var36 + 1] = 4; - class173.distances[var35][var36 + 1] = var26; - break; - } - - if ((var23[var27 + var24][var8 + var25] & 19137016) != 0) { - break; - } - - ++var27; - } - } - - if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8) { - class173.bufferX[var38] = var15 - 1; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36 - 1] = 3; - class173.distances[var35 - 1][var36 - 1] = var26; - break; - } - - if ((var23[var24 - 1][var27 + (var25 - 1)] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 - 1] & 19136911) != 0) { - break; - } - - ++var27; - } - } - - if (var35 < 128 - var8 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + var8][var25 - 1] & 19136899) == 0) { - var27 = 1; - - while (true) { - if (var27 >= var8) { - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16 - 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36 - 1] = 9; - class173.distances[var35 + 1][var36 - 1] = var26; - break; - } - - if ((var23[var8 + var24][var27 + (var25 - 1)] & 19136995) != 0 || (var23[var24 + var27][var25 - 1] & 19136911) != 0) { - break; - } - - ++var27; - } - } - - if (var35 > 0 && var36 < 128 - var8 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var8 + var25] & 19136824) == 0) { - for (var27 = 1; var27 < var8; ++var27) { - if ((var23[var24 - 1][var25 + var27] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 + var8] & 19137016) != 0) { - continue label615; - } - } + var26 = class173.distances[var35][var36] + 1; + if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136782) == 0 && (var23[var24 - 1][var8 + var25 - 1] & 19136824) == 0) { + var27 = 1; + while (true) { + if (var27 >= var8 - 1) { class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36] = 2; + class173.distances[var35 - 1][var36] = var26; + break; + } + + if ((var23[var24 - 1][var27 + var25] & 19136830) != 0) { + break; + } + + ++var27; + } + } + + if (var35 < 128 - var8 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + var8][var25] & 19136899) == 0 && (var23[var24 + var8][var25 + var8 - 1] & 19136992) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36] = 8; + class173.distances[var35 + 1][var36] = var26; + break; + } + + if ((var23[var8 + var24][var27 + var25] & 19136995) != 0) { + break; + } + + ++var27; + } + } + + if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136782) == 0 && (var23[var24 + var8 - 1][var25 - 1] & 19136899) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 - 1] = 1; + class173.distances[var35][var36 - 1] = var26; + break; + } + + if ((var23[var27 + var24][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } + } + + if (var36 < 128 - var8 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var8 + var25] & 19136824) == 0 && (var23[var8 + var24 - 1][var8 + var25] & 19136992) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15; class173.bufferY[var38] = var16 + 1; var38 = var38 + 1 & 4095; - class173.directions[var35 - 1][var36 + 1] = 6; - class173.distances[var35 - 1][var36 + 1] = var26; + class173.directions[var35][var36 + 1] = 4; + class173.distances[var35][var36 + 1] = var26; + break; } - } while(var35 >= 128 - var8); - } while(var36 >= 128 - var8); - } while(class173.directions[var35 + 1][var36 + 1] != 0); - } while((var23[var24 + var8][var25 + var8] & 19136992) != 0); - for (var27 = 1; var27 < var8; ++var27) { - if ((var23[var24 + var27][var8 + var25] & 19137016) != 0 || (var23[var8 + var24][var27 + var25] & 19136995) != 0) { - continue label638; - } - } + if ((var23[var27 + var24][var8 + var25] & 19137016) != 0) { + break; + } - class173.bufferX[var38] = var15 + 1; - class173.bufferY[var38] = var16 + 1; - var38 = var38 + 1 & 4095; - class173.directions[var35 + 1][var36 + 1] = 12; - class173.distances[var35 + 1][var36 + 1] = var26; - } - } - - var33 = var34; - } - - int var7; - label696: { - var14 = var4 - 64; - var15 = var5 - 64; - var16 = class173.field2088; - var35 = class218.field2707; - if (!var33) { - var36 = Integer.MAX_VALUE; - var19 = Integer.MAX_VALUE; - byte var37 = 10; - var38 = var9.approxDestinationX; - var22 = var9.approxDestinationY; - int var32 = var9.approxDestinationSizeX; - var24 = var9.approxDestinationSizeY; - - for (var25 = var38 - var37; var25 <= var37 + var38; ++var25) { - for (var26 = var22 - var37; var26 <= var37 + var22; ++var26) { - var27 = var25 - var14; - int var28 = var26 - var15; - if (var27 >= 0 && var28 >= 0 && var27 < 128 && var28 < 128 && class173.distances[var27][var28] < 100) { - int var29 = 0; - if (var25 < var38) { - var29 = var38 - var25; - } else if (var25 > var38 + var32 - 1) { - var29 = var25 - (var32 + var38 - 1); + ++var27; + } } - int var30 = 0; - if (var26 < var22) { - var30 = var22 - var26; - } else if (var26 > var24 + var22 - 1) { - var30 = var26 - (var24 + var22 - 1); + if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 - 1] = 3; + class173.distances[var35 - 1][var36 - 1] = var26; + break; + } + + if ((var23[var24 - 1][var27 + (var25 - 1)] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } } - int var31 = var29 * var29 + var30 * var30; - if (var31 < var36 || var31 == var36 && class173.distances[var27][var28] < var19) { - var36 = var31; - var19 = class173.distances[var27][var28]; - var16 = var25; - var35 = var26; + if (var35 < 128 - var8 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + var8][var25 - 1] & 19136899) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 - 1] = 9; + class173.distances[var35 + 1][var36 - 1] = var26; + break; + } + + if ((var23[var8 + var24][var27 + (var25 - 1)] & 19136995) != 0 || (var23[var24 + var27][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } } - } - } - } - if (var36 == Integer.MAX_VALUE) { - var7 = -1; - break label696; + if (var35 > 0 && var36 < 128 - var8 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var8 + var25] & 19136824) == 0) { + for (var27 = 1; var27 < var8; ++var27) { + if ((var23[var24 - 1][var25 + var27] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 + var8] & 19137016) != 0) { + continue label615; + } + } + + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 + 1] = 6; + class173.distances[var35 - 1][var36 + 1] = var26; + } + } while(var35 >= 128 - var8); + } while(var36 >= 128 - var8); + } while(class173.directions[var35 + 1][var36 + 1] != 0); + } while((var23[var24 + var8][var25 + var8] & 19136992) != 0); + + for (var27 = 1; var27 < var8; ++var27) { + if ((var23[var24 + var27][var8 + var25] & 19137016) != 0 || (var23[var8 + var24][var27 + var25] & 19136995) != 0) { + continue label638; } } - if (var4 == var16 && var5 == var35) { - var7 = 0; - } else { - var18 = 0; - class173.bufferX[var18] = var16; - var36 = var18 + 1; - class173.bufferY[var18] = var35; - - for (var19 = var20 = class173.directions[var16 - var14][var35 - var15]; var16 != var4 || var5 != var35; var19 = class173.directions[var16 - var14][var35 - var15]) { - if (var19 != var20) { - var20 = var19; - class173.bufferX[var36] = var16; - class173.bufferY[var36++] = var35; - } - - if ((var19 & 2) != 0) { - ++var16; - } else if ((var19 & 8) != 0) { - --var16; - } - - if ((var19 & 1) != 0) { - ++var35; - } else if ((var19 & 4) != 0) { - --var35; - } - } - - var38 = 0; - - while (var36-- > 0) { - var11[var38] = class173.bufferX[var36]; - var12[var38++] = class173.bufferY[var36]; - if (var38 >= var11.length) { - break; - } - } - - var7 = var38; - } - } - - var13 = var7; - if (var7 >= 1) { - for (var14 = 0; var14 < var13 - 1; ++var14) { - var0.method1191(Client.field929[var14], Client.field930[var14], var3); - } - + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 + 1] = 12; + class173.distances[var35 + 1][var36 + 1] = var26; } } + + var33 = var34; + } + + int var7; + label696: { + var14 = var4 - 64; + var15 = var5 - 64; + var16 = class173.field2088; + var35 = class218.field2707; + if (!var33) { + var36 = Integer.MAX_VALUE; + var19 = Integer.MAX_VALUE; + byte var37 = 10; + var38 = var9.approxDestinationX; + var22 = var9.approxDestinationY; + int var32 = var9.approxDestinationSizeX; + var24 = var9.approxDestinationSizeY; + + for (var25 = var38 - var37; var25 <= var37 + var38; ++var25) { + for (var26 = var22 - var37; var26 <= var37 + var22; ++var26) { + var27 = var25 - var14; + int var28 = var26 - var15; + if (var27 < 0 || var28 < 0 || var27 >= 128 || var28 >= 128 || class173.distances[var27][var28] >= 100) { + continue; + } + int var29 = 0; + if (var25 < var38) { + var29 = var38 - var25; + } else if (var25 > var38 + var32 - 1) { + var29 = var25 - (var32 + var38 - 1); + } + + int var30 = 0; + if (var26 < var22) { + var30 = var22 - var26; + } else if (var26 > var24 + var22 - 1) { + var30 = var26 - (var24 + var22 - 1); + } + + int var31 = var29 * var29 + var30 * var30; + if (var31 < var36 || var31 == var36 && class173.distances[var27][var28] < var19) { + var36 = var31; + var19 = class173.distances[var27][var28]; + var16 = var25; + var35 = var26; + } + } + } + + if (var36 == Integer.MAX_VALUE) { + var7 = -1; + break label696; + } + } + + if (var4 == var16 && var5 == var35) { + var7 = 0; + } else { + var18 = 0; + class173.bufferX[var18] = var16; + var36 = var18 + 1; + class173.bufferY[var18] = var35; + + for (var19 = var20 = class173.directions[var16 - var14][var35 - var15]; var16 != var4 || var5 != var35; var19 = class173.directions[var16 - var14][var35 - var15]) { + if (var19 != var20) { + var20 = var19; + class173.bufferX[var36] = var16; + class173.bufferY[var36++] = var35; + } + + if ((var19 & 2) != 0) { + ++var16; + } else if ((var19 & 8) != 0) { + --var16; + } + + if ((var19 & 1) != 0) { + ++var35; + } else if ((var19 & 4) != 0) { + --var35; + } + } + + var38 = 0; + + while (var36-- > 0) { + var11[var38] = class173.bufferX[var36]; + var12[var38++] = class173.bufferY[var36]; + if (var38 >= var11.length) { + break; + } + } + + var7 = var38; + } + } + + var13 = var7; + if (var7 >= 1) { + for (var14 = 0; var14 < var13 - 1; ++var14) { + var0.method1191(Client.field929[var14], Client.field930[var14], var3); + } + } } @@ -2038,22 +2047,23 @@ public class Widget extends Node { garbageValue = "-174761515" ) static void method4090() { - if (Client.field736 && Client.localPlayer != null) { - int var0 = Client.localPlayer.pathX[0]; - int var1 = Client.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { - return; - } - - MouseHandler.oculusOrbFocalPointX = Client.localPlayer.x; - int var2 = ScriptEvent.getTileHeight(Client.localPlayer.x, Client.localPlayer.y, class42.plane) - Client.camFollowHeight; - if (var2 < Client.field729) { - Client.field729 = var2; - } - - WorldMapArea.oculusOrbFocalPointY = Client.localPlayer.y; - Client.field736 = false; + if (!Client.field736 || Client.localPlayer == null) { + return; } + int var0 = Client.localPlayer.pathX[0]; + int var1 = Client.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + MouseHandler.oculusOrbFocalPointX = Client.localPlayer.x; + int var2 = ScriptEvent.getTileHeight(Client.localPlayer.x, Client.localPlayer.y, class42.plane) - Client.camFollowHeight; + if (var2 < Client.field729) { + Client.field729 = var2; + } + + WorldMapArea.oculusOrbFocalPointY = Client.localPlayer.y; + Client.field736 = false; } } diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 2cad844dd9..7cf6a822b4 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -11,31 +11,32 @@ public class World { @ObfuscatedSignature( signature = "[Lbw;" ) - @Export("worlds") - static World[] worlds; + @Export("World_worlds") + static World[] World_worlds; @ObfuscatedName("l") @ObfuscatedGetter( intValue = 774267173 ) - @Export("worldsCount") - static int worldsCount; + @Export("World_count") + static int World_count; @ObfuscatedName("b") @ObfuscatedGetter( intValue = -2084454035 ) - @Export("worldListWorldCount") - static int worldListWorldCount; + @Export("World_listCount") + static int World_listCount; @ObfuscatedName("i") - @Export("sortOption2") - static int[] sortOption2; + @Export("World_sortOption2") + static int[] World_sortOption2; @ObfuscatedName("c") - @Export("sortOption1") - static int[] sortOption1; + @Export("World_sortOption1") + static int[] World_sortOption1; @ObfuscatedName("f") @ObfuscatedSignature( signature = "Lex;" ) - static UrlRequest field1027; + @Export("World_request") + static UrlRequest World_request; @ObfuscatedName("m") @ObfuscatedGetter( intValue = 790181133 @@ -74,10 +75,10 @@ public class World { int index; static { - worldsCount = 0; - worldListWorldCount = 0; - sortOption2 = new int[]{1, 1, 1, 1}; - sortOption1 = new int[]{0, 1, 2, 3}; + World_count = 0; + World_listCount = 0; + World_sortOption2 = new int[]{1, 1, 1, 1}; + World_sortOption1 = new int[]{0, 1, 2, 3}; } World() { @@ -109,7 +110,7 @@ public class World { ) @Export("isPvp") boolean isPvp() { - return (4 & this.properties) != 0; + return (0x4 & this.properties) != 0; } @ObfuscatedName("r") @@ -118,7 +119,7 @@ public class World { garbageValue = "1749102436" ) boolean method1698() { - return (8 & this.properties) != 0; + return (0x8 & this.properties) != 0; } @ObfuscatedName("v") @@ -128,7 +129,7 @@ public class World { ) @Export("isDeadman") boolean isDeadman() { - return (536870912 & this.properties) != 0; + return (0x20000000 & this.properties) != 0; } @ObfuscatedName("y") @@ -138,7 +139,7 @@ public class World { ) @Export("isBeta") boolean isBeta() { - return (33554432 & this.properties) != 0; + return (0x2000000 & this.properties) != 0; } @ObfuscatedName("p") @@ -146,7 +147,8 @@ public class World { signature = "(Lkx;B)I", garbageValue = "80" ) - static int method1686(PacketBuffer var0) { + @Export("decode") + static int decode(PacketBuffer var0) { int var1 = var0.readBits(2); int var2; if (var1 == 0) { @@ -184,7 +186,7 @@ public class World { int var7; int var8; if (var6 > 0) { - var1.switches = var1.method2182(var6); + var1.switches = var1.newIterableNodeHashTable(var6); for (var7 = 0; var7 < var6; ++var7) { var8 = var2.readUnsignedShort(); diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index b03f448dc3..dff4935462 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -341,7 +341,7 @@ public class WorldMap { this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); this.cacheLoader = new WorldMapArchiveLoader(var1); - int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field308.name); + int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.DETAILS.name); int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); this.details = new HashMap(var8.length); @@ -456,34 +456,35 @@ public class WorldMap { @ObfuscatedName("k") void method6302(int var1, int var2, boolean var3, long var4) { - if (this.currentMapArea != null) { - int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); - int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); - this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); - if (this.mouseCoord != null && var3) { - boolean var8 = Client.staffModLevel >= 2; - if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { - WorldMapLabel.changePlane(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false); - } else { - boolean var9 = true; - if (this.field4013) { - int var10 = var1 - this.field4000; - int var11 = var2 - this.field4012; - if (var4 - this.field3982 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { - var9 = false; - } - } - - if (var9) { - PacketBufferNode var12 = Archive.method4265(ClientPacket.field2248, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeIntME(this.mouseCoord.packed()); - Client.packetWriter.method2219(var12); - this.field3982 = 0L; - } - } - } - } else { + if (this.currentMapArea == null) { this.mouseCoord = null; + return; + } + int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); + int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); + this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); + if (this.mouseCoord == null || !var3) { + return; + } + boolean var8 = Client.staffModLevel >= 2; + if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { + WorldMapLabel.changePlane(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false); + return; + } + boolean var9 = true; + if (this.field4013) { + int var10 = var1 - this.field4000; + int var11 = var2 - this.field4012; + if (var4 - this.field3982 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { + var9 = false; + } + } + + if (var9) { + PacketBufferNode var12 = Archive.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeIntME(this.mouseCoord.packed()); + Client.packetWriter.addNode(var12); + this.field3982 = 0L; } } @@ -516,24 +517,25 @@ public class WorldMap { ) @Export("scrollToTarget") void scrollToTarget() { - if (this.hasTarget()) { - int var1 = this.worldMapTargetX - this.centerTileX; - int var2 = this.worldMapTargetY - this.centerTileY; - if (var1 != 0) { - var1 /= Math.min(8, Math.abs(var1)); - } - - if (var2 != 0) { - var2 /= Math.min(8, Math.abs(var2)); - } - - this.setWorldMapPosition(var1 + this.centerTileX, var2 + this.centerTileY, true); - if (this.worldMapTargetX == this.centerTileX && this.centerTileY == this.worldMapTargetY) { - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - } - + if (!this.hasTarget()) { + return; } + int var1 = this.worldMapTargetX - this.centerTileX; + int var2 = this.worldMapTargetY - this.centerTileY; + if (var1 != 0) { + var1 /= Math.min(8, Math.abs(var1)); + } + + if (var2 != 0) { + var2 /= Math.min(8, Math.abs(var2)); + } + + this.setWorldMapPosition(var1 + this.centerTileX, var2 + this.centerTileY, true); + if (this.worldMapTargetX == this.centerTileX && this.centerTileY == this.worldMapTargetY) { + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + } + } @ObfuscatedName("i") @@ -584,15 +586,14 @@ public class WorldMap { Iterator var4 = this.details.values().iterator(); WorldMapArea var5; - do { - if (!var4.hasNext()) { - return null; + while (var4.hasNext()) { + var5 = (WorldMapArea) var4.next(); + if (var5.containsCoord(var1, var2, var3)) { + return var5; } + } - var5 = (WorldMapArea)var4.next(); - } while(!var5.containsCoord(var1, var2, var3)); - - return var5; + return null; } @ObfuscatedName("r") @@ -688,18 +689,19 @@ public class WorldMap { garbageValue = "1469825217" ) public void method6315(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { - if (var1 != null) { - if (this.currentMapArea == null || var1 != this.currentMapArea) { - this.initializeWorldMapManager(var1); - } - - if (!var4 && this.currentMapArea.containsCoord(var2.plane, var2.x, var2.y)) { - this.jump(var2.plane, var2.x, var2.y); - } else { - this.jump(var3.plane, var3.x, var3.y); - } - + if (var1 == null) { + return; } + if (this.currentMapArea == null || var1 != this.currentMapArea) { + this.initializeWorldMapManager(var1); + } + + if (!var4 && this.currentMapArea.containsCoord(var2.plane, var2.x, var2.y)) { + this.jump(var2.plane, var2.x, var2.y); + } else { + this.jump(var3.plane, var3.x, var3.y); + } + } @ObfuscatedName("d") @@ -863,16 +865,17 @@ public class WorldMap { ) @Export("drawOverview") public void drawOverview(int var1, int var2, int var3, int var4) { - if (this.cacheLoader.isLoaded()) { - if (!this.worldMapManager.isLoaded()) { - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); - if (!this.worldMapManager.isLoaded()) { - return; - } - } - - this.worldMapManager.drawOverview(var1, var2, var3, var4, this.flashingElements, this.flashCycle, this.cyclesPerFlash); + if (!this.cacheLoader.isLoaded()) { + return; } + if (!this.worldMapManager.isLoaded()) { + this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); + if (!this.worldMapManager.isLoaded()) { + return; + } + } + + this.worldMapManager.drawOverview(var1, var2, var3, var4, this.flashingElements, this.flashCycle, this.cyclesPerFlash); } @ObfuscatedName("as") @@ -896,8 +899,8 @@ public class WorldMap { 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, percentLoaded * 3, 30, -65536); + Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, 0xffff0000); + Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, percentLoaded * 3, 30, 0xffff0000); this.font.drawCentered("Loading...", var7, var6 + var8, -1, -1); } @@ -975,15 +978,14 @@ public class WorldMap { Iterator var2 = this.details.values().iterator(); WorldMapArea var3; - do { - if (!var2.hasNext()) { - return null; + while (var2.hasNext()) { + var3 = (WorldMapArea) var2.next(); + if (var3.getId() == var1) { + return var3; } + } - var3 = (WorldMapArea)var2.next(); - } while(var3.getId() != var1); - - return var3; + return null; } @ObfuscatedName("ae") @@ -1100,7 +1102,8 @@ public class WorldMap { signature = "(II)V", garbageValue = "1678064633" ) - public void method6337(int var1) { + @Export("setMaxFlashCount") + public void setMaxFlashCount(int var1) { if (var1 >= 1) { this.maxFlashCount = var1; } @@ -1112,7 +1115,8 @@ public class WorldMap { signature = "(B)V", garbageValue = "18" ) - public void method6338() { + @Export("resetMaxFlashCount") + public void resetMaxFlashCount() { this.maxFlashCount = 3; } @@ -1121,7 +1125,8 @@ public class WorldMap { signature = "(II)V", garbageValue = "127822739" ) - public void method6339(int var1) { + @Export("setCyclesPerFlash") + public void setCyclesPerFlash(int var1) { if (var1 >= 1) { this.cyclesPerFlash = var1; } @@ -1133,7 +1138,8 @@ public class WorldMap { signature = "(I)V", garbageValue = "-244117630" ) - public void method6340() { + @Export("resetCyclesPerFlash") + public void resetCyclesPerFlash() { this.cyclesPerFlash = 50; } @@ -1372,8 +1378,8 @@ public class WorldMap { signature = "(IILhv;Lhv;B)V", garbageValue = "8" ) - @Export("handleMapClick") - public void handleMapClick(int var1, int var2, Coord var3, Coord var4) { + @Export("menuAction") + public void menuAction(int var1, int var2, Coord var3, Coord var4) { ScriptEvent var5 = new ScriptEvent(); WorldMapEvent var6 = new WorldMapEvent(var2, var3, var4); var5.setArgs(new Object[]{var6}); diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java index 542725bfc9..087232a0e1 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -60,7 +60,7 @@ public class WorldMapArchiveLoader { @Export("load") int load() { if (this.percentLoaded < 33) { - if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field302.name, this.cacheName)) { + if (!this.archive.tryLoadFileByNames(WorldMapCacheName.COMPOSITEMAP.name, this.cacheName)) { return this.percentLoaded; } @@ -68,7 +68,7 @@ public class WorldMapArchiveLoader { } if (this.percentLoaded == 33) { - if (this.archive.isValidFileName(WorldMapCacheName.field303.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field303.name, this.cacheName)) { + if (this.archive.isValidFileName(WorldMapCacheName.COMPOSITETEXTURE.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.COMPOSITETEXTURE.name, this.cacheName)) { return this.percentLoaded; } @@ -76,7 +76,7 @@ public class WorldMapArchiveLoader { } if (this.percentLoaded == 66) { - if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field305.name)) { + if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.LABELS.name)) { return this.percentLoaded; } diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java index a160bde3e1..9560979113 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -178,24 +178,24 @@ public class WorldMapArea { public boolean containsPosition(int var1, int var2) { int var3 = var1 / 64; int var4 = var2 / 64; - if (var3 >= this.regionLowX && var3 <= this.regionHighX) { - if (var4 >= this.regionLowY && var4 <= this.regionHighY) { - Iterator var5 = this.sections.iterator(); - - WorldMapSection var6; - do { - if (!var5.hasNext()) { - return false; - } - - var6 = (WorldMapSection)var5.next(); - } while(!var6.containsPosition(var1, var2)); - - return true; - } + if (var3 < this.regionLowX || var3 > this.regionHighX) { return false; } - return false; + if (var4 < this.regionLowY || var4 > this.regionHighY) { + return false; + } + Iterator var5 = this.sections.iterator(); + + WorldMapSection var6; + do { + if (!var5.hasNext()) { + return false; + } + + var6 = (WorldMapSection)var5.next(); + } while(!var6.containsPosition(var1, var2)); + + return true; } @ObfuscatedName("k") @@ -401,8 +401,8 @@ public class WorldMapArea { signature = "(II)Liq;", garbageValue = "44972047" ) - @Export("getItemDefinition") - public static ItemDefinition getItemDefinition(int var0) { + @Export("ItemDefinition_get") + public static ItemDefinition ItemDefinition_get(int var0) { ItemDefinition var1 = (ItemDefinition)ItemDefinition.ItemDefinition_cached.get((long)var0); if (var1 != null) { return var1; @@ -416,15 +416,15 @@ public class WorldMapArea { var1.post(); if (var1.noteTemplate != -1) { - var1.genCert(getItemDefinition(var1.noteTemplate), getItemDefinition(var1.note)); + var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); } if (var1.notedId != -1) { - var1.genBought(getItemDefinition(var1.notedId), getItemDefinition(var1.unnotedId)); + var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); } if (var1.placeholderTemplate != -1) { - var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder)); + var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); } if (!ModelData0.ItemDefinition_inMembersWorld && var1.isMembersOnly) { @@ -463,13 +463,13 @@ public class WorldMapArea { ) public static boolean method365() { long var0 = DirectByteArrayCopier.currentTimeMs(); - int var2 = (int)(var0 - NetCache.field3169); - NetCache.field3169 = var0; + int var2 = (int)(var0 - NetCache.NetCache_timeMs); + NetCache.NetCache_timeMs = var0; if (var2 > 200) { var2 = 200; } - NetCache.field3163 += var2; + NetCache.NetCache_loadTime += var2; if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { return true; } @@ -477,190 +477,187 @@ public class WorldMapArea { return false; } try { - if (NetCache.field3163 > 30000) { + if (NetCache.NetCache_loadTime > 30000) { throw new IOException(); } NetFileRequest var3; Buffer var4; while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); - var4 = new Buffer(4); - var4.writeByte(1); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key); - --NetCache.NetCache_pendingPriorityWritesCount; - ++NetCache.NetCache_pendingPriorityResponsesCount; - } + var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); + var4 = new Buffer(4); + var4.writeByte(1); + var4.writeMedium((int)var3.key); + NetCache.NetCache_socket.write(var4.array, 0, 4); + NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key); + --NetCache.NetCache_pendingPriorityWritesCount; + ++NetCache.NetCache_pendingPriorityResponsesCount; + } while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); - var4 = new Buffer(4); - var4.writeByte(0); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - var3.removeDual(); - NetCache.NetCache_pendingResponses.put(var3, var3.key); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingResponsesCount; - } + var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); + var4 = new Buffer(4); + var4.writeByte(0); + var4.writeMedium((int)var3.key); + NetCache.NetCache_socket.write(var4.array, 0, 4); + var3.removeDual(); + NetCache.NetCache_pendingResponses.put(var3, var3.key); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingResponsesCount; + } for (int var15 = 0; var15 < 100; ++var15) { - int var16 = NetCache.NetCache_socket.available(); - if (var16 < 0) { - throw new IOException(); + int var16 = NetCache.NetCache_socket.available(); + if (var16 < 0) { + throw new IOException(); + } + + if (var16 == 0) { + break; + } + + NetCache.NetCache_loadTime = 0; + byte var5 = 0; + if (class226.NetCache_currentResponse == null) { + var5 = 8; + } else if (NetCache.field3175 == 0) { + var5 = 1; + } + + int var6; + int var7; + int var8; + int var10; + byte[] var10000; + int var10001; + Buffer var22; + if (var5 > 0) { + var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset; + if (var6 > var16) { + var6 = var16; } - if (var16 == 0) { + NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6); + if (NetCache.field3181 != 0) { + for (var7 = 0; var7 < var6; ++var7) { + NetCache.NetCache_responseHeaderBuffer.array[var7 + NetCache.NetCache_responseHeaderBuffer.offset] ^= NetCache.field3181; + } + } + + var22 = NetCache.NetCache_responseHeaderBuffer; + var22.offset += var6; + if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { break; } - NetCache.field3163 = 0; - byte var5 = 0; if (class226.NetCache_currentResponse == null) { - var5 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); + int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var10 = NetCache.NetCache_responseHeaderBuffer.readInt(); + long var11 = (long)(var8 + (var7 << 16)); + NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11); + class215.NetCache_hasPendingPriorityResponses = true; + if (var13 == null) { + var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); + class215.NetCache_hasPendingPriorityResponses = false; + } + + if (var13 == null) { + throw new IOException(); + } + + int var14 = var9 == 0 ? 5 : 9; + class226.NetCache_currentResponse = var13; + VarpDefinition.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + class226.NetCache_currentResponse.padding); + VarpDefinition.NetCache_responseArchiveBuffer.writeByte(var9); + VarpDefinition.NetCache_responseArchiveBuffer.writeInt(var10); + NetCache.field3175 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; } else if (NetCache.field3175 == 0) { - var5 = 1; - } - - int var6; - int var7; - int var8; - int var10; - byte[] var10000; - int var10001; - Buffer var22; - if (var5 > 0) { - var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset; - if (var6 > var16) { - var6 = var16; - } - - NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6); - if (NetCache.field3181 != 0) { - for (var7 = 0; var7 < var6; ++var7) { - var10000 = NetCache.NetCache_responseHeaderBuffer.array; - var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset; - var10000[var10001] ^= NetCache.field3181; - } - } - - var22 = NetCache.NetCache_responseHeaderBuffer; - var22.offset += var6; - if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { - break; - } - - if (class226.NetCache_currentResponse == null) { + if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { + NetCache.field3175 = 1; NetCache.NetCache_responseHeaderBuffer.offset = 0; - var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); - int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var10 = NetCache.NetCache_responseHeaderBuffer.readInt(); - long var11 = (long)(var8 + (var7 << 16)); - NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11); - class215.field2545 = true; - if (var13 == null) { - var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); - class215.field2545 = false; - } - - if (var13 == null) { - throw new IOException(); - } - - int var14 = var9 == 0 ? 5 : 9; - class226.NetCache_currentResponse = var13; - VarpDefinition.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + class226.NetCache_currentResponse.padding); - VarpDefinition.NetCache_responseArchiveBuffer.writeByte(var9); - VarpDefinition.NetCache_responseArchiveBuffer.writeInt(var10); - NetCache.field3175 = 8; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else if (NetCache.field3175 == 0) { - if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { - NetCache.field3175 = 1; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else { - class226.NetCache_currentResponse = null; - } - } - } else { - var6 = VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding; - var7 = 512 - NetCache.field3175; - if (var7 > var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset) { - var7 = var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset; - } - - if (var7 > var16) { - var7 = var16; - } - - NetCache.NetCache_socket.read(VarpDefinition.NetCache_responseArchiveBuffer.array, VarpDefinition.NetCache_responseArchiveBuffer.offset, var7); - if (NetCache.field3181 != 0) { - for (var8 = 0; var8 < var7; ++var8) { - var10000 = VarpDefinition.NetCache_responseArchiveBuffer.array; - var10001 = VarpDefinition.NetCache_responseArchiveBuffer.offset + var8; - var10000[var10001] ^= NetCache.field3181; - } - } - - var22 = VarpDefinition.NetCache_responseArchiveBuffer; - var22.offset += var7; - NetCache.field3175 += var7; - if (var6 == VarpDefinition.NetCache_responseArchiveBuffer.offset) { - if (0xff00ffL == class226.NetCache_currentResponse.key) { - AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer; - - for (var8 = 0; var8 < 256; ++var8) { - Archive var17 = NetCache.NetCache_archives[var8]; - if (var17 != null) { - AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5; - var10 = AbstractRasterProvider.NetCache_reference.readInt(); - int var18 = AbstractRasterProvider.NetCache_reference.readInt(); - var17.loadIndex(var10, var18); - } - } - } else { - NetCache.NetCache_crc.reset(); - NetCache.NetCache_crc.update(VarpDefinition.NetCache_responseArchiveBuffer.array, 0, var6); - var8 = (int)NetCache.NetCache_crc.getValue(); - if (var8 != class226.NetCache_currentResponse.crc) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var20) { - } - - ++NetCache.NetCache_crcMismatches; - NetCache.NetCache_socket = null; - NetCache.field3181 = (byte)((int)(Math.random() * 255.0D + 1.0D)); - return false; - } - - 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 & 0xff0000L) == 0xff0000L, class215.field2545); - } - - class226.NetCache_currentResponse.remove(); - if (class215.field2545) { - --NetCache.NetCache_pendingPriorityResponsesCount; - } else { - --NetCache.NetCache_pendingResponsesCount; - } - - NetCache.field3175 = 0; - class226.NetCache_currentResponse = null; - VarpDefinition.NetCache_responseArchiveBuffer = null; } else { - if (NetCache.field3175 != 512) { - break; - } - - NetCache.field3175 = 0; + class226.NetCache_currentResponse = null; } } + continue; + } + var6 = VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding; + var7 = 512 - NetCache.field3175; + if (var7 > var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset) { + var7 = var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset; + } + + if (var7 > var16) { + var7 = var16; + } + + NetCache.NetCache_socket.read(VarpDefinition.NetCache_responseArchiveBuffer.array, VarpDefinition.NetCache_responseArchiveBuffer.offset, var7); + if (NetCache.field3181 != 0) { + for (var8 = 0; var8 < var7; ++var8) { + var10000 = VarpDefinition.NetCache_responseArchiveBuffer.array; + var10001 = VarpDefinition.NetCache_responseArchiveBuffer.offset + var8; + var10000[var10001] ^= NetCache.field3181; + } } + var22 = VarpDefinition.NetCache_responseArchiveBuffer; + var22.offset += var7; + NetCache.field3175 += var7; + if (var6 != VarpDefinition.NetCache_responseArchiveBuffer.offset) { + if (NetCache.field3175 != 512) { + break; + } + + NetCache.field3175 = 0; + continue; + } + if (0xff00ffL == class226.NetCache_currentResponse.key) { + AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer; + + for (var8 = 0; var8 < 256; ++var8) { + Archive var17 = NetCache.NetCache_archives[var8]; + if (var17 != null) { + AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5; + var10 = AbstractRasterProvider.NetCache_reference.readInt(); + int var18 = AbstractRasterProvider.NetCache_reference.readInt(); + var17.loadIndex(var10, var18); + } + } + } else { + NetCache.NetCache_crc.reset(); + NetCache.NetCache_crc.update(VarpDefinition.NetCache_responseArchiveBuffer.array, 0, var6); + var8 = (int)NetCache.NetCache_crc.getValue(); + if (var8 != class226.NetCache_currentResponse.crc) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var20) { + } + + ++NetCache.NetCache_crcMismatches; + NetCache.NetCache_socket = null; + NetCache.field3181 = (byte) ((int) (Math.random() * 255.0D + 1.0D)); + return false; + } + NetCache.NetCache_crcMismatches = 0; + NetCache.NetCache_ioExceptions = 0; + class226.NetCache_currentResponse.archive.write((int) (class226.NetCache_currentResponse.key & 0xffffL), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 0xff0000L) == 0xff0000L, class215.NetCache_hasPendingPriorityResponses); + } + + class226.NetCache_currentResponse.remove(); + if (class215.NetCache_hasPendingPriorityResponses) { + --NetCache.NetCache_pendingPriorityResponsesCount; + } else { + --NetCache.NetCache_pendingResponsesCount; + } + + NetCache.field3175 = 0; + class226.NetCache_currentResponse = null; + VarpDefinition.NetCache_responseArchiveBuffer = null; + } + return true; } catch (IOException var21) { try { @@ -715,7 +712,8 @@ public class WorldMapArea { signature = "(CLgu;I)I", garbageValue = "-2081105774" ) - static int method387(char var0, Language var1) { + @Export("lowercaseChar") + static int lowercaseChar(char var0, Language var1) { int var2 = var0 << 4; if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { var0 = Character.toLowerCase(var0); diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index 543e745ec9..65f8e2543d 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -11,27 +11,32 @@ public class WorldMapCacheName { @ObfuscatedSignature( signature = "Lae;" ) - public static final WorldMapCacheName field308; + @Export("DETAILS") + public static final WorldMapCacheName DETAILS; @ObfuscatedName("w") @ObfuscatedSignature( signature = "Lae;" ) - public static final WorldMapCacheName field302; + @Export("COMPOSITEMAP") + public static final WorldMapCacheName COMPOSITEMAP; @ObfuscatedName("e") @ObfuscatedSignature( signature = "Lae;" ) - public static final WorldMapCacheName field303; + @Export("COMPOSITETEXTURE") + public static final WorldMapCacheName COMPOSITETEXTURE; @ObfuscatedName("p") @ObfuscatedSignature( signature = "Lae;" ) - static final WorldMapCacheName field304; + @Export("AREA") + static final WorldMapCacheName AREA; @ObfuscatedName("k") @ObfuscatedSignature( signature = "Lae;" ) - public static final WorldMapCacheName field305; + @Export("LABELS") + public static final WorldMapCacheName LABELS; @ObfuscatedName("c") public static short[] field309; @ObfuscatedName("de") @@ -51,11 +56,11 @@ public class WorldMapCacheName { public final String name; static { - field308 = new WorldMapCacheName("details"); - field302 = new WorldMapCacheName("compositemap"); - field303 = new WorldMapCacheName("compositetexture"); - field304 = new WorldMapCacheName("area"); - field305 = new WorldMapCacheName("labels"); + DETAILS = new WorldMapCacheName("details"); + COMPOSITEMAP = new WorldMapCacheName("compositemap"); + COMPOSITETEXTURE = new WorldMapCacheName("compositetexture"); + AREA = new WorldMapCacheName("area"); + LABELS = new WorldMapCacheName("labels"); } WorldMapCacheName(String var1) { @@ -67,7 +72,8 @@ public class WorldMapCacheName { signature = "(Lhj;IB)V", garbageValue = "67" ) - static final void method600(Widget var0, int var1) { + @Export("Widget_setKeyIgnoreHeld") + static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { if (var0.field2650 == null) { throw new RuntimeException(); } diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 0b1288a830..273ca6b6fe 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -165,7 +165,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { ) static int method696(int var0, Script var1, boolean var2) { if (var0 == ScriptOpcodes.LOGOUT) { - Client.field700 = 250; + Client.logoutTimer = 250; return 1; } return 2; diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index f733190e8f..a5365934de 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -59,7 +59,7 @@ public class WorldMapDecoration { int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; var3.itemId = var4; var3.itemQuantity = var5; - ItemDefinition var6 = WorldMapArea.getItemDefinition(var4); + ItemDefinition var6 = WorldMapArea.ItemDefinition_get(var4); var3.modelAngleX = var6.xan2d; var3.modelAngleY = var6.yan2d; var3.modelAngleZ = var6.zan2d; @@ -107,26 +107,27 @@ public class WorldMapDecoration { int var3 = 0; for (int var4 = 0; var4 < ItemDefinition.ItemDefinition_fileCount; ++var4) { - ItemDefinition var5 = WorldMapArea.getItemDefinition(var4); - if ((!var1 || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(var0) != -1) { - if (var3 >= 250) { - FloorOverlayDefinition.foundItemIdCount = -1; - WorldMapData_1.foundItemIds = null; - return; - } - - if (var3 >= var2.length) { - short[] var6 = new short[var2.length * 2]; - - for (int var7 = 0; var7 < var3; ++var7) { - var6[var7] = var2[var7]; - } - - var2 = var6; - } - - var2[var3++] = (short)var4; + ItemDefinition var5 = WorldMapArea.ItemDefinition_get(var4); + if ((var1 && !var5.isTradable) || var5.noteTemplate != -1 || var5.name.toLowerCase().indexOf(var0) == -1) { + continue; } + if (var3 >= 250) { + FloorOverlayDefinition.foundItemIdCount = -1; + WorldMapData_1.foundItemIds = null; + return; + } + + if (var3 >= var2.length) { + short[] var6 = new short[var2.length * 2]; + + for (int var7 = 0; var7 < var3; ++var7) { + var6[var7] = var2[var7]; + } + + var2 = var6; + } + + var2[var3++] = (short)var4; } WorldMapData_1.foundItemIds = var2; @@ -135,7 +136,7 @@ public class WorldMapDecoration { String[] var8 = new String[FloorOverlayDefinition.foundItemIdCount]; for (int var9 = 0; var9 < FloorOverlayDefinition.foundItemIdCount; ++var9) { - var8[var9] = WorldMapArea.getItemDefinition(var2[var9]).name; + var8[var9] = WorldMapArea.ItemDefinition_get(var2[var9]).name; } MenuAction.startSortingItemsByName(var8, WorldMapData_1.foundItemIds); diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java index b45bc93410..d50ed65db2 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -309,19 +309,19 @@ public class WorldMapElement extends DualNode { ) static final void method4368(boolean var0) { class186.playPcmPlayers(); - ++Client.packetWriter.field1319; - if (Client.packetWriter.field1319 < 50 && !var0) { + ++Client.packetWriter.pendingWrites; + if (Client.packetWriter.pendingWrites < 50 && !var0) { return; } - Client.packetWriter.field1319 = 0; + Client.packetWriter.pendingWrites = 0; if (Client.field701 || Client.packetWriter.getSocket() == null) { return; } - PacketBufferNode var1 = Archive.method4265(ClientPacket.field2225, Client.packetWriter.isaacCipher); - Client.packetWriter.method2219(var1); + PacketBufferNode var1 = Archive.getPacketBufferNode(ClientPacket.field2225, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var1); try { - Client.packetWriter.method2234(); + Client.packetWriter.flush(); } catch (IOException var3) { Client.field701 = true; } diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index 17908b06fa..7ae5960c24 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -52,7 +52,7 @@ public class WorldMapEvent { int var8; int var9; int var12; - if ((var3 & 64) != 0) { + if ((var3 & 0x40) != 0) { var5 = var0.method5722(); int var7; int var10; @@ -63,7 +63,7 @@ public class WorldMapEvent { var9 = -1; var10 = -1; var7 = var0.readUShortSmart(); - if (var7 == 32767) { + if (var7 == 0x7fff) { var7 = var0.readUShortSmart(); var9 = var0.readUShortSmart(); var8 = var0.readUShortSmart(); @@ -84,13 +84,13 @@ public class WorldMapEvent { for (var7 = 0; var7 < var6; ++var7) { var8 = var0.readUShortSmart(); var9 = var0.readUShortSmart(); - if (var9 != 32767) { + if (var9 == 0x7fff) { + var2.removeHealthBar(var8); + } else { var10 = var0.readUShortSmart(); var11 = var0.method5722(); var12 = var9 > 0 ? var0.readUnsignedByte() : var11; var2.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); - } else { - var2.removeHealthBar(var8); } } } @@ -100,14 +100,14 @@ public class WorldMapEvent { var2.spotAnimation = var0.method5534(); var5 = var0.method5542(); var2.heightOffset = var5 >> 16; - var2.field989 = (var5 & 65535) + Client.cycle; + var2.field989 = (var5 & 0xffff) + Client.cycle; var2.spotAnimationFrame = 0; var2.spotAnimationFrameCycle = 0; if (var2.field989 > Client.cycle) { var2.spotAnimationFrame = -1; } - if (var2.spotAnimation == 65535) { + if (var2.spotAnimation == 0xffff) { var2.spotAnimation = -1; } } @@ -175,7 +175,7 @@ public class WorldMapEvent { if ((var3 & 2) != 0) { var2.targetIndex = var0.method5518(); - if (var2.targetIndex == 65535) { + if (var2.targetIndex == 0xffff) { var2.targetIndex = -1; } } @@ -232,7 +232,7 @@ public class WorldMapEvent { if ((var3 & 128) != 0) { var5 = var0.readUnsignedShort(); - if (var5 == 65535) { + if (var5 == 0xffff) { var5 = -1; } @@ -262,7 +262,8 @@ public class WorldMapEvent { signature = "(I)V", garbageValue = "-1659690111" ) - static final void method737() { + @Export("FriendSystem_cantIgnoreSelfMes") + static final void FriendSystem_cantIgnoreSelfMes() { Object var10000 = null; String var0 = "You can't add yourself to your own ignore list"; ScriptEvent.addGameMessage(30, "", var0); diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index 7ac6c9db2a..b07741500b 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -50,7 +50,8 @@ public class WorldMapID { signature = "(Ljava/lang/String;B)V", garbageValue = "-37" ) - static final void method541(String var0) { + @Export("FriendSystem_cantIgnoreFriendMes") + static final void FriendSystem_cantIgnoreFriendMes(String var0) { StringBuilder var10000 = new StringBuilder(); Object var10001 = null; var10000 = var10000.append("Please remove ").append(var0); @@ -82,7 +83,7 @@ public class WorldMapID { HealthBarUpdate.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class2.method27(var3, var4); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class2.ItemContainer_getCount(var3, var4); return 1; } if (var0 == ScriptOpcodes.INV_TOTAL) { @@ -150,7 +151,7 @@ public class WorldMapID { HealthBarUpdate.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] + 32768; var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class2.method27(var3, var4); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class2.ItemContainer_getCount(var3, var4); return 1; } if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { @@ -228,19 +229,21 @@ public class WorldMapID { signature = "(I)V", garbageValue = "-456020317" ) - static void method542() { - if (Client.isSpellSelected) { - Widget var0 = Client.getWidgetChild(WorldMapEvent.field359, Client.field848); - if (var0 != null && var0.onTargetLeave != null) { - ScriptEvent var1 = new ScriptEvent(); - var1.widget = var0; - var1.args = var0.onTargetLeave; - LoginPacket.runScriptEvent(var1); - } - - Client.isSpellSelected = false; - Strings.invalidateWidget(var0); + @Export("Widget_runOnTargetLeave") + static void Widget_runOnTargetLeave() { + if (!Client.isSpellSelected) { + return; } + Widget var0 = Client.getWidgetChild(WorldMapEvent.field359, Client.field848); + if (var0 != null && var0.onTargetLeave != null) { + ScriptEvent var1 = new ScriptEvent(); + var1.widget = var0; + var1.args = var0.onTargetLeave; + LoginPacket.runScriptEvent(var1); + } + + Client.isSpellSelected = false; + Strings.invalidateWidget(var0); } @ObfuscatedName("ix") @@ -248,42 +251,44 @@ public class WorldMapID { signature = "([Lhj;IS)V", garbageValue = "28886" ) - static final void method539(Widget[] var0, int var1) { + @Export("runComponentCloseListeners") + static final void runComponentCloseListeners(Widget[] var0, int var1) { for (int var2 = 0; var2 < var0.length; ++var2) { Widget var3 = var0[var2]; - if (var3 != null) { - if (var3.type == 0) { - if (var3.children != null) { - method539(var3.children, var1); - } + if (var3 == null) { + continue; + } + if (var3.type == 0) { + if (var3.children != null) { + runComponentCloseListeners(var3.children, var1); + } - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - WorldMapLabelSize.method175(var4.group, var1); + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + WorldMapLabelSize.runIntfCloseListeners(var4.group, var1); + } + } + + ScriptEvent var5; + if (var1 == 0 && var3.onDialogAbort != null) { + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onDialogAbort; + LoginPacket.runScriptEvent(var5); + } + + if (var1 == 1 && var3.onSubChange != null) { + if (var3.childIndex >= 0) { + Widget var6 = class80.getWidget(var3.id); + if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { + continue; } } - ScriptEvent var5; - if (var1 == 0 && var3.onDialogAbort != null) { - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onDialogAbort; - LoginPacket.runScriptEvent(var5); - } - - if (var1 == 1 && var3.onSubChange != null) { - if (var3.childIndex >= 0) { - Widget var6 = class80.getWidget(var3.id); - if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { - continue; - } - } - - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onSubChange; - LoginPacket.runScriptEvent(var5); - } + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onSubChange; + LoginPacket.runScriptEvent(var5); } } diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java index 827d05a5fa..43ab2a3da6 100644 --- a/runescape-client/src/main/java/WorldMapIcon_0.java +++ b/runescape-client/src/main/java/WorldMapIcon_0.java @@ -167,7 +167,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { ) @Export("getPreferencesFile") public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { - File var3 = new File(class1.field2, "preferences" + var0 + ".dat"); + File var3 = new File(class1.cacheDir, "preferences" + var0 + ".dat"); if (var3.exists()) { try { AccessFile var10 = new AccessFile(var3, "rw", 10000L); @@ -177,9 +177,9 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { } String var4 = ""; - if (TextureProvider.field1539 == 33) { + if (TextureProvider.cacheGamebuild == 33) { var4 = "_rc"; - } else if (TextureProvider.field1539 == 34) { + } else if (TextureProvider.cacheGamebuild == 34) { var4 = "_wip"; } @@ -206,7 +206,8 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { signature = "(Lkx;II)V", garbageValue = "164873785" ) - static void method210(PacketBuffer var0, int var1) { + @Export("readPlayerUpdate") + static void readPlayerUpdate(PacketBuffer var0, int var1) { boolean var2 = var0.readBits(1) == 1; if (var2) { Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; @@ -220,7 +221,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { } else if (Client.localPlayerIndex == var1) { throw new RuntimeException(); } else { - Players.Players_regions[var1] = (var4.plane << 28) + (MusicPatchNode2.baseX * 64 + var4.pathX[0] >> 13 << 14) + (class1.baseY * 64 + var4.pathY[0] >> 13); + Players.Players_regions[var1] = (var4.plane << 28) + ((((MusicPatchNode2.baseX * 64) + var4.pathX[0]) >> 13) << 14) + (((class1.baseY * 64) + var4.pathY[0]) >> 13); if (var4.field976 != -1) { Players.Players_orientations[var1] = var4.field976; } else { @@ -232,178 +233,161 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { if (var0.readBits(1) != 0) { class226.updateExternalPlayer(var0, var1); } + } + } else if (var3 == 1) { + int var5 = var0.readBits(3); + int var6 = var4.pathX[0]; + int var7 = var4.pathY[0]; + if (var5 == 0) { + --var6; + --var7; + } else if (var5 == 1) { + --var7; + } else if (var5 == 2) { + ++var6; + --var7; + } else if (var5 == 3) { + --var6; + } else if (var5 == 4) { + ++var6; + } else if (var5 == 5) { + --var6; + ++var7; + } else if (var5 == 6) { + ++var7; + } else if (var5 == 7) { + ++var6; + ++var7; + } + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var6, var7); + var4.field638 = false; + } else if (var2) { + var4.field638 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field638 = false; + var4.method1189(var6, var7, Players.field1250[var1]); + } + } else if (var3 == 2) { + int var5 = var0.readBits(4); + int var6 = var4.pathX[0]; + int var7 = var4.pathY[0]; + if (var5 == 0) { + var6 -= 2; + var7 -= 2; + } else if (var5 == 1) { + --var6; + var7 -= 2; + } else if (var5 == 2) { + var7 -= 2; + } else if (var5 == 3) { + ++var6; + var7 -= 2; + } else if (var5 == 4) { + var6 += 2; + var7 -= 2; + } else if (var5 == 5) { + var6 -= 2; + --var7; + } else if (var5 == 6) { + var6 += 2; + --var7; + } else if (var5 == 7) { + var6 -= 2; + } else if (var5 == 8) { + var6 += 2; + } else if (var5 == 9) { + var6 -= 2; + ++var7; + } else if (var5 == 10) { + var6 += 2; + ++var7; + } else if (var5 == 11) { + var6 -= 2; + var7 += 2; + } else if (var5 == 12) { + --var6; + var7 += 2; + } else if (var5 == 13) { + var7 += 2; + } else if (var5 == 14) { + ++var6; + var7 += 2; + } else if (var5 == 15) { + var6 += 2; + var7 += 2; + } + + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var6, var7); + var4.field638 = false; + } else if (var2) { + var4.field638 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field638 = false; + var4.method1189(var6, var7, Players.field1250[var1]); + } + + } else if (var0.readBits(1) == 0) { + int var6 = var0.readBits(12); + int var7 = var6 >> 10; + int var8 = var6 >> 5 & 31; + if (var8 > 15) { + var8 -= 32; + } + + int var9 = var6 & 31; + if (var9 > 15) { + var9 -= 32; + } + + int var10 = var8 + var4.pathX[0]; + int var11 = var9 + var4.pathY[0]; + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var10, var11); + var4.field638 = false; + } else if (var2) { + var4.field638 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field638 = false; + var4.method1189(var10, var11, Players.field1250[var1]); + } + + var4.plane = (byte) (var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + class42.plane = var4.plane; } } else { - int var5; - int var6; - int var7; - if (var3 == 1) { - var5 = var0.readBits(3); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - --var6; - --var7; - } else if (var5 == 1) { - --var7; - } else if (var5 == 2) { - ++var6; - --var7; - } else if (var5 == 3) { - --var6; - } else if (var5 == 4) { - ++var6; - } else if (var5 == 5) { - --var6; - ++var7; - } else if (var5 == 6) { - ++var7; - } else if (var5 == 7) { - ++var6; - ++var7; - } - - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var6, var7); - var4.field638 = false; - } else if (var2) { - var4.field638 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field638 = false; - var4.method1189(var6, var7, Players.field1250[var1]); - } - - } else if (var3 == 2) { - var5 = var0.readBits(4); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - var6 -= 2; - var7 -= 2; - } else if (var5 == 1) { - --var6; - var7 -= 2; - } else if (var5 == 2) { - var7 -= 2; - } else if (var5 == 3) { - ++var6; - var7 -= 2; - } else if (var5 == 4) { - var6 += 2; - var7 -= 2; - } else if (var5 == 5) { - var6 -= 2; - --var7; - } else if (var5 == 6) { - var6 += 2; - --var7; - } else if (var5 == 7) { - var6 -= 2; - } else if (var5 == 8) { - var6 += 2; - } else if (var5 == 9) { - var6 -= 2; - ++var7; - } else if (var5 == 10) { - var6 += 2; - ++var7; - } else if (var5 == 11) { - var6 -= 2; - var7 += 2; - } else if (var5 == 12) { - --var6; - var7 += 2; - } else if (var5 == 13) { - var7 += 2; - } else if (var5 == 14) { - ++var6; - var7 += 2; - } else if (var5 == 15) { - var6 += 2; - var7 += 2; - } - - if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field638 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field638 = false; - var4.method1189(var6, var7, Players.field1250[var1]); - } - } else { - var4.resetPath(var6, var7); - var4.field638 = false; - } - + int var6 = var0.readBits(30); + int var7 = var6 >> 28; + int var8 = var6 >> 14 & 16383; + int var9 = var6 & 16383; + int var10 = (MusicPatchNode2.baseX * 64 + var8 + var4.pathX[0] & 16383) - MusicPatchNode2.baseX * 64; + int var11 = (class1.baseY * 64 + var9 + var4.pathY[0] & 16383) - class1.baseY * 64; + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var10, var11); + var4.field638 = false; + } else if (var2) { + var4.field638 = true; + var4.tileX = var10; + var4.tileY = var11; } else { - var5 = var0.readBits(1); - int var8; - int var9; - int var10; - int var11; - if (var5 == 0) { - var6 = var0.readBits(12); - var7 = var6 >> 10; - var8 = var6 >> 5 & 31; - if (var8 > 15) { - var8 -= 32; - } - - var9 = var6 & 31; - if (var9 > 15) { - var9 -= 32; - } - - var10 = var8 + var4.pathX[0]; - var11 = var9 + var4.pathY[0]; - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var10, var11); - var4.field638 = false; - } else if (var2) { - var4.field638 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field638 = false; - var4.method1189(var10, var11, Players.field1250[var1]); - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - class42.plane = var4.plane; - } - - } else { - var6 = var0.readBits(30); - var7 = var6 >> 28; - var8 = var6 >> 14 & 16383; - var9 = var6 & 16383; - var10 = (MusicPatchNode2.baseX * 64 + var8 + var4.pathX[0] & 16383) - MusicPatchNode2.baseX * 64; - var11 = (class1.baseY * 64 + var9 + var4.pathY[0] & 16383) - class1.baseY * 64; - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var10, var11); - var4.field638 = false; - } else if (var2) { - var4.field638 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field638 = false; - var4.method1189(var10, var11, Players.field1250[var1]); - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - class42.plane = var4.plane; - } - - } + var4.field638 = false; + var4.method1189(var10, var11, Players.field1250[var1]); } + + var4.plane = (byte) (var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + class42.plane = var4.plane; + } + } } @@ -414,47 +398,50 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { ) @Export("checkIfMinimapClicked") static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { - if (Client.minimapState == 0 || Client.minimapState == 3) { - if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { - SpriteMask var3 = var0.getSpriteMask(true); - if (var3 == null) { - return; - } - - int var4 = MouseHandler.MouseHandler_lastPressedX - var1; - int var5 = MouseHandler.MouseHandler_lastPressedY - var2; - if (var3.contains(var4, var5)) { - var4 -= var3.width / 2; - var5 -= var3.height / 2; - int var6 = Client.camAngleY & 2047; - int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; - int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; - int var9 = var4 * var8 + var5 * var7 >> 11; - int var10 = var5 * var8 - var7 * var4 >> 11; - int var11 = var9 + Client.localPlayer.x >> 7; - int var12 = Client.localPlayer.y - var10 >> 7; - PacketBufferNode var13 = Archive.method4265(ClientPacket.field2262, Client.packetWriter.isaacCipher); - var13.packetBuffer.writeByte(18); - var13.packetBuffer.method5530(class1.baseY * 64 + var12); - var13.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var11); - var13.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - var13.packetBuffer.writeByte(var4); - var13.packetBuffer.writeByte(var5); - var13.packetBuffer.writeShort(Client.camAngleY); - var13.packetBuffer.writeByte(57); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(89); - var13.packetBuffer.writeShort(Client.localPlayer.x); - var13.packetBuffer.writeShort(Client.localPlayer.y); - var13.packetBuffer.writeByte(63); - Client.packetWriter.method2219(var13); - Client.destinationX = var11; - Client.destinationY = var12; - } - } - + if (Client.minimapState != 0 && Client.minimapState != 3) { + return; } + if (Client.isMenuOpen || (MouseHandler.MouseHandler_lastButton != 1 && (DevicePcmPlayerProvider.mouseCam || MouseHandler.MouseHandler_lastButton != 4))) { + return; + } + SpriteMask var3 = var0.getSpriteMask(true); + if (var3 == null) { + return; + } + + int var4 = MouseHandler.MouseHandler_lastPressedX - var1; + int var5 = MouseHandler.MouseHandler_lastPressedY - var2; + if (!var3.contains(var4, var5)) { + return; + } + var4 -= var3.width / 2; + var5 -= var3.height / 2; + int var6 = Client.camAngleY & 2047; + int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var9 = var4 * var8 + var5 * var7 >> 11; + int var10 = var5 * var8 - var7 * var4 >> 11; + int var11 = var9 + Client.localPlayer.x >> 7; + int var12 = Client.localPlayer.y - var10 >> 7; + PacketBufferNode var13 = Archive.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(18); + var13.packetBuffer.method5530(class1.baseY * 64 + var12); + var13.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var11); + var13.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + var13.packetBuffer.writeByte(var4); + var13.packetBuffer.writeByte(var5); + var13.packetBuffer.writeShort(Client.camAngleY); + var13.packetBuffer.writeByte(57); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(89); + var13.packetBuffer.writeShort(Client.localPlayer.x); + var13.packetBuffer.writeShort(Client.localPlayer.y); + var13.packetBuffer.writeByte(63); + Client.packetWriter.addNode(var13); + Client.destinationX = var11; + Client.destinationY = var12; + } @ObfuscatedName("jf") @@ -465,13 +452,14 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @Export("drawCompass") static final void drawCompass(Widget var0, int var1, int var2, int var3) { SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - if (Client.minimapState < 3) { - Message.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); - } - + if (var4 == null) { + return; } + if (Client.minimapState < 3) { + Message.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + } } diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java index 2869b0d7dd..07673aa31a 100644 --- a/runescape-client/src/main/java/WorldMapIcon_1.java +++ b/runescape-client/src/main/java/WorldMapIcon_1.java @@ -150,7 +150,8 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { signature = "(II)Lbj;", garbageValue = "377219115" ) - static Message method297(int var0) { + @Export("Messages_getMessage") + static Message Messages_getMessage(int var0) { return (Message)Messages.Messages_hashTable.get((long)var0); } @@ -170,7 +171,8 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { signature = "(IB)V", garbageValue = "-42" ) - static void method296(int var0) { + @Export("getLoginError") + static void getLoginError(int var0) { if (var0 == -3) { class268.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); } else if (var0 == -2) { @@ -235,24 +237,18 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { class268.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!"); } else if (var0 == 55) { Login.loginIndex = 8; + } else if (var0 == 56) { + class268.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); + class96.updateGameState(11); + return; + } else if (var0 == 57) { + class268.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); + class96.updateGameState(11); + return; + } else if (var0 == 61) { + Login.loginIndex = 7; } else { - if (var0 == 56) { - class268.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); - class96.updateGameState(11); - return; - } - - if (var0 == 57) { - class268.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); - class96.updateGameState(11); - return; - } - - if (var0 == 61) { - Login.loginIndex = 7; - } else { - class268.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); - } + class268.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); } class96.updateGameState(10); diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index f2586dcc30..6e4f98f4f6 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -40,7 +40,8 @@ public class WorldMapLabel { } @ObfuscatedName("p") - static int method420(long var0) { + @Export("Entity_unpackType") + static int Entity_unpackType(long var0) { return (int)(var0 >>> 14 & 3L); } @@ -52,62 +53,58 @@ public class WorldMapLabel { @Export("loadTerrain") static final void loadTerrain(Buffer var0, int var1, int var2, int var3, int var4, int var5, int var6) { int var7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - Tiles.Tiles_renderFlags[var1][var2][var3] = 0; - + if (var2 < 0 || var2 >= 104 || var3 < 0 || var3 >= 104) { while (true) { var7 = var0.readUnsignedByte(); if (var7 == 0) { - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -class1.method14(var4 + 932731 + var2, var3 + 556238 + var5) * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; - } break; } - if (var7 == 1) { - int var8 = var0.readUnsignedByte(); - if (var8 == 1) { - var8 = 0; - } - - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; - } + var0.readUnsignedByte(); break; } - - if (var7 <= 49) { - Tiles.field505[var1][var2][var3] = var0.readByte(); - Tiles.field506[var1][var2][var3] = (byte)((var7 - 2) / 4); - class268.field3561[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); - } else if (var7 <= 81) { - Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); - } else { - Tiles.field504[var1][var2][var3] = (byte)(var7 - 81); + if (var7 < 49) { + var0.readUnsignedByte(); } } - } else { - while (true) { - var7 = var0.readUnsignedByte(); - if (var7 == 0) { - break; + return; + } + Tiles.Tiles_renderFlags[var1][var2][var3] = 0; + + while ((var7 = var0.readUnsignedByte()) != 0) { + if (var7 == 1) { + int var8 = var0.readUnsignedByte(); + if (var8 == 1) { + var8 = 0; } - if (var7 == 1) { - var0.readUnsignedByte(); - break; + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; } - - if (var7 <= 49) { - var0.readUnsignedByte(); + else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; } + break; + } + else if (var7 <= 49) { + Tiles.field505[var1][var2][var3] = var0.readByte(); + Tiles.field506[var1][var2][var3] = (byte) ((var7 - 2) / 4); + class268.field3561[var1][var2][var3] = (byte) (var7 - 2 + var6 & 3); + } + else if (var7 <= 81) { + Tiles.Tiles_renderFlags[var1][var2][var3] = (byte) (var7 - 49); + } + else { + Tiles.field504[var1][var2][var3] = (byte) (var7 - 81); } } - + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -class1.method14(var4 + 0xe3b7b + var2, var3 + 0x87cce + var5) * 8; + } + else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; + } + return; } @ObfuscatedName("hc") @@ -120,7 +117,7 @@ public class WorldMapLabel { if (var0 < 0) { return ""; } - return Client.menuTargetNames[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargetNames[var0] : Client.menuActions[var0]; + return Client.menuTargets[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargets[var0] : Client.menuActions[var0]; } @ObfuscatedName("kz") @@ -130,11 +127,11 @@ public class WorldMapLabel { ) @Export("changePlane") public static void changePlane(int var0, int var1, int var2, boolean var3) { - PacketBufferNode var4 = Archive.method4265(ClientPacket.field2296, Client.packetWriter.isaacCipher); + PacketBufferNode var4 = Archive.getPacketBufferNode(ClientPacket.field2296, Client.packetWriter.isaacCipher); var4.packetBuffer.writeIntME(var3 ? Client.field855 : 0); var4.packetBuffer.writeShortLE(var1); var4.packetBuffer.method5521(var2); var4.packetBuffer.writeShort(var0); - Client.packetWriter.method2219(var4); + Client.packetWriter.addNode(var4); } } diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index 136ef5c3fa..d2e2fffcf3 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -114,8 +114,8 @@ public class WorldMapLabelSize { ) @Export("sortWorldList") static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { - if (World.worlds != null) { - GrandExchangeOffer.doWorldSorting(0, World.worlds.length - 1, var0, var1, var2, var3); + if (World.World_worlds != null) { + GrandExchangeOffer.doWorldSorting(0, World.World_worlds.length - 1, var0, var1, var2, var3); } } @@ -125,9 +125,10 @@ public class WorldMapLabelSize { signature = "(III)V", garbageValue = "131988648" ) - static void method188(int var0, int var1) { + @Export("playSoundJingle") + static void playSoundJingle(int var0, int var1) { if (Client.field911 != 0 && var0 != -1) { - class169.method3503(class32.archive11, var0, 0, Client.field911, false); + FileSystem.method3503(class32.archive11, var0, 0, Client.field911, false); Client.field699 = true; } @@ -138,9 +139,10 @@ public class WorldMapLabelSize { signature = "(III)V", garbageValue = "-1199742641" ) - static final void method175(int var0, int var1) { + @Export("runIntfCloseListeners") + static final void runIntfCloseListeners(int var0, int var1) { if (class162.loadInterface(var0)) { - WorldMapID.method539(Widget.Widget_interfaceComponents[var0], var1); + WorldMapID.runComponentCloseListeners(Widget.Widget_interfaceComponents[var0], var1); } } } diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index e2466a532a..42d7273d01 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -127,10 +127,10 @@ public final class WorldMapManager { this.loaded = false; this.loadStarted = true; System.nanoTime(); - int var4 = var1.getGroupId(WorldMapCacheName.field308.name); + int var4 = var1.getGroupId(WorldMapCacheName.DETAILS.name); int var5 = var1.getFileId(var4, var2); - Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field308.name, var2)); - Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field302.name, var2)); + Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.DETAILS.name, var2)); + Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.COMPOSITEMAP.name, var2)); System.nanoTime(); System.nanoTime(); this.mapAreaData = new WorldMapAreaData(); @@ -177,8 +177,8 @@ public final class WorldMapManager { System.nanoTime(); System.nanoTime(); - if (var1.isValidFileName(WorldMapCacheName.field303.name, var2)) { - byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field303.name, var2); + if (var1.isValidFileName(WorldMapCacheName.COMPOSITETEXTURE.name, var2)) { + byte[] var20 = var1.takeFileByNames(WorldMapCacheName.COMPOSITETEXTURE.name, var2); this.compositeTextureSprite = BuddyRankComparator.convertJpgToSprite(var20); } @@ -489,7 +489,8 @@ public final class WorldMapManager { signature = "(Ljava/lang/String;I)V", garbageValue = "-1454512266" ) - static final void method633(String var0) { + @Export("FriendSystem_alreadyFriendMes") + static final void FriendSystem_alreadyFriendMes(String var0) { StringBuilder var10000 = (new StringBuilder()).append(var0); Object var10001 = null; String var1 = var10000.append(" is already on your friend list").toString(); @@ -503,87 +504,90 @@ public final class WorldMapManager { ) @Export("addPlayerToMenu") static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { - if (Client.localPlayer != var0) { - if (Client.menuOptionsCount < 400) { - String var4; - int var7; - if (var0.skillLevel == 0) { - String var5 = var0.actions[0] + var0.username + var0.actions[1]; - var7 = var0.combatLevel; - int var8 = Client.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = ClientPreferences.colorStartTag(0xff0000); - } else if (var9 < -6) { - var6 = ClientPreferences.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = ClientPreferences.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = ClientPreferences.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = ClientPreferences.colorStartTag(0xff00); - } else if (var9 > 6) { - var6 = ClientPreferences.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = ClientPreferences.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = ClientPreferences.colorStartTag(12648192); - } else { - var6 = ClientPreferences.colorStartTag(0xffff00); - } + if (Client.localPlayer == var0) { + return; + } + if (Client.menuOptionsCount >= 400) { + return; + } + String var4; + int var7; + if (var0.skillLevel != 0) { + var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; + } else { + String var5 = var0.actions[0] + var0.username + var0.actions[1]; + var7 = var0.combatLevel; + int var8 = Client.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = ClientPreferences.colorStartTag(0xff0000); + } else if (var9 < -6) { + var6 = ClientPreferences.colorStartTag(0xff3000); + } else if (var9 < -3) { + var6 = ClientPreferences.colorStartTag(0xff7000); + } else if (var9 < 0) { + var6 = ClientPreferences.colorStartTag(0xffb000); + } else if (var9 > 9) { + var6 = ClientPreferences.colorStartTag(0xff00); + } else if (var9 > 6) { + var6 = ClientPreferences.colorStartTag(0x40ff00); + } else if (var9 > 3) { + var6 = ClientPreferences.colorStartTag(0x80ff00); + } else if (var9 > 0) { + var6 = ClientPreferences.colorStartTag(0xc0ff00); + } else { + var6 = ClientPreferences.colorStartTag(0xffff00); + } - var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; - } else { - var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; + var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; + } + + int var10; + if (Client.isItemSelected == 1) { + 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(0xffffff) + var4, 15, var1, var2, var3); + } + } else { + for (var10 = 7; var10 >= 0; --var10) { + if (Client.playerMenuActions[var10] == null) { + continue; } - - int var10; - if (Client.isItemSelected == 1) { - 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(0xffffff) + var4, 15, var1, var2, var3); + short var11 = 0; + if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { + if (Client.playerAttackOption == AttackOption.AttackOption_hidden) { + continue; } - } else { - for (var10 = 7; var10 >= 0; --var10) { - if (Client.playerMenuActions[var10] != null) { - short var11 = 0; - if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { - if (Client.playerAttackOption == AttackOption.AttackOption_hidden) { - continue; - } - if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.playerAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) { - var11 = 2000; - } + if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.playerAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) { + var11 = 2000; + } - if (Client.localPlayer.team != 0 && var0.team != 0) { - if (var0.team == Client.localPlayer.team) { - var11 = 2000; - } else { - var11 = 0; - } - } - } else if (Client.playerOptionsPriorities[var10]) { - var11 = 2000; - } - - boolean var12 = false; - var7 = Client.playerMenuOpcodes[var10] + var11; - class188.insertMenuItemNoShift(Client.playerMenuActions[var10], ClientPreferences.colorStartTag(0xffffff) + var4, var7, var1, var2, var3); + if (Client.localPlayer.team != 0 && var0.team != 0) { + if (var0.team == Client.localPlayer.team) { + var11 = 2000; + } else { + var11 = 0; } } + } else if (Client.playerOptionsPriorities[var10]) { + var11 = 2000; } - for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { - if (Client.menuOpcodes[var10] == 23) { - Client.menuTargetNames[var10] = ClientPreferences.colorStartTag(0xffffff) + var4; - break; - } - } - + boolean var12 = false; + var7 = Client.playerMenuOpcodes[var10] + var11; + 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.menuTargets[var10] = ClientPreferences.colorStartTag(0xffffff) + var4; + break; + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index b9363a4abd..3cf5eb9160 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -106,7 +106,7 @@ public final class WorldMapRectangle { } if (var6 != -1 && var7 != null) { - Entity.insertMenuItem(var7, ClientPreferences.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); + Entity.insertMenuItem(var7, ClientPreferences.colorStartTag(0xff9040) + var1.name, var6, var1.id, var2, var0.id, var4); } } diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index 14cc0e091c..eda3f32b29 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -980,33 +980,33 @@ public class WorldMapRegion { ) @Export("createMapLabel") WorldMapLabel createMapLabel(WorldMapElement var1) { - if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { - WorldMapLabelSize var2 = WorldMapLabelSize.method177(var1.textSize); - if (var2 == null) { - return null; - } - Font var3 = (Font)this.fonts.get(var2); - if (var3 == null) { - return null; - } - int var4 = var3.lineCount(var1.name, 1000000); - String[] var5 = new String[var4]; - var3.breakLines(var1.name, (int[])null, var5); - int var6 = var5.length * var3.ascent / 2; - int var7 = 0; - String[] var8 = var5; - - for (int var9 = 0; var9 < var8.length; ++var9) { - String var10 = var8[var9]; - int var11 = var3.stringWidth(var10); - if (var11 > var7) { - var7 = var11; - } - } - - return new WorldMapLabel(var1.name, var7, var6, var2); + if (var1.name == null || this.fonts == null || this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) == null) { + return null; } - return null; + WorldMapLabelSize var2 = WorldMapLabelSize.method177(var1.textSize); + if (var2 == null) { + return null; + } + Font var3 = (Font)this.fonts.get(var2); + if (var3 == null) { + return null; + } + int var4 = var3.lineCount(var1.name, 1000000); + String[] var5 = new String[var4]; + var3.breakLines(var1.name, (int[])null, var5); + int var6 = var5.length * var3.ascent / 2; + int var7 = 0; + String[] var8 = var5; + + for (int var9 = 0; var9 < var8.length; ++var9) { + String var10 = var8[var9]; + int var11 = var3.stringWidth(var10); + if (var11 > var7) { + var7 = var11; + } + } + + return new WorldMapLabel(var1.name, var7, var6, var2); } @ObfuscatedName("ac") @@ -1087,7 +1087,8 @@ public class WorldMapRegion { signature = "(ILhp;Ljava/lang/String;Ljava/lang/String;IZI)V", garbageValue = "-2137956496" ) - public static void method533(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { + @Export("playMusicTrackByName") + public static void playMusicTrackByName(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { int var6 = var1.getGroupId(var2); int var7 = var1.getFileId(var6, var3); class197.field2402 = 1; @@ -1108,23 +1109,25 @@ public class WorldMapRegion { static final void addNpcsToScene(boolean var0) { for (int var1 = 0; var1 < Client.npcCount; ++var1) { NPC var2 = Client.npcs[Client.npcIndices[var1]]; - if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { - int var3 = var2.x >> 7; - int var4 = var2.y >> 7; - if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { - if (var2.size * 784322703 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { - if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { - continue; - } - - Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; - } - - long var5 = Tile.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); - var2.playerCycle = Client.cycle; - GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var2.x, var2.y, ScriptEvent.getTileHeight(var2.size * -1342954560 - 64 + var2.x, var2.size * -1342954560 - 64 + var2.y, class42.plane), var2.size * -1342954560 - 64 + 60, var2, var2.field950, var5, var2.field967); - } + if (var2 == null || !var2.isVisible() || var2.definition.isVisible != var0 || !var2.definition.transformIsVisible()) { + continue; } + int var3 = var2.x >> 7; + int var4 = var2.y >> 7; + if (var3 < 0 || var3 >= 104 || var4 < 0 || var4 >= 104) { + continue; + } + if (var2.size * 784322703 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { + if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { + continue; + } + + Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; + } + + long var5 = Tile.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); + var2.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var2.x, var2.y, ScriptEvent.getTileHeight(var2.size * -1342954560 - 64 + var2.x, var2.size * -1342954560 - 64 + var2.y, class42.plane), var2.size * -1342954560 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); } } diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index a7a32910fd..acc8c73e92 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -302,7 +302,7 @@ public class WorldMapSection0 implements WorldMapSection { } } - ItemDefinition var9 = WorldMapArea.getItemDefinition(var0); + ItemDefinition var9 = WorldMapArea.ItemDefinition_get(var0); if (var1 > 1 && var9.countobj != null) { int var10 = -1; @@ -313,7 +313,7 @@ public class WorldMapSection0 implements WorldMapSection { } if (var10 != -1) { - var9 = WorldMapArea.getItemDefinition(var10); + var9 = WorldMapArea.ItemDefinition_get(var10); } } diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index 74a8ce3ef4..05fe03ac78 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -168,14 +168,14 @@ public enum WorldMapSectionType implements Enumerated { } if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { HealthBarUpdate.Interpreter_intStackSize -= 2; - Client.field906 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; - if (Client.field906 <= 0) { - Client.field906 = 256; + Client.zoomHeight = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + if (Client.zoomHeight <= 0) { + Client.zoomHeight = 256; } - Client.field908 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - if (Client.field908 <= 0) { - Client.field908 = 320; + Client.zoomWidth = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (Client.zoomWidth <= 0) { + Client.zoomWidth = 320; } return 1; @@ -189,7 +189,7 @@ public enum WorldMapSectionType implements Enumerated { Client.field790 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; if (Client.field790 <= 0) { - Client.field790 = 32767; + Client.field790 = 0x7fff; } else if (Client.field790 < Client.field820) { Client.field790 = Client.field820; } @@ -201,7 +201,7 @@ public enum WorldMapSectionType implements Enumerated { Client.field659 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; if (Client.field659 <= 0) { - Client.field659 = 32767; + Client.field659 = 0x7fff; } else if (Client.field659 < Client.field732) { Client.field659 = Client.field732; } @@ -221,8 +221,8 @@ public enum WorldMapSectionType implements Enumerated { return 1; } if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.field906; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.field908; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.zoomHeight; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.zoomWidth; return 1; } if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { diff --git a/runescape-client/src/main/java/WorldMapSprite.java b/runescape-client/src/main/java/WorldMapSprite.java index b1cb39ea68..3dd80be2aa 100644 --- a/runescape-client/src/main/java/WorldMapSprite.java +++ b/runescape-client/src/main/java/WorldMapSprite.java @@ -63,7 +63,7 @@ public final class WorldMapSprite { if (!Client.showMouseOverText) { return; } - int var2 = class13.method151(); + int var2 = class13.getNewestMenuIdx(); String var3; if (Client.isItemSelected == 1 && Client.menuOptionsCount < 2) { var3 = "Use" + " " + Client.selectedItemName + " " + "->"; @@ -121,19 +121,21 @@ public final class WorldMapSprite { signature = "(Lkf;II)V", garbageValue = "291436994" ) - static void method407(Buffer var0, int var1) { + @Export("writeNewRandomDat") + static void writeNewRandomDat(Buffer var0, int var1) { byte[] var2 = var0.array; - if (Client.field693 == null) { - Client.field693 = new byte[24]; + if (Client.randomDatData == null) { + Client.randomDatData = new byte[24]; } - class301.method5752(var2, var1, Client.field693, 0, 24); - if (class167.randomDat != null) { - try { - class167.randomDat.seek(0L); - class167.randomDat.write(var0.array, var1, 24); - } catch (Exception var4) { - } + class301.writeRandomDat(var2, var1, Client.randomDatData, 0, 24); + if (JagexCache.JagexCache_randomDat == null) { + return; + } + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); + } catch (Exception var4) { } } diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index 6d2e8bf9e1..7cc0b66ad7 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -7,7 +7,8 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("w") final class class1 implements class0 { @ObfuscatedName("k") - static File field2; + @Export("cacheDir") + static File cacheDir; @ObfuscatedName("fx") @ObfuscatedGetter( intValue = 768104753 @@ -81,10 +82,10 @@ final class class1 implements class0 { var5 = Character.toLowerCase(var5); } else if (var3 == 2 || Character.isUpperCase(var5)) { char var6; - if (var5 != 181 && var5 != 402) { - var6 = Character.toTitleCase(var5); - } else { + if (var5 == 181 || var5 == 402) { var6 = var5; + } else { + var6 = Character.toTitleCase(var5); } var5 = var6; @@ -92,16 +93,12 @@ final class class1 implements class0 { if (Character.isLetter(var5)) { var3 = 0; - } else if (var5 != '.' && var5 != '?' && var5 != '!') { - if (Character.isSpaceChar(var5)) { - if (var3 != 2) { - var3 = 1; - } - } else { - var3 = 1; - } - } else { + } else if (var5 == '.' || var5 == '?' || var5 == '!') { var3 = 2; + } else if (!Character.isSpaceChar(var5)) { + var3 = 1; + } else if (var3 != 2) { + var3 = 1; } var2[var4] = var5; @@ -117,307 +114,299 @@ final class class1 implements class0 { ) static final void method10(class185 var0) { PacketBuffer var1 = Client.packetWriter.packetBuffer; - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; + if (class185.field2320 == var0) { - var2 = var1.method5525(); - var3 = var2 >> 2; - var4 = var2 & 3; - var5 = Client.field713[var3]; - var6 = var1.method5525(); - var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; - var8 = (var6 & 7) + ChatChannel.field1306; + int var2 = var1.method5525(); + int var3 = var2 >> 2; + int var4 = var2 & 3; + int var5 = Client.field713[var3]; + int var6 = var1.method5525(); + int var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; + int var8 = (var6 & 7) + ChatChannel.field1306; if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { - MusicPatch.method3885(class42.plane, var7, var8, var5, -1, var3, var4, 0, -1); + MusicPatch.updatePendingSpawn(class42.plane, var7, var8, var5, -1, var3, var4, 0, -1); + } + return; + } + if (class185.field2321 == var0) { + int var2 = var1.method5722(); + int var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + int var4 = (var2 & 7) + ChatChannel.field1306; + int var5 = var1.method5534(); + if (var3 < 0 || var4 < 0 || var3 >= 104 || var4 >= 104) { + return; + } + NodeDeque var31 = Client.groundItems[class42.plane][var3][var4]; + if (var31 == null) { + return; + } + for (TileItem var32 = (TileItem)var31.last(); var32 != null; var32 = (TileItem)var31.previous()) { + if ((var5 & 0x7fff) == var32.id) { + var32.remove(); + break; + } } - } else { - TileItem var32; - if (class185.field2321 == var0) { - var2 = var1.method5722(); - var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; - var4 = (var2 & 7) + ChatChannel.field1306; - var5 = var1.method5534(); - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { - NodeDeque var31 = Client.groundItems[class42.plane][var3][var4]; - if (var31 != null) { - for (var32 = (TileItem)var31.last(); var32 != null; var32 = (TileItem)var31.previous()) { - if ((var5 & 32767) == var32.id) { - var32.remove(); - break; - } - } + if (var31.last() == null) { + Client.groundItems[class42.plane][var3][var4] = null; + } - if (var31.last() == null) { - Client.groundItems[class42.plane][var3][var4] = null; - } + GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); + return; + } + if (class185.field2316 == var0) { + int var2 = var1.method5525() * 4; + int var3 = var1.readUnsignedShort(); + int var4 = var1.method5518(); + int var5 = var1.method5525() * 4; + int var6 = var1.method5535(); + int var7 = var1.readUnsignedByte(); + int var8 = var1.method5525(); + int var9 = var1.method5532(); + int var10 = var1.method5722(); + int var39 = (var10 >> 4 & 7) + DefaultsGroup.field3819; + int var12 = (var10 & 7) + ChatChannel.field1306; + byte var13 = var1.method5694(); + byte var40 = var1.method5527(); + int var14 = var40 + var39; + int var41 = var13 + var12; + if (var39 < 0 || var12 < 0 || var39 >= 104 || var12 >= 104 || var14 < 0 || var41 < 0 || var14 >= 104 || var41 >= 104 || var4 == 0xffff) { + return; + } + var39 = var39 * 128 + 64; + var12 = var12 * 128 + 64; + var14 = var14 * 128 + 64; + var41 = var41 * 128 + 64; + Projectile var15 = new Projectile(var4, class42.plane, var39, var12, ScriptEvent.getTileHeight(var39, var12, class42.plane) - var5, var9 + Client.cycle, var3 + Client.cycle, var7, var8, var6, var2); + var15.setDestination(var14, var41, ScriptEvent.getTileHeight(var14, var41, class42.plane) - var2, var9 + Client.cycle); + Client.projectiles.addFirst(var15); + return; + } + if (class185.field2322 == var0) { + int var2 = var1.method5532(); + int var3 = var1.method5534(); + int var4 = var1.method5532(); + int var5 = var1.method5722(); + int var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; + int var7 = (var5 & 7) + ChatChannel.field1306; + if (var6 < 0 || var7 < 0 || var6 >= 104 || var7 >= 104) { + return; + } + NodeDeque var42 = Client.groundItems[class42.plane][var6][var7]; + if (var42 == null) { + return; + } + for (TileItem var34 = (TileItem)var42.last(); var34 != null; var34 = (TileItem)var42.previous()) { + if ((var2 & 0x7fff) == var34.id && var4 == var34.quantity) { + var34.quantity = var3; + break; + } + } - GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); - } + GrandExchangeOfferWorldComparator.updateItemPile(var6, var7); + return; + } + if (class185.field2315 == var0) { + int var2 = var1.method5518(); + int var3 = var1.method5534(); + int var4 = var1.method5722(); + int var5 = (var4 >> 4 & 7) + DefaultsGroup.field3819; + int var6 = (var4 & 7) + ChatChannel.field1306; + if (var5 < 0 || var6 < 0 || var5 >= 104 || var6 >= 104) { + return; + } + TileItem var32 = new TileItem(); + var32.id = var3; + var32.quantity = var2; + if (Client.groundItems[class42.plane][var5][var6] == null) { + Client.groundItems[class42.plane][var5][var6] = new NodeDeque(); + } + + Client.groundItems[class42.plane][var5][var6].addFirst(var32); + GrandExchangeOfferWorldComparator.updateItemPile(var5, var6); + return; + } + if (class185.field2319 == var0) { + int var2 = var1.readUnsignedByte(); + int var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + int var4 = (var2 & 7) + ChatChannel.field1306; + int var5 = var1.method5525(); + int var6 = var1.method5722(); + int var7 = var6 >> 4 & 15; + int var8 = var6 & 7; + int var9 = var1.method5534(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + int var10 = var7 + 1; + if (Client.localPlayer.pathX[0] >= var3 - var10 && Client.localPlayer.pathX[0] <= var3 + var10 && Client.localPlayer.pathY[0] >= var4 - var10 && Client.localPlayer.pathY[0] <= var4 + var10 && Client.field892 != 0 && var8 > 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var9; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var8; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var5; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = var7 + (var4 << 8) + (var3 << 16); + ++Client.soundEffectCount; + } + } + } + + if (class185.field2318 == var0) { + byte var37 = var1.method5527(); + int var3 = var1.method5534(); + byte var38 = var1.method5527(); + int var5 = var1.method5518(); + int var6 = var1.readUnsignedShort(); + int var7 = var1.method5722(); + int var8 = var7 >> 2; + int var9 = var7 & 3; + int var10 = Client.field713[var8]; + byte var11 = var1.method5694(); + int var12 = var1.method5532(); + byte var13 = var1.method5527(); + int var14 = var1.readUnsignedByteNegate(); + int var35 = (var14 >> 4 & 7) + DefaultsGroup.field3819; + int var16 = (var14 & 7) + ChatChannel.field1306; + Player var17; + if (var12 == Client.localPlayerIndex) { + var17 = Client.localPlayer; + } else { + var17 = Client.players[var12]; + } + + if (var17 != null) { + ObjectDefinition var18 = ViewportMouse.getObjectDefinition(var5); + int var19; + int var20; + if (var9 != 1 && var9 != 3) { + var19 = var18.sizeX; + var20 = var18.sizeY; + } else { + var19 = var18.sizeY; + var20 = var18.sizeX; } - } else { - int var9; - int var10; - int var12; - byte var13; - int var14; - int var39; - if (class185.field2316 == var0) { - var2 = var1.method5525() * 4; - var3 = var1.readUnsignedShort(); - var4 = var1.method5518(); - var5 = var1.method5525() * 4; - var6 = var1.method5535(); - var7 = var1.readUnsignedByte(); - var8 = var1.method5525(); - var9 = var1.method5532(); - var10 = var1.method5722(); - var39 = (var10 >> 4 & 7) + DefaultsGroup.field3819; - var12 = (var10 & 7) + ChatChannel.field1306; - var13 = var1.method5694(); - byte var40 = var1.method5527(); - var14 = var40 + var39; - int var41 = var13 + var12; - if (var39 >= 0 && var12 >= 0 && var39 < 104 && var12 < 104 && var14 >= 0 && var41 >= 0 && var14 < 104 && var41 < 104 && var4 != 65535) { - var39 = var39 * 128 + 64; - var12 = var12 * 128 + 64; - var14 = var14 * 128 + 64; - var41 = var41 * 128 + 64; - Projectile var15 = new Projectile(var4, class42.plane, var39, var12, ScriptEvent.getTileHeight(var39, var12, class42.plane) - var5, var9 + Client.cycle, var3 + Client.cycle, var7, var8, var6, var2); - var15.setDestination(var14, var41, ScriptEvent.getTileHeight(var14, var41, class42.plane) - var2, var9 + Client.cycle); - Client.projectiles.addFirst(var15); + int var21 = var35 + (var19 >> 1); + int var22 = var35 + (var19 + 1 >> 1); + int var23 = var16 + (var20 >> 1); + int var24 = var16 + (var20 + 1 >> 1); + int[][] var25 = Tiles.Tiles_heights[class42.plane]; + int var26 = var25[var22][var23] + var25[var21][var23] + var25[var21][var24] + var25[var22][var24] >> 2; + int var27 = (var35 << 7) + (var19 << 6); + int var28 = (var16 << 7) + (var20 << 6); + Model var29 = var18.getModel(var8, var9, var25, var27, var26, var28); + if (var29 != null) { + MusicPatch.updatePendingSpawn(class42.plane, var35, var16, var10, -1, 0, 0, var6 + 1, var3 + 1); + var17.animationCycleStart = var6 + Client.cycle; + var17.animationCycleEnd = var3 + Client.cycle; + var17.model0 = var29; + var17.field633 = var35 * 128 + var19 * 64; + var17.field620 = var16 * 128 + var20 * 64; + var17.tileHeight2 = var26; + byte var30; + if (var37 > var13) { + var30 = var37; + var37 = var13; + var13 = var30; } - } else if (class185.field2322 == var0) { - var2 = var1.method5532(); - var3 = var1.method5534(); - var4 = var1.method5532(); - var5 = var1.method5722(); - var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; - var7 = (var5 & 7) + ChatChannel.field1306; - if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { - NodeDeque var42 = Client.groundItems[class42.plane][var6][var7]; - if (var42 != null) { - for (TileItem var34 = (TileItem)var42.last(); var34 != null; var34 = (TileItem)var42.previous()) { - if ((var2 & 32767) == var34.id && var4 == var34.quantity) { - var34.quantity = var3; - break; - } - } - - GrandExchangeOfferWorldComparator.updateItemPile(var6, var7); - } + if (var11 > var38) { + var30 = var11; + var11 = var38; + var38 = var30; } - } else if (class185.field2315 == var0) { - var2 = var1.method5518(); - var3 = var1.method5534(); - var4 = var1.method5722(); - var5 = (var4 >> 4 & 7) + DefaultsGroup.field3819; - var6 = (var4 & 7) + ChatChannel.field1306; - if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { - var32 = new TileItem(); - var32.id = var3; - var32.quantity = var2; - if (Client.groundItems[class42.plane][var5][var6] == null) { - Client.groundItems[class42.plane][var5][var6] = new NodeDeque(); - } + var17.field627 = var35 + var37; + var17.field612 = var35 + var13; + var17.field625 = var11 + var16; + var17.field630 = var16 + var38; + } + } + } - Client.groundItems[class42.plane][var5][var6].addFirst(var32); - GrandExchangeOfferWorldComparator.updateItemPile(var5, var6); + if (class185.field2323 == var0) { + int var2 = var1.method5722(); + int var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + int var4 = (var2 & 7) + ChatChannel.field1306; + int var5 = var1.method5525(); + int var6 = var5 >> 2; + int var7 = var5 & 3; + int var8 = Client.field713[var6]; + int var9 = var1.method5518(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + MusicPatch.updatePendingSpawn(class42.plane, var3, var4, var8, var9, var6, var7, 0, -1); + } + return; + } + if (class185.field2317 == var0) { + int var2 = var1.readUnsignedShort(); + int var3 = var1.method5722(); + int var4 = var1.method5518(); + int var5 = var1.readUnsignedByte(); + int var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; + int var7 = (var5 & 7) + ChatChannel.field1306; + if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { + var6 = var6 * 128 + 64; + var7 = var7 * 128 + 64; + GraphicsObject var33 = new GraphicsObject(var2, class42.plane, var6, var7, ScriptEvent.getTileHeight(var6, var7, class42.plane) - var3, var4, Client.cycle); + Client.graphicsObjects.addFirst(var33); + } + return; + } + if (class185.field2324 == var0) { + int var2 = var1.method5525(); + int var3 = var2 >> 2; + int var4 = var2 & 3; + int var5 = Client.field713[var3]; + int var6 = var1.readUnsignedByteNegate(); + int var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; + int var8 = (var6 & 7) + ChatChannel.field1306; + int var9 = var1.readUnsignedShort(); + if (var7 < 0 || var8 < 0 || var7 >= 103 || var8 >= 103) { + return; + } + if (var5 == 0) { + BoundaryObject var36 = GrandExchangeOfferWorldComparator.scene.method3088(class42.plane, var7, var8); + if (var36 != null) { + int var39 = class43.Entity_unpackID(var36.tag); + if (var3 == 2) { + var36.entity1 = new DynamicObject(var39, 2, var4 + 4, class42.plane, var7, var8, var9, false, var36.entity1); + var36.entity2 = new DynamicObject(var39, 2, var4 + 1 & 3, class42.plane, var7, var8, var9, false, var36.entity2); + } else { + var36.entity1 = new DynamicObject(var39, var3, var4, class42.plane, var7, var8, var9, false, var36.entity1); } + } + } - } else { - if (class185.field2319 == var0) { - var2 = var1.readUnsignedByte(); - var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; - var4 = (var2 & 7) + ChatChannel.field1306; - var5 = var1.method5525(); - var6 = var1.method5722(); - var7 = var6 >> 4 & 15; - var8 = var6 & 7; - var9 = var1.method5534(); - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { - var10 = var7 + 1; - if (Client.localPlayer.pathX[0] >= var3 - var10 && Client.localPlayer.pathX[0] <= var3 + var10 && Client.localPlayer.pathY[0] >= var4 - var10 && Client.localPlayer.pathY[0] <= var4 + var10 && Client.field892 != 0 && var8 > 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var9; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var8; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var5; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = var7 + (var4 << 8) + (var3 << 16); - ++Client.soundEffectCount; - } - } + if (var5 == 1) { + WallDecoration var43 = GrandExchangeOfferWorldComparator.scene.method3118(class42.plane, var7, var8); + if (var43 != null) { + int var39 = class43.Entity_unpackID(var43.tag); + if (var3 == 4 || var3 == 5) { + var43.entity1 = new DynamicObject(var39, 4, var4, class42.plane, var7, var8, var9, false, var43.entity1); + } else if (var3 == 6) { + var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); + } else if (var3 == 7) { + var43.entity1 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity1); + } else if (var3 == 8) { + var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); + var43.entity2 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity2); } + } + } - if (class185.field2318 == var0) { - byte var37 = var1.method5527(); - var3 = var1.method5534(); - byte var38 = var1.method5527(); - var5 = var1.method5518(); - var6 = var1.readUnsignedShort(); - var7 = var1.method5722(); - var8 = var7 >> 2; - var9 = var7 & 3; - var10 = Client.field713[var8]; - byte var11 = var1.method5694(); - var12 = var1.method5532(); - var13 = var1.method5527(); - var14 = var1.readUnsignedByteNegate(); - int var35 = (var14 >> 4 & 7) + DefaultsGroup.field3819; - int var16 = (var14 & 7) + ChatChannel.field1306; - Player var17; - if (var12 == Client.localPlayerIndex) { - var17 = Client.localPlayer; - } else { - var17 = Client.players[var12]; - } + if (var5 == 2) { + GameObject var44 = GrandExchangeOfferWorldComparator.scene.method3195(class42.plane, var7, var8); + if (var3 == 11) { + var3 = 10; + } - if (var17 != null) { - ObjectDefinition var18 = ViewportMouse.getObjectDefinition(var5); - int var19; - int var20; - if (var9 != 1 && var9 != 3) { - var19 = var18.sizeX; - var20 = var18.sizeY; - } else { - var19 = var18.sizeY; - var20 = var18.sizeX; - } + if (var44 != null) { + var44.entity = new DynamicObject(class43.Entity_unpackID(var44.tag), var3, var4, class42.plane, var7, var8, var9, false, var44.entity); + } + } - int var21 = var35 + (var19 >> 1); - int var22 = var35 + (var19 + 1 >> 1); - int var23 = var16 + (var20 >> 1); - int var24 = var16 + (var20 + 1 >> 1); - int[][] var25 = Tiles.Tiles_heights[class42.plane]; - int var26 = var25[var22][var23] + var25[var21][var23] + var25[var21][var24] + var25[var22][var24] >> 2; - int var27 = (var35 << 7) + (var19 << 6); - int var28 = (var16 << 7) + (var20 << 6); - Model var29 = var18.getModel(var8, var9, var25, var27, var26, var28); - if (var29 != null) { - MusicPatch.method3885(class42.plane, var35, var16, var10, -1, 0, 0, var6 + 1, var3 + 1); - var17.animationCycleStart = var6 + Client.cycle; - var17.animationCycleEnd = var3 + Client.cycle; - var17.model0 = var29; - var17.field633 = var35 * 128 + var19 * 64; - var17.field620 = var16 * 128 + var20 * 64; - var17.tileHeight2 = var26; - byte var30; - if (var37 > var13) { - var30 = var37; - var37 = var13; - var13 = var30; - } - - if (var11 > var38) { - var30 = var11; - var11 = var38; - var38 = var30; - } - - var17.field627 = var35 + var37; - var17.field612 = var35 + var13; - var17.field625 = var11 + var16; - var17.field630 = var16 + var38; - } - } - } - - if (class185.field2323 == var0) { - var2 = var1.method5722(); - var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; - var4 = (var2 & 7) + ChatChannel.field1306; - var5 = var1.method5525(); - var6 = var5 >> 2; - var7 = var5 & 3; - var8 = Client.field713[var6]; - var9 = var1.method5518(); - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { - MusicPatch.method3885(class42.plane, var3, var4, var8, var9, var6, var7, 0, -1); - } - - } else if (class185.field2317 == var0) { - var2 = var1.readUnsignedShort(); - var3 = var1.method5722(); - var4 = var1.method5518(); - var5 = var1.readUnsignedByte(); - var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; - var7 = (var5 & 7) + ChatChannel.field1306; - if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { - var6 = var6 * 128 + 64; - var7 = var7 * 128 + 64; - GraphicsObject var33 = new GraphicsObject(var2, class42.plane, var6, var7, ScriptEvent.getTileHeight(var6, var7, class42.plane) - var3, var4, Client.cycle); - Client.graphicsObjects.addFirst(var33); - } - - } else if (class185.field2324 == var0) { - var2 = var1.method5525(); - var3 = var2 >> 2; - var4 = var2 & 3; - var5 = Client.field713[var3]; - var6 = var1.readUnsignedByteNegate(); - var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; - var8 = (var6 & 7) + ChatChannel.field1306; - var9 = var1.readUnsignedShort(); - if (var7 >= 0 && var8 >= 0 && var7 < 103 && var8 < 103) { - if (var5 == 0) { - BoundaryObject var36 = GrandExchangeOfferWorldComparator.scene.method3088(class42.plane, var7, var8); - if (var36 != null) { - var39 = class43.getObjectIdFromTag(var36.tag); - if (var3 == 2) { - var36.entity1 = new DynamicObject(var39, 2, var4 + 4, class42.plane, var7, var8, var9, false, var36.entity1); - var36.entity2 = new DynamicObject(var39, 2, var4 + 1 & 3, class42.plane, var7, var8, var9, false, var36.entity2); - } else { - var36.entity1 = new DynamicObject(var39, var3, var4, class42.plane, var7, var8, var9, false, var36.entity1); - } - } - } - - if (var5 == 1) { - WallDecoration var43 = GrandExchangeOfferWorldComparator.scene.method3118(class42.plane, var7, var8); - if (var43 != null) { - var39 = class43.getObjectIdFromTag(var43.tag); - if (var3 != 4 && var3 != 5) { - if (var3 == 6) { - var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); - } else if (var3 == 7) { - var43.entity1 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity1); - } else if (var3 == 8) { - var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); - var43.entity2 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity2); - } - } else { - var43.entity1 = new DynamicObject(var39, 4, var4, class42.plane, var7, var8, var9, false, var43.entity1); - } - } - } - - if (var5 == 2) { - GameObject var44 = GrandExchangeOfferWorldComparator.scene.method3195(class42.plane, var7, var8); - if (var3 == 11) { - var3 = 10; - } - - if (var44 != null) { - var44.entity = new DynamicObject(class43.getObjectIdFromTag(var44.tag), var3, var4, class42.plane, var7, var8, var9, false, var44.entity); - } - } - - if (var5 == 3) { - FloorDecoration var45 = GrandExchangeOfferWorldComparator.scene.getFloorDecoration(class42.plane, var7, var8); - if (var45 != null) { - var45.entity = new DynamicObject(class43.getObjectIdFromTag(var45.tag), 22, var4, class42.plane, var7, var8, var9, false, var45.entity); - } - } - } - - } + if (var5 == 3) { + FloorDecoration var45 = GrandExchangeOfferWorldComparator.scene.getFloorDecoration(class42.plane, var7, var8); + if (var45 != null) { + var45.entity = new DynamicObject(class43.Entity_unpackID(var45.tag), 22, var4, class42.plane, var7, var8, var9, false, var45.entity); } } } diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index 87d24bd94d..3c35fcf90e 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -28,7 +28,8 @@ public class class13 { signature = "(I)I", garbageValue = "246973533" ) - static final int method151() { + @Export("getNewestMenuIdx") + static final int getNewestMenuIdx() { return Client.menuOptionsCount - 1; } diff --git a/runescape-client/src/main/java/class14.java b/runescape-client/src/main/java/class14.java index bd859ec2b0..2cf5ddb304 100644 --- a/runescape-client/src/main/java/class14.java +++ b/runescape-client/src/main/java/class14.java @@ -35,7 +35,8 @@ public class class14 { signature = "(Lhj;IIII)V", garbageValue = "-2006801653" ) - static final void method153(Widget var0, int var1, int var2, int var3) { + @Export("Widget_setKeyRate") + static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { if (var0.field2641 == null) { throw new RuntimeException(); } @@ -49,11 +50,11 @@ public class class14 { garbageValue = "1053602258" ) static final void method159(String var0, int var1) { - PacketBufferNode var2 = Archive.method4265(ClientPacket.field2280, Client.packetWriter.isaacCipher); + PacketBufferNode var2 = Archive.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher); var2.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0) + 1); var2.packetBuffer.writeStringCp1252NullTerminated(var0); var2.packetBuffer.writeByte(var1); - Client.packetWriter.method2219(var2); + Client.packetWriter.addNode(var2); } @ObfuscatedName("kk") diff --git a/runescape-client/src/main/java/class167.java b/runescape-client/src/main/java/class167.java deleted file mode 100644 index 00cfe9e96f..0000000000 --- a/runescape-client/src/main/java/class167.java +++ /dev/null @@ -1,48 +0,0 @@ -import java.io.File; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ff") -public class class167 { - @ObfuscatedName("p") - static File field2038; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lmn;" - ) - @Export("randomDat") - public static BufferedFile randomDat; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lmn;" - ) - @Export("dat2File") - public static BufferedFile dat2File; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lmn;" - ) - @Export("idx255File") - public static BufferedFile idx255File; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "[Lmn;" - ) - @Export("idxFiles") - public static BufferedFile[] idxFiles; - @ObfuscatedName("g") - static String[] field2043; - @ObfuscatedName("dh") - @ObfuscatedSignature( - signature = "Liu;" - ) - @Export("archive1") - static Archive archive1; - - static { - randomDat = null; - dat2File = null; - idx255File = null; - } -} diff --git a/runescape-client/src/main/java/class186.java b/runescape-client/src/main/java/class186.java index ccb37ec3f7..07dd646560 100644 --- a/runescape-client/src/main/java/class186.java +++ b/runescape-client/src/main/java/class186.java @@ -11,7 +11,8 @@ public class class186 { signature = "(Ljava/io/File;ZS)Z", garbageValue = "25650" ) - static boolean method3618(File var0, boolean var1) { + @Export("testReadWritePermissions") + static boolean testReadWritePermissions(File var0, boolean var1) { try { RandomAccessFile var2 = new RandomAccessFile(var0, "rw"); int var3 = var2.read(); diff --git a/runescape-client/src/main/java/class188.java b/runescape-client/src/main/java/class188.java index b1e1f8928d..45ec7f2754 100644 --- a/runescape-client/src/main/java/class188.java +++ b/runescape-client/src/main/java/class188.java @@ -25,7 +25,8 @@ public class class188 { signature = "(Lke;Lke;B)V", garbageValue = "11" ) - static void method3643(Font var0, Font var1) { + @Export("drawWorldSelect") + static void drawWorldSelect(Font var0, Font var1) { Archive var3; int var4; int var5; @@ -71,8 +72,8 @@ public class class188 { } Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 0xbd9839, 0x8b6608); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 0x4f4f4f, 0x292929); var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); if (FriendSystem.worldSelectStars != null) { FriendSystem.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); @@ -83,13 +84,13 @@ public class class188 { if (class225.worldSelectArrows != null) { int var22 = Login.xPadding + 280; - if (World.sortOption1[0] == 0 && World.sortOption2[0] == 0) { + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { class225.worldSelectArrows[2].drawAt(var22, 4); } else { class225.worldSelectArrows[0].drawAt(var22, 4); } - if (World.sortOption1[0] == 0 && World.sortOption2[0] == 1) { + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { class225.worldSelectArrows[3].drawAt(var22 + 15, 4); } else { class225.worldSelectArrows[1].drawAt(var22 + 15, 4); @@ -97,13 +98,13 @@ public class class188 { var0.draw("World", var22 + 32, 17, 0xffffff, -1); int var23 = Login.xPadding + 390; - if (World.sortOption1[0] == 1 && World.sortOption2[0] == 0) { + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { class225.worldSelectArrows[2].drawAt(var23, 4); } else { class225.worldSelectArrows[0].drawAt(var23, 4); } - if (World.sortOption1[0] == 1 && World.sortOption2[0] == 1) { + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { class225.worldSelectArrows[3].drawAt(var23 + 15, 4); } else { class225.worldSelectArrows[1].drawAt(var23 + 15, 4); @@ -111,13 +112,13 @@ public class class188 { var0.draw("Players", var23 + 32, 17, 0xffffff, -1); var4 = Login.xPadding + 500; - if (World.sortOption1[0] == 2 && World.sortOption2[0] == 0) { + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { class225.worldSelectArrows[2].drawAt(var4, 4); } else { class225.worldSelectArrows[0].drawAt(var4, 4); } - if (World.sortOption1[0] == 2 && World.sortOption2[0] == 1) { + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { class225.worldSelectArrows[3].drawAt(var4 + 15, 4); } else { class225.worldSelectArrows[1].drawAt(var4 + 15, 4); @@ -125,13 +126,13 @@ public class class188 { var0.draw("Location", var4 + 32, 17, 0xffffff, -1); var5 = Login.xPadding + 610; - if (World.sortOption1[0] == 3 && World.sortOption2[0] == 0) { + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { class225.worldSelectArrows[2].drawAt(var5, 4); } else { class225.worldSelectArrows[0].drawAt(var5, 4); } - if (World.sortOption1[0] == 3 && World.sortOption2[0] == 1) { + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { class225.worldSelectArrows[3].drawAt(var5 + 15, 4); } else { class225.worldSelectArrows[1].drawAt(var5 + 15, 4); @@ -143,134 +144,136 @@ public class class188 { Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 0xffffff, -1); Login.hoveredWorldIndex = -1; - if (WorldMapID.worldSelectBackSprites != null) { - byte var27 = 88; - byte var28 = 19; - var4 = 765 / (var27 + 1) - 1; - var5 = 480 / (var28 + 1); + if (WorldMapID.worldSelectBackSprites == null) { + MusicPatchPcmStream.rasterProvider.drawFull(0, 0); + return; + } + byte var27 = 88; + byte var28 = 19; + var4 = 765 / (var27 + 1) - 1; + var5 = 480 / (var28 + 1); - int var6; - int var7; - do { - var6 = var5; - var7 = var4; - if (var5 * (var4 - 1) >= World.worldsCount) { - --var4; - } - - if (var4 * (var5 - 1) >= World.worldsCount) { - --var5; - } - - if (var4 * (var5 - 1) >= World.worldsCount) { - --var5; - } - } while(var6 != var5 || var7 != var4); - - var6 = (765 - var4 * var27) / (var4 + 1); - if (var6 > 5) { - var6 = 5; + int var6; + int var7; + do { + var6 = var5; + var7 = var4; + if (var5 * (var4 - 1) >= World.World_count) { + --var4; } - var7 = (480 - var5 * var28) / (var5 + 1); - if (var7 > 5) { - var7 = 5; + if (var4 * (var5 - 1) >= World.World_count) { + --var5; } - int var8 = (765 - var4 * var27 - var6 * (var4 - 1)) / 2; - int var9 = (480 - var28 * var5 - var7 * (var5 - 1)) / 2; - int var10 = (var5 + World.worldsCount - 1) / var5; - Login.worldSelectPagesCount = var10 - var4; - if (Login.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { - Login.worldSelectLeftSprite.drawAt(8, ParamDefinition.canvasHeight / 2 - Login.worldSelectLeftSprite.subHeight / 2); + if (var4 * (var5 - 1) >= World.World_count) { + --var5; + } + } while(var6 != var5 || var7 != var4); + + var6 = (765 - var4 * var27) / (var4 + 1); + if (var6 > 5) { + var6 = 5; + } + + var7 = (480 - var5 * var28) / (var5 + 1); + if (var7 > 5) { + var7 = 5; + } + + int var8 = (765 - var4 * var27 - var6 * (var4 - 1)) / 2; + int var9 = (480 - var28 * var5 - var7 * (var5 - 1)) / 2; + int var10 = (var5 + World.World_count - 1) / var5; + Login.worldSelectPagesCount = var10 - var4; + if (Login.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { + Login.worldSelectLeftSprite.drawAt(8, ParamDefinition.canvasHeight / 2 - Login.worldSelectLeftSprite.subHeight / 2); + } + + if (NPCDefinition.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { + NPCDefinition.worldSelectRightSprite.drawAt(GrandExchangeEvent.canvasWidth - NPCDefinition.worldSelectRightSprite.subWidth - 8, ParamDefinition.canvasHeight / 2 - NPCDefinition.worldSelectRightSprite.subHeight / 2); + } + + int var11 = var9 + 23; + int var12 = var8 + Login.xPadding; + int var13 = 0; + boolean var14 = false; + int var15 = Login.worldSelectPage; + + int var16; + for (var16 = var5 * var15; var16 < World.World_count && var15 - Login.worldSelectPage < var4; ++var16) { + World var24 = World.World_worlds[var16]; + boolean var18 = true; + String var19 = Integer.toString(var24.population); + if (var24.population == -1) { + var19 = "OFF"; + var18 = false; + } else if (var24.population > 1980) { + var19 = "FULL"; + var18 = false; } - if (NPCDefinition.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { - NPCDefinition.worldSelectRightSprite.drawAt(GrandExchangeEvent.canvasWidth - NPCDefinition.worldSelectRightSprite.subWidth - 8, ParamDefinition.canvasHeight / 2 - NPCDefinition.worldSelectRightSprite.subHeight / 2); - } - - int var11 = var9 + 23; - int var12 = var8 + Login.xPadding; - int var13 = 0; - boolean var14 = false; - int var15 = Login.worldSelectPage; - - int var16; - for (var16 = var5 * var15; var16 < World.worldsCount && var15 - Login.worldSelectPage < var4; ++var16) { - World var24 = World.worlds[var16]; - boolean var18 = true; - String var19 = Integer.toString(var24.population); - if (var24.population == -1) { - var19 = "OFF"; - var18 = false; - } else if (var24.population > 1980) { - var19 = "FULL"; - var18 = false; - } - - int var21 = 0; - byte var20; - if (var24.isBeta()) { - if (var24.isMembersOnly()) { - var20 = 7; - } else { - var20 = 6; - } - } else if (var24.isDeadman()) { - var21 = 0xff0000; - if (var24.isMembersOnly()) { - var20 = 5; - } else { - var20 = 4; - } - } else if (var24.isPvp()) { - if (var24.isMembersOnly()) { - var20 = 3; - } else { - var20 = 2; - } - } else if (var24.isMembersOnly()) { - var20 = 1; + int var21 = 0; + byte var20; + if (var24.isBeta()) { + if (var24.isMembersOnly()) { + var20 = 7; } else { - var20 = 0; + var20 = 6; } - - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var11 && MouseHandler.MouseHandler_x < var27 + var12 && MouseHandler.MouseHandler_y < var11 + var28 && var18) { - Login.hoveredWorldIndex = var16; - WorldMapID.worldSelectBackSprites[var20].drawTransOverlayAt(var12, var11, 128, 0xffffff); - var14 = true; + } else if (var24.isDeadman()) { + var21 = 0xff0000; + if (var24.isMembersOnly()) { + var20 = 5; } else { - WorldMapID.worldSelectBackSprites[var20].drawAt(var12, var11); + var20 = 4; } - - if (SecureRandomCallable.worldSelectFlagSprites != null) { - SecureRandomCallable.worldSelectFlagSprites[(var24.isMembersOnly() ? 8 : 0) + var24.location].drawAt(var12 + 29, var11); - } - - var0.drawCentered(Integer.toString(var24.id), var12 + 15, var28 / 2 + var11 + 5, var21, -1); - var1.drawCentered(var19, var12 + 60, var28 / 2 + var11 + 5, 0xfffffff, -1); - var11 = var11 + var7 + var28; - ++var13; - if (var13 >= var5) { - var11 = var9 + 23; - var12 = var12 + var6 + var27; - var13 = 0; - ++var15; + } else if (var24.isPvp()) { + if (var24.isMembersOnly()) { + var20 = 3; + } else { + var20 = 2; } + } else if (var24.isMembersOnly()) { + var20 = 1; + } else { + var20 = 0; } - if (var14) { - var16 = var1.stringWidth(World.worlds[Login.hoveredWorldIndex].activity) + 6; - int var17 = var1.ascent + 8; - int var26 = MouseHandler.MouseHandler_y + 25; - if (var17 + var26 > 480) { - var26 = MouseHandler.MouseHandler_y - 25 - var17; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var16 / 2, var26, var16, var17, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var16 / 2, var26, var16, var17, 0); - var1.drawCentered(World.worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var26 + var1.ascent + 4, 0, -1); + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var11 && MouseHandler.MouseHandler_x < var27 + var12 && MouseHandler.MouseHandler_y < var11 + var28 && var18) { + Login.hoveredWorldIndex = var16; + WorldMapID.worldSelectBackSprites[var20].drawTransOverlayAt(var12, var11, 128, 0xffffff); + var14 = true; + } else { + WorldMapID.worldSelectBackSprites[var20].drawAt(var12, var11); } + + if (SecureRandomCallable.worldSelectFlagSprites != null) { + SecureRandomCallable.worldSelectFlagSprites[(var24.isMembersOnly() ? 8 : 0) + var24.location].drawAt(var12 + 29, var11); + } + + var0.drawCentered(Integer.toString(var24.id), var12 + 15, var28 / 2 + var11 + 5, var21, -1); + var1.drawCentered(var19, var12 + 60, var28 / 2 + var11 + 5, 0xfffffff, -1); + var11 = var11 + var7 + var28; + ++var13; + if (var13 >= var5) { + var11 = var9 + 23; + var12 = var12 + var6 + var27; + var13 = 0; + ++var15; + } + } + + if (var14) { + var16 = var1.stringWidth(World.World_worlds[Login.hoveredWorldIndex].activity) + 6; + int var17 = var1.ascent + 8; + int var26 = MouseHandler.MouseHandler_y + 25; + if (var17 + var26 > 480) { + var26 = MouseHandler.MouseHandler_y - 25 - var17; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var16 / 2, var26, var16, var17, 0xffffa0); + Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var16 / 2, var26, var16, var17, 0); + var1.drawCentered(World.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var26 + var1.ascent + 4, 0, -1); } MusicPatchPcmStream.rasterProvider.drawFull(0, 0); @@ -282,8 +285,8 @@ public class class188 { garbageValue = "730328145" ) @Export("insertMenuItemNoShift") - public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { - Entity.insertMenuItem(var0, var1, var2, var3, var4, var5, false); + public static final void insertMenuItemNoShift(String var0, String var1, int var2, int itemid, int var4, int widshit) { + Entity.insertMenuItem(var0, var1, var2, itemid, var4, widshit, false); } @ObfuscatedName("ig") @@ -291,7 +294,8 @@ public class class188 { signature = "(II)Ljava/lang/String;", garbageValue = "434520276" ) - static final String method3631(int var0) { + @Export("formatItemStacks") + static final String formatItemStacks(int var0) { String var1 = Integer.toString(var0); for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { @@ -299,7 +303,7 @@ public class class188 { } if (var1.length() > 9) { - return " " + ClientPreferences.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; + return " " + ClientPreferences.colorStartTag(0xff80) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; } return var1.length() > 6 ? " " + ClientPreferences.colorStartTag(0xffffff) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + ClientPreferences.colorStartTag(0xffff00) + var1 + ""; } diff --git a/runescape-client/src/main/java/class189.java b/runescape-client/src/main/java/class189.java index 7cb0a6201e..50ff238fee 100644 --- a/runescape-client/src/main/java/class189.java +++ b/runescape-client/src/main/java/class189.java @@ -19,7 +19,7 @@ public class class189 { Login.loginBoxX = Login.xPadding + 202; ScriptEvent.loginBoxCenter = Login.loginBoxX + 180; if (Login.worldSelectOpen) { - class188.method3643(var0, var1); + class188.drawWorldSelect(var0, var1); } else { GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); @@ -54,14 +54,14 @@ public class class189 { if (Login.loginIndex != 4) { var0.draw("Login: ", Login.loginBoxX + 180 - 110, var23, 0xffffff, 0); var24 = 200; - var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.method3612(Login.Login_username) : Login.Login_username; + var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.passwordStarChars(Login.Login_username) : Login.Login_username; for (var6 = var5; var0.stringWidth(var6) > var24; var6 = var6.substring(0, var6.length() - 1)) { } var0.draw(AbstractFont.escapeBrackets(var6), Login.loginBoxX + 180 - 70, var23, 0xffffff, 0); var23 += 15; - var0.draw("Password: " + ClientPacket.method3612(Login.Login_password), Login.loginBoxX + 180 - 108, var23, 0xffffff, 0); + var0.draw("Password: " + ClientPacket.passwordStarChars(Login.Login_password), Login.loginBoxX + 180 - 108, var23, 0xffffff, 0); var23 += 15; } } @@ -109,14 +109,14 @@ public class class189 { var23 += 7; var0.draw("Login: ", ScriptEvent.loginBoxCenter - 110, var23, 0xffffff, 0); var24 = 200; - var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.method3612(Login.Login_username) : Login.Login_username; + var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.passwordStarChars(Login.Login_username) : Login.Login_username; for (var6 = var5; var0.stringWidth(var6) > var24; var6 = var6.substring(1)) { } var0.draw(AbstractFont.escapeBrackets(var6) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? ClientPreferences.colorStartTag(0xffff00) + "|" : ""), ScriptEvent.loginBoxCenter - 70, var23, 0xffffff, 0); var23 += 15; - var0.draw("Password: " + ClientPacket.method3612(Login.Login_password) + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? ClientPreferences.colorStartTag(0xffff00) + "|" : ""), ScriptEvent.loginBoxCenter - 108, var23, 0xffffff, 0); + var0.draw("Password: " + ClientPacket.passwordStarChars(Login.Login_password) + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? ClientPreferences.colorStartTag(0xffff00) + "|" : ""), ScriptEvent.loginBoxCenter - 108, var23, 0xffffff, 0); var23 += 15; var22 = 277; var7 = ScriptEvent.loginBoxCenter + -117; @@ -180,7 +180,7 @@ public class class189 { var23 += 15; var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var23, 0xffffff, 0); var23 += 15; - var0.draw("PIN: " + ClientPacket.method3612(WorldMapManager.otp) + (Client.cycle % 40 < 20 ? ClientPreferences.colorStartTag(0xffff00) + "|" : ""), Login.loginBoxX + 180 - 108, var23, 0xffffff, 0); + var0.draw("PIN: " + ClientPacket.passwordStarChars(WorldMapManager.otp) + (Client.cycle % 40 < 20 ? ClientPreferences.colorStartTag(0xffff00) + "|" : ""), Login.loginBoxX + 180 - 108, var23, 0xffffff, 0); var23 -= 8; var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var23, 0xffff00, 0); var23 += 15; @@ -216,7 +216,7 @@ public class class189 { var23 += 14; var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var23, 0xffffff, 0); var24 = 174; - var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.method3612(Login.Login_username) : Login.Login_username; + var5 = WorldMapLabelSize.clientPreferences.hideUsername ? ClientPacket.passwordStarChars(Login.Login_username) : Login.Login_username; for (var6 = var5; var0.stringWidth(var6) > var24; var6 = var6.substring(1)) { } @@ -343,7 +343,7 @@ public class class189 { byte var19 = 35; class30.field264.drawAt(var23, var24); var0.drawCentered("World" + " " + Client.worldId, var27 / 2 + var23, var19 / 2 + var24 - 2, 0xffffff, 0); - if (World.field1027 != null) { + if (World.World_request != null) { var1.drawCentered("Loading...", var27 / 2 + var23, var19 / 2 + var24 + 12, 0xffffff, 0); } else { var1.drawCentered("Click to switch", var27 / 2 + var23, var19 / 2 + var24 + 12, 0xffffff, 0); diff --git a/runescape-client/src/main/java/class192.java b/runescape-client/src/main/java/class192.java index 9ba2e7309d..431fb4956b 100644 --- a/runescape-client/src/main/java/class192.java +++ b/runescape-client/src/main/java/class192.java @@ -77,12 +77,14 @@ public enum class192 implements Enumerated { @ObfuscatedGetter( longValue = -5559382654824697645L ) - static long field2382; + @Export("js5ConnectionMs") + static long js5ConnectionMs; @ObfuscatedName("r") @ObfuscatedGetter( intValue = -646625045 ) - final int field2379; + @Export("id") + final int id; @ObfuscatedName("v") final Set field2380; @@ -95,7 +97,7 @@ public enum class192 implements Enumerated { ) class192(String var3, int var4, class191[] var5) { this.field2380 = new HashSet(); - this.field2379 = var4; + this.id = var4; class191[] var6 = var5; for (int var7 = 0; var7 < var6.length; ++var7) { @@ -107,7 +109,7 @@ public enum class192 implements Enumerated { class192(String var3, int var4) { this.field2380 = new HashSet(); - this.field2379 = var4; + this.id = var4; } @ObfuscatedName("e") @@ -117,7 +119,7 @@ public enum class192 implements Enumerated { ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field2379; + return this.id; } @ObfuscatedName("q") @@ -161,7 +163,8 @@ public enum class192 implements Enumerated { signature = "(B)V", garbageValue = "46" ) - public static void method3678() { + @Export("initReflectionChecksDeque") + public static void initReflectionChecksDeque() { class96.reflectionChecks = new IterableNodeDeque(); } @@ -170,7 +173,8 @@ public enum class192 implements Enumerated { signature = "(Ljava/lang/CharSequence;B)Z", garbageValue = "-31" ) - public static boolean method3677(CharSequence var0) { + @Export("isNumber") + public static boolean isNumber(CharSequence var0) { boolean var2 = false; boolean var3 = false; int var4 = 0; @@ -178,22 +182,15 @@ public enum class192 implements Enumerated { int var6 = 0; boolean var1; - while (true) { - if (var6 >= var5) { - var1 = var3; - break; - } - - label82: { + for (; ; var6++) { + if (var6 < var5) { char var7 = var0.charAt(var6); if (var6 == 0) { if (var7 == '-') { var2 = true; - break label82; - } - - if (var7 == '+') { - break label82; + continue; + } else if (var7 == '+') { + continue; } } @@ -202,12 +199,10 @@ public enum class192 implements Enumerated { var9 = var7 - '0'; } else if (var7 >= 'A' && var7 <= 'Z') { var9 = var7 - '7'; + } else if (var7 < 'a' || var7 > 'z') { + var1 = false; + break; } else { - if (var7 < 'a' || var7 > 'z') { - var1 = false; - break; - } - var9 = var7 - 'W'; } @@ -228,9 +223,11 @@ public enum class192 implements Enumerated { var4 = var8; var3 = true; + } else { + var1 = var3; + break; } - ++var6; } return var1; @@ -250,16 +247,16 @@ public enum class192 implements Enumerated { int var4 = 1; for (int var5 = 0; var5 < 4; ++var5) { - if (World.sortOption1[var5] != var0) { - var2[var4] = World.sortOption1[var5]; - var3[var4] = World.sortOption2[var5]; + if (World.World_sortOption1[var5] != var0) { + var2[var4] = World.World_sortOption1[var5]; + var3[var4] = World.World_sortOption2[var5]; ++var4; } } - World.sortOption1 = var2; - World.sortOption2 = var3; - Client.sortWorlds(World.worlds, 0, World.worlds.length - 1, World.sortOption1, World.sortOption2); + World.World_sortOption1 = var2; + World.World_sortOption2 = var3; + Client.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); } @ObfuscatedName("i") @@ -267,7 +264,8 @@ public enum class192 implements Enumerated { signature = "(II)I", garbageValue = "-72629118" ) - static int method3669(int var0) { + @Export("Messages_getLastChatID") + static int Messages_getLastChatID(int var0) { Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); if (var1 == null) { return -1; @@ -280,7 +278,8 @@ public enum class192 implements Enumerated { signature = "(II)V", garbageValue = "2005954129" ) - static void method3675(int var0) { + @Export("setOculusOrbState") + static void setOculusOrbState(int var0) { Client.oculusOrbState = var0; } } diff --git a/runescape-client/src/main/java/class197.java b/runescape-client/src/main/java/class197.java index 9aba14d261..89c07016de 100644 --- a/runescape-client/src/main/java/class197.java +++ b/runescape-client/src/main/java/class197.java @@ -141,9 +141,9 @@ public class class197 { var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; var4 = null; - for (var5 = 0; var5 < World.worldsCount; ++var5) { - if (var7 == World.worlds[var5].id) { - var4 = World.worlds[var5]; + for (var5 = 0; var5 < World.World_count; ++var5) { + if (var7 == World.World_worlds[var5].id) { + var4 = World.World_worlds[var5]; break; } } @@ -177,8 +177,8 @@ public class class197 { } if (var0 == ScriptOpcodes.GETWORLDINFO) { var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - if (var7 >= 0 && var7 < World.worldsCount) { - var4 = World.worlds[var7]; + if (var7 >= 0 && var7 < World.World_count) { + var4 = World.World_worlds[var7]; Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.id; Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.properties; Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.activity; @@ -234,9 +234,9 @@ public class class197 { var8 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; var9 = WorldMapIcon_0.getParamDefinition(var8); if (var9.isString()) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.getItemDefinition(var7).getStringParam(var8, var9.defaultStr); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.ItemDefinition_get(var7).getStringParam(var8, var9.defaultStr); } else { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var7).getIntParam(var8, var9.defaultInt); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var7).getIntParam(var8, var9.defaultInt); } return 1; @@ -328,7 +328,7 @@ public class class197 { } for (IntegerNode var4 = (IntegerNode)Client.widgetClickMasks.first(); var4 != null; var4 = (IntegerNode)Client.widgetClickMasks.next()) { - if ((var4.key >> 48 & 65535L) == (long)var2) { + if ((var4.key >> 48 & 0xffffL) == (long)var2) { var4.remove(); } } @@ -343,9 +343,9 @@ public class class197 { if (var5 < Client.menuOptionsCount - 1) { for (int var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { Client.menuActions[var6] = Client.menuActions[var6 + 1]; - Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; + Client.menuTargets[var6] = Client.menuTargets[var6 + 1]; Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; - Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; + Client.menuIdentifiers[var6] = Client.menuIdentifiers[var6 + 1]; Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; @@ -357,9 +357,9 @@ public class class197 { } } - GrandExchangeOfferAgeComparator.method145(); + GrandExchangeOfferAgeComparator.calculateMenuBounds(); if (Client.rootInterface != -1) { - WorldMapLabelSize.method175(Client.rootInterface, 1); + WorldMapLabelSize.runIntfCloseListeners(Client.rootInterface, 1); } } diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index f8efa62834..d79c7ba3cf 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -49,7 +49,8 @@ final class class2 implements class0 { signature = "(III)I", garbageValue = "-1315693887" ) - static int method27(int var0, int var1) { + @Export("ItemContainer_getCount") + static int ItemContainer_getCount(int var0, int var1) { ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); if (var2 == null) { return 0; @@ -99,44 +100,37 @@ final class class2 implements class0 { int var13; int var14; int var15; - int var17; - int var18; if (var9.type == 2) { var12 = var2; var13 = var3; var14 = var4; var15 = var5; - } else { - int var16; - if (var9.type == 9) { - var16 = var10; - var17 = var11; - var18 = var10 + var9.width; - int var19 = var11 + var9.height; - if (var18 < var10) { - var16 = var18; - var18 = var10; - } - - if (var19 < var11) { - var17 = var19; - var19 = var11; - } - - ++var18; - ++var19; - var12 = var16 > var2 ? var16 : var2; - var13 = var17 > var3 ? var17 : var3; - var14 = var18 < var4 ? var18 : var4; - var15 = var19 < var5 ? var19 : var5; - } else { - var16 = var10 + var9.width; - var17 = var11 + var9.height; - var12 = var10 > var2 ? var10 : var2; - var13 = var11 > var3 ? var11 : var3; - var14 = var16 < var4 ? var16 : var4; - var15 = var17 < var5 ? var17 : var5; + } else if (var9.type == 9) { + int var16 = var10; + int var17 = var11; + int var18 = var10 + var9.width; + int var19 = var11 + var9.height; + if (var18++ < var10) { + var16 = var18; + var18 = var10; } + + if (var19++ < var11) { + var17 = var19; + var19 = var11; + } + + var12 = var16 > var2 ? var16 : var2; + var13 = var17 > var3 ? var17 : var3; + var14 = var18 < var4 ? var18 : var4; + var15 = var19 < var5 ? var19 : var5; + } else { + int var16 = var10 + var9.width; + int var17 = var11 + var9.height; + var12 = var10 > var2 ? var10 : var2; + var13 = var11 > var3 ? var11 : var3; + var14 = var16 < var4 ? var16 : var4; + var15 = var17 < var5 ? var17 : var5; } if (var9 == Client.clickedWidget) { @@ -169,10 +163,9 @@ final class class2 implements class0 { continue; } if (var9.isIf3) { - ScriptEvent var26; if (var9.noClickThrough) { if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + for (ScriptEvent var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { if (var26.boolean1) { var26.remove(); var26.widget.containsMouse = false; @@ -185,11 +178,11 @@ final class class2 implements class0 { } if (!Client.isMenuOpen) { - GraphicsObject.resetMenuEntries(); + GraphicsObject.addCancelMenuEntry(); } } } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + for (ScriptEvent var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { if (var26.boolean1 && var26.widget.onScroll == var26.args) { var26.remove(); } @@ -197,8 +190,8 @@ final class class2 implements class0 { } } - var17 = MouseHandler.MouseHandler_x; - var18 = MouseHandler.MouseHandler_y; + int var17 = MouseHandler.MouseHandler_x; + int var18 = MouseHandler.MouseHandler_y; if (MouseHandler.MouseHandler_lastButton != 0) { var17 = MouseHandler.MouseHandler_lastPressedX; var18 = MouseHandler.MouseHandler_lastPressedY; @@ -227,14 +220,12 @@ final class class2 implements class0 { } } - boolean var21; - int var23; if (var32) { for (int var20 = 0; var20 < var9.field2650.length; ++var20) { - var21 = false; + boolean var21 = false; boolean var22 = false; if (!var21 && var9.field2650[var20] != null) { - for (var23 = 0; var23 < var9.field2650[var20].length; ++var23) { + for (int var23 = 0; var23 < var9.field2650[var20].length; ++var23) { boolean var24 = false; if (var9.field2578 != null) { var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2650[var20][var23]]; @@ -259,7 +250,7 @@ final class class2 implements class0 { if (var20 < 10) { Messages.method2163(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); } else if (var20 == 10) { - WorldMapID.method542(); + WorldMapID.Widget_runOnTargetLeave(); TileItem.method2053(var9.id, var9.childIndex, HealthBar.method1957(class268.getWidgetClickMask(var9)), var9.itemId); Client.selectedSpellActionName = FontName.method5318(var9); if (Client.selectedSpellActionName == null) { @@ -269,7 +260,7 @@ final class class2 implements class0 { Client.selectedSpellName = var9.dataText + ClientPreferences.colorStartTag(0xffffff); } - var23 = var9.field2641[var20]; + int var23 = var9.field2641[var20]; if (var9.field2578 == null) { var9.field2578 = new int[var9.field2650.length]; } @@ -307,7 +298,7 @@ final class class2 implements class0 { var34 = true; } - var21 = false; + boolean var21 = false; if ((MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { var21 = true; } @@ -331,9 +322,8 @@ final class class2 implements class0 { } if (var9.hasListener) { - ScriptEvent var29; if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseY = Client.mouseWheelRotation; @@ -350,7 +340,7 @@ final class class2 implements class0 { if (!var9.isClicked && var21) { var9.isClicked = true; if (var9.onClick != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; @@ -361,7 +351,7 @@ final class class2 implements class0 { } if (var9.isClicked && var34 && var9.onClickRepeat != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -373,7 +363,7 @@ final class class2 implements class0 { if (var9.isClicked && !var34) { var9.isClicked = false; if (var9.onRelease != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -384,7 +374,7 @@ final class class2 implements class0 { } if (var34 && var9.onHold != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -396,7 +386,7 @@ final class class2 implements class0 { if (!var9.containsMouse && var33) { var9.containsMouse = true; if (var9.onMouseOver != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -407,7 +397,7 @@ final class class2 implements class0 { } if (var9.containsMouse && var33 && var9.onMouseRepeat != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -419,7 +409,7 @@ final class class2 implements class0 { if (var9.containsMouse && !var33) { var9.containsMouse = false; if (var9.onMouseLeave != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.boolean1 = true; var29.widget = var9; var29.mouseX = MouseHandler.MouseHandler_x - var10; @@ -430,24 +420,21 @@ final class class2 implements class0 { } if (var9.onTimer != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onTimer; Client.field852.addFirst(var29); } - ScriptEvent var31; - int var35; - int var36; if (var9.onVarTransmit != null && Client.field806 > var9.field2592) { if (var9.varTransmitTriggers != null && Client.field806 - var9.field2592 <= 32) { label865: - for (var35 = var9.field2592; var35 < Client.field806; ++var35) { - var23 = Client.field863[var35 & 31]; + for (int var35 = var9.field2592; var35 < Client.field806; ++var35) { + int var23 = Client.field863[var35 & 31]; - for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { + for (int var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { if (var23 == var9.varTransmitTriggers[var36]) { - var31 = new ScriptEvent(); + ScriptEvent var31 = new ScriptEvent(); var31.widget = var9; var31.args = var9.onVarTransmit; Client.scriptEvents.addFirst(var31); @@ -456,7 +443,7 @@ final class class2 implements class0 { } } } else { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onVarTransmit; Client.scriptEvents.addFirst(var29); @@ -468,12 +455,12 @@ final class class2 implements class0 { if (var9.onInvTransmit != null && Client.field671 > var9.field2603) { if (var9.invTransmitTriggers != null && Client.field671 - var9.field2603 <= 32) { label841: - for (var35 = var9.field2603; var35 < Client.field671; ++var35) { - var23 = Client.field888[var35 & 31]; + for (int var35 = var9.field2603; var35 < Client.field671; ++var35) { + int var23 = Client.field888[var35 & 31]; - for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { + for (int var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { if (var23 == var9.invTransmitTriggers[var36]) { - var31 = new ScriptEvent(); + ScriptEvent var31 = new ScriptEvent(); var31.widget = var9; var31.args = var9.onInvTransmit; Client.scriptEvents.addFirst(var31); @@ -482,7 +469,7 @@ final class class2 implements class0 { } } } else { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onInvTransmit; Client.scriptEvents.addFirst(var29); @@ -494,12 +481,12 @@ final class class2 implements class0 { if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2700) { if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2700 <= 32) { label817: - for (var35 = var9.field2700; var35 < Client.changedSkillsCount; ++var35) { - var23 = Client.changedSkills[var35 & 31]; + for (int var35 = var9.field2700; var35 < Client.changedSkillsCount; ++var35) { + int var23 = Client.changedSkills[var35 & 31]; - for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { + for (int var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { if (var23 == var9.statTransmitTriggers[var36]) { - var31 = new ScriptEvent(); + ScriptEvent var31 = new ScriptEvent(); var31.widget = var9; var31.args = var9.onStatTransmit; Client.scriptEvents.addFirst(var31); @@ -508,7 +495,7 @@ final class class2 implements class0 { } } } else { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onStatTransmit; Client.scriptEvents.addFirst(var29); @@ -518,42 +505,42 @@ final class class2 implements class0 { } if (Client.chatCycle > var9.field2689 && var9.onChatTransmit != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onChatTransmit; Client.scriptEvents.addFirst(var29); } if (Client.field672 > var9.field2689 && var9.onFriendTransmit != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onFriendTransmit; Client.scriptEvents.addFirst(var29); } if (Client.field849 > var9.field2689 && var9.onClanTransmit != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onClanTransmit; Client.scriptEvents.addFirst(var29); } if (Client.field915 > var9.field2689 && var9.onStockTransmit != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onStockTransmit; Client.scriptEvents.addFirst(var29); } if (Client.field851 > var9.field2689 && var9.field2681 != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.field2681; Client.scriptEvents.addFirst(var29); } if (Client.field844 > var9.field2689 && var9.onMiscTransmit != null) { - var29 = new ScriptEvent(); + ScriptEvent var29 = new ScriptEvent(); var29.widget = var9; var29.args = var9.onMiscTransmit; Client.scriptEvents.addFirst(var29); @@ -561,7 +548,7 @@ final class class2 implements class0 { var9.field2689 = Client.cycleCntr; if (var9.onKey != null) { - for (var35 = 0; var35 < Client.field754; ++var35) { + for (int var35 = 0; var35 < Client.field754; ++var35) { ScriptEvent var30 = new ScriptEvent(); var30.widget = var9; var30.keyTyped = Client.field921[var35]; @@ -621,7 +608,7 @@ final class class2 implements class0 { } if (!Client.isMenuOpen) { - GraphicsObject.resetMenuEntries(); + GraphicsObject.addCancelMenuEntry(); } } @@ -635,10 +622,11 @@ final class class2 implements class0 { signature = "(I)V", garbageValue = "-949997341" ) - static final void method28() { - UserComparator10.method3405(); + @Export("FriendSystem_invalidateIgnoreds") + static final void FriendSystem_invalidateIgnoreds() { + UserComparator10.Messages_invalidateIgnoreds(); if (DevicePcmPlayerProvider.clanChat != null) { - DevicePcmPlayerProvider.clanChat.clearIgnoreds(); + DevicePcmPlayerProvider.clanChat.invalidateIgnoreds(); } } diff --git a/runescape-client/src/main/java/class208.java b/runescape-client/src/main/java/class208.java index fd2daa734e..6265405277 100644 --- a/runescape-client/src/main/java/class208.java +++ b/runescape-client/src/main/java/class208.java @@ -69,7 +69,7 @@ public class class208 { } if (var0 == ScriptOpcodes.COMPARE) { Skills.Interpreter_stringStackSize -= 2; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WallDecoration.method3292(MenuAction.method1993(Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1], ScriptFrame.clientLanguage)); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WallDecoration.method3292(MenuAction.compareStrings(Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1], ScriptFrame.clientLanguage)); return 1; } int var5; diff --git a/runescape-client/src/main/java/class215.java b/runescape-client/src/main/java/class215.java index 066061fdf6..4729b47737 100644 --- a/runescape-client/src/main/java/class215.java +++ b/runescape-client/src/main/java/class215.java @@ -13,7 +13,8 @@ public class class215 { @ObfuscatedName("p") public static final short[][] field2546; @ObfuscatedName("x") - static boolean field2545; + @Export("NetCache_hasPendingPriorityResponses") + static boolean NetCache_hasPendingPriorityResponses; @ObfuscatedName("dy") @ObfuscatedSignature( signature = "Liu;" @@ -29,35 +30,36 @@ public class class215 { } @ObfuscatedName("w") - public static String method4023(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (var0 % 37L == 0L) { - return null; - } - int var2 = 0; - - for (long var3 = var0; 0L != var3; var3 /= 37L) { - ++var2; - } - - StringBuilder var5; - char var8; - for (var5 = new StringBuilder(var2); var0 != 0L; var5.append(var8)) { - long var6 = var0; - var0 /= 37L; - var8 = class289.base37Table[(int)(var6 - var0 * 37L)]; - if (var8 == '_') { - int var9 = var5.length() - 1; - var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); - var8 = 160; - } - } - - var5.reverse(); - var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); - return var5.toString(); + @Export("base37DecodeLong") + public static String base37DecodeLong(long var0) { + if (var0 <= 0L || var0 >= 0x5b5b57f8a98a5dd1L) { + return null; } - return null; + if (var0 % 37L == 0L) { + return null; + } + int var2 = 0; + + for (long var3 = var0; 0L != var3; var3 /= 37L) { + ++var2; + } + + StringBuilder var5; + char var8; + for (var5 = new StringBuilder(var2); var0 != 0L; var5.append(var8)) { + long var6 = var0; + var0 /= 37L; + var8 = class289.base37Table[(int)(var6 - var0 * 37L)]; + if (var8 == '_') { + int var9 = var5.length() - 1; + var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); + var8 = 160; + } + } + + var5.reverse(); + var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); + return var5.toString(); } @ObfuscatedName("l") diff --git a/runescape-client/src/main/java/class218.java b/runescape-client/src/main/java/class218.java index 10bcc61646..62c4e2e130 100644 --- a/runescape-client/src/main/java/class218.java +++ b/runescape-client/src/main/java/class218.java @@ -1,4 +1,5 @@ import java.applet.Applet; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @@ -29,7 +30,8 @@ public class class218 { signature = "(I)Z", garbageValue = "-205887653" ) - public static final boolean method4109() { + @Export("isKeyDown") + public static final boolean isKeyDown() { synchronized(KeyHandler.KeyHandler_instance) { if (KeyHandler.field385 == KeyHandler.field396) { return false; diff --git a/runescape-client/src/main/java/class219.java b/runescape-client/src/main/java/class219.java index bdaa6dde0b..85686a0cb3 100644 --- a/runescape-client/src/main/java/class219.java +++ b/runescape-client/src/main/java/class219.java @@ -10,10 +10,10 @@ public class class219 { garbageValue = "-444030041" ) static final void method4111(String var0) { - PacketBufferNode var1 = Archive.method4265(ClientPacket.field2210, Client.packetWriter.isaacCipher); + PacketBufferNode var1 = Archive.getPacketBufferNode(ClientPacket.field2210, Client.packetWriter.isaacCipher); var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method2219(var1); + Client.packetWriter.addNode(var1); } @ObfuscatedName("gd") diff --git a/runescape-client/src/main/java/class225.java b/runescape-client/src/main/java/class225.java index c984e8f862..d6a43e227a 100644 --- a/runescape-client/src/main/java/class225.java +++ b/runescape-client/src/main/java/class225.java @@ -52,7 +52,7 @@ public class class225 { } if (var5 != -1) { - SequenceDefinition var6 = GrandExchangeEvent.getSequenceDefinition(var5); + SequenceDefinition var6 = GrandExchangeEvent.SequenceDefinition_get(var5); for (var3.modelFrameCycle += Client.field718; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; Strings.invalidateWidget(var3)) { var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; diff --git a/runescape-client/src/main/java/class226.java b/runescape-client/src/main/java/class226.java index 4892427873..daef08f1d7 100644 --- a/runescape-client/src/main/java/class226.java +++ b/runescape-client/src/main/java/class226.java @@ -9,7 +9,7 @@ public class class226 { signature = "Lkl;" ) @Export("privateChatMode") - static class310 privateChatMode; + static PrivateChatMode privateChatMode; @ObfuscatedName("r") @ObfuscatedSignature( signature = "Lhq;" diff --git a/runescape-client/src/main/java/class227.java b/runescape-client/src/main/java/class227.java index 7c3e87231f..29aae46498 100644 --- a/runescape-client/src/main/java/class227.java +++ b/runescape-client/src/main/java/class227.java @@ -11,36 +11,38 @@ public final class class227 { ) @Export("addPlayerToScene") static void addPlayerToScene(Player var0, boolean var1) { - if (var0 != null && var0.isVisible() && !var0.isHidden) { - var0.isUnanimated = false; - if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.movementSequence == var0.readySequence) { - var0.isUnanimated = true; - } - - int var2 = var0.x >> 7; - int var3 = var0.y >> 7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - long var4 = Tile.calculateTag(0, 0, 0, false, var0.index); - if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { - var0.isUnanimated = false; - var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); - var0.playerCycle = Client.cycle; - GrandExchangeOfferWorldComparator.scene.method3079(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.field950, var4, var0.field627, var0.field625, var0.field612, var0.field630); - } else { - if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { - if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { - return; - } - - Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; - } - - var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); - var0.playerCycle = Client.cycle; - GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.field950, var4, var0.field967); - } - } + if (var0 == null || !var0.isVisible() || var0.isHidden) { + return; } + var0.isUnanimated = false; + if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.movementSequence == var0.readySequence) { + var0.isUnanimated = true; + } + + int var2 = var0.x >> 7; + int var3 = var0.y >> 7; + if (var2 < 0 || var2 >= 104 || var3 < 0 || var3 >= 104) { + return; + } + long var4 = Tile.calculateTag(0, 0, 0, false, var0.index); + if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { + var0.isUnanimated = false; + var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); + var0.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.addNullableObject(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field627, var0.field625, var0.field612, var0.field630); + return; + } + if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { + if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { + return; + } + + Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; + } + + var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); + var0.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); } } diff --git a/runescape-client/src/main/java/class237.java b/runescape-client/src/main/java/class237.java index 397e558f57..5d95976799 100644 --- a/runescape-client/src/main/java/class237.java +++ b/runescape-client/src/main/java/class237.java @@ -194,9 +194,7 @@ public class class237 { for (int var8 = 0; var8 < var3.highY; ++var8) { for (int var9 = 0; var9 < var3.highX; ++var9) { - int[] var10000 = var2.pixels; - int var10001 = var7++; - var10000[var10001] += var1.pixels[var6++]; + var2.pixels[++var7] += var1.pixels[var6++]; } var6 += var1.subWidth - var3.highX; diff --git a/runescape-client/src/main/java/class267.java b/runescape-client/src/main/java/class267.java index d47fd8fb15..f05f63c16d 100644 --- a/runescape-client/src/main/java/class267.java +++ b/runescape-client/src/main/java/class267.java @@ -15,6 +15,6 @@ public class class267 { ) static final void method4986() { Client.field849 = Client.cycleCntr; - GrandExchangeEvent.field49 = true; + GrandExchangeEvent.ClanChat_inClanChat = true; } } diff --git a/runescape-client/src/main/java/class291.java b/runescape-client/src/main/java/class291.java index 8c918e891a..118815e4ac 100644 --- a/runescape-client/src/main/java/class291.java +++ b/runescape-client/src/main/java/class291.java @@ -36,159 +36,149 @@ public final class class291 { } int var14 = var3 - var2; - if (var14 >= 1) { - byte var6; - if (var1 == null) { + if (var14 < 1) { + return null; + } + byte var6; + if (var1 == null) { + var6 = 12; + } else { + switch(var1.field4057) { + case 8: + var6 = 20; + break; + default: var6 = 12; - } else { - switch(var1.field4057) { - case 8: - var6 = 20; - break; - default: - var6 = 12; - } } + } - if (var14 <= var6) { - StringBuilder var12 = new StringBuilder(var14); + if (var14 <= var6) { + StringBuilder var12 = new StringBuilder(var14); - for (int var15 = var2; var15 < var3; ++var15) { - char var7 = var0.charAt(var15); - boolean var8; - if (Character.isISOControl(var7)) { - var8 = false; - } else if (GrandExchangeOfferOwnWorldComparator.isAlphaNumeric(var7)) { - var8 = true; - } else { - char[] var13 = class339.field4061; - int var10 = 0; - - label118: - while (true) { - char var11; - if (var10 >= var13.length) { - var13 = class339.field4062; - - for (var10 = 0; var10 < var13.length; ++var10) { - var11 = var13[var10]; - if (var11 == var7) { - var8 = true; - break label118; - } - } - - var8 = false; - break; - } - - var11 = var13[var10]; + for (int var15 = var2; var15 < var3; ++var15) { + char var7 = var0.charAt(var15); + boolean var8; + if (Character.isISOControl(var7)) { + var8 = false; + } else if (GrandExchangeOfferOwnWorldComparator.isAlphaNumeric(var7)) { + var8 = true; + } else { + char[] var13 = class339.field4061; + int var10; + for (var10 = 0, var8 = false; var10 < var13.length; var10++) { + char var11 = var13[var10]; if (var11 == var7) { var8 = true; break; } - - ++var10; - } - } - - if (var8) { - char var9; - switch(var7) { - case ' ': - case '-': - case '_': - case ' ': - var9 = '_'; - break; - case '#': - case '[': - case ']': - var9 = var7; - break; - case 'À': - case 'Ã': - case 'Â': - case 'Ã': - case 'Ä': - case 'à': - case 'á': - case 'â': - case 'ã': - case 'ä': - var9 = 'a'; - break; - case 'Ç': - case 'ç': - var9 = 'c'; - break; - case 'È': - case 'É': - case 'Ê': - case 'Ë': - case 'è': - case 'é': - case 'ê': - case 'ë': - var9 = 'e'; - break; - case 'Ã': - case 'ÃŽ': - case 'Ã': - case 'í': - case 'î': - case 'ï': - var9 = 'i'; - break; - case 'Ñ': - case 'ñ': - var9 = 'n'; - break; - case 'Ã’': - case 'Ó': - case 'Ô': - case 'Õ': - case 'Ö': - case 'ò': - case 'ó': - case 'ô': - case 'õ': - case 'ö': - var9 = 'o'; - break; - case 'Ù': - case 'Ú': - case 'Û': - case 'Ü': - case 'ù': - case 'ú': - case 'û': - case 'ü': - var9 = 'u'; - break; - case 'ß': - var9 = 'b'; - break; - case 'ÿ': - case 'Ÿ': - var9 = 'y'; - break; - default: - var9 = Character.toLowerCase(var7); } - if (var9 != 0) { - var12.append(var9); + var13 = class339.field4062; + for (var10 = 0; var10 < var13.length; ++var10) { + char var11 = var13[var10]; + if (var11 == var7) { + var8 = true; + break; } } } - if (var12.length() == 0) { - return null; - } + if (var8) { + char var9; + switch(var7) { + case ' ': + case '-': + case '_': + case ' ': + var9 = '_'; + break; + case '#': + case '[': + case ']': + var9 = var7; + break; + case 'À': + case 'Ã': + case 'Â': + case 'Ã': + case 'Ä': + case 'à': + case 'á': + case 'â': + case 'ã': + case 'ä': + var9 = 'a'; + break; + case 'Ç': + case 'ç': + var9 = 'c'; + break; + case 'È': + case 'É': + case 'Ê': + case 'Ë': + case 'è': + case 'é': + case 'ê': + case 'ë': + var9 = 'e'; + break; + case 'Ã': + case 'ÃŽ': + case 'Ã': + case 'í': + case 'î': + case 'ï': + var9 = 'i'; + break; + case 'Ñ': + case 'ñ': + var9 = 'n'; + break; + case 'Ã’': + case 'Ó': + case 'Ô': + case 'Õ': + case 'Ö': + case 'ò': + case 'ó': + case 'ô': + case 'õ': + case 'ö': + var9 = 'o'; + break; + case 'Ù': + case 'Ú': + case 'Û': + case 'Ü': + case 'ù': + case 'ú': + case 'û': + case 'ü': + var9 = 'u'; + break; + case 'ß': + var9 = 'b'; + break; + case 'ÿ': + case 'Ÿ': + var9 = 'y'; + break; + default: + var9 = Character.toLowerCase(var7); + } - return var12.toString(); + if (var9 != 0) { + var12.append(var9); + } + } } + + if (var12.length() == 0) { + return null; + } + + return var12.toString(); } return null; diff --git a/runescape-client/src/main/java/class294.java b/runescape-client/src/main/java/class294.java index 9943e2d2b3..32518768a3 100644 --- a/runescape-client/src/main/java/class294.java +++ b/runescape-client/src/main/java/class294.java @@ -66,12 +66,12 @@ public class class294 { if (0L != var1) { int var6 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); - var3 = class43.getObjectIdFromTag(var1); + var3 = class43.Entity_unpackID(var1); var4 = var6 & 31; var5 = var6 >> 6 & 3; } - var0.field935 = var3; + var0.objectId = var3; var0.field933 = var4; var0.field936 = var5; } diff --git a/runescape-client/src/main/java/class3.java b/runescape-client/src/main/java/class3.java index e3efeb7598..9560495281 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -130,8 +130,9 @@ public class class3 implements Enumerated { signature = "(IB)I", garbageValue = "-12" ) - public static int method33(int var0) { - return WorldMapLabel.method420(ViewportMouse.ViewportMouse_entityTags[var0]); + @Export("ViewportMouse_unpackType") + public static int ViewportMouse_unpackType(int var0) { + return WorldMapLabel.Entity_unpackType(ViewportMouse.ViewportMouse_entityTags[var0]); } @ObfuscatedName("gm") @@ -165,7 +166,7 @@ public class class3 implements Enumerated { int[] var19 = RouteStrategy.sceneMinimapSprite.pixels; var26 = var1 * 4 + (103 - var2) * 2048 + 24624; - var14 = class43.getObjectIdFromTag(var5); + var14 = class43.Entity_unpackID(var5); ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var14); if (var15.mapSceneId != -1) { IndexedSprite var16 = ClanChat.mapSceneSprites[var15.mapSceneId]; @@ -242,7 +243,7 @@ public class class3 implements Enumerated { var7 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var1, var2, var5); var8 = var7 >> 6 & 3; var9 = var7 & 31; - var10 = class43.getObjectIdFromTag(var5); + var10 = class43.Entity_unpackID(var5); ObjectDefinition var20 = ViewportMouse.getObjectDefinition(var10); if (var20.mapSceneId != -1) { IndexedSprite var28 = ClanChat.mapSceneSprites[var20.mapSceneId]; @@ -281,7 +282,7 @@ public class class3 implements Enumerated { var5 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var1, var2); if (var5 != 0L) { - var7 = class43.getObjectIdFromTag(var5); + var7 = class43.Entity_unpackID(var5); ObjectDefinition var21 = ViewportMouse.getObjectDefinition(var7); if (var21.mapSceneId != -1) { IndexedSprite var22 = ClanChat.mapSceneSprites[var21.mapSceneId]; diff --git a/runescape-client/src/main/java/class30.java b/runescape-client/src/main/java/class30.java index 07dcc5b843..26b403ed02 100644 --- a/runescape-client/src/main/java/class30.java +++ b/runescape-client/src/main/java/class30.java @@ -95,30 +95,30 @@ public class class30 { if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; var10 = 0; - if (class192.method3677(var3)) { + if (class192.isNumber(var3)) { var10 = class3.parseInt(var3); } - PacketBufferNode var12 = Archive.method4265(ClientPacket.field2220, Client.packetWriter.isaacCipher); + PacketBufferNode var12 = Archive.getPacketBufferNode(ClientPacket.field2220, Client.packetWriter.isaacCipher); var12.packetBuffer.writeInt(var10); - Client.packetWriter.method2219(var12); + Client.packetWriter.addNode(var12); return 1; } PacketBufferNode var14; if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; - var14 = Archive.method4265(ClientPacket.field2298, Client.packetWriter.isaacCipher); + var14 = Archive.getPacketBufferNode(ClientPacket.field2298, Client.packetWriter.isaacCipher); var14.packetBuffer.writeByte(var3.length() + 1); var14.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.method2219(var14); + Client.packetWriter.addNode(var14); return 1; } if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; - var14 = Archive.method4265(ClientPacket.field2211, Client.packetWriter.isaacCipher); + var14 = Archive.getPacketBufferNode(ClientPacket.field2211, Client.packetWriter.isaacCipher); var14.packetBuffer.writeByte(var3.length() + 1); var14.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.method2219(var14); + Client.packetWriter.addNode(var14); return 1; } String var7; @@ -167,9 +167,9 @@ public class class30 { } if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { var15 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - var14 = Archive.method4265(ClientPacket.field2245, Client.packetWriter.isaacCipher); + var14 = Archive.getPacketBufferNode(ClientPacket.field2245, Client.packetWriter.isaacCipher); var14.packetBuffer.writeShort(var15); - Client.packetWriter.method2219(var14); + Client.packetWriter.addNode(var14); return 1; } if (var0 == ScriptOpcodes.BUG_REPORT) { @@ -183,12 +183,12 @@ public class class30 { if (var5.length() > 500) { return 1; } - PacketBufferNode var6 = Archive.method4265(ClientPacket.field2219, Client.packetWriter.isaacCipher); + PacketBufferNode var6 = Archive.getPacketBufferNode(ClientPacket.field2219, Client.packetWriter.isaacCipher); var6.packetBuffer.writeShort(1 + Huffman.stringCp1252NullTerminatedByteSize(var7) + Huffman.stringCp1252NullTerminatedByteSize(var5)); var6.packetBuffer.writeStringCp1252NullTerminated(var7); var6.packetBuffer.writeByte(var15); var6.packetBuffer.writeStringCp1252NullTerminated(var5); - Client.packetWriter.method2219(var6); + Client.packetWriter.addNode(var6); return 1; } if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { @@ -538,11 +538,11 @@ public class class30 { } if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; - class65.method1170(var5); + class65.Clan_joinChat(var5); return 1; } if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { - ScriptFrame.method1089(); + ScriptFrame.Clan_leaveChat(); return 1; } if (var0 == ScriptOpcodes.IGNORE_COUNT) { diff --git a/runescape-client/src/main/java/class301.java b/runescape-client/src/main/java/class301.java index 3a2bbd55cb..20d4ce87e9 100644 --- a/runescape-client/src/main/java/class301.java +++ b/runescape-client/src/main/java/class301.java @@ -4,7 +4,8 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("kw") public class class301 { @ObfuscatedName("q") - public static void method5752(byte[] var0, int var1, byte[] var2, int var3, int var4) { + @Export("writeRandomDat") + public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { if (var2 == var0) { if (var3 == var1) { return; diff --git a/runescape-client/src/main/java/class313.java b/runescape-client/src/main/java/class313.java index 46c34a1704..92e26336f9 100644 --- a/runescape-client/src/main/java/class313.java +++ b/runescape-client/src/main/java/class313.java @@ -52,7 +52,8 @@ public enum class313 implements Enumerated { field3841(1, 8); @ObfuscatedName("aw") - static java.awt.Font field3844; + @Export("fontHelvetica13") + static java.awt.Font fontHelvetica13; @ObfuscatedName("f") @ObfuscatedGetter( intValue = -1731817037 @@ -62,11 +63,12 @@ public enum class313 implements Enumerated { @ObfuscatedGetter( intValue = 1422970915 ) - final int field3836; + @Export("id") + final int id; class313(int var3, int var4) { this.field3842 = var3; - this.field3836 = var4; + this.id = var4; } @ObfuscatedName("e") @@ -76,6 +78,6 @@ public enum class313 implements Enumerated { ) @Export("rsOrdinal") public int rsOrdinal() { - return this.field3836; + return this.id; } } diff --git a/runescape-client/src/main/java/class32.java b/runescape-client/src/main/java/class32.java index ea1df78531..8df5beee2d 100644 --- a/runescape-client/src/main/java/class32.java +++ b/runescape-client/src/main/java/class32.java @@ -47,28 +47,27 @@ public class class32 { ) @Export("worldToScreen") static final void worldToScreen(int var0, int var1, int var2) { - if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { - int var3 = ScriptEvent.getTileHeight(var0, var1, class42.plane) - var2; - var0 -= PacketBuffer.cameraX; - var3 -= class43.cameraY; - var1 -= class1.cameraZ; - int var4 = Rasterizer3D.Rasterizer3D_sine[GrandExchangeOfferNameComparator.cameraPitch]; - int var5 = Rasterizer3D.Rasterizer3D_cosine[GrandExchangeOfferNameComparator.cameraPitch]; - int var6 = Rasterizer3D.Rasterizer3D_sine[Interpreter.cameraYaw]; - int var7 = Rasterizer3D.Rasterizer3D_cosine[Interpreter.cameraYaw]; - int var8 = var6 * var1 + var0 * var7 >> 16; - var1 = var7 * var1 - var0 * var6 >> 16; - var0 = var8; - var8 = var3 * var5 - var4 * var1 >> 16; - var1 = var5 * var1 + var4 * var3 >> 16; - if (var1 >= 50) { - Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; - Client.viewportTempY = Client.viewportHeight / 2 + var8 * Client.viewportZoom / var1; - } else { - Client.viewportTempX = -1; - Client.viewportTempY = -1; - } - + if (var0 < 128 || var1 < 128 || var0 > 13056 || var1 > 13056) { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + return; + } + int var3 = ScriptEvent.getTileHeight(var0, var1, class42.plane) - var2; + var0 -= PacketBuffer.cameraX; + var3 -= class43.cameraY; + var1 -= class1.cameraZ; + int var4 = Rasterizer3D.Rasterizer3D_sine[GrandExchangeOfferNameComparator.cameraPitch]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[GrandExchangeOfferNameComparator.cameraPitch]; + int var6 = Rasterizer3D.Rasterizer3D_sine[Interpreter.cameraYaw]; + int var7 = Rasterizer3D.Rasterizer3D_cosine[Interpreter.cameraYaw]; + int var8 = var6 * var1 + var0 * var7 >> 16; + var1 = var7 * var1 - var0 * var6 >> 16; + var0 = var8; + var8 = var3 * var5 - var4 * var1 >> 16; + var1 = var5 * var1 + var4 * var3 >> 16; + if (var1 >= 50) { + Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; + Client.viewportTempY = Client.viewportHeight / 2 + var8 * Client.viewportZoom / var1; } else { Client.viewportTempX = -1; Client.viewportTempY = -1; diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index 5626892fcf..7d1616f8e9 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -84,7 +84,7 @@ final class class4 implements class0 { } WorldMapRegion.addNpcsToScene(false); - PacketWriter.method2245(); + PacketWriter.drawProjectiles(); WorldMapRectangle.method275(); UrlRequest.setViewportShape(var0, var1, var2, var3, true); var0 = Client.viewportOffsetX; @@ -116,116 +116,106 @@ final class class4 implements class0 { int var12; int var13; int var14; - if (!Client.isCameraLocked) { + if (Client.isCameraLocked) { + var4 = class83.getHighestVisiblePlane(); + } else { if (WorldMapLabelSize.clientPreferences.roofsHidden) { var28 = class42.plane; } else { label567: { var6 = 3; if (GrandExchangeOfferNameComparator.cameraPitch < 310) { - label559: { - if (Client.oculusOrbState == 1) { - var7 = MouseHandler.oculusOrbFocalPointX >> 7; - var8 = WorldMapArea.oculusOrbFocalPointY >> 7; - } else { - var7 = Client.localPlayer.x >> 7; - var8 = Client.localPlayer.y >> 7; - } - - var9 = PacketBuffer.cameraX >> 7; - var10 = class1.cameraZ >> 7; - if (var9 >= 0 && var10 >= 0 && var9 < 104 && var10 < 104) { - if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { - if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { - var6 = class42.plane; - } - - if (var7 > var9) { - var11 = var7 - var9; - } else { - var11 = var9 - var7; - } - - if (var8 > var10) { - var12 = var8 - var10; - } else { - var12 = var10 - var8; - } - - if (var11 > var12) { - var13 = var12 * 65536 / var11; - var14 = 32768; - - while (true) { - if (var7 == var9) { - break label559; - } - - if (var9 < var7) { - ++var9; - } else if (var9 > var7) { - --var9; - } - - if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { - var6 = class42.plane; - } - - var14 += var13; - if (var14 >= 65536) { - var14 -= 65536; - if (var10 < var8) { - ++var10; - } else if (var10 > var8) { - --var10; - } - - if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { - var6 = class42.plane; - } - } - } - } - if (var12 > 0) { - var13 = var11 * 65536 / var12; - var14 = 32768; - - while (var10 != var8) { - if (var10 < var8) { - ++var10; - } else if (var10 > var8) { - --var10; - } - - if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { - var6 = class42.plane; - } - - var14 += var13; - if (var14 >= 65536) { - var14 -= 65536; - if (var9 < var7) { - ++var9; - } else if (var9 > var7) { - --var9; - } - - if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { - var6 = class42.plane; - } - } - } - } - break label559; - } - - var28 = class42.plane; - break label567; - } + if (Client.oculusOrbState == 1) { + var7 = MouseHandler.oculusOrbFocalPointX >> 7; + var8 = WorldMapArea.oculusOrbFocalPointY >> 7; + } else { + var7 = Client.localPlayer.x >> 7; + var8 = Client.localPlayer.y >> 7; + } + var9 = PacketBuffer.cameraX >> 7; + var10 = class1.cameraZ >> 7; + if (var9 < 0 || var10 < 0 || var9 >= 104 || var10 >= 104 || var7 < 0 || var8 < 0 || var7 >= 104 || var8 >= 104) { var28 = class42.plane; break label567; } + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + + if (var7 > var9) { + var11 = var7 - var9; + } else { + var11 = var9 - var7; + } + + if (var8 > var10) { + var12 = var8 - var10; + } else { + var12 = var10 - var8; + } + + if (var11 > var12) { + var13 = var12 * 65536 / var11; + var14 = 32768; + + while (var7 != var9) { + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + + var14 += var13; + if (var14 < 65536) { + continue; + } + var14 -= 65536; + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + } + } else if (var12 > 0) { + var13 = var11 * 65536 / var12; + var14 = 32768; + + while (var10 != var8) { + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + + var14 += var13; + if (var14 < 65536) { + continue; + } + var14 -= 65536; + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + } + } } if (Client.localPlayer.x >= 0 && Client.localPlayer.y >= 0 && Client.localPlayer.x < 13312 && Client.localPlayer.y < 13312) { @@ -241,8 +231,6 @@ final class class4 implements class0 { } var4 = var28; - } else { - var4 = class83.method1995(); } var28 = PacketBuffer.cameraX; @@ -252,33 +240,34 @@ final class class4 implements class0 { var9 = Interpreter.cameraYaw; for (var10 = 0; var10 < 5; ++var10) { - if (Client.field886[var10]) { - var11 = (int)(Math.random() * (double)(Client.field901[var10] * 2 + 1) - (double)Client.field901[var10] + Math.sin((double)Client.field903[var10] / 100.0D * (double)Client.field904[var10]) * (double)Client.field902[var10]); - if (var10 == 0) { - PacketBuffer.cameraX += var11; + if (!Client.field886[var10]) { + continue; + } + var11 = (int)(Math.random() * (double)(Client.field901[var10] * 2 + 1) - (double)Client.field901[var10] + Math.sin((double)Client.field903[var10] / 100.0D * (double)Client.field904[var10]) * (double)Client.field902[var10]); + if (var10 == 0) { + PacketBuffer.cameraX += var11; + } + + if (var10 == 1) { + class43.cameraY += var11; + } + + if (var10 == 2) { + class1.cameraZ += var11; + } + + if (var10 == 3) { + Interpreter.cameraYaw = var11 + Interpreter.cameraYaw & 2047; + } + + if (var10 == 4) { + GrandExchangeOfferNameComparator.cameraPitch += var11; + if (GrandExchangeOfferNameComparator.cameraPitch < 128) { + GrandExchangeOfferNameComparator.cameraPitch = 128; } - if (var10 == 1) { - class43.cameraY += var11; - } - - if (var10 == 2) { - class1.cameraZ += var11; - } - - if (var10 == 3) { - Interpreter.cameraYaw = var11 + Interpreter.cameraYaw & 2047; - } - - if (var10 == 4) { - GrandExchangeOfferNameComparator.cameraPitch += var11; - if (GrandExchangeOfferNameComparator.cameraPitch < 128) { - GrandExchangeOfferNameComparator.cameraPitch = 128; - } - - if (GrandExchangeOfferNameComparator.cameraPitch > 383) { - GrandExchangeOfferNameComparator.cameraPitch = 383; - } + if (GrandExchangeOfferNameComparator.cameraPitch > 383) { + GrandExchangeOfferNameComparator.cameraPitch = 383; } } } @@ -299,7 +288,7 @@ final class class4 implements class0 { ViewportMouse.ViewportMouse_entityCount = 0; ViewportMouse.ViewportMouse_false0 = false; } else { - Language.method3665(); + Language.ViewportMouse_clear(); } class186.playPcmPlayers(); @@ -369,96 +358,96 @@ final class class4 implements class0 { Client.viewportTempX = Client.overheadTextXs[var18]; Client.viewportTempY = Client.overheadTextYs[var18] = var20; String var30 = Client.overheadText[var18]; - if (Client.chatEffects == 0) { - int var25 = 0xffff00; - if (Client.overheadTextColors[var18] < 6) { - var25 = Client.field870[Client.overheadTextColors[var18]]; - } - - if (Client.overheadTextColors[var18] == 6) { - var25 = Client.viewportDrawCount % 20 < 10 ? 0xff0000 : 0xffff00; - } - - if (Client.overheadTextColors[var18] == 7) { - var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; - } - - if (Client.overheadTextColors[var18] == 8) { - var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; - } - - int var26; - if (Client.overheadTextColors[var18] == 9) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = var26 * 1280 + 0xff0000; - } else if (var26 < 100) { - var25 = 0xffff00 - (var26 - 50) * 327680; - } else if (var26 < 150) { - var25 = (var26 - 100) * 5 + 0xff00; - } - } - - if (Client.overheadTextColors[var18] == 10) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = var26 * 5 + 0xff0000; - } else if (var26 < 100) { - var25 = 0xff00ff - (var26 - 50) * 327680; - } else if (var26 < 150) { - var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; - } - } - - if (Client.overheadTextColors[var18] == 11) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - if (var26 < 50) { - var25 = 0xffffff - var26 * 327685; - } else if (var26 < 100) { - var25 = (var26 - 50) * 327685 + 0xff00; - } else if (var26 < 150) { - var25 = 0xffffff - (var26 - 100) * 327680; - } - } - - if (Client.overheadTextEffects[var18] == 0) { - WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); - } - - if (Client.overheadTextEffects[var18] == 1) { - WorldMapIcon_1.fontBold12.drawCenteredWave(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var18] == 2) { - WorldMapIcon_1.fontBold12.drawCenteredWave2(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var18] == 3) { - WorldMapIcon_1.fontBold12.drawCenteredShake(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); - } - - if (Client.overheadTextEffects[var18] == 4) { - var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (WorldMapIcon_1.fontBold12.stringWidth(var30) + 100) / 150; - Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); - WorldMapIcon_1.fontBold12.draw(var30, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - - if (Client.overheadTextEffects[var18] == 5) { - var26 = 150 - Client.overheadTextCyclesRemaining[var18]; - int var27 = 0; - if (var26 < 25) { - var27 = var26 - 25; - } else if (var26 > 125) { - var27 = var26 - 125; - } - - Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - WorldMapIcon_1.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); - WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - } else { + if (Client.chatEffects != 0) { WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, 0xffff00, 0); + continue; + } + int var25 = 0xffff00; + if (Client.overheadTextColors[var18] < 6) { + var25 = Client.field870[Client.overheadTextColors[var18]]; + } + + if (Client.overheadTextColors[var18] == 6) { + var25 = Client.viewportDrawCount % 20 < 10 ? 0xff0000 : 0xffff00; + } + + if (Client.overheadTextColors[var18] == 7) { + var25 = Client.viewportDrawCount % 20 < 10 ? 0xff : 0xffff; + } + + if (Client.overheadTextColors[var18] == 8) { + var25 = Client.viewportDrawCount % 20 < 10 ? 0xb000 : 0x80ff80; + } + + int var26; + if (Client.overheadTextColors[var18] == 9) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 0x500 + 0xff0000; + } else if (var26 < 0x64) { + var25 = 0xffff00 - (var26 - 0x32) * 0x50000; + } else if (var26 < 0x96) { + var25 = (var26 - 0x64) * 0x5 + 0xff00; + } + } + + if (Client.overheadTextColors[var18] == 10) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 5 + 0xff0000; + } else if (var26 < 100) { + var25 = 0xff00ff - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; + } + } + + if (Client.overheadTextColors[var18] == 11) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = 0xffffff - var26 * 0x50005; + } else if (var26 < 100) { + var25 = (var26 - 50) * 0x50005 + 0xff00; + } else if (var26 < 150) { + var25 = 0xffffff - (var26 - 100) * 0x50000; + } + } + + if (Client.overheadTextEffects[var18] == 0) { + WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); + } + + if (Client.overheadTextEffects[var18] == 1) { + WorldMapIcon_1.fontBold12.drawCenteredWave(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 2) { + WorldMapIcon_1.fontBold12.drawCenteredWave2(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 3) { + WorldMapIcon_1.fontBold12.drawCenteredShake(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); + } + + if (Client.overheadTextEffects[var18] == 4) { + var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (WorldMapIcon_1.fontBold12.stringWidth(var30) + 100) / 150; + Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); + WorldMapIcon_1.fontBold12.draw(var30, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + + if (Client.overheadTextEffects[var18] == 5) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + int var27 = 0; + if (var26 < 25) { + var27 = var26 - 25; + } else if (var26 > 125) { + var27 = var26 - 125; + } + + Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - WorldMapIcon_1.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); + WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); } } diff --git a/runescape-client/src/main/java/class40.java b/runescape-client/src/main/java/class40.java index cd72bc66dd..5ee145a105 100644 --- a/runescape-client/src/main/java/class40.java +++ b/runescape-client/src/main/java/class40.java @@ -707,13 +707,12 @@ public class class40 { class188.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); } - int var4; - int var13; - if (var0.type == 2) { - var13 = 0; - for (var4 = 0; var4 < var0.height; ++var4) { - for (int var5 = 0; var5 < var0.width; ++var5) { + if (var0.type == 2) { + int var13 = 0; + + for (int var4 = 0; var4 < var0.height; ++var4) { + for (int var5 = 0; var5 < var0.width; ++var5, ++var13) { int var6 = (var0.paddingX + 32) * var5; int var7 = (var0.paddingY + 32) * var4; if (var13 < 20) { @@ -721,124 +720,127 @@ public class class40 { var7 += var0.inventoryYOffsets[var13]; } - if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { - Client.dragItemSlotDestination = var13; - class294.field3697 = var0; - if (var0.itemIds[var13] > 0) { - ItemDefinition var8 = WorldMapArea.getItemDefinition(var0.itemIds[var13] - 1); - if (Client.isItemSelected == 1 && Script.method2185(class268.getWidgetClickMask(var0))) { - if (var0.id != MouseRecorder.selectedItemWidget || var13 != WorldMapIcon_1.selectedItemSlot) { - class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var8.name, 31, var8.id, var13, var0.id); - } - } else if (Client.isSpellSelected && Script.method2185(class268.getWidgetClickMask(var0))) { - if ((WorldMapCacheName.selectedSpellFlags & 16) == 16) { - class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var8.name, 32, var8.id, var13, var0.id); - } - } else { - String[] var9 = var8.inventoryActions; - int var10 = -1; - if (Client.shiftClickDrop) { - boolean var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; - if (var11) { - var10 = var8.getShiftClickIndex(); - } - } + if (var1 < var6 || var2 < var7 || var1 >= var6 + 32 || var2 >= var7 + 32) { + continue; + } + Client.dragItemSlotDestination = var13; + class294.field3697 = var0; + if (var0.itemIds[var13] <= 0) { + continue; + } + ItemDefinition var8 = WorldMapArea.ItemDefinition_get(var0.itemIds[var13] - 1); + if (Client.isItemSelected == 1 && Script.method2185(class268.getWidgetClickMask(var0))) { + if (var0.id != MouseRecorder.selectedItemWidget || var13 != WorldMapIcon_1.selectedItemSlot) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xff9040) + var8.name, 31, var8.id, var13, var0.id); + } + continue; + } + if (Client.isSpellSelected && Script.method2185(class268.getWidgetClickMask(var0))) { + if ((WorldMapCacheName.selectedSpellFlags & 16) == 16) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xff9040) + var8.name, 32, var8.id, var13, var0.id); + } + continue; + } + String[] var9 = var8.inventoryActions; + int var10 = -1; + if (Client.shiftClickDrop) { + boolean var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; + if (var11) { + var10 = var8.getShiftClickIndex(); + } + } - int var16; - if (Script.method2185(class268.getWidgetClickMask(var0))) { - for (var16 = 4; var16 >= 3; --var16) { - if (var16 != var10) { - WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); - } - } - } - - if (class195.method3685(class268.getWidgetClickMask(var0))) { - class188.insertMenuItemNoShift("Use", ClientPreferences.colorStartTag(16748608) + var8.name, 38, var8.id, var13, var0.id); - } - - if (Script.method2185(class268.getWidgetClickMask(var0))) { - for (var16 = 2; var16 >= 0; --var16) { - if (var10 != var16) { - WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); - } - } - - if (var10 >= 0) { - WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var10, true); - } - } - - var9 = var0.itemActions; - if (var9 != null) { - for (var16 = 4; var16 >= 0; --var16) { - if (var9[var16] != null) { - byte var12 = 0; - if (var16 == 0) { - var12 = 39; - } - - if (var16 == 1) { - var12 = 40; - } - - if (var16 == 2) { - var12 = 41; - } - - if (var16 == 3) { - var12 = 42; - } - - if (var16 == 4) { - var12 = 43; - } - - class188.insertMenuItemNoShift(var9[var16], ClientPreferences.colorStartTag(16748608) + var8.name, var12, var8.id, var13, var0.id); - } - } - } - - class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16748608) + var8.name, 1005, var8.id, var13, var0.id); + int var16; + if (Script.method2185(class268.getWidgetClickMask(var0))) { + for (var16 = 4; var16 >= 3; --var16) { + if (var16 != var10) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); } } } - ++var13; + if (class195.method3685(class268.getWidgetClickMask(var0))) { + class188.insertMenuItemNoShift("Use", ClientPreferences.colorStartTag(0xff9040) + var8.name, 38, var8.id, var13, var0.id); + } + + if (Script.method2185(class268.getWidgetClickMask(var0))) { + for (var16 = 2; var16 >= 0; --var16) { + if (var10 != var16) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); + } + } + + if (var10 >= 0) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var10, true); + } + } + + var9 = var0.itemActions; + if (var9 != null) { + for (var16 = 4; var16 >= 0; --var16) { + if (var9[var16] == null) { + continue; + } + byte var12 = 0; + if (var16 == 0) { + var12 = 39; + } + + if (var16 == 1) { + var12 = 40; + } + + if (var16 == 2) { + var12 = 41; + } + + if (var16 == 3) { + var12 = 42; + } + + if (var16 == 4) { + var12 = 43; + } + + class188.insertMenuItemNoShift(var9[var16], ClientPreferences.colorStartTag(0xff9040) + var8.name, var12, var8.id, var13, var0.id); + } + } + + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xff9040) + var8.name, 1005, var8.id, var13, var0.id); } } } - if (var0.isIf3) { - if (Client.isSpellSelected) { - if (class96.method2266(class268.getWidgetClickMask(var0)) && (WorldMapCacheName.selectedSpellFlags & 32) == 32) { - class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); - } - } else { - for (var13 = 9; var13 >= 5; --var13) { - String var14 = UserComparator10.method3407(var0, var13); - if (var14 != null) { - class188.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id); - } - } - - var3 = FontName.method5318(var0); - if (var3 != null) { - class188.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); - } - - for (var4 = 4; var4 >= 0; --var4) { - String var15 = UserComparator10.method3407(var0, var4); - if (var15 != null) { - Entity.insertMenuItem(var15, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2691); - } - } - - if (InterfaceParent.method1119(class268.getWidgetClickMask(var0))) { - class188.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); - } + if (!var0.isIf3) { + return; + } + if (Client.isSpellSelected) { + if (class96.method2266(class268.getWidgetClickMask(var0)) && (WorldMapCacheName.selectedSpellFlags & 32) == 32) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + } + return; + } + for (int var13 = 9; var13 >= 5; --var13) { + String var14 = UserComparator10.method3407(var0, var13); + if (var14 != null) { + class188.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id); } } + var3 = FontName.method5318(var0); + if (var3 != null) { + class188.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + } + + for (int var4 = 4; var4 >= 0; --var4) { + String var15 = UserComparator10.method3407(var0, var4); + if (var15 != null) { + Entity.insertMenuItem(var15, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2691); + } + } + + if (InterfaceParent.method1119(class268.getWidgetClickMask(var0))) { + class188.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); + } } } diff --git a/runescape-client/src/main/java/class43.java b/runescape-client/src/main/java/class43.java index abb0e1cc7e..a10660bd7e 100644 --- a/runescape-client/src/main/java/class43.java +++ b/runescape-client/src/main/java/class43.java @@ -32,8 +32,8 @@ public final class class43 { static int cameraY; @ObfuscatedName("l") - @Export("getObjectIdFromTag") - public static int getObjectIdFromTag(long var0) { + @Export("Entity_unpackID") + public static int Entity_unpackID(long var0) { return (int)(var0 >>> 17 & 0xffffffffL); } } diff --git a/runescape-client/src/main/java/class51.java b/runescape-client/src/main/java/class51.java index 82dc44d3fc..d08655e35e 100644 --- a/runescape-client/src/main/java/class51.java +++ b/runescape-client/src/main/java/class51.java @@ -21,7 +21,8 @@ public class class51 { signature = "(II)Lip;", garbageValue = "1884870915" ) - public static HealthBarDefinition method854(int var0) { + @Export("HealthBarDefinition_get") + public static HealthBarDefinition HealthBarDefinition_get(int var0) { HealthBarDefinition var1 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var0); if (var1 != null) { return var1; diff --git a/runescape-client/src/main/java/class60.java b/runescape-client/src/main/java/class60.java index e58f2ae408..0aeb9b4ba2 100644 --- a/runescape-client/src/main/java/class60.java +++ b/runescape-client/src/main/java/class60.java @@ -15,20 +15,22 @@ public class class60 { ) @Export("clickWidget") static final void clickWidget(Widget var0, int var1, int var2) { - if (Client.clickedWidget == null && !Client.isMenuOpen) { - if (var0 != null && ArchiveLoader.method1099(var0) != null) { - Client.clickedWidget = var0; - Client.clickedWidgetParent = ArchiveLoader.method1099(var0); - Client.widgetClickX = var1; - Client.widgetClickY = var2; - class80.widgetDragDuration = 0; - Client.isDraggingWidget = false; - int var3 = class13.method151(); - if (var3 != -1) { - Decimator.method2510(var3); - } - - } + if (Client.clickedWidget != null || Client.isMenuOpen) { + return; } + if (var0 == null || ArchiveLoader.method1099(var0) == null) { + return; + } + Client.clickedWidget = var0; + Client.clickedWidgetParent = ArchiveLoader.method1099(var0); + Client.widgetClickX = var1; + Client.widgetClickY = var2; + class80.widgetDragDuration = 0; + Client.isDraggingWidget = false; + int var3 = class13.getNewestMenuIdx(); + if (var3 != -1) { + Decimator.saveTempMenuAction(var3); + } + } } diff --git a/runescape-client/src/main/java/class65.java b/runescape-client/src/main/java/class65.java index 40d3d03c3a..9d88a6e279 100644 --- a/runescape-client/src/main/java/class65.java +++ b/runescape-client/src/main/java/class65.java @@ -15,8 +15,9 @@ public class class65 extends RouteStrategy { signature = "(IIILfv;I)Z", garbageValue = "-1217489379" ) - public boolean vmethod3594(int var1, int var2, int var3, CollisionMap var4) { - return var2 == super.approxDestinationX && var3 == super.approxDestinationY; + @Export("hasArrived") + public boolean hasArrived(int size, int x, int y, CollisionMap var4) { + return x == super.approxDestinationX && y == super.approxDestinationY; } @ObfuscatedName("q") @@ -24,15 +25,16 @@ public class class65 extends RouteStrategy { signature = "(Ljava/lang/String;I)Ljava/io/File;", garbageValue = "-46052492" ) - static File method1177(String var0) { - if (!class169.field2055) { + @Export("getFile") + static File getFile(String var0) { + if (!FileSystem.FileSystem_hasPermissions) { throw new RuntimeException(""); } - File var1 = (File)class169.field2052.get(var0); + File var1 = (File) FileSystem.FileSystem_cacheFiles.get(var0); if (var1 != null) { return var1; } - File var2 = new File(class169.field2050, var0); + File var2 = new File(FileSystem.FileSystem_cacheDir, var0); RandomAccessFile var3 = null; try { @@ -46,7 +48,7 @@ public class class65 extends RouteStrategy { var3.write(var5); var3.seek(0L); var3.close(); - class169.field2052.put(var0, var2); + FileSystem.FileSystem_cacheFiles.put(var0, var2); return var2; } catch (Exception var8) { try { @@ -128,35 +130,36 @@ public class class65 extends RouteStrategy { int var9 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; EnumDefinition var7 = BoundaryObject.getEnum(var9); - if (var3 == var7.inputType && var4 == var7.outputType) { - - for (int var8 = 0; var8 < var7.outputCount; ++var8) { - if (var6 == var7.keys[var8]) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var7.strVals[var8]; - } else { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.intVals[var8]; - } - - var7 = null; - break; - } - } - - if (var7 != null) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var7.defaultStr; - } else { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.defaultInt; - } + if (var3 != var7.inputType || var4 != var7.outputType) { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = "null"; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; } return 1; } + + for (int var8 = 0; var8 < var7.outputCount; ++var8) { + if (var6 == var7.keys[var8]) { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var7.strVals[var8]; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.intVals[var8]; + } + + var7 = null; + break; + } + } + + if (var7 == null) { + return 1; + } if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = "null"; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var7.defaultStr; } else { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.defaultInt; } return 1; @@ -178,8 +181,8 @@ public class class65 extends RouteStrategy { @Export("newArchive") static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { ArchiveDisk var4 = null; - if (class167.dat2File != null) { - var4 = new ArchiveDisk(var0, class167.dat2File, class167.idxFiles[var0], 1000000); + if (JagexCache.JagexCache_dat2File != null) { + var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idxFiles[var0], 1000000); } return new Archive(var4, ScriptEvent.masterDisk, var0, var1, var2, var3); @@ -198,197 +201,178 @@ public class class65 extends RouteStrategy { long var4 = -1L; long var6 = -1L; - int var8 = 0; - - while (true) { - int var10 = ViewportMouse.ViewportMouse_entityCount; - if (var8 >= var10) { - if (-1L != var4) { - var8 = (int)(var4 >>> 0 & 127L); - var10 = (int)(var4 >>> 7 & 127L); - Player var12 = Client.players[Client.combatTargetPlayerIndex]; - WorldMapManager.addPlayerToMenu(var12, Client.combatTargetPlayerIndex, var8, var10); - } - - return; - } - + for (int var8 = 0, var10 = ViewportMouse.ViewportMouse_entityCount; var8 < var10; var8++) { long var25 = ViewportMouse.ViewportMouse_entityTags[var8]; - if (var6 != var25) { - label334: { - var6 = var25; - int var15 = Buddy.method5170(var8); - int var16 = Messages.method2176(var8); - int var17 = class3.method33(var8); - int var18 = FriendSystem.method1784(var8); - if (var17 == 2 && GrandExchangeOfferWorldComparator.scene.getObjectFlags(class42.plane, var15, var16, var25) >= 0) { - ObjectDefinition var19 = ViewportMouse.getObjectDefinition(var18); - if (var19.transforms != null) { - var19 = var19.transform(); - } + if (var6 == var25) { + continue; + } + var6 = var25; + int var15 = Buddy.ViewportMouse_unpackX(var8); + int var16 = Messages.ViewportMouse_unpackY(var8); + int var17 = class3.ViewportMouse_unpackType(var8); + int var18 = FriendSystem.ViewportMouse_unpackID(var8); + if (var17 == 2 && GrandExchangeOfferWorldComparator.scene.getObjectFlags(class42.plane, var15, var16, var25) >= 0) { + ObjectDefinition var19 = ViewportMouse.getObjectDefinition(var18); + if (var19.transforms != null) { + var19 = var19.transform(); + } - if (var19 == null) { - break label334; - } + if (var19 == null) { + continue; + } - if (Client.isItemSelected == 1) { - class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(65535) + var19.name, 1, var18, var15, var16); - } else if (Client.isSpellSelected) { - if ((WorldMapCacheName.selectedSpellFlags & 4) == 4) { - class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(65535) + var19.name, 2, var18, var15, var16); + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff) + var19.name, 1, var18, var15, var16); + } else if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 4) == 4) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff) + var19.name, 2, var18, var15, var16); + } + } else { + String[] var27 = var19.actions; + if (var27 != null) { + for (int var30 = 4; var30 >= 0; --var30) { + if (var27[var30] == null) { + continue; } - } else { - String[] var27 = var19.actions; - if (var27 != null) { - for (int var30 = 4; var30 >= 0; --var30) { - if (var27[var30] != null) { - short var22 = 0; - if (var30 == 0) { - var22 = 3; - } - - if (var30 == 1) { - var22 = 4; - } - - if (var30 == 2) { - var22 = 5; - } - - if (var30 == 3) { - var22 = 6; - } - - if (var30 == 4) { - var22 = 1001; - } - - class188.insertMenuItemNoShift(var27[var30], ClientPreferences.colorStartTag(65535) + var19.name, var22, var18, var15, var16); - } - } + short var22 = 0; + if (var30 == 0) { + var22 = 3; + } else if (var30 == 1) { + var22 = 4; + } else if (var30 == 2) { + var22 = 5; + } else if (var30 == 3) { + var22 = 6; + } else if (var30 == 4) { + var22 = 1001; } - class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(65535) + var19.name, 1002, var19.id, var15, var16); + class188.insertMenuItemNoShift(var27[var30], ClientPreferences.colorStartTag(0xffff) + var19.name, var22, var18, var15, var16); } } - int var20; - NPC var21; - Player var23; - int[] var34; - int var36; - if (var17 == 1) { - NPC var31 = Client.npcs[var18]; - if (var31 == null) { - break label334; - } - - if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { - for (var20 = 0; var20 < Client.npcCount; ++var20) { - var21 = Client.npcs[Client.npcIndices[var20]]; - if (var21 != null && var21 != var31 && var21.definition.size == 1 && var31.x == var21.x && var31.y == var21.y) { - AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); - } - } - - var20 = Players.Players_count; - var34 = Players.Players_indices; - - for (var36 = 0; var36 < var20; ++var36) { - var23 = Client.players[var34[var36]]; - if (var23 != null && var31.x == var23.x && var23.y == var31.y) { - WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); - } - } - } - - AbstractWorldMapData.addNpcToMenu(var31.definition, var18, var15, var16); - } - - if (var17 == 0) { - Player var32 = Client.players[var18]; - if (var32 == null) { - break label334; - } - - if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { - for (var20 = 0; var20 < Client.npcCount; ++var20) { - var21 = Client.npcs[Client.npcIndices[var20]]; - if (var21 != null && var21.definition.size == 1 && var32.x == var21.x && var21.y == var32.y) { - AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); - } - } - - var20 = Players.Players_count; - var34 = Players.Players_indices; - - for (var36 = 0; var36 < var20; ++var36) { - var23 = Client.players[var34[var36]]; - if (var23 != null && var32 != var23 && var23.x == var32.x && var32.y == var23.y) { - WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); - } - } - } - - if (var18 != Client.combatTargetPlayerIndex) { - WorldMapManager.addPlayerToMenu(var32, var18, var15, var16); - } else { - var4 = var25; - } - } - - if (var17 == 3) { - NodeDeque var33 = Client.groundItems[class42.plane][var15][var16]; - if (var33 != null) { - for (TileItem var37 = (TileItem)var33.first(); var37 != null; var37 = (TileItem)var33.next()) { - ItemDefinition var35 = WorldMapArea.getItemDefinition(var37.id); - if (Client.isItemSelected == 1) { - class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var35.name, 16, var37.id, var15, var16); - } else if (Client.isSpellSelected) { - if ((WorldMapCacheName.selectedSpellFlags & 1) == 1) { - class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var35.name, 17, var37.id, var15, var16); - } - } else { - String[] var28 = var35.groundActions; - - for (int var29 = 4; var29 >= 0; --var29) { - if (var28 != null && var28[var29] != null) { - byte var24 = 0; - if (var29 == 0) { - var24 = 18; - } - - if (var29 == 1) { - var24 = 19; - } - - if (var29 == 2) { - var24 = 20; - } - - if (var29 == 3) { - var24 = 21; - } - - if (var29 == 4) { - var24 = 22; - } - - class188.insertMenuItemNoShift(var28[var29], ClientPreferences.colorStartTag(16748608) + var35.name, var24, var37.id, var15, var16); - } else if (var29 == 2) { - class188.insertMenuItemNoShift("Take", ClientPreferences.colorStartTag(16748608) + var35.name, 20, var37.id, var15, var16); - } - } - - class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16748608) + var35.name, 1004, var37.id, var15, var16); - } - } - } - } + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff) + var19.name, 1002, var19.id, var15, var16); } } - ++var8; + int var20; + NPC var21; + Player var23; + int[] var34; + int var36; + if (var17 == 1) { + NPC var31 = Client.npcs[var18]; + if (var31 == null) { + continue; + } + + if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { + for (var20 = 0; var20 < Client.npcCount; ++var20) { + var21 = Client.npcs[Client.npcIndices[var20]]; + if (var21 != null && var21 != var31 && var21.definition.size == 1 && var31.x == var21.x && var31.y == var21.y) { + AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); + } + } + + var20 = Players.Players_count; + var34 = Players.Players_indices; + + for (var36 = 0; var36 < var20; ++var36) { + var23 = Client.players[var34[var36]]; + if (var23 != null && var31.x == var23.x && var23.y == var31.y) { + WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); + } + } + } + + AbstractWorldMapData.addNpcToMenu(var31.definition, var18, var15, var16); + } + + if (var17 == 0) { + Player var32 = Client.players[var18]; + if (var32 == null) { + continue; + } + + if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { + for (var20 = 0; var20 < Client.npcCount; ++var20) { + var21 = Client.npcs[Client.npcIndices[var20]]; + if (var21 != null && var21.definition.size == 1 && var32.x == var21.x && var21.y == var32.y) { + AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); + } + } + + var20 = Players.Players_count; + var34 = Players.Players_indices; + + for (var36 = 0; var36 < var20; ++var36) { + var23 = Client.players[var34[var36]]; + if (var23 != null && var32 != var23 && var23.x == var32.x && var32.y == var23.y) { + WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); + } + } + } + + if (var18 != Client.combatTargetPlayerIndex) { + WorldMapManager.addPlayerToMenu(var32, var18, var15, var16); + } else { + var4 = var25; + } + } + + if (var17 != 3) { + continue; + } + NodeDeque var33 = Client.groundItems[class42.plane][var15][var16]; + if (var33 == null) { + continue; + } + for (TileItem var37 = (TileItem) var33.first(); var37 != null; var37 = (TileItem) var33.next()) { + ItemDefinition var35 = WorldMapArea.ItemDefinition_get(var37.id); + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xff9040) + var35.name, 16, var37.id, var15, var16); + continue; + } + if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 1) == 1) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xff9040) + var35.name, 17, var37.id, var15, var16); + } + continue; + } + String[] var28 = var35.groundActions; + + for (int var29 = 4; var29 >= 0; --var29) { + if (var28 == null || var28[var29] == null) { + if (var29 == 2) { + class188.insertMenuItemNoShift("Take", ClientPreferences.colorStartTag(0xff9040) + var35.name, 20, var37.id, var15, var16); + } + continue; + } + byte var24 = 0; + if (var29 == 0) { + var24 = 18; + } else if (var29 == 1) { + var24 = 19; + } else if (var29 == 2) { + var24 = 20; + } else if (var29 == 3) { + var24 = 21; + } else if (var29 == 4) { + var24 = 22; + } + + class188.insertMenuItemNoShift(var28[var29], ClientPreferences.colorStartTag(0xff9040) + var35.name, var24, var37.id, var15, var16); + } + + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xff9040) + var35.name, 1004, var37.id, var15, var16); + } + } + + if (-1L != var4) { + int var8 = (int) (var4 >>> 0 & 127L); + int var10 = (int) (var4 >>> 7 & 127L); + Player var12 = Client.players[Client.combatTargetPlayerIndex]; + WorldMapManager.addPlayerToMenu(var12, Client.combatTargetPlayerIndex, var8, var10); } } @@ -414,12 +398,13 @@ public class class65 extends RouteStrategy { } } - if (!var2) { - var4 = (int)var0.key; - Widget var5 = class80.getWidget(var4); - if (var5 != null) { - Strings.invalidateWidget(var5); - } + if (var2) { + continue; + } + var4 = (int)var0.key; + Widget var5 = class80.getWidget(var4); + if (var5 != null) { + Strings.invalidateWidget(var5); } } @@ -430,12 +415,14 @@ public class class65 extends RouteStrategy { signature = "(Ljava/lang/String;I)V", garbageValue = "-1765839836" ) - static final void method1170(String var0) { - if (!var0.equals("")) { - PacketBufferNode var1 = Archive.method4265(ClientPacket.field2286, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method2219(var1); + @Export("Clan_joinChat") + static final void Clan_joinChat(String var0) { + if (var0.equals("")) { + return; } + PacketBufferNode var1 = Archive.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); } } diff --git a/runescape-client/src/main/java/class80.java b/runescape-client/src/main/java/class80.java index 2774ea4d56..f6f93d32b4 100644 --- a/runescape-client/src/main/java/class80.java +++ b/runescape-client/src/main/java/class80.java @@ -65,7 +65,7 @@ public class class80 { @Export("getWidget") public static Widget getWidget(int var0) { int var1 = var0 >> 16; - int var2 = var0 & 65535; + int var2 = var0 & 0xffff; if (Widget.Widget_interfaceComponents[var1] == null || Widget.Widget_interfaceComponents[var1][var2] == null) { boolean var3 = class162.loadInterface(var1); if (!var3) { @@ -82,15 +82,9 @@ public class class80 { garbageValue = "-817904551" ) static final void method1982() { - int var0; - int var1; - int var2; - int var3; - int var4; - int var5; if (Client.oculusOrbState == 0) { - var0 = Client.localPlayer.x; - var1 = Client.localPlayer.y; + int var0 = Client.localPlayer.x; + int var1 = Client.localPlayer.y; if (MouseHandler.oculusOrbFocalPointX - var0 < -500 || MouseHandler.oculusOrbFocalPointX - var0 > 500 || WorldMapArea.oculusOrbFocalPointY - var1 < -500 || WorldMapArea.oculusOrbFocalPointY - var1 > 500) { MouseHandler.oculusOrbFocalPointX = var0; WorldMapArea.oculusOrbFocalPointY = var1; @@ -104,10 +98,10 @@ public class class80 { WorldMapArea.oculusOrbFocalPointY += (var1 - WorldMapArea.oculusOrbFocalPointY) / 16; } - var2 = MouseHandler.oculusOrbFocalPointX >> 7; - var3 = WorldMapArea.oculusOrbFocalPointY >> 7; - var4 = ScriptEvent.getTileHeight(MouseHandler.oculusOrbFocalPointX, WorldMapArea.oculusOrbFocalPointY, class42.plane); - var5 = 0; + int var2 = MouseHandler.oculusOrbFocalPointX >> 7; + int var3 = WorldMapArea.oculusOrbFocalPointY >> 7; + int var4 = ScriptEvent.getTileHeight(MouseHandler.oculusOrbFocalPointX, WorldMapArea.oculusOrbFocalPointY, class42.plane); + int var5 = 0; int var6; if (var2 > 3 && var3 > 3 && var2 < 100 && var3 < 100) { for (var6 = var2 - 4; var6 <= var2 + 4; ++var6) { @@ -175,7 +169,7 @@ public class class80 { var11 = 1; } - var2 = 0; + int var2 = 0; if (var10 >= 0 || var11 != 0) { var2 = KeyHandler.KeyHandler_pressedKeys[81] ? Client.oculusOrbSlowedSpeed : Client.oculusOrbNormalSpeed; var2 *= 16; @@ -192,12 +186,15 @@ public class class80 { Client.field928 = Client.field928 * 9 / 10; } - if (Client.field928 > 0) { - var3 = Client.field928 / 16; + if (Client.field928 <= 0) { + Client.field731 = -1; + Client.field871 = -1; + } else { + int var3 = Client.field928 / 16; if (Client.field731 >= 0) { - var0 = Client.field731 - Interpreter.cameraYaw & 2047; - var4 = Rasterizer3D.Rasterizer3D_sine[var0]; - var5 = Rasterizer3D.Rasterizer3D_cosine[var0]; + int var0 = Client.field731 - Interpreter.cameraYaw & 2047; + int var4 = Rasterizer3D.Rasterizer3D_sine[var0]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[var0]; MouseHandler.oculusOrbFocalPointX += var3 * var4 / 65536; WorldMapArea.oculusOrbFocalPointY += var5 * var3 / 65536; } @@ -208,9 +205,6 @@ public class class80 { Client.field729 = 0; } } - } else { - Client.field731 = -1; - Client.field871 = -1; } if (KeyHandler.KeyHandler_pressedKeys[13]) { @@ -219,10 +213,10 @@ public class class80 { } if (MouseHandler.MouseHandler_currentButton == 4 && DevicePcmPlayerProvider.mouseCam) { - var0 = MouseHandler.MouseHandler_y - Client.mouseCamClickedY; + int var0 = MouseHandler.MouseHandler_y - Client.mouseCamClickedY; Client.camAngleDX = var0 * 2; Client.mouseCamClickedY = var0 != -1 && var0 != 1 ? (MouseHandler.MouseHandler_y + Client.mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y; - var1 = Client.mouseCamClickedX - MouseHandler.MouseHandler_x; + int var1 = Client.mouseCamClickedX - MouseHandler.MouseHandler_x; Client.camAngleDY = var1 * 2; Client.mouseCamClickedX = var1 != -1 && var1 != 1 ? (Client.mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x; } else { diff --git a/runescape-client/src/main/java/class81.java b/runescape-client/src/main/java/class81.java index 3632179732..6dd106fcd9 100644 --- a/runescape-client/src/main/java/class81.java +++ b/runescape-client/src/main/java/class81.java @@ -50,25 +50,25 @@ public class class81 { if (var7 != null && var7 != Client.localPlayer && var7.username != null && var7.username.equals(var5)) { PacketBufferNode var8; if (var0 == 1) { - var8 = Archive.method4265(ClientPacket.field2250, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); var8.packetBuffer.writeShort(var3[var6]); var8.packetBuffer.method5521(0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var0 == 4) { - var8 = Archive.method4265(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); var8.packetBuffer.method5475(var3[var6]); var8.packetBuffer.method5521(0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var0 == 6) { - var8 = Archive.method4265(ClientPacket.field2257, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); var8.packetBuffer.method5530(var3[var6]); var8.packetBuffer.method5502(0); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } else if (var0 == 7) { - var8 = Archive.method4265(ClientPacket.field2278, Client.packetWriter.isaacCipher); + var8 = Archive.getPacketBufferNode(ClientPacket.field2278, Client.packetWriter.isaacCipher); var8.packetBuffer.method5502(0); var8.packetBuffer.writeShortLE(var3[var6]); - Client.packetWriter.method2219(var8); + Client.packetWriter.addNode(var8); } var4 = true; diff --git a/runescape-client/src/main/java/class83.java b/runescape-client/src/main/java/class83.java index c23e3f32f4..9cb4bbbfaa 100644 --- a/runescape-client/src/main/java/class83.java +++ b/runescape-client/src/main/java/class83.java @@ -275,7 +275,8 @@ public class class83 { signature = "(I)I", garbageValue = "1224050195" ) - static final int method1995() { + @Export("getHighestVisiblePlane") + static final int getHighestVisiblePlane() { if (WorldMapLabelSize.clientPreferences.roofsHidden) { return class42.plane; } diff --git a/runescape-client/src/main/java/class96.java b/runescape-client/src/main/java/class96.java index b4b5d492a1..83c3102fd8 100644 --- a/runescape-client/src/main/java/class96.java +++ b/runescape-client/src/main/java/class96.java @@ -60,87 +60,79 @@ public class class96 { Interpreter.field1104 = false; try { - int var10; - try { - Interpreter.Interpreter_intLocals = new int[var3.localIntCount]; - int var8 = 0; - GZipDecompressor.Interpreter_stringLocals = new String[var3.localStringCount]; - int var9 = 0; + Interpreter.Interpreter_intLocals = new int[var3.localIntCount]; + int var8 = 0; + GZipDecompressor.Interpreter_stringLocals = new String[var3.localStringCount]; + int var9 = 0; - int var11; - String var18; - for (var10 = 1; var10 < var2.length; ++var10) { - if (var2[var10] instanceof Integer) { - var11 = (Integer)var2[var10]; - if (var11 == -2147483647) { - var11 = var0.mouseX; - } - - if (var11 == -2147483646) { - var11 = var0.mouseY; - } - - if (var11 == -2147483645) { - var11 = var0.widget != null ? var0.widget.id : -1; - } - - if (var11 == -2147483644) { - var11 = var0.opIndex; - } - - if (var11 == -2147483643) { - var11 = var0.widget != null ? var0.widget.childIndex : -1; - } - - if (var11 == -2147483642) { - var11 = var0.dragTarget != null ? var0.dragTarget.id : -1; - } - - if (var11 == -2147483641) { - var11 = var0.dragTarget != null ? var0.dragTarget.childIndex : -1; - } - - if (var11 == -2147483640) { - var11 = var0.keyTyped; - } - - if (var11 == -2147483639) { - var11 = var0.keyPressed; - } - - Interpreter.Interpreter_intLocals[var8++] = var11; - } else if (var2[var10] instanceof String) { - var18 = (String)var2[var10]; - if (var18.equals("event_opbase")) { - var18 = var0.targetName; - } - - GZipDecompressor.Interpreter_stringLocals[var9++] = var18; + int var11; + String var18; + for (int var10 = 1; var10 < var2.length; ++var10) { + if (var2[var10] instanceof Integer) { + var11 = (Integer)var2[var10]; + if (var11 == 0x80000001) { + var11 = var0.mouseX; } + + if (var11 == 0x80000002) { + var11 = var0.mouseY; + } + + if (var11 == 0x80000003) { + var11 = var0.widget != null ? var0.widget.id : -1; + } + + if (var11 == 0x80000004) { + var11 = var0.opIndex; + } + + if (var11 == 0x80000005) { + var11 = var0.widget != null ? var0.widget.childIndex : -1; + } + + if (var11 == 0x80000006) { + var11 = var0.dragTarget != null ? var0.dragTarget.id : -1; + } + + if (var11 == 0x80000007) { + var11 = var0.dragTarget != null ? var0.dragTarget.childIndex : -1; + } + + if (var11 == 0x80000008) { + var11 = var0.keyTyped; + } + + if (var11 == 0x80000009) { + var11 = var0.keyPressed; + } + + Interpreter.Interpreter_intLocals[var8++] = var11; + } else if (var2[var10] instanceof String) { + var18 = (String)var2[var10]; + if (var18.equals("event_opbase")) { + var18 = var0.targetName; + } + + GZipDecompressor.Interpreter_stringLocals[var9++] = var18; } + } - var10 = 0; - Interpreter.field1106 = var0.field583; + int var10 = 0; + Interpreter.field1106 = var0.field583; - while (true) { - ++var10; - if (var10 > var1) { - throw new RuntimeException(); + while (++var10 <= var1) { + int var29 = var5[++var17]; + int var20; + if (var29 >= 100) { + boolean var32; + if (var3.intOperands[var17] == 1) { + var32 = true; + } else { + var32 = false; } - ++var17; - int var29 = var5[var17]; - int var20; - if (var29 >= 100) { - boolean var32; - if (var3.intOperands[var17] == 1) { - var32 = true; - } else { - var32 = false; - } - - var20 = NPC.method1977(var29, var3, var32); - switch(var20) { + var20 = NPC.method1977(var29, var3, var32); + switch (var20) { case 0: return; case 1: @@ -148,186 +140,187 @@ public class class96 { break; case 2: throw new IllegalStateException(); - } - } else if (var29 == 0) { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6[var17]; - } else if (var29 == ScriptOpcodes.GET_VARP) { - var11 = var6[var17]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; - } else if (var29 == ScriptOpcodes.SET_VARP) { - var11 = var6[var17]; - Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - GrandExchangeOfferUnitPriceComparator.method124(var11); - } else if (var29 == ScriptOpcodes.SCONST) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; - } else if (var29 == ScriptOpcodes.JUMP) { - var17 += var6[var17]; - } else if (var29 == ScriptOpcodes.IF_ICMPNE) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPLT) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGT) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.RETURN) { - if (Interpreter.Interpreter_frameDepth == 0) { - return; - } - - ScriptFrame var34 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; - var3 = var34.script; - var5 = var3.opcodes; - var6 = var3.intOperands; - var17 = var34.pc; - Interpreter.Interpreter_intLocals = var34.intLocals; - GZipDecompressor.Interpreter_stringLocals = var34.stringLocals; - } else if (var29 == ScriptOpcodes.GET_VARBIT) { - var11 = var6[var17]; - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.getVarbit(var11); - } else if (var29 == ScriptOpcodes.SET_VARBIT) { - var11 = var6[var17]; - NetSocket.method3554(var11, Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); - } else if (var29 == ScriptOpcodes.IF_ICMPLE) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGE) { - HealthBarUpdate.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.ILOAD) { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var6[var17]]; - } else if (var29 == ScriptOpcodes.ISTORE) { - Interpreter.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - } else if (var29 == ScriptOpcodes.SLOAD) { - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = GZipDecompressor.Interpreter_stringLocals[var6[var17]]; - } else if (var29 == ScriptOpcodes.SSTORE) { - GZipDecompressor.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; - } else if (var29 == ScriptOpcodes.JOIN_STRING) { - var11 = var6[var17]; - Skills.Interpreter_stringStackSize -= var11; - String var31 = Timer.method5015(Interpreter.Interpreter_stringStack, Skills.Interpreter_stringStackSize, var11); - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var31; - } else if (var29 == ScriptOpcodes.POP_INT) { - --HealthBarUpdate.Interpreter_intStackSize; - } else if (var29 == ScriptOpcodes.POP_STRING) { - --Skills.Interpreter_stringStackSize; - } else if (var29 == ScriptOpcodes.INVOKE) { - var11 = var6[var17]; - Script var12 = ViewportMouse.getScript(var11); - int[] var13 = new int[var12.localIntCount]; - String[] var14 = new String[var12.localStringCount]; - - for (int var15 = 0; var15 < var12.intArgumentCount; ++var15) { - var13[var15] = Interpreter.Interpreter_intStack[var15 + (HealthBarUpdate.Interpreter_intStackSize - var12.intArgumentCount)]; - } - - for (int var15 = 0; var15 < var12.stringArgumentCount; ++var15) { - var14[var15] = Interpreter.Interpreter_stringStack[var15 + (Skills.Interpreter_stringStackSize - var12.stringArgumentCount)]; - } - - HealthBarUpdate.Interpreter_intStackSize -= var12.intArgumentCount; - Skills.Interpreter_stringStackSize -= var12.stringArgumentCount; - ScriptFrame var19 = new ScriptFrame(); - var19.script = var3; - var19.pc = var17; - var19.intLocals = Interpreter.Interpreter_intLocals; - var19.stringLocals = GZipDecompressor.Interpreter_stringLocals; - Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; - var3 = var12; - var5 = var12.opcodes; - var6 = var12.intOperands; - var17 = -1; - Interpreter.Interpreter_intLocals = var13; - GZipDecompressor.Interpreter_stringLocals = var14; - } else if (var29 == ScriptOpcodes.GET_VARC_INT) { - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Clock.varcs.getInt(var6[var17]); - } else if (var29 == ScriptOpcodes.SET_VARC_INT) { - Clock.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); - } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { - var11 = var6[var17] >> 16; - var20 = var6[var17] & 65535; - int var21 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - if (var21 < 0 || var21 > 5000) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrayLengths[var11] = var21; - byte var22 = -1; - if (var20 == 105) { - var22 = 0; - } - - for (int var15 = 0; var15 < var21; ++var15) { - Interpreter.Interpreter_arrays[var11][var15] = var22; - } - } else if (var29 == ScriptOpcodes.GET_ARRAY_INT) { - var11 = var6[var17]; - var20 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; - } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { - var11 = var6[var17]; - HealthBarUpdate.Interpreter_intStackSize -= 2; - var20 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; - } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { - var18 = Clock.varcs.getStringOld(var6[var17]); - if (var18 == null) { - var18 = "null"; - } - - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var18; - } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { - Clock.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); - } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { - var18 = Clock.varcs.getString(var6[var17]); - Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var18; - } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { - Clock.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); - } else if (var29 == ScriptOpcodes.SWITCH) { - IterableNodeHashTable var33 = var3.switches[var6[var17]]; - IntegerNode var30 = (IntegerNode) var33.get((long) Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); - if (var30 != null) { - var17 += var30.integer; - } - } else { - throw new IllegalStateException(); } - } - } catch (Exception var27) { - StringBuilder var24 = new StringBuilder(30); - var24.append("").append(var3.key).append(" "); + } else if (var29 == 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6[var17]; + } else if (var29 == ScriptOpcodes.GET_VARP) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; + } else if (var29 == ScriptOpcodes.SET_VARP) { + var11 = var6[var17]; + Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + GrandExchangeOfferUnitPriceComparator.method124(var11); + } else if (var29 == ScriptOpcodes.SCONST) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; + } else if (var29 == ScriptOpcodes.JUMP) { + var17 += var6[var17]; + } else if (var29 == ScriptOpcodes.IF_ICMPNE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPLT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.RETURN) { + if (Interpreter.Interpreter_frameDepth == 0) { + return; + } - for (var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { - var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); - } + ScriptFrame var34 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; + var3 = var34.script; + var5 = var3.opcodes; + var6 = var3.intOperands; + var17 = var34.pc; + Interpreter.Interpreter_intLocals = var34.intLocals; + GZipDecompressor.Interpreter_stringLocals = var34.stringLocals; + } else if (var29 == ScriptOpcodes.GET_VARBIT) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.getVarbit(var11); + } else if (var29 == ScriptOpcodes.SET_VARBIT) { + var11 = var6[var17]; + NetSocket.method3554(var11, Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.IF_ICMPLE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.ILOAD) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.ISTORE) { + Interpreter.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + } else if (var29 == ScriptOpcodes.SLOAD) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = GZipDecompressor.Interpreter_stringLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.SSTORE) { + GZipDecompressor.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + } else if (var29 == ScriptOpcodes.JOIN_STRING) { + var11 = var6[var17]; + Skills.Interpreter_stringStackSize -= var11; + String var31 = Timer.method5015(Interpreter.Interpreter_stringStack, Skills.Interpreter_stringStackSize, var11); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var31; + } else if (var29 == ScriptOpcodes.POP_INT) { + --HealthBarUpdate.Interpreter_intStackSize; + } else if (var29 == ScriptOpcodes.POP_STRING) { + --Skills.Interpreter_stringStackSize; + } else if (var29 == ScriptOpcodes.INVOKE) { + var11 = var6[var17]; + Script var12 = ViewportMouse.getScript(var11); + int[] var13 = new int[var12.localIntCount]; + String[] var14 = new String[var12.localStringCount]; - var24.append("").append(var7); - HitSplatDefinition.sendStackTrace(var24.toString(), var27); + for (int var15 = 0; var15 < var12.intArgumentCount; ++var15) { + var13[var15] = Interpreter.Interpreter_intStack[var15 + (HealthBarUpdate.Interpreter_intStackSize - var12.intArgumentCount)]; + } + + for (int var15 = 0; var15 < var12.stringArgumentCount; ++var15) { + var14[var15] = Interpreter.Interpreter_stringStack[var15 + (Skills.Interpreter_stringStackSize - var12.stringArgumentCount)]; + } + + HealthBarUpdate.Interpreter_intStackSize -= var12.intArgumentCount; + Skills.Interpreter_stringStackSize -= var12.stringArgumentCount; + ScriptFrame var19 = new ScriptFrame(); + var19.script = var3; + var19.pc = var17; + var19.intLocals = Interpreter.Interpreter_intLocals; + var19.stringLocals = GZipDecompressor.Interpreter_stringLocals; + Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; + var3 = var12; + var5 = var12.opcodes; + var6 = var12.intOperands; + var17 = -1; + Interpreter.Interpreter_intLocals = var13; + GZipDecompressor.Interpreter_stringLocals = var14; + } else if (var29 == ScriptOpcodes.GET_VARC_INT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Clock.varcs.getInt(var6[var17]); + } else if (var29 == ScriptOpcodes.SET_VARC_INT) { + Clock.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { + var11 = var6[var17] >> 16; + var20 = var6[var17] & 0xffff; + int var21 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var21 < 0 || var21 > 5000) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrayLengths[var11] = var21; + byte var22 = -1; + if (var20 == 105) { + var22 = 0; + } + + for (int var15 = 0; var15 < var21; ++var15) { + Interpreter.Interpreter_arrays[var11][var15] = var22; + } + } else if (var29 == ScriptOpcodes.GET_ARRAY_INT) { + var11 = var6[var17]; + var20 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; + } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { + var11 = var6[var17]; + HealthBarUpdate.Interpreter_intStackSize -= 2; + var20 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { + var18 = Clock.varcs.getStringOld(var6[var17]); + if (var18 == null) { + var18 = "null"; + } + + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { + Clock.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); + } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { + var18 = Clock.varcs.getString(var6[var17]); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { + Clock.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); + } else if (var29 == ScriptOpcodes.SWITCH) { + IterableNodeHashTable var33 = var3.switches[var6[var17]]; + IntegerNode var30 = (IntegerNode) var33.get((long) Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var30 != null) { + var17 += var30.integer; + } + } else { + throw new IllegalStateException(); + } } + + throw new RuntimeException(); + } catch (Exception var27) { + StringBuilder var24 = new StringBuilder(30); + var24.append("").append(var3.key).append(" "); + + for (int var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { + var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); + } + + var24.append("").append(var7); + HitSplatDefinition.RunException_sendStackTrace(var24.toString(), var27); } finally { if (Interpreter.field1104) { Interpreter.field1105 = true; @@ -335,7 +328,6 @@ public class class96 { Interpreter.field1105 = false; Interpreter.field1104 = false; } - } } @@ -385,49 +377,49 @@ public class class96 { Client.field896 = 1; } - if (var0 != 5 && var0 != 10) { - if (var0 == 20) { - BufferedSource.method5892(WorldMapLabelSize.archive10, Client.archive8, true, Client.gameState == 11 ? 4 : 0); - } else if (var0 == 11) { - BufferedSource.method5892(WorldMapLabelSize.archive10, Client.archive8, false, 4); - } else if (Login.field1179) { - Login.titleboxSprite = null; - VarpDefinition.titlebuttonSprite = null; - Login.runesSprite = null; - GrandExchangeOfferWorldComparator.leftTitleSprite = null; - NPC.rightTitleSprite = null; - TileItem.logoSprite = null; - Login.title_muteSprite = null; - Login.options_buttons_0Sprite = null; - Decimator.options_buttons_2Sprite = null; - WorldMapID.worldSelectBackSprites = null; - SecureRandomCallable.worldSelectFlagSprites = null; - class225.worldSelectArrows = null; - FriendSystem.worldSelectStars = null; - class30.field264 = null; - Ignored.loginScreenRunesAnimation.method1720(); - class40.method729(2); - if (NetCache.NetCache_socket != null) { - try { - Buffer var1 = new Buffer(4); - var1.writeByte(2); - var1.writeMedium(0); - NetCache.NetCache_socket.write(var1.array, 0, 4); - } catch (IOException var4) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var3) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - Login.field1179 = false; - } - } else { + if (var0 == 5 || var0 == 10) { BufferedSource.method5892(WorldMapLabelSize.archive10, Client.archive8, true, 0); + } else if (var0 == 20) { + BufferedSource.method5892(WorldMapLabelSize.archive10, Client.archive8, true, Client.gameState == 11 ? 4 : 0); + } else if (var0 == 11) { + BufferedSource.method5892(WorldMapLabelSize.archive10, Client.archive8, false, 4); + } else if (Login.field1179) { + Login.titleboxSprite = null; + VarpDefinition.titlebuttonSprite = null; + Login.runesSprite = null; + GrandExchangeOfferWorldComparator.leftTitleSprite = null; + NPC.rightTitleSprite = null; + TileItem.logoSprite = null; + Login.title_muteSprite = null; + Login.options_buttons_0Sprite = null; + Decimator.options_buttons_2Sprite = null; + WorldMapID.worldSelectBackSprites = null; + SecureRandomCallable.worldSelectFlagSprites = null; + class225.worldSelectArrows = null; + FriendSystem.worldSelectStars = null; + class30.field264 = null; + Ignored.loginScreenRunesAnimation.method1720(); + class40.method729(2); + if (NetCache.NetCache_socket != null) { + try { + Buffer var1 = new Buffer(4); + var1.writeByte(2); + var1.writeMedium(0); + NetCache.NetCache_socket.write(var1.array, 0, 4); + } + catch (IOException var4) { + try { + NetCache.NetCache_socket.close(); + } + catch (Exception var3) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + Login.field1179 = false; } Client.gameState = var0; diff --git a/runescape-client/src/test/resources/jav_config.ws b/runescape-client/src/test/resources/jav_config.ws new file mode 100644 index 0000000000..265a97be0b --- /dev/null +++ b/runescape-client/src/test/resources/jav_config.ws @@ -0,0 +1,65 @@ +title=Old School RuneScape +adverturl=http://www.runescape.com/g=oldscape/bare_advert.ws +codebase=http://oldschool33a.runescape.com/ +cachedir=oldschool +storebase=0 +initial_jar=gamepack_2740394.jar +initial_class=client.class +termsurl=http://www.jagex.com/g=oldscape/terms/terms.ws +privacyurl=http://www.jagex.com/g=oldscape/privacy/privacy.ws +viewerversion=124 +win_sub_version=1 +mac_sub_version=2 +other_sub_version=2 +browsercontrol_win_x86_jar=browsercontrol_0_-1928975093.jar +browsercontrol_win_amd64_jar=browsercontrol_1_1674545273.jar +download=1365098 +window_preferredwidth=800 +window_preferredheight=600 +advert_height=96 +applet_minwidth=765 +applet_minheight=503 +applet_maxwidth=5760 +applet_maxheight=2160 +msg=lang0=English +msg=tandc=This game is copyright © 1999 - 2019 Jagex Ltd.\Use of this game is subject to our ["http://www.runescape.com/terms/terms.ws"Terms and Conditions] and ["http://www.runescape.com/privacy/privacy.ws"Privacy Policy]. +msg=options=Options +msg=language=Language +msg=changes_on_restart=Your changes will take effect when you next start this program. +msg=loading_app_resources=Loading application resources +msg=err_verify_bc64=Unable to verify browsercontrol64 +msg=err_verify_bc=Unable to verify browsercontrol +msg=err_load_bc=Unable to load browsercontrol +msg=loading_app=Loading application +msg=err_create_target=Unable to create target applet +msg=err_create_advertising=Unable to create advertising +msg=err_save_file=Error saving file +msg=err_downloading=Error downloading +msg=ok=OK +msg=cancel=Cancel +msg=message=Message +msg=copy_paste_url=Please copy and paste the following URL into your web browser +msg=information=Information +msg=err_get_file=Error getting file +msg=new_version=Update available! You can now launch the client directly from the OldSchool website.\nGet the new version from the link on the OldSchool homepage: http://oldschool.runescape.com/ +msg=new_version_linktext=Open OldSchool Homepage +msg=new_version_link=http://oldschool.runescape.com/ +param=8=true +param=14=0 +param=2=https://payments.jagex.com/operator/v1/ +param=10=5 +param=7=0 +param=11=https://auth.jagex.com/ +param=3=true +param=12=333 +param=18= +param=15=0 +param=9=ElZAIrq5NpKN6D3mDdihco3oPeYN2KFy2DCquj7JMmECPmLrDP3Bnw +param=17=http://www.runescape.com/g=oldscape/slr.ws?order=LPWM +param=16=false +param=1=1 +param=13=.runescape.com +param=6=0 +param=19=196515767263-1oo20deqm6edn7ujlihl6rpadk9drhva.apps.googleusercontent.com +param=5=1 +param=4=49009